@sanity/ui 4.0.2 → 4.0.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/autocomplete.js +3 -3
- package/dist/breadcrumbs.js +2 -2
- package/dist/{button-DXgc_BsT.js → button-D6Z-yLlP.js} +2 -2
- package/dist/{button-DXgc_BsT.js.map → button-D6Z-yLlP.js.map} +1 -1
- package/dist/code.js +1 -1
- package/dist/code.js.map +1 -1
- package/dist/{hotkeys-CmmTQZpn.js → hotkeys-Bvex-n5O.js} +2 -2
- package/dist/{hotkeys-CmmTQZpn.js.map → hotkeys-Bvex-n5O.js.map} +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/menu.js +2 -2
- package/dist/{stack-iW9HuGLg.js → stack-C2HKTF-l.js} +2 -2
- package/dist/stack-C2HKTF-l.js.map +1 -0
- package/dist/{textInput-CtgXqhgw.js → textInput-VH0sQqrm.js} +3 -3
- package/dist/{textInput-CtgXqhgw.js.map → textInput-VH0sQqrm.js.map} +1 -1
- package/dist/toast.js +2 -2
- package/package.json +1 -1
- package/dist/stack-iW9HuGLg.js.map +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["buildTheme","HSL","_HSL","RGB","_RGB","ThemeColorButtonModeKey","_ThemeColorButtonModeKey","ThemeColorSchemeKey","_ThemeColorSchemeKey","ThemeColorSyntax","_ThemeColorSyntax","ThemeFont","_ThemeFont","ThemeFontKey","_ThemeFontKey","ThemeFonts","_ThemeFonts","ThemeFontSize","_ThemeFontSize","ThemeFontWeight","_ThemeFontWeight","ThemeFontWeightKey","_ThemeFontWeightKey","ThemeLayer","_ThemeLayer","ThemeBoxShadow","ThemeShadow","_ThemeShadow","ThemeStyles","BaseTheme","_BaseTheme","RootTheme","_RootTheme","Theme","_Theme","BoxShadow","Styles","createColorTheme","_createColorTheme","multiply","_multiply","screen","_screen","hexToRgb","_hexToRgb","hslToRgb","_hslToRgb","rgbToHex","_rgbToHex","rgbToHsl","_rgbToHsl","parseColor","_parseColor","rgba","_rgba","studioTheme","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveWidthStyleProps","BASE_STYLE","width","margin","containerBaseStyle","responsiveContainerWidthStyle","props","container","media","theme","$width","val","maxWidth","styled","_getArrayProp","ElementType","Props","Box","BoxOwnProps","ResponsiveWidthProps","containerBaseStyle","responsiveContainerWidthStyle","ResponsiveWidthStyleProps","ContainerOwnProps","ContainerProps","E","StyledContainer","ContainerComponent","props","$","_c","as","ref","restProps","t0","width","undefined","t1","t2","Container","React","JSX","Element","css","CSSObject","getTheme_v2","_responsive","ThemeProps","DialogPosition","ResponsiveDialogPositionStyleProps","$position","dialogStyle","theme","color","display","backdrop","responsiveDialogPositionStyle","props","media","position","AnimationDialogStyleProps","$animate","animationDialogStyle","ReturnType","createGlobalScopedContext","DialogPosition","DialogContextValue","version","position","zOffset","DialogContext","useContext","DialogContext","DialogContextValue","useDialog","CloseIcon","useCallback","useEffect","useImperativeHandle","useRef","styled","ThemeColorSchemeKey","containsOrEqualsElement","isHTMLElement","focusFirstDescendant","focusLastDescendant","useClickOutsideEvent","useGlobalKeyDown","usePrefersReducedMotion","Box","Button","Card","Container","Flex","Text","ResponsivePaddingProps","ResponsiveWidthProps","_getArrayProp","responsivePaddingStyle","ResponsivePaddingStyleProps","useTheme_v2","DialogPosition","Radius","useBoundaryElement","Layer","LayerProps","useLayer","Portal","usePortal","animationDialogStyle","AnimationDialogStyleProps","dialogStyle","responsiveDialogPositionStyle","ResponsiveDialogPositionStyleProps","useDialog","DialogProps","__unstable_autoFocus","__unstable_hideCloseButton","cardRadius","cardShadow","contentRef","React","ForwardedRef","HTMLDivElement","footer","ReactNode","header","id","onActivate","onClickOutside","onClose","portal","position","scheme","zOffset","animate","DialogCardProps","children","radius","ref","Ref","shadow","isTargetWithinScope","boundaryElement","HTMLElement","portalElement","target","Node","StyledDialog","DialogContainer","DialogCardRoot","DialogLayout","DialogHeader","DialogContent","DialogFooter","DialogCard","props","$","_c","autoFocus","hideCloseButton","forwardedContentRef","portalProp","radiusProp","forwardedRef","shadowProp","width","widthProp","elements","element","t0","t1","t2","layer","isTopLayer","labelId","showCloseButton","Boolean","showHeader","t3","Symbol","for","current","t4","t5","t6","t7","event","document","activeElement","key","preventDefault","stopPropagation","t8","event_0","target_0","t9","t10","t11","t12","t13","t14","t15","Dialog","dialog","_positionProp","_zOffsetProp","onFocus","restProps","padding","undefined","cardRadiusProp","paddingProp","_animate","positionProp","zOffsetProp","prefersReducedMotion","preDivRef","postDivRef","cardRef","focusedElementRef","cardElement","handleFocus","rootClickTimeoutRef","clearTimeout","setTimeout","body","contains","cardElement_0","focus","handleRootClick","t16","t17","t18","useMemo","DialogPosition","DialogContext","DialogContextValue","DialogProviderProps","children","React","ReactNode","position","zOffset","DialogProvider","props","$","_c","t0","version","contextValue","t1","css","keyframes","keyframe","animation","skeletonStyle","$animated","$visible","useEffect","useState","styled","Box","BoxOwnProps","ResponsiveRadiusProps","_getArrayProp","responsiveRadiusStyle","ResponsiveRadiusStyleProps","skeletonStyle","StyledSkeleton","$animated","$visible","SkeletonProps","Omit","animated","delay","Skeleton","props","$","_c","radius","ref","restProps","t0","undefined","visible","setVisible","t1","t2","timeout","setTimeout","clearTimeout","t3","t4","t5","styled","ThemeFontKey","getTheme_v2","_getArrayProp","_responsive","ThemeProps","Skeleton","SkeletonProps","StyledSkeleton","$size","$style","props","font","media","theme","fontStyle","styles","sizeIndex","fontSize","sizes","capHeight","lineHeight","ascenderHeight","descenderHeight","height","TextSkeletonProps","size","LabelSkeletonProps","HeadingSkeletonProps","CodeSkeletonProps","TextSkeleton","$","_c","restProps","t0","undefined","t1","t2","LabelSkeleton","HeadingSkeleton","CodeSkeleton","useCallback","useEffect","useImperativeHandle","useRef","styled","Button","ButtonTone","TabProps","React","ElementType","ReactNode","CustomButton","Tab","props","$","_c","focused","forwardedRef","icon","id","label","onClick","onFocus","restProps","selected","t0","t1","fontSize","padding","ref","undefined","focusedRef","t2","Symbol","for","current","t3","handleBlur","t4","event","handleFocus","t5","t6","focus","t7","t8","t9","Children","cloneElement","isValidElement","useCallback","useState","styled","Inline","InlineOwnProps","TabListProps","Omit","children","Array","React","JSX","Element","CustomInline","TabList","props","$","_c","childrenProp","ref","restProps","focusedIndex","setFocusedIndex","t0","toArray","filter","t1","child","childIndex","focused","key","onFocus","map","tabs","numTabs","length","event","prevIndex","prevIndex_0","handleKeyDown","t2","Box","BoxOwnProps","TabPanelProps","TabPanel","props","$","_c","flex","restProps","t0","tabIndex","undefined","t1","children","TreeState","_findPrevItemElement","state","itemElements","HTMLElement","focusedElement","idx","indexOf","els","slice","len","length","i","itemKey","getAttribute","segments","split","pop","p","expanded","j","push","k","join","_findNextItemElement","_focusItemElement","el","focus","firstChild","createGlobalScopedContext","TreeContextValue","TreeContext","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","Stack","_findNextItemElement","_findPrevItemElement","_focusItemElement","TreeContext","TreeContextValue","TreeState","TreeProps","gap","space","Tree","props","$","_c","children","forwardedRef","onFocus","restProps","t0","ref","undefined","focusedElement","setFocusedElement","focusedElementRef","t1","Symbol","for","path","t2","itemElements","setItemElements","t3","state","setState","stateRef","t4","current","t5","t6","t7","t8","t9","element","path_0","expanded","selected","s","s_0","newState","registerItem","t10","path_1","expanded_0","s_1","itemState","setExpanded","t11","t12","version","level","contextValue","t13","event","key","preventDefault","nextEl","prevEl","itemKey","getAttribute","itemState_0","s_2","itemState_1","itemPath","split","pop","parentKey","join","parentState","focus","focusedKey","s_3","itemState_2","handleKeyDown","t14","event_0","target","handleFocus","t15","_itemElements","Array","from","querySelectorAll","HTMLElement","t16","t17","t18","css","getTheme_v2","_cardColorStyle","rem","ThemeProps","treeItemRootStyle","ReturnType","treeItemRootColorStyle","props","$tone","color","theme","tone","selectable","enabled","pressed","hovered","selected","TreeItemBoxStyleProps","$level","treeItemBoxStyle","space","useContext","TreeContext","TreeContextValue","useTree","tree","Error","Stack","useTree","TreeGroupProps","expanded","TreeGroup","props","$","_c","children","restProps","t0","undefined","tree","t1","t2","gap","ToggleArrowRightIcon","startTransition","useCallback","useEffect","useId","useMemo","useRef","useState","styled","ThemeFontWeightKey","Box","Flex","Text","ElementType","treeItemBoxStyle","TreeItemBoxStyleProps","treeItemRootColorStyle","treeItemRootStyle","TreeContext","TreeGroup","useTree","TreeItemProps","expanded","fontSize","icon","React","linkAs","linkProps","HTMLProps","HTMLAnchorElement","Record","padding","gap","space","text","ReactNode","weight","StyledTreeItem","li","TreeItemBox","a","ToggleArrowText","TreeItem","props","$","_c","IconComponent","children","href","idProp","muted","onClick","restProps","t0","t1","t2","t3","t4","id","selected","expandedProp","undefined","rootElement","_setRootElement","t5","Symbol","for","node","setRootElement","treeitemRef","tree","path","registerItem","setExpanded","setFocusedElement","_id","t6","t7","itemPath","concat","join","t8","itemPath_0","itemKey","itemState","state","focused","focusedElement","tabIndex","t9","level","t10","contextValue","t11","event","target","HTMLElement","getAttribute","closest","stopPropagation","handleClick","t12","event_0","key","el","current","click","handleKeyDown","t13","t14","t15","t16","visibility","pointerEvents","t17","t18","transform","t19","t20","t21","content","t22","t23","t24","t25","t26","t27","_isScrollable","el","Node","Element","style","window","getComputedStyle","overflowX","includes","overflowY","ArrayPropPrimitive","useArrayProp","_val","_defaultVal","Error","ClickOutsideListener","event","MouseEvent","ClickOutsideElements","HTMLElement","useClickOutside","_listener","_elementsArg","_boundaryElement","Error","useElementRect","_element","Error","useForwardedRef","_ref","Error","useMatchMedia","usePrefersDark","t0","getServerSnapshot","undefined","_temp","CSSObject","ThemeProps","responsiveFont","ResponsiveFontStyleProps","responsiveLabelFont","props","css","getTheme_v2","ThemeProps","labelBaseStyle","props","$accent","$muted","ReturnType","font","theme","code","family","styled","ThemeFontWeightKey","responsiveLabelFont","responsiveTextAlignStyle","_getArrayProp","ElementType","Props","TextAlign","SpanWithTextOverflow","labelBaseStyle","LabelOwnProps","accent","align","muted","size","textOverflow","weight","LabelProps","E","StyledLabel","div","$accent","$align","$muted","$size","$weight","LabelComponent","props","$","_c","childrenProp","ref","restProps","t0","t1","children","undefined","t2","t3","t4","Label","React","JSX","Element","CSSObject","getTheme_v2","focusRingStyle","_responsive","rem","ThemeProps","AvatarRootStyleProps","ResponsiveAvatarSizeStyleProps","avatarStyle","root","avatarRootStyle","arrow","avatarArrowStyle","bgStroke","avatarBgStrokeStyle","stroke","avatarStrokeStyle","initials","avatarInitialsStyle","image","avatarImageStyle","display","transform","opacity","props","$color","avatar","theme","boxShadow","focusRing","responsiveAvatarSizeStyle","media","$size","size","avatarSize","sizes","width","height","borderRadius","position","strokeWidth","strokeDasharray","strokeLinecap","useCallback","useEffect","useId","useState","ReactIs","styled","ThemeColorAvatarColorKey","_getArrayProp","useTheme_v2","AvatarPosition","AvatarSize","AvatarStatus","ElementType","Props","Label","avatarStyle","responsiveAvatarSizeStyle","AvatarOwnProps","__unstable_hideInnerStroke","animateArrowFrom","arrowPosition","color","initials","onImageLoadError","event","Error","size","src","status","title","AvatarProps","E","StyledAvatar","div","$color","$size","root","Arrow","arrow","BgStroke","ellipse","bgStroke","Stroke","stroke","Initials","InitialsLabel","AvatarImage","svg","image","AvatarComponent","props","$","_c","arrowPositionProp","asProp","ref","restProps","t0","t1","t2","as","undefined","sizeProp","avatar","isValidElementType","avatarSize","sizes","_sizeRem","_radius","elementId","setArrowPosition","imageFailed","setImageFailed","imageId","t3","t4","raf","requestAnimationFrame","cancelAnimationFrame","t5","t6","t7","handleImageError","T0","t8","t9","t10","t11","t12","map","_temp","t13","s","Avatar","React","JSX","Element","css","styled","getTheme_v2","EMPTY_RECORD","_getArrayProp","_responsive","rem","ThemeProps","AvatarSize","Label","_responsiveAvatarCounterSizeStyle","props","$size","avatar","media","theme","size","avatarSize","sizes","borderRadius","minWidth","height","_avatarCounterBaseStyle","space","StyledAvatarCounter","div","AvatarCounterProps","count","tone","AvatarCounter","$","_c","ref","t0","sizeProp","undefined","T0","T1","t1","t2","t3","t4","t5","map","_temp","t6","t7","s","Children","cloneElement","isValidElement","css","styled","getTheme_v2","EMPTY_RECORD","_getArrayProp","_responsive","rem","ThemeProps","AvatarSize","AvatarCounter","BASE_STYLES","avatarStackStyle","responsiveAvatarStackSizeStyle","props","$size","avatar","media","theme","size","avatarSize","sizes","marginLeft","distance","StyledAvatarStack","div","AvatarStackProps","children","React","ReactNode","maxLength","tone","AvatarStack","$","_c","childrenProp","ref","restProps","t0","t1","maxLengthProp","undefined","sizeProp","T0","t2","t3","t4","t5","t6","t7","t8","toArray","filter","Math","max","t9","len","length","visibleCount","extraCount","visibleChildren","slice","t10","child","childIndex","String","map","CSSObject","BadgeStyleProps","badgeStyle","props","$tone","display","verticalAlign","styled","_getArrayProp","responsiveRadiusStyle","ResponsiveRadiusStyleProps","BadgeTone","ElementType","Props","Box","BoxOwnProps","Text","ResponsiveRadiusProps","badgeStyle","BadgeStyleProps","BadgeOwnProps","fontSize","mode","tone","BadgeProps","E","StyledBadge","BadgeComponent","Badge","props","$","_c","children","ref","restProps","t0","t1","t2","t3","padding","radius","undefined","t4","t5","t6","t7","React","JSX","Element","css","getTheme_v2","focusRingBorderStyle","focusRingStyle","rem","ThemeProps","checkboxBaseStyles","ReturnType","inputElementStyles","props","color","input","radius","theme","focusRing","checkbox","size","default","enabled","border","width","bg","fg","offset","invalid","muted","disabled","readOnly","CheckmarkIcon","RemoveIcon","useEffect","useImperativeHandle","useRef","styled","useCustomValidity","checkboxBaseStyles","inputElementStyles","CheckboxProps","indeterminate","customValidity","StyledCheckbox","div","Input","input","Checkbox","props","$","_c","checked","className","disabled","forwardedRef","readOnly","restProps","style","ref","t0","Symbol","for","current","t1","t2","t3","undefined","t4","t5","t6","t7","t8","CSSObject","ThemeProps","responsiveFont","ResponsiveFontStyleProps","responsiveHeadingFont","props","css","getTheme_v2","ThemeProps","HeadingStyleProps","headingBaseStyle","props","ReturnType","$accent","$muted","font","theme","code","family","heading","weights","bold","styled","ThemeFontWeightKey","responsiveHeadingFont","responsiveTextAlignStyle","ResponsiveFontStyleProps","ResponsiveTextAlignStyleProps","_getArrayProp","ElementType","Props","TextAlign","SpanWithTextOverflow","headingBaseStyle","HeadingStyleProps","HeadingOwnProps","accent","align","muted","size","textOverflow","weight","HeadingProps","E","StyledHeading","div","HeadingComponent","props","$","_c","childrenProp","ref","restProps","t0","t1","t2","children","undefined","t3","t4","t5","t6","Heading","React","JSX","Element","css","getTheme_v2","focusRingBorderStyle","focusRingStyle","rem","ThemeProps","radioBaseStyle","ReturnType","inputElementStyle","props","color","input","theme","dist","radio","size","markSize","default","enabled","bg","border","width","fg","focusRing","invalid","muted","readOnly","disabled","useImperativeHandle","useRef","styled","useCustomValidity","inputElementStyle","radioBaseStyle","RadioProps","customValidity","StyledRadio","div","Input","input","Radio","props","$","_c","className","disabled","forwardedRef","readOnly","restProps","style","ref","t0","Symbol","for","current","t1","undefined","t2","t3","t4","t5","t6","css","CSSObject","ThemeFontSize","getTheme_v2","focusRingBorderStyle","focusRingStyle","_responsive","rem","responsiveInputPaddingIconRightStyle","responsiveRadiusStyle","ResponsiveRadiusStyleProps","ThemeProps","rootStyle","ReturnType","inputBaseStyle","props","font","theme","text","family","inputColorStyle","color","input","default","enabled","bg","fg","border","width","hovered","focusRing","select","readOnly","disabled","textSize","size","fontSize","lineHeight","inputTextSizeStyle","$fontSize","media","sizeIndex","sizes","inputStyle","Array","$padding","$space","iconBoxStyle","selectStyle","root","iconBox","ChevronDownIcon","useImperativeHandle","useRef","styled","useCustomValidity","_getArrayProp","Radius","Box","Text","selectStyle","SelectProps","fontSize","gap","padding","radius","space","customValidity","StyledSelect","div","root","Input","select","$fontSize","$padding","$radius","$space","input","IconBox","iconBox","Select","props","$","_c","children","disabled","forwardedRef","readOnly","restProps","t0","t1","t2","t3","ref","undefined","t4","Symbol","for","current","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","css","getTheme_v2","focusRingStyle","rem","ThemeProps","switchBaseStyles","ReturnType","switchInputStyles","switchRepresentationStyles","props","color","input","theme","default","enabled","border","bg","switch","width","height","focusRing","fg","hovered","disabled","readOnly","switchTrackStyles","switchThumbStyles","$checked","$indeterminate","trackWidth","trackHeight","trackPadding","padding","size","checkedOffset","indeterminateOffset","checked","transitionDurationMs","transitionTimingFunction","useEffect","useImperativeHandle","useRef","styled","switchBaseStyles","switchInputStyles","switchRepresentationStyles","switchThumbStyles","switchTrackStyles","SwitchProps","indeterminate","StyledSwitch","span","Input","input","Representation","Track","Thumb","$checked","$indeterminate","Switch","props","$","_c","checked","className","disabled","forwardedRef","readOnly","restProps","style","ref","t0","Symbol","for","current","t1","t2","t3","undefined","t4","t5","t6","t7","t8","t9","useImperativeHandle","useRef","styled","ThemeFontWeightKey","useCustomValidity","_getArrayProp","responsiveInputPaddingStyle","TextInputResponsivePaddingStyleProps","textInputBaseStyle","textInputFontSizeStyle","TextInputInputStyleProps","textInputRepresentationStyle","TextInputRepresentationStyleProps","textInputRootStyle","responsiveRadiusStyle","ResponsiveRadiusStyleProps","useRootTheme","ResponsiveRadiusProps","TextAreaProps","__unstable_disableFocusRing","border","customValidity","fontSize","padding","weight","StyledTextArea","span","InputRoot","Input","textarea","Presentation","div","TextArea","props","$","_c","forwardedRef","restProps","t0","t1","t2","t3","t4","disabled","radius","ref","undefined","rootTheme","t5","Symbol","for","current","t6","scheme","t7","tone","t8","t9","t10","t11","t12","t13","t14","t15","t16","useMemo","BoundaryElementContext","BoundaryElementContextValue","BoundaryElementProviderProps","children","React","ReactNode","element","HTMLElement","BoundaryElementProvider","props","$","_c","t0","version","value","t1","ConditionalWrapper","_props","Error","useImperativeHandle","useMemo","useState","useElementSize","useTheme_v2","findMaxBreakpoints","findMinBreakpoints","MediaQueryProps","as","React","ElementType","JSX","IntrinsicElements","media","ElementQuery","props","$","_c","theme","_media","children","forwardedRef","restProps","ref","element","setElement","elementSize","width","border","window","innerWidth","t0","eq","length","join","undefined","max","t1","eq_0","min","t2","t3","t4","Component","PropsWithChildren","ErrorBoundaryProps","onCatch","params","error","Error","info","React","ErrorInfo","ErrorBoundaryState","ErrorBoundary","state","getDerivedStateFromError","componentDidCatch","props","render","ReactNode","message","children","useMemo","useSyncExternalStore","PortalContext","PortalContextValue","PortalProviderProps","boundaryElement","HTMLElement","children","React","ReactNode","element","__unstable_elements","Record","PortalProvider","props","$","_c","elements","fallbackElement","emptySubscribe","_temp","_temp2","t0","t1","t2","version","value","t3","document","body","srOnly","SrOnlyProps","as","React","ElementType","JSX","IntrinsicElements","children","ReactNode","SrOnly","props","$","_c","t0","ref","undefined","Component","t1","useEffect","useImperativeHandle","useRef","useState","styled","_isScrollable","StackOwnProps","useTheme_v2","VirtualListChangeOpts","fromIndex","gap","itemHeight","scrollHeight","scrollTop","toIndex","VirtualListProps","as","React","ElementType","JSX","IntrinsicElements","getItemKey","item","Item","itemIndex","items","onChange","opts","renderItem","ReactNode","StyledVirtualList","div","ItemWrapper","VirtualList","props","$","_c","forwardedRef","restProps","t0","t1","t2","ref","undefined","t3","space","wrapperRef","setScrollTop","setScrollHeight","setItemHeight","t4","Symbol","for","current","t5","firstElement","firstChild","HTMLElement","offsetHeight","t6","t7","t8","scrollEl","findScrollable","parentNode","handleScroll","addEventListener","passive","ro","ResizeObserver","entries","contentRect","height","observe","removeEventListener","unobserve","disconnect","handleScroll_0","window","scrollY","handleResize","innerHeight","len","length","Math","max","floor","ceil","t10","t9","t11","children","useChildren","t12","t13","t14","t15","_itemIndex","node","key","top","slice","map","ParentNode","_scrollEl"],"sources":["../src/core/_compat.ts","../src/core/primitives/container/styles.ts","../src/core/primitives/container/container.tsx","../src/core/components/dialog/styles.ts","../src/core/components/dialog/dialogContext.ts","../src/core/components/dialog/useDialog.ts","../src/core/components/dialog/dialog.tsx","../src/core/components/dialog/dialogProvider.tsx","../src/core/components/skeleton/styles.ts","../src/core/components/skeleton/skeleton.tsx","../src/core/components/skeleton/textSkeleton.tsx","../src/core/components/tab/tab.tsx","../src/core/components/tab/tabList.tsx","../src/core/components/tab/tabPanel.tsx","../src/core/components/tree/helpers.ts","../src/core/components/tree/treeContext.ts","../src/core/components/tree/tree.tsx","../src/core/components/tree/style.ts","../src/core/components/tree/useTree.ts","../src/core/components/tree/treeGroup.tsx","../src/core/components/tree/treeItem.tsx","../src/core/helpers/scroll.ts","../src/core/hooks/useArrayProp.ts","../src/core/hooks/useClickOutside.ts","../src/core/hooks/useElementRect/useElementRect.ts","../src/core/hooks/useForwardedRef.ts","../src/core/hooks/usePrefersDark.ts","../src/core/styles/font/labelFontStyle.ts","../src/core/primitives/label/styles.ts","../src/core/primitives/label/label.tsx","../src/core/primitives/avatar/styles.ts","../src/core/primitives/avatar/avatar.tsx","../src/core/primitives/avatar/avatarCounter.tsx","../src/core/primitives/avatar/avatarStack.tsx","../src/core/primitives/badge/styles.ts","../src/core/primitives/badge/badge.tsx","../src/core/primitives/checkbox/styles.ts","../src/core/primitives/checkbox/checkbox.tsx","../src/core/styles/font/headingFontStyle.ts","../src/core/primitives/heading/styles.ts","../src/core/primitives/heading/heading.tsx","../src/core/primitives/radio/styles.ts","../src/core/primitives/radio/radio.tsx","../src/core/primitives/select/styles.ts","../src/core/primitives/select/select.tsx","../src/core/primitives/switch/styles.ts","../src/core/primitives/switch/switch.tsx","../src/core/primitives/textArea/textArea.tsx","../src/core/utils/boundaryElement/boundaryElementProvider.tsx","../src/core/utils/conditionalWrapper/conditionalWrapper.tsx","../src/core/utils/elementQuery/helpers.ts","../src/core/utils/elementQuery/elementQuery.tsx","../src/core/utils/errorBoundary.tsx","../src/core/utils/portal/portalProvider.tsx","../src/core/utils/srOnly/srOnly.css.ts","../src/core/utils/srOnly/srOnly.tsx","../src/core/utils/virtualList/virtualList.tsx"],"sourcesContent":["// This file re-exports API members which existed in the `@sanity/ui` export in v1.\n\nimport {buildTheme} from '../theme/build/buildTheme'\nimport {type HSL as _HSL, type RGB as _RGB} from '../theme/build/lib/color-fns/types'\nimport {\n type ThemeColorButtonModeKey as _ThemeColorButtonModeKey,\n type ThemeColorSchemeKey as _ThemeColorSchemeKey,\n} from '../theme/system/color/_system'\nimport {type ThemeColorSyntax as _ThemeColorSyntax} from '../theme/system/color/syntax'\nimport {\n type ThemeFont as _ThemeFont,\n type ThemeFontKey as _ThemeFontKey,\n type ThemeFonts as _ThemeFonts,\n type ThemeFontSize as _ThemeFontSize,\n type ThemeFontWeight as _ThemeFontWeight,\n type ThemeFontWeightKey as _ThemeFontWeightKey,\n} from '../theme/system/font'\nimport {type ThemeLayer as _ThemeLayer} from '../theme/system/layer'\nimport {type ThemeBoxShadow, type ThemeShadow as _ThemeShadow} from '../theme/system/shadow'\nimport {type ThemeStyles} from '../theme/system/styles'\nimport {\n type BaseTheme as _BaseTheme,\n type RootTheme as _RootTheme,\n type Theme as _Theme,\n} from '../theme/system/theme'\n\n/**\n * @public\n * @deprecated Use `BaseTheme` from `@sanity/ui/theme` instead.\n */\nexport type BaseTheme = _BaseTheme\n\n/**\n * @public\n * @deprecated Use `ThemeBoxShadow` from `@sanity/ui/theme` instead.\n */\nexport type BoxShadow = ThemeBoxShadow\n\n/**\n * @public\n * @deprecated Use `HSL` from `@sanity/ui/theme` instead.\n */\nexport type HSL = _HSL\n\n/**\n * @public\n * @deprecated Use `RGB` from `@sanity/ui/theme` instead.\n */\nexport type RGB = _RGB\n\n/**\n * @public\n * @deprecated Use `RootTheme` from `@sanity/ui/theme` instead.\n */\nexport type RootTheme = _RootTheme\n\n/**\n * @public\n * @deprecated Use `ThemeStyles` from `@sanity/ui/theme` instead.\n */\nexport type Styles = ThemeStyles\n\n/**\n * @public\n * @deprecated Use `Theme` from `@sanity/ui/theme` instead.\n */\nexport type Theme = _Theme\n\n/**\n * @public\n * @deprecated Use `ThemeColorButtonModeKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeColorButtonModeKey = _ThemeColorButtonModeKey\n\n/**\n * @public\n * @deprecated Use `ThemeColorSchemeKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeColorSchemeKey = _ThemeColorSchemeKey\n\n/**\n * @public\n * @deprecated Use `ThemeColorSyntax` from `@sanity/ui/theme` instead.\n */\nexport type ThemeColorSyntax = _ThemeColorSyntax\n\n/**\n * @public\n * @deprecated Use `ThemeFont` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFont = _ThemeFont\n\n/**\n * @public\n * @deprecated Use `ThemeFontKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontKey = _ThemeFontKey\n\n/**\n * @public\n * @deprecated Use `ThemeFontSize` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontSize = _ThemeFontSize\n\n/**\n * @public\n * @deprecated Use `ThemeFontWeight` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontWeight = _ThemeFontWeight\n\n/**\n * @public\n * @deprecated Use `ThemeFontWeightKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontWeightKey = _ThemeFontWeightKey\n\n/**\n * @public\n * @deprecated Use `ThemeFonts` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFonts = _ThemeFonts\n\n/**\n * @public\n * @deprecated Use `ThemeLayer` from `@sanity/ui/theme` instead.\n */\nexport type ThemeLayer = _ThemeLayer\n\n/**\n * @public\n * @deprecated Use `ThemeShadow` from `@sanity/ui/theme` instead.\n */\nexport type ThemeShadow = _ThemeShadow\n\nimport {createColorTheme as _createColorTheme} from '../theme/build/_deprecated/color/factory'\nimport {multiply as _multiply} from '../theme/build/lib/color-fns/blend/multiply'\nimport {screen as _screen} from '../theme/build/lib/color-fns/blend/screen'\nimport {\n hexToRgb as _hexToRgb,\n hslToRgb as _hslToRgb,\n rgbToHex as _rgbToHex,\n rgbToHsl as _rgbToHsl,\n} from '../theme/build/lib/color-fns/convert'\nimport {parseColor as _parseColor} from '../theme/build/lib/color-fns/parse'\nimport {rgba as _rgba} from '../theme/build/lib/color-fns/rgba'\n\n/**\n * @public\n * @deprecated Use `createColorTheme` from `@sanity/ui/theme` instead.\n */\n// oxlint-disable-next-line no-deprecated\nexport const createColorTheme = _createColorTheme\n\n/**\n * @public\n * @deprecated Use `hexToRgb` from `@sanity/ui/theme` instead.\n */\nexport const hexToRgb = _hexToRgb\n\n/**\n * @public\n * @deprecated Use `hslToRgb` from `@sanity/ui/theme` instead.\n */\nexport const hslToRgb = _hslToRgb\n\n/**\n * @public\n * @deprecated Use `multiply` from `@sanity/ui/theme` instead.\n */\nexport const multiply = _multiply\n\n/**\n * @public\n * @deprecated Use `parseColor` from `@sanity/ui/theme` instead.\n */\nexport const parseColor = _parseColor\n\n/**\n * @public\n * @deprecated Use `rgbToHex` from `@sanity/ui/theme` instead.\n */\nexport const rgbToHex = _rgbToHex\n\n/**\n * @public\n * @deprecated Use `rgbToHsl` from `@sanity/ui/theme` instead.\n */\nexport const rgbToHsl = _rgbToHsl\n\n/**\n * @public\n * @deprecated Use `rgba` from `@sanity/ui/theme` instead.\n */\nexport const rgba = _rgba\n\n/**\n * @public\n * @deprecated Use `screen` from `@sanity/ui/theme` instead.\n */\nexport const screen = _screen\n\n/**\n * @public\n * @deprecated Use `buildTheme` from `@sanity/ui/theme` instead.\n */\nexport const studioTheme = buildTheme()\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {ResponsiveWidthStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n width: '100%',\n margin: '0 auto',\n}\n\nexport function containerBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveContainerWidthStyle(\n props: ResponsiveWidthStyleProps & ThemeProps,\n): CSSObject[] {\n const {container, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$width, (val) => ({\n maxWidth: val === 'auto' ? 'none' : rem(container[val]),\n }))\n}\n","import {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {ResponsiveWidthProps} from '../types'\nimport {containerBaseStyle, responsiveContainerWidthStyle} from './styles'\nimport {ResponsiveWidthStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface ContainerOwnProps extends BoxOwnProps, ResponsiveWidthProps {}\n\n/**\n * @public\n */\nexport type ContainerProps<E extends ElementType = 'div'> = Props<ContainerOwnProps, E>\n\nconst StyledContainer = styled(Box)<ResponsiveWidthStyleProps>(\n containerBaseStyle,\n responsiveContainerWidthStyle,\n)\n\nfunction ContainerComponent(\n props: ContainerOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLDivElement>,\n 'as' | 'height' | 'width'\n >,\n) {\n const {as, ref, width = 2, ...restProps} = props\n\n return (\n <StyledContainer\n data-ui=\"Container\"\n {...restProps}\n $width={_getArrayProp(width)}\n forwardedAs={as}\n ref={ref}\n />\n )\n}\n\n/**\n * The `Container` component wraps content layout in a defined set of widths.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Container = ContainerComponent as unknown as <E extends ElementType = 'div'>(\n props: ContainerProps<E>,\n) => React.JSX.Element\n","import {css} from 'styled-components'\n\nimport {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {DialogPosition} from '../../types/dialog'\n\n/**\n * @internal\n */\nexport interface ResponsiveDialogPositionStyleProps {\n $position: DialogPosition[]\n}\n\nexport function dialogStyle({theme}: ThemeProps): CSSObject {\n const {color} = getTheme_v2(theme)\n\n return {\n '&:not([hidden])': {\n display: 'flex',\n },\n\n 'top': 0,\n 'left': 0,\n 'right': 0,\n 'bottom': 0,\n 'alignItems': 'center',\n 'justifyContent': 'center',\n 'outline': 'none',\n 'background': color.backdrop,\n }\n}\n\nexport function responsiveDialogPositionStyle(\n props: ResponsiveDialogPositionStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$position, (position) => ({'&&': {position}}))\n}\n\n/**\n * @internal\n */\nexport interface AnimationDialogStyleProps {\n $animate: boolean\n}\n\nexport function animationDialogStyle(props: AnimationDialogStyleProps): ReturnType<typeof css> {\n if (!props.$animate) return css``\n\n return css`\n @keyframes zoomIn {\n from {\n opacity: 0;\n transform: scale(0.95);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n }\n @keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n animation: fadeIn 200ms ease-out;\n // Animates the dialog card.\n & > [data-ui='DialogCard'] {\n animation: zoomIn 200ms ease-out;\n }\n `\n}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {DialogPosition} from '../../types/dialog'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogContextValue {\n version: 0.0\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\n/**\n * @internal\n */\nexport const DialogContext = createGlobalScopedContext<DialogContextValue>(\n '@sanity/ui/context/dialog',\n {version: 0.0},\n)\n","import {useContext} from 'react'\n\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useDialog(): DialogContextValue {\n return useContext(DialogContext)\n}\n","import {CloseIcon} from '@sanity/icons/Close'\nimport {useCallback, useEffect, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {ThemeColorSchemeKey} from '../../../theme/system/color/_system'\nimport {containsOrEqualsElement, isHTMLElement} from '../../helpers/element'\nimport {focusFirstDescendant, focusLastDescendant} from '../../helpers/focus'\nimport {useClickOutsideEvent} from '../../hooks/useClickOutsideEvent'\nimport {useGlobalKeyDown} from '../../hooks/useGlobalKeyDown'\nimport {usePrefersReducedMotion} from '../../hooks/usePrefersReducedMotion'\nimport {Box} from '../../primitives/box/box'\nimport {Button} from '../../primitives/button/button'\nimport {Card} from '../../primitives/card/card'\nimport {Container} from '../../primitives/container/container'\nimport {Flex} from '../../primitives/flex/flex'\nimport {Text} from '../../primitives/text/text'\nimport {ResponsivePaddingProps, ResponsiveWidthProps} from '../../primitives/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsivePaddingStyle} from '../../styles/padding/paddingStyle'\nimport {ResponsivePaddingStyleProps} from '../../styles/padding/types'\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {DialogPosition} from '../../types/dialog'\nimport {Radius} from '../../types/radius'\nimport {useBoundaryElement} from '../../utils/boundaryElement/useBoundaryElement'\nimport {Layer, LayerProps} from '../../utils/layer/layer'\nimport {useLayer} from '../../utils/layer/useLayer'\nimport {Portal} from '../../utils/portal/portal'\nimport {usePortal} from '../../utils/portal/usePortal'\nimport {\n animationDialogStyle,\n AnimationDialogStyleProps,\n dialogStyle,\n responsiveDialogPositionStyle,\n ResponsiveDialogPositionStyleProps,\n} from './styles'\nimport {useDialog} from './useDialog'\n\n/**\n * @public\n */\nexport interface DialogProps extends ResponsivePaddingProps, ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus?: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton?: boolean\n cardRadius?: Radius | Radius[]\n cardShadow?: number | number[]\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer?: React.ReactNode\n header?: React.ReactNode\n id: string\n /** A callback that fires when the dialog becomes the top layer when it was not the top layer before. */\n onActivate?: LayerProps['onActivate']\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n position?: DialogPosition | DialogPosition[]\n scheme?: ThemeColorSchemeKey\n zOffset?: number | number[]\n /**\n * Whether the dialog should animate in on mount.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n}\n\ninterface DialogCardProps extends ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton: boolean\n children: React.ReactNode\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer: React.ReactNode\n header: React.ReactNode\n id: string\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n radius: Radius | Radius[]\n ref?: React.Ref<HTMLDivElement>\n scheme?: ThemeColorSchemeKey\n shadow: number | number[]\n}\n\nfunction isTargetWithinScope(\n boundaryElement: HTMLElement | null,\n portalElement: HTMLElement | null,\n target: Node,\n): boolean {\n if (!boundaryElement || !portalElement) return true\n\n return (\n containsOrEqualsElement(boundaryElement, target) ||\n containsOrEqualsElement(portalElement, target)\n )\n}\n\nconst StyledDialog = styled(Layer)<\n ResponsiveDialogPositionStyleProps & ResponsivePaddingStyleProps & AnimationDialogStyleProps\n>(responsivePaddingStyle, dialogStyle, responsiveDialogPositionStyle, animationDialogStyle)\n\nconst DialogContainer = styled(Container)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n height: 100%;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n`\n\nconst DialogCardRoot = styled(Card)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n min-height: 0;\n max-height: 100%;\n overflow: hidden;\n overflow: clip;\n`\n\nconst DialogLayout = styled(Flex)`\n flex: 1;\n min-height: 0;\n width: 100%;\n`\n\nconst DialogHeader = styled(Box)`\n position: relative;\n z-index: 2;\n`\n\nconst DialogContent = styled(Box)`\n position: relative;\n z-index: 1;\n overflow: auto;\n outline: none;\n`\n\nconst DialogFooter = styled(Box)`\n position: relative;\n z-index: 3;\n`\n\nfunction DialogCard(props: DialogCardProps) {\n const {\n __unstable_autoFocus: autoFocus,\n __unstable_hideCloseButton: hideCloseButton,\n children,\n contentRef: forwardedContentRef,\n footer,\n header,\n id,\n onClickOutside,\n onClose,\n portal: portalProp,\n radius: radiusProp,\n ref: forwardedRef,\n scheme,\n shadow: shadowProp,\n width: widthProp,\n } = props\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const radius = _getArrayProp(radiusProp)\n const shadow = _getArrayProp(shadowProp)\n const width = _getArrayProp(widthProp)\n const ref = useRef<HTMLDivElement | null>(null)\n const contentRef = useRef<HTMLDivElement | null>(null)\n const layer = useLayer()\n const {isTopLayer} = layer\n const labelId = `${id}_label`\n // oxlint-disable-next-line no-unnecessary-boolean-literal-compare\n const showCloseButton = Boolean(onClose) && hideCloseButton === false\n const showHeader = Boolean(header) || showCloseButton\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(\n forwardedContentRef,\n () => contentRef.current,\n )\n\n useEffect(() => {\n if (!autoFocus) return\n\n // On mount: focus the first focusable element\n if (ref.current) {\n focusFirstDescendant(ref.current)\n }\n }, [autoFocus, ref])\n\n useGlobalKeyDown(\n useCallback(\n (event: KeyboardEvent) => {\n if (!isTopLayer || !onClose) return\n\n const target = document.activeElement\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore key presses when the focused element is outside of scope\n return\n }\n\n if (event.key === 'Escape') {\n event.preventDefault()\n event.stopPropagation()\n onClose()\n }\n },\n [boundaryElement, isTopLayer, onClose, portalElement],\n ),\n )\n\n useClickOutsideEvent(\n isTopLayer &&\n onClickOutside &&\n ((event) => {\n // oxlint-disable-next-line no-unsafe-type-assertion\n const target = event.target as Node | null\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore clicks outside of the scope\n return\n }\n\n onClickOutside()\n }),\n () => [ref.current],\n )\n\n return (\n <DialogContainer data-ui=\"DialogCard\" width={width}>\n <DialogCardRoot radius={radius} ref={ref} scheme={scheme} shadow={shadow}>\n <DialogLayout direction=\"column\">\n {showHeader && (\n <DialogHeader>\n <Flex align=\"flex-start\" padding={3}>\n <Box flex={1} padding={2}>\n {header && (\n <Text id={labelId} size={1} weight=\"semibold\">\n {header}\n </Text>\n )}\n </Box>\n {showCloseButton && (\n <Box flex=\"none\">\n <Button\n aria-label=\"Close dialog\"\n disabled={!onClose}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n padding={2}\n />\n </Box>\n )}\n </Flex>\n </DialogHeader>\n )}\n\n <DialogContent flex={1} ref={contentRef} tabIndex={-1}>\n {children}\n </DialogContent>\n\n {footer && <DialogFooter>{footer}</DialogFooter>}\n </DialogLayout>\n </DialogCardRoot>\n </DialogContainer>\n )\n}\n\n/**\n * The Dialog component.\n *\n * @public\n */\nexport function Dialog(\n props: DialogProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'id' | 'width'>,\n) {\n const dialog = useDialog()\n const {layer} = useTheme_v2()\n const {\n __unstable_autoFocus: autoFocus = true,\n __unstable_hideCloseButton: hideCloseButton = false,\n cardRadius: cardRadiusProp = 4,\n cardShadow = 3,\n children,\n contentRef,\n footer,\n header,\n id,\n onActivate,\n onClickOutside,\n onClose,\n onFocus,\n padding: paddingProp = 3,\n portal: portalProp,\n position: _positionProp,\n ref,\n scheme,\n width: widthProp = 0,\n zOffset: _zOffsetProp,\n animate: _animate = false,\n ...restProps\n } = props\n const positionProp = _positionProp ?? (dialog.position || 'fixed')\n const zOffsetProp = _zOffsetProp ?? (dialog.zOffset || layer.dialog.zOffset)\n const prefersReducedMotion = usePrefersReducedMotion()\n const animate = prefersReducedMotion ? false : _animate\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const cardRadius = _getArrayProp(cardRadiusProp)\n const padding = _getArrayProp(paddingProp)\n const position = _getArrayProp(positionProp)\n const width = _getArrayProp(widthProp)\n const zOffset = _getArrayProp(zOffsetProp)\n const preDivRef = useRef<HTMLDivElement | null>(null)\n const postDivRef = useRef<HTMLDivElement | null>(null)\n const cardRef = useRef<HTMLDivElement | null>(null)\n const focusedElementRef = useRef<HTMLElement | null>(null)\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n onFocus?.(event)\n\n const target = event.target\n const cardElement = cardRef.current\n\n if (cardElement && target === preDivRef.current) {\n focusLastDescendant(cardElement)\n\n return\n }\n\n if (cardElement && target === postDivRef.current) {\n focusFirstDescendant(cardElement)\n\n return\n }\n\n if (isHTMLElement(event.target)) {\n focusedElementRef.current = event.target\n }\n },\n [onFocus],\n )\n\n const labelId = `${id}_label`\n\n const rootClickTimeoutRef = useRef<NodeJS.Timeout>(undefined)\n\n // If the resulting active element (a.k.a. focused element) is not withing scope when clicking\n // within the dialog, then we want to focus the previously interactive element in the dialog instead.\n // This is to allow the user to tab or close the dialog by pressing escape.\n const handleRootClick = useCallback(() => {\n if (rootClickTimeoutRef.current) {\n clearTimeout(rootClickTimeoutRef.current)\n }\n\n rootClickTimeoutRef.current = setTimeout(() => {\n const activeElement = document.activeElement\n\n if (activeElement && !isTargetWithinScope(boundaryElement, portalElement, activeElement)) {\n const target = focusedElementRef.current\n\n if (!target || !document.body.contains(target)) {\n // No previously focused element, or it's not in the document anymore\n const cardElement = cardRef.current\n if (cardElement) focusFirstDescendant(cardElement)\n\n return\n }\n\n target.focus()\n }\n }, 0)\n }, [boundaryElement, portalElement])\n\n return (\n <Portal __unstable_name={portalProp}>\n <StyledDialog\n {...restProps}\n $animate={animate}\n $padding={padding}\n $position={position}\n aria-labelledby={labelId}\n aria-modal\n data-ui=\"Dialog\"\n id={id}\n onActivate={onActivate}\n onClick={handleRootClick}\n onFocus={handleFocus}\n ref={ref}\n // oxlint-disable-next-line prefer-tag-over-role\n role=\"dialog\"\n zOffset={zOffset}\n >\n {/* oxlint-disable-next-line no-noninteractive-tabindex */}\n <div ref={preDivRef} tabIndex={0} />\n <DialogCard\n __unstable_autoFocus={autoFocus}\n __unstable_hideCloseButton={hideCloseButton}\n contentRef={contentRef}\n footer={footer}\n header={header}\n id={id}\n onClickOutside={onClickOutside}\n onClose={onClose}\n portal={portalProp}\n radius={cardRadius}\n ref={cardRef}\n scheme={scheme}\n shadow={cardShadow}\n width={width}\n >\n {children}\n </DialogCard>\n {/* oxlint-disable-next-line no-noninteractive-tabindex */}\n <div ref={postDivRef} tabIndex={0} />\n </StyledDialog>\n </Portal>\n )\n}\n","import {useMemo} from 'react'\n\nimport {DialogPosition} from '../../types/dialog'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogProviderProps {\n children?: React.ReactNode\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function DialogProvider(props: DialogProviderProps): React.JSX.Element {\n const {children, position, zOffset} = props\n\n const contextValue: DialogContextValue = useMemo(\n () => ({\n version: 0.0,\n position,\n zOffset,\n }),\n [position, zOffset],\n )\n\n return <DialogContext.Provider value={contextValue}>{children}</DialogContext.Provider>\n}\n","import {css, keyframes} from 'styled-components'\n\nconst keyframe = keyframes`\n 0% {\n background-position: 100%;\n }\n 100% {\n background-position: -100%;\n }\n`\n\nconst animation = css`\n background-image: linear-gradient(\n to right,\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-to),\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-from)\n );\n background-position: 100%;\n background-size: 200% 100%;\n background-attachment: fixed;\n animation-name: ${keyframe};\n animation-timing-function: ease-in-out;\n animation-iteration-count: infinite;\n animation-duration: 2000ms;\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const skeletonStyle = css<{$animated: boolean; $visible: boolean}>`\n opacity: ${({$visible}) => ($visible ? 1 : 0)};\n transition: opacity 200ms ease-in;\n\n @media screen and (prefers-reduced-motion: no-preference) {\n ${({$animated}) =>\n $animated\n ? animation\n : css`\n background-color: var(--card-skeleton-color-from);\n `}\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n background-color: var(--card-skeleton-color-from);\n }\n`\n","import {useEffect, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Box, BoxOwnProps} from '../../primitives/box/box'\nimport {ResponsiveRadiusProps} from '../../primitives/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {skeletonStyle} from './styles'\n\nconst StyledSkeleton = styled(Box)<\n {$animated: boolean; $visible: boolean} & ResponsiveRadiusStyleProps\n>(responsiveRadiusStyle, skeletonStyle)\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface SkeletonProps extends ResponsiveRadiusProps, Omit<BoxOwnProps, 'children'> {\n animated?: boolean\n delay?: number\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function Skeleton(props: SkeletonProps & Omit<React.HTMLProps<HTMLDivElement>, 'height'>) {\n const {animated = false, delay, radius, ref, ...restProps} = props\n // oxlint-disable-next-line no-unneeded-ternary\n const [visible, setVisible] = useState<boolean>(delay ? false : true)\n\n useEffect(() => {\n if (!delay) {\n return undefined\n }\n\n const timeout = setTimeout(() => {\n setVisible(true)\n }, delay)\n\n return () => {\n clearTimeout(timeout)\n }\n }, [delay])\n\n return (\n <StyledSkeleton\n {...restProps}\n $animated={animated}\n $radius={_getArrayProp(radius)}\n $visible={delay ? visible : true}\n ref={ref}\n />\n )\n}\n","import {styled} from 'styled-components'\n\nimport {ThemeFontKey} from '../../../theme/system/font'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_getArrayProp, _responsive} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {Skeleton, SkeletonProps} from './skeleton'\n\nconst StyledSkeleton = styled(Skeleton)<{$size: number[]; $style: ThemeFontKey}>((\n props: {\n $size: number[]\n $style: ThemeFontKey\n } & ThemeProps,\n) => {\n const {$size, $style} = props\n const {font, media} = getTheme_v2(props.theme)\n const fontStyle = font[$style]\n\n const styles = _responsive(media, $size, (sizeIndex) => {\n const fontSize = fontStyle.sizes[sizeIndex]\n const capHeight = fontSize.lineHeight - fontSize.ascenderHeight - fontSize.descenderHeight\n\n return {height: capHeight}\n })\n\n return styles\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TextSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface LabelSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface HeadingSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface CodeSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function TextSkeleton(\n props: TextSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n) {\n const {size = 2, ...restProps} = props\n const $size = _getArrayProp(size)\n\n return <StyledSkeleton {...restProps} $size={$size} $style=\"text\" />\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function LabelSkeleton(\n props: LabelSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n) {\n const {size = 2, ...restProps} = props\n const $size = _getArrayProp(size)\n\n return <StyledSkeleton {...restProps} $size={$size} $style=\"label\" />\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function HeadingSkeleton(\n props: HeadingSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n) {\n const {size = 2, ...restProps} = props\n const $size = _getArrayProp(size)\n\n return <StyledSkeleton {...restProps} $size={$size} $style=\"heading\" />\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function CodeSkeleton(\n props: CodeSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n) {\n const {size = 2, ...restProps} = props\n const $size = _getArrayProp(size)\n\n return <StyledSkeleton {...restProps} $size={$size} $style=\"code\" />\n}\n","import {useCallback, useEffect, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Button} from '../../primitives/button/button'\nimport {ButtonTone} from '../../types/button'\n\n/**\n * @public\n */\nexport interface TabProps {\n /**\n * The `id` of the correlating `TabPanel` component.\n */\n 'aria-controls': string\n 'id': string\n // oxlint-disable-next-line no-redundant-type-constituents\n 'icon'?: React.ElementType | React.ReactNode\n 'focused'?: boolean\n 'fontSize'?: number | number[]\n 'label'?: React.ReactNode\n 'padding'?: number | number[]\n 'selected'?: boolean\n 'tone'?: ButtonTone\n}\n\nconst CustomButton = styled(Button)`\n max-width: 100%;\n`\n\n/**\n * @public\n */\nexport function Tab(\n props: TabProps &\n Omit<\n React.HTMLProps<HTMLButtonElement>,\n 'aria-controls' | 'as' | 'id' | 'label' | 'type' | 'width'\n >,\n) {\n const {\n icon,\n id,\n focused,\n fontSize = 1,\n label,\n onClick,\n onFocus,\n padding = 2,\n ref: forwardedRef,\n selected,\n ...restProps\n } = props\n const ref = useRef<HTMLButtonElement | null>(null)\n const focusedRef = useRef(false)\n\n useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n const handleBlur = useCallback(() => {\n focusedRef.current = false\n }, [])\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n focusedRef.current = true\n if (onFocus) onFocus(event)\n },\n [onFocus],\n )\n\n useEffect(() => {\n if (focused && !focusedRef.current) {\n if (ref.current) ref.current.focus()\n focusedRef.current = true\n }\n }, [focused])\n\n return (\n <CustomButton\n data-ui=\"Tab\"\n {...restProps}\n aria-selected={selected ? 'true' : 'false'}\n fontSize={fontSize}\n icon={icon}\n id={id}\n mode=\"bleed\"\n onClick={onClick}\n onBlur={handleBlur}\n onFocus={handleFocus}\n padding={padding}\n ref={ref}\n role=\"tab\"\n selected={selected}\n tabIndex={selected ? 0 : -1}\n text={label}\n type=\"button\"\n />\n )\n}\n","import {Children, cloneElement, isValidElement, useCallback, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Inline, InlineOwnProps} from '../../primitives/inline/inline'\n\n/**\n * @public\n */\nexport interface TabListProps extends Omit<InlineOwnProps, 'height'> {\n children: Array<React.JSX.Element | null | undefined | false>\n}\n\n//Limits the width of tabs in tablist\nconst CustomInline = styled(Inline)`\n & > div {\n display: inline-block;\n vertical-align: middle;\n max-width: 100%;\n box-sizing: border-box;\n }\n`\n\n/**\n * @public\n */\nexport function TabList(\n props: TabListProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n) {\n const {children: childrenProp, ref, ...restProps} = props\n const [focusedIndex, setFocusedIndex] = useState(-1)\n\n const children: React.JSX.Element[] = Children.toArray(childrenProp).filter(isValidElement)\n\n const tabs = children.map((child, childIndex) =>\n cloneElement(child, {\n focused: focusedIndex === childIndex,\n key: childIndex,\n onFocus: () => setFocusedIndex(childIndex),\n }),\n )\n\n const numTabs = tabs.length\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n setFocusedIndex((prevIndex) => (prevIndex + numTabs - 1) % numTabs)\n }\n\n if (event.key === 'ArrowRight') {\n setFocusedIndex((prevIndex) => (prevIndex + 1) % numTabs)\n }\n },\n [numTabs],\n )\n\n return (\n <CustomInline\n data-ui=\"TabList\"\n {...restProps}\n onKeyDown={handleKeyDown}\n ref={ref}\n role=\"tablist\"\n >\n {tabs}\n </CustomInline>\n )\n}\n","import {Box, BoxOwnProps} from '../../primitives/box/box'\n\n/**\n * @public\n */\nexport interface TabPanelProps extends BoxOwnProps {\n /**\n * The `id` of the correlating `Tab` component.\n */\n 'aria-labelledby': string\n 'id': string\n}\n\n/**\n * @public\n */\nexport function TabPanel(\n props: TabPanelProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'aria-labelledby' | 'id' | 'role'>,\n) {\n const {flex, ...restProps} = props\n\n return (\n <Box\n data-ui=\"TabPanel\"\n {...restProps}\n flex={flex}\n role=\"tabpanel\"\n tabIndex={props.tabIndex === undefined ? 0 : props.tabIndex}\n >\n {props.children}\n </Box>\n )\n}\n","import {TreeState} from './types'\n\nexport function _findPrevItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(0, idx)\n const len = els.length\n\n for (let i = len - 1; i >= 0; i -= 1) {\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _findNextItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(idx)\n const len = itemElements.length\n\n for (let i = 1; i < len; i += 1) {\n if (!els[i]) {\n continue\n }\n\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _focusItemElement(el: HTMLElement): void {\n if (el.getAttribute('role') === 'treeitem') {\n el.focus()\n }\n\n if (el.getAttribute('role') === 'none') {\n const firstChild = el.firstChild\n\n if (firstChild && firstChild instanceof HTMLElement) {\n firstChild.focus()\n }\n }\n}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {TreeContextValue} from './types'\n\n/**\n * @internal\n */\nexport const TreeContext = createGlobalScopedContext<TreeContextValue | null>(\n '@sanity/ui/context/tree',\n null,\n)\n","import {useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState} from 'react'\n\nimport {Stack} from '../../primitives/stack/stack'\nimport {_findNextItemElement, _findPrevItemElement, _focusItemElement} from './helpers'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue, TreeState} from './types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TreeProps {\n gap?: number | number[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function Tree(\n props: TreeProps &\n Omit<React.HTMLProps<HTMLUListElement>, 'align' | 'as' | 'height' | 'role' | 'wrap'>,\n): React.JSX.Element {\n const {children, gap = 1, onFocus, ref: forwardedRef, ...restProps} = props\n const ref = useRef<HTMLUListElement | null>(null)\n const [focusedElement, setFocusedElement] = useState<HTMLElement | null>(null)\n const focusedElementRef = useRef(focusedElement)\n const path: string[] = useMemo(() => [], [])\n const [itemElements, setItemElements] = useState<HTMLElement[]>([])\n const [state, setState] = useState<TreeState>({})\n const stateRef = useRef(state)\n\n useImperativeHandle<HTMLUListElement | null, HTMLUListElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n focusedElementRef.current = focusedElement\n }, [focusedElement])\n\n useEffect(() => {\n stateRef.current = state\n }, [state])\n\n const registerItem = useCallback(\n (element: HTMLElement, path: string, expanded: boolean, selected: boolean) => {\n setState((s) => ({...s, [path]: {element, expanded}}))\n\n if (selected) {\n setFocusedElement(element)\n }\n\n return () => {\n setState((s) => {\n const newState = {...s}\n\n delete newState[path]\n\n return newState\n })\n }\n },\n [],\n )\n\n const setExpanded = useCallback((path: string, expanded: boolean) => {\n setState((s) => {\n const itemState = s[path]\n\n if (!itemState) return s\n\n return {...s, [path]: {...itemState, expanded}}\n })\n }, [])\n\n const contextValue: TreeContextValue = useMemo(\n () => ({\n version: 0.0,\n focusedElement: focusedElement || itemElements[0] || null,\n level: 0,\n path,\n registerItem,\n setExpanded,\n setFocusedElement,\n gap,\n state,\n }),\n [focusedElement, gap, itemElements, path, registerItem, setExpanded, state],\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLUListElement>) => {\n if (!focusedElementRef.current) return\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n const nextEl = _findNextItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (nextEl) {\n _focusItemElement(nextEl)\n setFocusedElement(nextEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n const prevEl = _findPrevItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (prevEl) {\n _focusItemElement(prevEl)\n setFocusedElement(prevEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault()\n\n const itemKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!itemKey) return\n\n const itemState = stateRef.current[itemKey]\n\n if (!itemState) return\n\n if (itemState.expanded) {\n setState((s) => {\n const itemState = s[itemKey]\n\n if (!itemState) return s\n\n return {...s, [itemKey]: {...itemState, expanded: false}}\n })\n } else {\n const itemPath = itemKey.split('/')\n\n itemPath.pop()\n\n const parentKey = itemPath.join('/')\n const parentState = parentKey && stateRef.current[parentKey]\n\n if (parentState) {\n parentState.element.focus()\n setFocusedElement(parentState.element)\n }\n }\n\n return\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault()\n\n const focusedKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!focusedKey) return\n\n if (!stateRef.current[focusedKey]?.expanded) {\n setState((s) => {\n const itemState = s[focusedKey]\n\n if (!itemState) return s\n\n return {...s, [focusedKey]: {...itemState, expanded: true}}\n })\n }\n\n return\n }\n },\n [itemElements],\n )\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLUListElement>) => {\n setFocusedElement(event.target)\n\n // Call the element's `focus` handler\n onFocus?.(event)\n },\n [onFocus],\n )\n\n useEffect(() => {\n if (!ref.current) return\n const _itemElements = Array.from(\n ref.current.querySelectorAll('[data-ui=\"TreeItem\"]'),\n ) as HTMLElement[]\n\n setItemElements(_itemElements)\n }, [children])\n\n return (\n <TreeContext.Provider value={contextValue}>\n <Stack\n as=\"ul\"\n data-ui=\"Tree\"\n {...restProps}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={ref}\n role=\"tree\"\n gap={gap}\n >\n {children}\n </Stack>\n </TreeContext.Provider>\n )\n}\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_cardColorStyle} from '../../styles/card/_cardColorStyle'\nimport {rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\n\nexport function treeItemRootStyle(): ReturnType<typeof css> {\n return css`\n &[role='none'] > [role='treeitem'] {\n outline: none;\n cursor: default;\n border-radius: 3px;\n\n background-color: var(--card-bg-color);\n color: var(--treeitem-fg-color);\n\n &:focus {\n position: relative;\n }\n }\n\n &[role='treeitem'] {\n outline: none;\n\n & > div {\n cursor: default;\n border-radius: 3px;\n\n background-color: var(--card-bg-color);\n color: var(--treeitem-fg-color);\n }\n\n &:focus > div {\n position: relative;\n }\n }\n `\n}\n\nexport function treeItemRootColorStyle(props: ThemeProps): ReturnType<typeof css> {\n const $tone = 'default'\n const {color} = getTheme_v2(props.theme)\n const tone = color.selectable[$tone]\n\n return css`\n &[role='none'] {\n & > [role='treeitem'] {\n ${_cardColorStyle(color, tone.enabled)}\n }\n\n &[data-selected] > [role='treeitem'] {\n ${_cardColorStyle(color, tone.pressed)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) > [role='treeitem']:not(:focus):hover {\n ${_cardColorStyle(color, tone.hovered)}\n }\n\n & > [role='treeitem']:focus {\n ${_cardColorStyle(color, tone.selected)}\n }\n }\n }\n\n &[role='treeitem'] {\n & > [data-ui='TreeItem__box'] {\n ${_cardColorStyle(color, tone.enabled)}\n }\n\n &[data-selected] > [data-ui='TreeItem__box'] {\n ${_cardColorStyle(color, tone.pressed)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]):not(:focus) > [data-ui='TreeItem__box']:hover {\n ${_cardColorStyle(color, tone.hovered)}\n }\n\n &:focus > [data-ui='TreeItem__box'] {\n ${_cardColorStyle(color, tone.selected)}\n }\n }\n }\n `\n}\n\nexport interface TreeItemBoxStyleProps {\n $level: number\n}\n\nexport function treeItemBoxStyle(\n props: TreeItemBoxStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$level} = props\n const {space} = getTheme_v2(props.theme)\n\n return css`\n display: block;\n padding-left: ${rem(space[2] * $level)};\n text-decoration: none;\n `\n}\n","import {useContext} from 'react'\n\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTree(): TreeContextValue {\n const tree = useContext(TreeContext)\n\n if (!tree) {\n throw new Error('Tree: missing context value')\n }\n\n return tree\n}\n","import {Stack} from '../../primitives/stack/stack'\nimport {useTree} from './useTree'\n\nexport interface TreeGroupProps {\n expanded?: boolean\n}\n\nexport function TreeGroup(\n props: TreeGroupProps &\n Omit<React.HTMLProps<HTMLUListElement>, 'as' | 'height' | 'ref' | 'role' | 'wrap'>,\n): React.JSX.Element {\n const {children, expanded = false, ...restProps} = props\n const tree = useTree()\n\n return (\n <Stack\n as=\"ul\"\n data-ui=\"TreeGroup\"\n {...restProps}\n hidden={!expanded}\n marginTop={tree.gap}\n // oxlint-disable-next-line prefer-tag-over-role\n role=\"group\"\n gap={tree.gap}\n >\n {children}\n </Stack>\n )\n}\n","import {ToggleArrowRightIcon} from '@sanity/icons/ToggleArrowRight'\nimport {startTransition, useCallback, useEffect, useId, useMemo, useRef, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {Box} from '../../primitives/box/box'\nimport {Flex} from '../../primitives/flex/flex'\nimport {Text} from '../../primitives/text/text'\nimport {ElementType} from '../../types/component'\nimport {\n treeItemBoxStyle,\n TreeItemBoxStyleProps,\n treeItemRootColorStyle,\n treeItemRootStyle,\n} from './style'\nimport {TreeContext} from './treeContext'\nimport {TreeGroup} from './treeGroup'\nimport {useTree} from './useTree'\n\n/**\n * @beta\n */\nexport interface TreeItemProps {\n expanded?: boolean\n fontSize?: number | number[]\n icon?: React.ElementType\n /**\n * Allows passing a custom element type to the link component\n */\n linkAs?: ElementType\n /**\n * Additional props for the link element that is rendered when `href` is set — e.g. `next/link`'s\n * `prefetch` together with `linkAs={Link}`. Props controlled by `TreeItem` itself (`href`,\n * `role`, `tabIndex`, `aria-expanded` and the ref) take precedence.\n */\n linkProps?: React.HTMLProps<HTMLAnchorElement> & Record<string, unknown>\n padding?: number | number[]\n gap?: number | number[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n text?: React.ReactNode\n weight?: ThemeFontWeightKey\n}\n\nconst StyledTreeItem = styled.li(treeItemRootStyle, treeItemRootColorStyle)\n\n/**\n * Styles a plain element (rather than wrapping `Box`) so that `as={linkAs}` renders the custom\n * link component directly, the same way `<Button as={...}>` works. Wrapping `Box` with\n * `.attrs({forwardedAs: 'a'})` made styled-components pass `as=\"a\"` on to the custom component\n * (breaking e.g. `next/link`, which treats `as` as a URL override) and skip the `Box` styles.\n */\nconst TreeItemBox = styled.a<TreeItemBoxStyleProps>(treeItemBoxStyle)\n\nconst ToggleArrowText = styled(Text)`\n & > svg {\n transition: transform 100ms;\n }\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function TreeItem(\n props: TreeItemProps & Omit<React.HTMLProps<HTMLLIElement>, 'as' | 'ref' | 'role'>,\n): React.JSX.Element {\n const {\n children,\n expanded: expandedProp = false,\n fontSize = 1,\n href,\n icon: IconComponent,\n id: idProp,\n linkAs,\n linkProps,\n muted,\n onClick,\n padding = 2,\n selected = false,\n gap = 2,\n text,\n weight,\n ...restProps\n } = props\n const [rootElement, _setRootElement] = useState<HTMLLIElement | null>(null)\n /**\n * The startTransition wrapper here is to avoid an issue when on React 18 where this error can happen:\n * >Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.\n * This doesn't happen on React 19 due to automatic batching of all state updates, the startTransition wrapper here gives a type of batching for 18 users in a way that still works with 19.\n * NOTE: The startTransition wrapper is not needed in UI v4, since the baseline there is React 19.\n */\n const setRootElement = useCallback((node: HTMLLIElement | null) => {\n startTransition(() => _setRootElement(node))\n }, [])\n\n const treeitemRef = useRef<HTMLAnchorElement | null>(null)\n const tree = useTree()\n const {path, registerItem, setExpanded, setFocusedElement} = tree\n const _id = useId()\n const id = idProp || _id\n const [itemPath, itemKey] = useMemo(() => {\n const itemPath = path.concat([id || ''])\n return [itemPath, itemPath.join('/')]\n }, [id, path])\n const itemState = tree.state[itemKey]\n const focused = tree.focusedElement === rootElement\n const expanded = itemState?.expanded === undefined ? expandedProp : itemState?.expanded || false\n const tabIndex = tree.focusedElement && tree.focusedElement === rootElement ? 0 : -1\n const contextValue = useMemo(\n () => ({...tree, level: tree.level + 1, path: itemPath}),\n [itemPath, tree],\n )\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLLIElement>) => {\n if (onClick) onClick(event)\n\n const target = event.target\n\n if (\n target instanceof HTMLElement &&\n (target.getAttribute('data-ui') === 'TreeItem' ||\n target.closest('[data-ui=\"TreeItem__box\"]'))\n ) {\n event.stopPropagation()\n setExpanded(itemKey, !expanded)\n setFocusedElement(rootElement)\n }\n },\n [expanded, itemKey, onClick, rootElement, setExpanded, setFocusedElement],\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLElement>) => {\n if (focused && event.key === 'Enter') {\n const el = treeitemRef.current || rootElement\n\n el?.click()\n }\n },\n [focused, rootElement],\n )\n\n useEffect(() => {\n if (!rootElement) return\n\n return registerItem(rootElement, itemKey, expanded, selected)\n }, [expanded, itemKey, registerItem, rootElement, selected])\n\n const content = (\n <Flex padding={padding}>\n <Box\n marginRight={gap}\n style={{\n visibility: IconComponent || children ? 'visible' : 'hidden',\n pointerEvents: 'none',\n }}\n >\n {IconComponent && (\n <Text muted={muted} size={fontSize} weight={weight}>\n <IconComponent />\n </Text>\n )}\n {!IconComponent && (\n <ToggleArrowText muted={muted} size={fontSize} weight={weight}>\n <ToggleArrowRightIcon style={{transform: expanded ? 'rotate(90deg)' : undefined}} />\n </ToggleArrowText>\n )}\n </Box>\n <Box flex={1}>\n <Text muted={muted} size={fontSize} textOverflow=\"ellipsis\" weight={weight}>\n {text}\n </Text>\n </Box>\n </Flex>\n )\n\n if (href) {\n return (\n <StyledTreeItem\n data-selected={selected ? '' : undefined}\n data-tree-id={id}\n data-tree-key={itemKey}\n data-ui=\"TreeItem\"\n {...restProps}\n onClick={handleClick}\n ref={setRootElement}\n role=\"none\"\n >\n <TreeItemBox\n {...linkProps}\n $level={tree.level}\n aria-expanded={expanded}\n as={linkAs}\n data-as={typeof linkAs === 'string' ? linkAs : 'a'}\n data-ui=\"TreeItem__box\"\n href={href}\n ref={treeitemRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup hidden={!expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </StyledTreeItem>\n )\n }\n\n return (\n <StyledTreeItem\n data-selected={selected ? '' : undefined}\n data-ui=\"TreeItem\"\n data-tree-id={id}\n data-tree-key={itemKey}\n {...restProps}\n aria-expanded={expanded}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={setRootElement}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n <TreeItemBox $level={tree.level} as=\"div\" data-ui=\"TreeItem__box\">\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup expanded={expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </StyledTreeItem>\n )\n}\n","/**\n * @internal\n */\nexport function _isScrollable(el: Node): boolean {\n if (!(el instanceof Element)) return false\n\n const style = window.getComputedStyle(el)\n\n return (\n style.overflowX.includes('auto') ||\n style.overflowX.includes('scroll') ||\n style.overflowY.includes('auto') ||\n style.overflowY.includes('scroll')\n )\n}\n","/** @beta */\nexport type ArrayPropPrimitive = string | number | boolean | undefined | null\n\n/**\n * @deprecated instead of `useArrayProp(width)` use `Array.isArray(width) ? width : [width]` instead\n * @beta\n */\nexport function useArrayProp(_val?: never, _defaultVal?: never): never {\n throw new Error(\n '`useArrayProp` was removed in @sanity/ui v4. Use `Array.isArray(value) ? value : [value]` instead.',\n )\n}\n","/**\n * @public\n */\nexport type ClickOutsideListener = (event: MouseEvent) => void\n\n/**\n * @public\n */\nexport type ClickOutsideElements = (HTMLElement | null | (HTMLElement | null)[])[]\n\n/**\n * @public\n * @deprecated replaced by the new `useClickOutsideEvent` hook, instead of:\n * ```tsx\n * const [button, setButtonElement] = useState(null)\n * useClickOutside((event) => {}, [button])\n * return <button ref={setButtonElement} />\n * ```\n * do:\n * ```tsx\n * const buttonRef = useRef()\n * useClickOutsideEvent((event) => {}, () => [buttonRef.current])\n * return <button ref={buttonRef} />\n * ```\n */\nexport function useClickOutside(\n _listener?: never,\n _elementsArg?: never,\n _boundaryElement?: never,\n): never {\n throw new Error(\n '`useClickOutside` was removed in @sanity/ui v4. Use `useClickOutsideEvent` instead.',\n )\n}\n","/**\n * Subscribe to the rect of a DOM element.\n * @beta\n *\n * @deprecated Use `useElementSize` instead\n */\nexport function useElementRect(_element?: never): never {\n throw new Error('`useElementRect` was removed in @sanity/ui v4. Use `useElementSize` instead.')\n}\n","/**\n * @beta\n * @deprecated use `useImperativeHandle` instead\n * @example\n * ```diff\n * -const ref = useForwardedRef(forwardedRef)\n * +const ref = useRef(null)\n * +useImperativeHandle(forwardedRef, () => ref.current)\n * ```\n */\nexport function useForwardedRef(_ref?: never): never {\n throw new Error(\n '`useForwardedRef` was removed in @sanity/ui v4. Use `useRef` and `useImperativeHandle` instead.',\n )\n}\n","import {useMatchMedia} from './useMatchMedia'\n\n/**\n * Returns true if a dark color scheme is preferred, false if a light color scheme is preferred or the preference is not known.\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-color-scheme: light)` since it's the most common scheme (https://react.dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it.\n * Chrome supports reading the `prefers-color-scheme` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Color-Scheme\n * @example https://gist.github.com/stipsan/13c0cccf8dfc34f4b44bb1b984baf7df\n *\n * @public\n */\nexport function usePrefersDark(getServerSnapshot = () => false): boolean {\n return useMatchMedia('(prefers-color-scheme: dark)', getServerSnapshot)\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `label` font style.\n * @internal\n */\nexport function responsiveLabelFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('label', props)\n}\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {ThemeProps} from '../../styles/types'\n\nexport function labelBaseStyle(\n props: {$accent?: boolean; $muted: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$accent, $muted} = props\n const {font} = getTheme_v2(props.theme)\n\n return css`\n text-transform: uppercase;\n\n ${\n $accent &&\n css`\n color: var(--card-accent-fg-color);\n `\n }\n\n ${\n $muted &&\n css`\n color: var(--card-muted-fg-color);\n `\n }\n\n & code {\n font-family: ${font.code.family};\n border-radius: 1px;\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {responsiveLabelFont} from '../../styles/font/labelFontStyle'\nimport {responsiveTextAlignStyle} from '../../styles/font/textAlignStyle'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {TextAlign} from '../../types/text'\nimport {SpanWithTextOverflow} from '../../utils/spanWithTextOverflow'\nimport {labelBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface LabelOwnProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\n/**\n * @public\n */\nexport type LabelProps<E extends ElementType = 'div'> = Props<LabelOwnProps, E>\n\nconst StyledLabel = styled.div<{\n $accent?: boolean\n $align: TextAlign[]\n $muted: boolean\n $size: number[]\n $weight?: ThemeFontWeightKey\n}>(responsiveLabelFont, responsiveTextAlignStyle, labelBaseStyle)\n\nfunction LabelComponent(\n props: LabelOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n) {\n const {\n accent,\n align,\n children: childrenProp,\n muted = false,\n ref,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n } else {\n children = <span>{children}</span>\n }\n\n return (\n <StyledLabel\n data-ui=\"Label\"\n {...restProps}\n $accent={accent}\n $align={_getArrayProp(align)}\n $muted={muted}\n $size={_getArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n {children}\n </StyledLabel>\n )\n}\n\n/**\n * Typographic labels.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Label = LabelComponent as unknown as <E extends ElementType = 'div'>(\n props: LabelProps<E>,\n) => React.JSX.Element\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {focusRingStyle} from '../../styles/focusRing'\nimport {_responsive, rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {AvatarRootStyleProps, ResponsiveAvatarSizeStyleProps} from './types'\n\nexport const avatarStyle = {\n root: avatarRootStyle,\n arrow: avatarArrowStyle,\n bgStroke: avatarBgStrokeStyle,\n stroke: avatarStrokeStyle,\n initials: avatarInitialsStyle,\n image: avatarImageStyle,\n}\n\nfunction avatarArrowStyle(): CSSObject {\n return {\n 'position': 'absolute',\n 'boxSizing': 'border-box',\n 'zIndex': '0',\n 'opacity': '0',\n 'transition': 'all 0.2s linear',\n 'transform': 'rotate(-90deg) translate3d(0, 6px, 0)',\n 'left': 0,\n 'right': 0,\n 'top': 0,\n 'bottom': 0,\n\n '& > svg': {\n 'width': '11px',\n 'height': '7px',\n 'position': 'absolute',\n 'top': '-5px',\n 'left': '50%',\n 'transform': 'translateX(-6px)',\n\n '&:not([hidden])': {\n display: 'block',\n },\n },\n\n \"[data-arrow-position='inside'] > &\": {\n transform: 'rotate(-90deg) translate3d(0, 6px, 0)',\n opacity: '0',\n },\n\n \"[data-arrow-position='top'] > &\": {\n opacity: '1',\n transform: 'rotate(0deg)',\n },\n\n \"[data-arrow-position='bottom'] > &\": {\n opacity: '1',\n transform: 'rotate(-180deg)',\n },\n }\n}\n\nfunction avatarRootStyle(props: AvatarRootStyleProps & ThemeProps): CSSObject {\n const {$color} = props\n const {avatar} = getTheme_v2(props.theme)\n\n return {\n '--avatar-bg-color': `var(--card-avatar-${$color}-bg-color)`,\n '--avatar-fg-color': `var(--card-avatar-${$color}-fg-color)`,\n\n 'backgroundColor': 'var(--avatar-bg-color)',\n 'position': 'relative',\n 'boxSizing': 'border-box',\n 'userSelect': 'none',\n 'boxShadow': '0 0 0 1px var(--card-bg-color)',\n\n '&[data-status=\"inactive\"]': {\n opacity: '0.5',\n },\n\n '&>svg': {\n '&:not([hidden])': {\n display: 'block',\n },\n },\n\n /* &:is(button) */\n '&[data-as=\"button\"]': {\n 'WebkitFontSmoothing': 'inherit',\n 'appearance': 'none',\n 'margin': 0,\n 'padding': 0,\n 'border': 0,\n 'font': 'inherit',\n 'color': 'inherit',\n 'outline': 'none',\n\n '&:focus': {\n boxShadow: focusRingStyle({focusRing: avatar.focusRing}),\n },\n\n '&:focus:not(:focus-visible)': {\n boxShadow: 'none',\n },\n },\n }\n}\n\nexport function responsiveAvatarSizeStyle(\n props: ResponsiveAvatarSizeStyleProps & ThemeProps,\n): CSSObject[] {\n const {avatar, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size] || avatar.sizes[0]\n\n return {\n 'width': rem(avatarSize.size),\n 'height': rem(avatarSize.size),\n 'borderRadius': rem(avatarSize.size / 2),\n\n '&>svg': {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n },\n }\n })\n}\n\nfunction avatarImageStyle(): CSSObject {\n return {\n position: 'relative',\n }\n}\n\nfunction avatarInitialsStyle(): CSSObject {\n return {\n 'width': '100%',\n 'height': '100%',\n 'color': 'var(--avatar-fg-color)',\n 'alignItems': 'center',\n 'justifyContent': 'center',\n 'textTransform': 'uppercase',\n 'textAlign': 'center',\n 'borderRadius': '50%',\n\n '&:not([hidden])': {\n display: 'flex',\n },\n }\n}\n\nfunction avatarBgStrokeStyle(): CSSObject {\n return {\n strokeWidth: '4px',\n stroke: 'var(--card-bg-color)',\n }\n}\n\nfunction avatarStrokeStyle(): CSSObject {\n return {\n 'strokeWidth': '2px',\n 'stroke': 'var(--avatar-bg-color)',\n\n '[data-status=\"editing\"] &': {\n strokeDasharray: '2 4',\n strokeLinecap: 'round',\n },\n }\n}\n","import {useCallback, useEffect, useId, useState} from 'react'\nimport ReactIs from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {ThemeColorAvatarColorKey} from '../../../theme/system/color/_system'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {AvatarPosition, AvatarSize, AvatarStatus} from '../../types/avatar'\nimport {ElementType, Props} from '../../types/component'\nimport {Label} from '../label/label'\nimport {avatarStyle, responsiveAvatarSizeStyle} from './styles'\n\n/**\n * @public\n */\nexport interface AvatarOwnProps {\n /** @beta */\n __unstable_hideInnerStroke?: boolean\n animateArrowFrom?: AvatarPosition\n arrowPosition?: AvatarPosition\n color?: ThemeColorAvatarColorKey\n initials?: string\n onImageLoadError?: (event: Error) => void\n size?: AvatarSize | AvatarSize[]\n src?: string\n /**\n * The status of the entity this Avatar represents.\n * @alpha\n */\n status?: AvatarStatus\n title?: string\n}\n\n/**\n * @public\n */\nexport type AvatarProps<E extends ElementType = 'div'> = Props<AvatarOwnProps, E>\n\nconst StyledAvatar = styled.div<{$color: ThemeColorAvatarColorKey; $size: AvatarSize[]}>(\n responsiveAvatarSizeStyle,\n avatarStyle.root,\n)\n\nconst Arrow = styled.div(avatarStyle.arrow)\n\nconst BgStroke = styled.ellipse(avatarStyle.bgStroke)\n\nconst Stroke = styled.ellipse(avatarStyle.stroke)\n\nconst Initials = styled.div(avatarStyle.initials)\n\nconst InitialsLabel = styled(Label)({\n color: 'inherit',\n})\n\nconst AvatarImage = styled.svg(avatarStyle.image)\n\nfunction AvatarComponent(\n props: AvatarOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n) {\n const {\n __unstable_hideInnerStroke,\n as: asProp,\n color = 'gray',\n src,\n title,\n initials,\n onImageLoadError,\n arrowPosition: arrowPositionProp,\n animateArrowFrom,\n ref,\n status = 'online',\n size: sizeProp = 1,\n ...restProps\n } = props\n const {avatar} = useTheme_v2()\n const as = ReactIs.isValidElementType(asProp) ? asProp : 'div'\n const size = _getArrayProp(sizeProp)\n\n // @todo: remove this\n const avatarSize = avatar.sizes[size[0]] || avatar.sizes[0]\n const _sizeRem = avatarSize.size\n const _radius = _sizeRem / 2\n\n const elementId = useId()\n const [arrowPosition, setArrowPosition] = useState<AvatarPosition | undefined>(\n animateArrowFrom || arrowPositionProp || 'inside',\n )\n\n const [imageFailed, setImageFailed] = useState<boolean>(false)\n\n const imageId = `avatar-image-${elementId}`\n\n useEffect(() => {\n if (arrowPosition === arrowPositionProp) return undefined\n\n // Start animation in the next frame\n const raf = requestAnimationFrame(() => setArrowPosition(arrowPositionProp))\n\n return () => cancelAnimationFrame(raf)\n }, [arrowPosition, arrowPositionProp])\n\n useEffect(() => {\n // oxlint-disable-next-line react-compiler\n if (src) setImageFailed(false)\n }, [src])\n\n const handleImageError = useCallback(() => {\n setImageFailed(true)\n\n if (onImageLoadError) {\n onImageLoadError(new Error('Avatar: the image failed to load'))\n }\n }, [onImageLoadError])\n\n return (\n <StyledAvatar\n as={as}\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Avatar\"\n {...restProps}\n $color={color}\n $size={size}\n aria-label={title}\n data-arrow-position={arrowPosition}\n data-status={status}\n ref={ref}\n title={title}\n >\n <Arrow>\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 7\" fill=\"none\">\n <path\n d=\"M6.67948 1.50115L11 7L0 7L4.32052 1.50115C4.92109 0.736796 6.07891 0.736795 6.67948 1.50115Z\"\n fill={color}\n />\n </svg>\n </Arrow>\n\n {!imageFailed && src && (\n <AvatarImage viewBox={`0 0 ${_sizeRem} ${_sizeRem}`} fill=\"none\">\n <defs>\n <pattern id={imageId} patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <image href={src} width=\"1\" height=\"1\" onError={handleImageError} />\n </pattern>\n </defs>\n\n <circle cx={_radius} cy={_radius} r={_radius} fill={`url(#${imageId})`} />\n\n {!__unstable_hideInnerStroke && (\n <BgStroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n vectorEffect=\"non-scaling-stroke\"\n />\n )}\n\n <Stroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n vectorEffect=\"non-scaling-stroke\"\n />\n </AvatarImage>\n )}\n\n {(imageFailed || !src) && initials && (\n <>\n <Initials>\n <InitialsLabel\n forwardedAs=\"span\"\n size={size.map((s) => {\n if (s === 1) return 1\n if (s === 2) return 3\n if (s === 3) return 5\n\n return 0\n })}\n weight=\"medium\"\n >\n {initials}\n </InitialsLabel>\n </Initials>\n </>\n )}\n </StyledAvatar>\n )\n}\n\n/**\n * Avatars are used to represent people and other agents (e.g. bots).\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Avatar = AvatarComponent as unknown as <E extends ElementType = 'div'>(\n props: AvatarProps<E>,\n) => React.JSX.Element\n","import {css, styled} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {EMPTY_RECORD} from '../../constants'\nimport {_getArrayProp, _responsive, rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {AvatarSize} from '../../types/avatar'\nimport {Label} from '../label/label'\n\nfunction _responsiveAvatarCounterSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {avatar, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n borderRadius: rem(avatarSize.size / 2),\n minWidth: rem(avatarSize.size),\n height: rem(avatarSize.size),\n }\n })\n}\n\nfunction _avatarCounterBaseStyle(props: ThemeProps) {\n const {space} = getTheme_v2(props.theme)\n\n return css`\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n user-select: none;\n color: inherit;\n color: var(--card-fg-color);\n background: var(--card-bg-color);\n box-shadow:\n 0 0 0 1px var(--card-bg-color),\n inset 0 0 0 1px var(--card-hairline-hard-color);\n padding: 0 ${rem(space[2])};\n\n &:not([hidden]) {\n display: flex;\n }\n `\n}\n\nconst StyledAvatarCounter = styled.div<{$size: AvatarSize[]}>(\n _responsiveAvatarCounterSizeStyle,\n _avatarCounterBaseStyle,\n)\n\n/**\n * @public\n */\nexport interface AvatarCounterProps {\n count: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: never\n}\n\n/**\n * @public\n */\nexport function AvatarCounter(props: AvatarCounterProps & {ref?: React.Ref<HTMLDivElement>}) {\n const {count, ref, size: sizeProp = 1} = props\n const size = _getArrayProp(sizeProp)\n\n return (\n <StyledAvatarCounter $size={size} data-ui=\"AvatarCounter\" ref={ref}>\n <Label\n as=\"span\"\n size={size.map((s) => {\n if (s === 1) return 1\n if (s === 2) return 3\n if (s === 3) return 5\n\n return 0\n })}\n weight=\"medium\"\n >\n {count}\n </Label>\n </StyledAvatarCounter>\n )\n}\n","import {Children, cloneElement, isValidElement} from 'react'\nimport {css, styled} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {EMPTY_RECORD} from '../../constants'\nimport {_getArrayProp, _responsive, rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {AvatarSize} from '../../types/avatar'\nimport {AvatarCounter} from './avatarCounter'\n\nconst BASE_STYLES = css`\n white-space: nowrap;\n\n & > div {\n vertical-align: top;\n\n &:not([hidden]) {\n display: inline-block;\n }\n }\n`\n\nfunction avatarStackStyle() {\n return BASE_STYLES\n}\n\nfunction responsiveAvatarStackSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {avatar, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n '& > div + div': {\n marginLeft: rem(avatarSize.distance),\n },\n }\n })\n}\n\nconst StyledAvatarStack = styled.div<{$size: AvatarSize[]}>(\n responsiveAvatarStackSizeStyle,\n avatarStackStyle,\n)\n\n/**\n * @public\n */\nexport interface AvatarStackProps {\n children: React.ReactNode\n maxLength?: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: never\n}\n\n/**\n * @public\n */\nexport function AvatarStack(props: AvatarStackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>) {\n const {\n children: childrenProp,\n maxLength: maxLengthProp = 4,\n ref,\n size: sizeProp = 1,\n ...restProps\n } = props\n const children: React.JSX.Element[] = Children.toArray(childrenProp).filter(isValidElement)\n const maxLength = Math.max(maxLengthProp, 0)\n const size = _getArrayProp(sizeProp)\n\n const len = children.length\n const visibleCount = maxLength - 1\n const extraCount = len - visibleCount\n const visibleChildren = extraCount > 1 ? children.slice(extraCount, len) : children\n\n return (\n <StyledAvatarStack data-ui=\"AvatarStack\" {...restProps} ref={ref} $size={size}>\n {len === 0 && (\n <div>\n <AvatarCounter count={len} size={size} />\n </div>\n )}\n\n {len !== 0 && extraCount > 1 && (\n <div>\n <AvatarCounter count={extraCount} size={size} />\n </div>\n )}\n\n {visibleChildren.map((child, childIndex) => (\n // oxlint-disable-next-line no-array-index-key\n <div key={String(childIndex)}>{cloneElement(child, {size})}</div>\n ))}\n </StyledAvatarStack>\n )\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {BadgeStyleProps} from './types'\n\nexport function badgeStyle(props: BadgeStyleProps): CSSObject {\n const {$tone} = props\n\n return {\n '--card-bg-color': `var(--card-badge-${$tone}-bg-color)`,\n '--card-fg-color': `var(--card-badge-${$tone}-fg-color)`,\n\n 'backgroundColor': 'var(--card-bg-color)',\n 'cursor': 'default',\n\n '&:not([hidden])': {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n }\n}\n","import {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {BadgeTone} from '../../types/badge'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {Text} from '../text/text'\nimport {ResponsiveRadiusProps} from '../types'\nimport {badgeStyle} from './styles'\nimport {BadgeStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface BadgeOwnProps extends BoxOwnProps, ResponsiveRadiusProps {\n fontSize?: number | number[]\n /** @deprecated No longer used. */\n mode?: never\n tone?: BadgeTone\n}\n\n/**\n * @public\n */\nexport type BadgeProps<E extends ElementType = 'div'> = Props<BadgeOwnProps, E>\n\nconst StyledBadge = styled(Box)<BadgeStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n badgeStyle,\n)\n\nconst BadgeComponent = function Badge(\n props: BadgeOwnProps & {as?: ElementType} & React.HTMLProps<HTMLDivElement>,\n) {\n const {\n children,\n fontSize = 1,\n padding = 1,\n radius = 'full',\n ref,\n tone = 'default',\n ...restProps\n } = props\n\n return (\n <StyledBadge\n data-ui=\"Badge\"\n {...restProps}\n $tone={tone}\n $radius={_getArrayProp(radius)}\n padding={_getArrayProp(padding)}\n ref={ref}\n >\n <Text size={fontSize}>{children}</Text>\n </StyledBadge>\n )\n}\n\n/**\n * Badges are used to tag resources.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Badge = BadgeComponent as unknown as <E extends ElementType = 'div'>(\n props: BadgeProps<E>,\n) => React.JSX.Element\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\n\nexport function checkboxBaseStyles(): ReturnType<typeof css> {\n return css`\n position: relative;\n display: inline-block;\n `\n}\n\nexport function inputElementStyles(props: ThemeProps): ReturnType<typeof css> {\n const {color, input, radius} = getTheme_v2(props.theme)\n const {focusRing} = input.checkbox\n\n return css`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n outline: none;\n opacity: 0;\n z-index: 1;\n padding: 0;\n margin: 0;\n\n & + span {\n position: relative;\n display: block;\n height: ${rem(input.checkbox.size)};\n width: ${rem(input.checkbox.size)};\n box-sizing: border-box;\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n border-radius: ${rem(radius[2])};\n line-height: 1;\n background-color: ${color.input.default.enabled.bg};\n\n & > svg {\n display: block;\n position: absolute;\n opacity: 0;\n height: 100%;\n width: 100%;\n\n & > path {\n vector-effect: non-scaling-stroke;\n stroke-width: 1.5px !important;\n }\n }\n }\n\n &:checked + span {\n background: ${color.input.default.enabled.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.fg,\n width: input.border.width,\n })};\n color: ${color.input.default.enabled.bg};\n }\n\n /* focus */\n &:not(:disabled):focus:focus-visible + span {\n box-shadow: ${focusRingStyle({focusRing})};\n }\n\n /* focus when checked - uses a different offset */\n &:not(:disabled):focus:focus-visible&:checked + span {\n box-shadow: ${focusRingStyle({focusRing: {width: 1, offset: 1}})};\n }\n\n &[data-error] + span {\n background-color: ${color.input.invalid.enabled.border};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.input.invalid.enabled.muted.bg,\n })};\n color: ${color.input.default.disabled.fg};\n }\n &[data-error]&:checked + span {\n background-color: ${color.input.invalid.enabled.muted.bg};\n color: ${color.input.default.enabled.bg};\n }\n &[data-error]&:checked&:not(:disabled):focus:focus-visible + span {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: color.input.invalid.readOnly.muted.bg},\n focusRing: {width: 1, offset: 1},\n })};\n }\n\n &:disabled + span {\n background-color: ${color.input.default.disabled.bg};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.input.default.disabled.border,\n })};\n color: ${color.input.default.disabled.fg};\n }\n &:disabled&:checked + span {\n background-color: ${color.input.default.disabled.muted.bg};\n }\n\n &[data-read-only] + span {\n background-color: ${color.input.default.readOnly.bg};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.input.default.readOnly.border,\n })};\n color: ${color.input.default.readOnly.fg};\n }\n\n &[data-read-only]&:checked + span {\n background-color: ${color.input.default.readOnly.muted.bg};\n }\n\n &:checked + span > svg:first-child {\n opacity: 1;\n }\n &:indeterminate + span > svg:last-child {\n opacity: 1;\n }\n `\n}\n","import {CheckmarkIcon} from '@sanity/icons/Checkmark'\nimport {RemoveIcon} from '@sanity/icons/Remove'\nimport {useEffect, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport {checkboxBaseStyles, inputElementStyles} from './styles'\n\n/**\n * @public\n */\nexport interface CheckboxProps {\n indeterminate?: boolean\n customValidity?: string\n}\n\nconst StyledCheckbox = styled.div(checkboxBaseStyles)\nconst Input = styled.input(inputElementStyles)\n\n/**\n * Checkboxes allow the user to select one or more items from a set.\n *\n * @public\n */\nexport function Checkbox(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & CheckboxProps,\n) {\n const {\n checked,\n className,\n disabled,\n indeterminate,\n customValidity,\n readOnly,\n ref: forwardedRef,\n style,\n ...restProps\n } = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate])\n\n useCustomValidity(ref, customValidity)\n\n return (\n <StyledCheckbox className={className} data-ui=\"Checkbox\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n {...restProps}\n checked={checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n readOnly={readOnly}\n ref={ref}\n />\n <span>\n <CheckmarkIcon />\n <RemoveIcon />\n </span>\n </StyledCheckbox>\n )\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `heading` font style.\n * @internal\n */\nexport function responsiveHeadingFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('heading', props)\n}\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {ThemeProps} from '../../styles/types'\nimport {HeadingStyleProps} from './types'\n\nexport function headingBaseStyle(props: HeadingStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$accent, $muted} = props\n const {font} = getTheme_v2(props.theme)\n\n return css`\n ${\n $accent &&\n css`\n color: var(--card-accent-fg-color);\n `\n }\n\n ${\n $muted &&\n css`\n color: var(--card-muted-fg-color);\n `\n }\n\n & code {\n font-family: ${font.code.family};\n border-radius: 1px;\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n color: var(--card-link-color);\n outline: none;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n box-shadow:\n 0 0 0 1px var(--card-bg-color),\n 0 0 0 3px var(--card-focus-ring-color);\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & strong {\n font-weight: ${font.heading.weights.bold};\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {responsiveHeadingFont} from '../../styles/font/headingFontStyle'\nimport {responsiveTextAlignStyle} from '../../styles/font/textAlignStyle'\nimport {ResponsiveFontStyleProps, ResponsiveTextAlignStyleProps} from '../../styles/font/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {TextAlign} from '../../types/text'\nimport {SpanWithTextOverflow} from '../../utils/spanWithTextOverflow'\nimport {headingBaseStyle} from './styles'\nimport {HeadingStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface HeadingOwnProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\n/**\n * @public\n */\nexport type HeadingProps<E extends ElementType = 'div'> = Props<HeadingOwnProps, E>\n\nconst StyledHeading = styled.div<\n HeadingStyleProps & ResponsiveTextAlignStyleProps & ResponsiveFontStyleProps\n>(headingBaseStyle, responsiveTextAlignStyle, responsiveHeadingFont)\n\nfunction HeadingComponent(\n props: HeadingOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLDivElement>,\n 'as' | 'size'\n >,\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n ref,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <StyledHeading\n data-ui=\"Heading\"\n {...restProps}\n $accent={accent}\n $align={_getArrayProp(align)}\n $muted={muted}\n $size={_getArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n <span>{children}</span>\n </StyledHeading>\n )\n}\n\n/**\n * Typographic headings.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Heading = HeadingComponent as unknown as <E extends ElementType = 'div'>(\n props: HeadingProps<E>,\n) => React.JSX.Element\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\n\nexport function radioBaseStyle(): ReturnType<typeof css> {\n return css`\n position: relative;\n\n &:not([hidden]) {\n display: inline-block;\n }\n\n &[data-read-only] {\n outline: 1px solid red;\n }\n `\n}\n\nexport function inputElementStyle(props: ThemeProps): ReturnType<typeof css> {\n const {color, input} = getTheme_v2(props.theme)\n const dist = (input.radio.size - input.radio.markSize) / 2\n\n return css`\n appearance: none;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n height: 100%;\n width: 100%;\n outline: none;\n z-index: 1;\n padding: 0;\n margin: 0;\n border-radius: ${rem(input.radio.size / 2)};\n border: none;\n\n /* enabled */\n & + span {\n display: block;\n position: relative;\n height: ${rem(input.radio.size)};\n width: ${rem(input.radio.size)};\n border-radius: ${rem(input.radio.size / 2)};\n background: ${color.input.default.enabled.bg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n\n &::after {\n content: '';\n position: absolute;\n top: ${rem(dist)};\n left: ${rem(dist)};\n height: ${rem(input.radio.markSize)};\n width: ${rem(input.radio.markSize)};\n border-radius: ${rem(input.radio.markSize / 2)};\n background: ${color.input.default.enabled.fg};\n opacity: 0;\n }\n }\n\n /* focused */\n &:not(:disabled):focus + span {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: color.input.default.enabled.border},\n focusRing: input.radio.focusRing,\n })};\n }\n\n &:not(:disabled):focus:not(:focus-visible) + span {\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n &:checked + span::after {\n opacity: 1;\n }\n\n /* customValidity */\n &[data-error] + span {\n background-color: ${color.input.invalid.enabled.border};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.input.invalid.enabled.muted.bg,\n })};\n &::after {\n background: ${color.input.invalid.enabled.muted.bg};\n }\n }\n\n /* read only */\n &[data-read-only] + span {\n box-shadow: 0 0 0 1px ${color.input.default.readOnly.border};\n background: ${color.input.default.readOnly.bg};\n\n &::after {\n background: ${color.input.default.readOnly.border};\n }\n }\n\n /* disabled */\n &:not([data-read-only]):disabled + span {\n box-shadow: 0 0 0 1px ${color.input.default.disabled.border};\n background: ${color.input.default.disabled.bg};\n\n &::after {\n background: ${color.input.default.disabled.border};\n }\n }\n `\n}\n","import {useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport {inputElementStyle, radioBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface RadioProps {\n customValidity?: string\n}\n\nconst StyledRadio = styled.div(radioBaseStyle)\nconst Input = styled.input(inputElementStyle)\n\n/**\n * The `Radio` component allows the user to select one option from a set.\n *\n * @public\n */\nexport function Radio(props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & RadioProps) {\n const {\n className,\n disabled,\n style,\n customValidity,\n readOnly,\n ref: forwardedRef,\n ...restProps\n } = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <StyledRadio className={className} data-ui=\"Radio\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n {...restProps}\n disabled={disabled || readOnly}\n readOnly={readOnly}\n ref={ref}\n type=\"radio\"\n />\n <span />\n </StyledRadio>\n )\n}\n","import {css} from 'styled-components'\n\nimport {CSSObject} from '../../../theme/system/css'\nimport {ThemeFontSize} from '../../../theme/system/font'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {_responsive, rem} from '../../styles/helpers'\nimport {responsiveInputPaddingIconRightStyle} from '../../styles/input/responsiveInputPaddingStyle'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {ThemeProps} from '../../styles/types'\n\nfunction rootStyle(): ReturnType<typeof css> {\n return css`\n position: relative;\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nfunction inputBaseStyle(props: ThemeProps): ReturnType<typeof css> {\n const {font} = getTheme_v2(props.theme)\n\n return css`\n -webkit-font-smoothing: antialiased;\n appearance: none;\n border: 0;\n font-family: ${font.text.family};\n color: inherit;\n width: 100%;\n outline: none;\n margin: 0;\n\n &:disabled {\n opacity: 1;\n }\n `\n}\n\nfunction inputColorStyle(props: ThemeProps) {\n const {color, input} = getTheme_v2(props.theme)\n\n return css`\n /* enabled */\n background-color: ${color.input.default.enabled.bg};\n color: ${color.input.default.enabled.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n\n /* hovered */\n @media (hover: hover) {\n &:not(:disabled):hover {\n background-color: ${color.input.default.hovered.bg};\n color: ${color.input.default.hovered.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.hovered.border,\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n &:not(:disabled):focus {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: color.input.default.enabled.border},\n focusRing: input.select.focusRing,\n })};\n }\n\n /* read-only */\n &[data-read-only] {\n background-color: ${color.input.default.readOnly.bg};\n color: ${color.input.default.readOnly.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.readOnly.border,\n width: input.border.width,\n })};\n }\n\n /* disabled */\n &:not([data-read-only]):disabled {\n background-color: ${color.input.default.disabled.bg};\n color: ${color.input.default.disabled.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.disabled.border,\n width: input.border.width,\n })};\n }\n `\n}\n\nfunction textSize(size: ThemeFontSize) {\n return {fontSize: rem(size.fontSize), lineHeight: `${rem(size.lineHeight)}`}\n}\n\nfunction inputTextSizeStyle(props: {$fontSize: number[]} & ThemeProps) {\n const {$fontSize} = props\n const {font, media} = getTheme_v2(props.theme)\n\n return _responsive(media, $fontSize, (sizeIndex) =>\n textSize(font.text.sizes[sizeIndex] || font.text.sizes[2]),\n )\n}\n\nfunction inputStyle(): Array<\n | ((\n props: ResponsiveRadiusStyleProps & {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n ) => CSSObject[])\n | ((props: ThemeProps) => ReturnType<typeof css>)\n> {\n return [\n responsiveRadiusStyle,\n inputBaseStyle,\n inputColorStyle,\n inputTextSizeStyle,\n responsiveInputPaddingIconRightStyle,\n ]\n}\n\nfunction iconBoxStyle(props: ThemeProps): ReturnType<typeof css> {\n const {color} = getTheme_v2(props.theme)\n\n return css`\n pointer-events: none;\n position: absolute;\n top: 0;\n right: 0;\n\n /* enabled */\n --card-fg-color: ${color.input.default.enabled.fg};\n\n /* hover */\n @media (hover: hover) {\n select:not(disabled):not(:read-only):hover + && {\n --card-fg-color: ${color.input.default.hovered.fg};\n }\n }\n\n /* disabled */\n select:disabled + && {\n --card-fg-color: ${color.input.default.disabled.fg};\n }\n\n /* read-only */\n select[data-read-only] + && {\n --card-fg-color: ${color.input.default.readOnly.fg};\n }\n `\n}\n\nexport const selectStyle = {\n root: rootStyle,\n input: inputStyle,\n iconBox: iconBoxStyle,\n}\n","import {ChevronDownIcon} from '@sanity/icons/ChevronDown'\nimport {useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {Radius} from '../../types/radius'\nimport {Box} from '../box/box'\nimport {Text} from '../text/text'\nimport {selectStyle} from './styles'\n\n/**\n * @public\n */\nexport interface SelectProps {\n fontSize?: number | number[]\n gap?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n customValidity?: string\n}\n\nconst StyledSelect = styled.div(selectStyle.root)\n\nconst Input = styled.select<{\n $fontSize: number[]\n $padding: number[]\n $radius: Radius[]\n $space: number[]\n}>(selectStyle.input)\n\nconst IconBox = styled(Box)(selectStyle.iconBox)\n\n/**\n * The `Select` component provides control of options.\n *\n * @public\n */\nexport function Select(props: SelectProps & Omit<React.HTMLProps<HTMLSelectElement>, 'as'>) {\n const {\n children,\n customValidity,\n disabled,\n fontSize = 2,\n gap = 3,\n padding = 3,\n radius = 2,\n readOnly,\n ref: forwardedRef,\n ...restProps\n } = props\n\n const ref = useRef<HTMLSelectElement | null>(null)\n\n useImperativeHandle<HTMLSelectElement | null, HTMLSelectElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <StyledSelect data-ui=\"Select\">\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-ui=\"Select\"\n {...restProps}\n $fontSize={_getArrayProp(fontSize)}\n $padding={_getArrayProp(padding)}\n $radius={_getArrayProp(radius)}\n $space={_getArrayProp(gap)}\n disabled={disabled || readOnly}\n ref={ref}\n >\n {children}\n </Input>\n\n <IconBox padding={padding}>\n <Text size={fontSize}>\n <ChevronDownIcon />\n </Text>\n </IconBox>\n </StyledSelect>\n )\n}\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {focusRingStyle} from '../../styles/focusRing'\nimport {rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\n\n/* Root */\nexport function switchBaseStyles(): ReturnType<typeof css> {\n return css`\n position: relative;\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\n/* Input */\nexport function switchInputStyles(): ReturnType<typeof css> {\n // Visually hide the input element while keeping it interactive\n return css`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n opacity: 0;\n height: 100%;\n width: 100%;\n outline: none;\n padding: 0;\n margin: 0;\n\n /* Place the input element above the representation element */\n z-index: 1;\n `\n}\n\n/* Representation */\nexport function switchRepresentationStyles(props: ThemeProps): ReturnType<typeof css> {\n const {color, input} = getTheme_v2(props.theme)\n\n return css`\n --switch-bg-color: ${color.input.default.enabled.border};\n --switch-fg-color: ${color.input.default.enabled.bg};\n --switch-box-shadow: none;\n\n &:not([hidden]) {\n display: block;\n }\n position: relative;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n\n /* Make sure it’s not possible to interact with the wrapper element */\n pointer-events: none;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1;\n box-shadow: var(--switch-box-shadow);\n border-radius: inherit;\n }\n\n /* Focus styles */\n input:focus + && {\n --switch-box-shadow: ${focusRingStyle({focusRing: input.switch.focusRing})};\n }\n\n input:focus:not(:focus-visible) + && {\n --switch-box-shadow: none;\n }\n\n input:checked + && {\n --switch-bg-color: ${color.input.default.enabled.fg};\n --switch-fg-color: ${color.input.default.enabled.bg};\n }\n\n @media (hover: hover) {\n input:not(:disabled):hover + && {\n --switch-bg-color: ${color.input.default.hovered.border};\n --switch-fg-color: ${color.input.default.hovered.bg};\n }\n\n input:not(:disabled):checked:hover + && {\n --switch-bg-color: ${color.input.default.enabled.fg};\n --switch-fg-color: ${color.input.default.enabled.bg};\n }\n }\n\n input:not([data-read-only]):disabled + && {\n --switch-bg-color: ${color.input.default.disabled.border};\n --switch-fg-color: ${color.input.default.disabled.bg};\n }\n\n input[data-read-only]:disabled + && {\n --switch-bg-color: ${color.input.default.readOnly.border};\n --switch-fg-color: ${color.input.default.readOnly.bg};\n }\n\n input:checked[data-read-only]:disabled + && {\n --switch-bg-color: ${color.input.default.readOnly.fg};\n --switch-fg-color: ${color.input.default.readOnly.bg};\n }\n `\n}\n\n/* Track */\nexport function switchTrackStyles(props: ThemeProps): ReturnType<typeof css> {\n const {input} = getTheme_v2(props.theme)\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n background-color: var(--switch-bg-color);\n position: absolute;\n left: 0;\n top: 0;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n `\n}\n\n/* Thumb */\nexport function switchThumbStyles(\n props: {$checked?: boolean; $indeterminate?: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$indeterminate} = props\n const {input} = getTheme_v2(props.theme)\n const trackWidth = input.switch.width\n const trackHeight = input.switch.height\n const trackPadding = input.switch.padding\n const size = trackHeight - input.switch.padding * 2\n const checkedOffset = trackWidth - trackPadding * 2 - size\n const indeterminateOffset = trackWidth / 2 - size / 2 - trackPadding\n const checked = $indeterminate !== true && props.$checked === true\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n position: absolute;\n left: ${rem(trackPadding)};\n top: ${rem(trackPadding)};\n height: ${rem(size)};\n width: ${rem(size)};\n border-radius: ${rem(size / 2)};\n transition-property: transform;\n transition-duration: ${input.switch.transitionDurationMs}ms;\n transition-timing-function: ${input.switch.transitionTimingFunction};\n background: var(--switch-fg-color);\n transform: translate3d(0, 0, 0);\n box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.05);\n\n ${\n checked &&\n css`\n transform: translate3d(${checkedOffset}px, 0, 0);\n `\n }\n\n ${\n $indeterminate &&\n css`\n transform: translate3d(${indeterminateOffset}px, 0, 0);\n `\n }\n `\n}\n","import {useEffect, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {\n switchBaseStyles,\n switchInputStyles,\n switchRepresentationStyles,\n switchThumbStyles,\n switchTrackStyles,\n} from './styles'\n\n/**\n * @public\n */\nexport interface SwitchProps {\n indeterminate?: boolean\n}\n\nconst StyledSwitch = styled.span(switchBaseStyles)\nconst Input = styled.input(switchInputStyles)\nconst Representation = styled.span(switchRepresentationStyles)\nconst Track = styled.span(switchTrackStyles)\nconst Thumb = styled.span<{$checked?: boolean; $indeterminate?: boolean}>(switchThumbStyles)\n\n/**\n * The `Switch` component allows the user to toggle a setting on and off.\n *\n * Extends all properties of an `<input type=\"checkbox\" />` element, except type.\n *\n * @public\n */\nexport function Switch(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & SwitchProps,\n) {\n const {\n checked,\n className,\n disabled,\n indeterminate,\n readOnly,\n ref: forwardedRef,\n style,\n ...restProps\n } = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate])\n\n return (\n <StyledSwitch className={className} data-ui=\"Switch\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n checked={indeterminate !== true && checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n ref={ref}\n />\n <Representation aria-hidden data-name=\"representation\">\n <Track />\n <Thumb $checked={checked} $indeterminate={indeterminate} />\n </Representation>\n </StyledSwitch>\n )\n}\n","import {useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {\n responsiveInputPaddingStyle,\n TextInputResponsivePaddingStyleProps,\n} from '../../styles/input/responsiveInputPaddingStyle'\nimport {\n textInputBaseStyle,\n textInputFontSizeStyle,\n TextInputInputStyleProps,\n textInputRepresentationStyle,\n TextInputRepresentationStyleProps,\n textInputRootStyle,\n} from '../../styles/input/textInputStyle'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {useRootTheme} from '../../theme/useRootTheme'\nimport {ResponsiveRadiusProps} from '../types'\n\n/**\n * @public\n */\nexport interface TextAreaProps extends ResponsiveRadiusProps {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n border?: boolean\n customValidity?: string\n fontSize?: number | number[]\n padding?: number | number[]\n weight?: ThemeFontWeightKey\n}\n\nconst StyledTextArea = styled.span(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Input = styled.textarea<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.div<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\n/**\n * A multiline text input.\n *\n\n * @public\n */\nexport function TextArea(props: TextAreaProps & Omit<React.HTMLProps<HTMLTextAreaElement>, 'as'>) {\n const {\n border = true,\n customValidity,\n disabled = false,\n fontSize = 2,\n padding = 3,\n radius = 2,\n ref: forwardedRef,\n weight,\n __unstable_disableFocusRing,\n ...restProps\n } = props\n\n const ref = useRef<HTMLTextAreaElement | null>(null)\n\n const rootTheme = useRootTheme()\n\n useImperativeHandle<HTMLTextAreaElement | null, HTMLTextAreaElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <StyledTextArea data-ui=\"TextArea\">\n <InputRoot>\n <Input\n data-as=\"textarea\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={_getArrayProp(fontSize)}\n $padding={_getArrayProp(padding)}\n $scheme={rootTheme.scheme}\n $space={_getArrayProp(0)}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n ref={ref}\n />\n <Presentation\n $radius={_getArrayProp(radius)}\n $unstableDisableFocusRing={__unstable_disableFocusRing}\n $scheme={rootTheme.scheme}\n $tone={rootTheme.tone}\n data-border={border ? '' : undefined}\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n />\n </InputRoot>\n </StyledTextArea>\n )\n}\n","import {useMemo} from 'react'\n\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\n/**\n * @public\n */\nexport interface BoundaryElementProviderProps {\n children: React.ReactNode\n element: HTMLElement | null\n}\n\n/**\n * @public\n */\nexport function BoundaryElementProvider(props: BoundaryElementProviderProps): React.JSX.Element {\n const {children, element} = props\n const value: BoundaryElementContextValue = useMemo(() => ({version: 0.0, element}), [element])\n\n return <BoundaryElementContext.Provider value={value}>{children}</BoundaryElementContext.Provider>\n}\n","/**\n * @internal\n * @deprecated ConditionalWrapper was removed in @sanity/ui v4. Inline the conditional wrapping logic instead.\n */\nexport function ConditionalWrapper(_props?: never): never {\n throw new Error(\n '`ConditionalWrapper` was removed in @sanity/ui v4. Inline the conditional wrapping logic instead.',\n )\n}\n","export function findMaxBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp > width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n\nexport function findMinBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp <= width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n","import {useImperativeHandle, useMemo, useState} from 'react'\n\nimport {useElementSize} from '../../hooks/useElementSize'\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {findMaxBreakpoints, findMinBreakpoints} from './helpers'\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface MediaQueryProps {\n as?: React.ElementType | keyof React.JSX.IntrinsicElements\n media?: number[]\n}\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function ElementQuery(\n props: MediaQueryProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'media'>,\n) {\n const theme = useTheme_v2()\n const {children, media: _media, ref: forwardedRef, ...restProps} = props\n const media = _media ?? theme.media\n\n const [element, setElement] = useState<HTMLDivElement | null>(null)\n const elementSize = useElementSize(element)\n const width = useMemo(() => elementSize?.border.width ?? window.innerWidth, [elementSize])\n\n const max = useMemo(() => {\n const eq = findMaxBreakpoints(media, width)\n\n return eq.length ? eq.join(' ') : undefined\n }, [media, width])\n const min = useMemo(() => {\n const eq = findMinBreakpoints(media, width)\n\n return eq.length ? eq.join(' ') : undefined\n }, [media, width])\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => element, [\n element,\n ])\n\n return (\n <div data-ui=\"ElementQuery\" {...restProps} data-eq-max={max} data-eq-min={min} ref={setElement}>\n {children}\n </div>\n )\n}\n","import {Component, PropsWithChildren} from 'react'\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport type ErrorBoundaryProps = PropsWithChildren<{\n onCatch: (params: {error: Error; info: React.ErrorInfo}) => void\n}>\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport interface ErrorBoundaryState {\n error: Error | null\n}\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n state: ErrorBoundaryState = {error: null}\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return {error}\n }\n\n componentDidCatch(error: Error, info: React.ErrorInfo): void {\n this.props.onCatch({error, info})\n }\n\n render(): React.ReactNode {\n const {error} = this.state\n\n if (error) {\n const message = typeof error?.message === 'string' ? error.message : 'Error'\n\n // A plain element rather than the `Code` primitive: `Code` lives on the\n // `@sanity/ui/code` entry point (it lazy-loads `react-refractor`), and\n // the root entry point must not reference that module graph.\n return (\n <pre data-ui=\"ErrorBoundary\">\n <code>{message}</code>\n </pre>\n )\n }\n\n return this.props.children\n }\n}\n","import {useMemo, useSyncExternalStore} from 'react'\n\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport interface PortalProviderProps {\n /**\n * @deprecated Use `<BoundaryElementProvider element={...} />` instead\n */\n boundaryElement?: HTMLElement | null\n children: React.ReactNode\n element?: HTMLElement | null\n /**\n * @beta\n */\n __unstable_elements?: Record<string, HTMLElement | null | undefined>\n}\n\n/**\n * @public\n */\nexport function PortalProvider(props: PortalProviderProps): React.JSX.Element {\n // oxlint-disable-next-line no-deprecated\n const {boundaryElement, children, element, __unstable_elements: elements} = props\n const fallbackElement = useSyncExternalStore(\n emptySubscribe,\n () => document.body,\n () => null,\n )\n\n const value: PortalContextValue = useMemo(() => {\n return {\n version: 0.0,\n boundaryElement: boundaryElement || null,\n element: element || fallbackElement,\n elements,\n }\n }, [boundaryElement, element, elements, fallbackElement])\n\n return <PortalContext.Provider value={value}>{children}</PortalContext.Provider>\n}\n\nconst emptySubscribe = () => () => {}\n","import {style} from '@vanilla-extract/css'\n\nexport const srOnly = style({\n display: 'block',\n width: 0,\n height: 0,\n position: 'absolute',\n overflow: ['hidden', 'clip'],\n})\n","import {srOnly} from './srOnly.css'\n\n/**\n * @public\n */\nexport interface SrOnlyProps {\n as?: React.ElementType | keyof React.JSX.IntrinsicElements\n children?: React.ReactNode\n}\n\n/**\n * @public\n */\nexport function SrOnly(\n props: SrOnlyProps & Omit<React.HTMLProps<HTMLDivElement>, 'aria-hidden' | 'as'>,\n) {\n const {as = 'div', children, ref} = props\n // Rendering the polymorphic `as` needs one concrete element type for JSX to\n // type-check the div-flavored props (the same widening styled-components'\n // `as` prop performed here before).\n // oxlint-disable-next-line no-unsafe-type-assertion\n const Component = as as 'div'\n\n return (\n <Component aria-hidden className={srOnly} data-ui=\"SrOnly\" ref={ref}>\n {children}\n </Component>\n )\n}\n","import {useEffect, useImperativeHandle, useRef, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {_isScrollable} from '../../helpers/scroll'\nimport {StackOwnProps} from '../../primitives/stack/stack'\nimport {useTheme_v2} from '../../theme/useTheme'\n\n/**\n * @beta\n */\nexport interface VirtualListChangeOpts {\n fromIndex: number\n gap: number\n itemHeight: number\n scrollHeight: number\n scrollTop: number\n toIndex: number\n}\n\n/**\n * @beta\n */\nexport interface VirtualListProps<Item = any> {\n as?: React.ElementType | keyof React.JSX.IntrinsicElements\n gap?: number\n getItemKey?: (item: Item, itemIndex: number) => string\n items?: Item[]\n onChange?: (opts: VirtualListChangeOpts) => void\n renderItem?: (item: Item) => React.ReactNode\n}\n\nconst StyledVirtualList = styled.div`\n position: relative;\n`\n\nconst ItemWrapper = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n`\n\n/**\n * @beta\n */\nexport function VirtualList(\n props: VirtualListProps &\n StackOwnProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'onChange'>,\n): React.JSX.Element {\n const {\n as = 'div',\n gap = 0,\n getItemKey,\n items = [],\n onChange,\n ref: forwardedRef,\n renderItem,\n ...restProps\n } = props\n const {space} = useTheme_v2()\n const ref = useRef<HTMLDivElement | null>(null)\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n const [scrollTop, setScrollTop] = useState(0)\n const [scrollHeight, setScrollHeight] = useState(0)\n const [itemHeight, setItemHeight] = useState(-1)\n\n // Sync ref to parent\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n useEffect(() => {\n if (!wrapperRef.current) return\n\n const firstElement = wrapperRef.current.firstChild\n\n if (firstElement instanceof HTMLElement) {\n setItemHeight(firstElement.offsetHeight)\n }\n }, [renderItem])\n\n useEffect((): (() => void) | undefined => {\n if (!ref.current) return\n\n const scrollEl = findScrollable(ref.current.parentNode)\n\n if (scrollEl) {\n if (!(scrollEl instanceof HTMLElement)) return\n\n const handleScroll = () => {\n setScrollTop(scrollEl.scrollTop)\n }\n\n scrollEl.addEventListener('scroll', handleScroll, {passive: true})\n\n const ro = new ResizeObserver((entries) => {\n setScrollHeight(entries[0].contentRect.height)\n })\n\n ro.observe(scrollEl)\n\n handleScroll()\n\n // oxlint-disable-next-line consistent-return\n return () => {\n scrollEl.removeEventListener('scroll', handleScroll)\n\n ro.unobserve(scrollEl)\n ro.disconnect()\n }\n }\n\n const handleScroll = () => {\n setScrollTop(window.scrollY)\n }\n\n const handleResize = () => {\n setScrollHeight(window.innerHeight)\n }\n\n window.addEventListener('scroll', handleScroll, {passive: true})\n window.addEventListener('resize', handleResize)\n\n setScrollHeight(window.innerHeight)\n\n handleScroll()\n\n // oxlint-disable-next-line consistent-return\n return () => {\n window.removeEventListener('scroll', handleScroll)\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n const len = items.length\n const height = itemHeight ? len * (itemHeight + space[gap]) - space[gap] : 0\n const fromIndex = height ? Math.max(Math.floor((scrollTop / height) * len) - 2, 0) : 0\n const toIndex = height ? Math.ceil(((scrollTop + scrollHeight) / height) * len) + 1 : 0\n\n useEffect(() => {\n if (!onChange) return\n onChange({fromIndex, gap: space[gap], itemHeight, scrollHeight, scrollTop, toIndex})\n }, [fromIndex, gap, itemHeight, onChange, scrollHeight, scrollTop, space, toIndex])\n\n const children = useChildren({\n fromIndex,\n gap,\n itemHeight,\n space,\n toIndex,\n getItemKey,\n items,\n renderItem,\n })\n\n return (\n // styled-components 6.5 distributes PolymorphicCallProps over ElementType and hits TS2589;\n // narrow the call-site target while still passing the real value.\n // oxlint-disable-next-line no-unsafe-type-assertion\n <StyledVirtualList as={as as 'div'} data-ui=\"VirtualList\" {...restProps} ref={ref}>\n <div ref={wrapperRef} style={{height}}>\n {children}\n </div>\n </StyledVirtualList>\n )\n}\n\nfunction useChildren({\n fromIndex,\n gap,\n getItemKey,\n itemHeight,\n items,\n renderItem,\n space,\n toIndex,\n}: Pick<VirtualListProps, 'getItemKey' | 'renderItem'> &\n Required<Pick<VirtualListProps, 'items'>> & {\n fromIndex: number\n gap: number\n itemHeight: number\n space: number[]\n toIndex: number\n }) {\n if (!renderItem || items.length === 0) return null\n\n if (itemHeight === -1) {\n return [<ItemWrapper key={0}>{renderItem(items[0])}</ItemWrapper>]\n }\n\n return items.slice(fromIndex, toIndex).map((item, _itemIndex) => {\n const itemIndex = fromIndex + _itemIndex\n const node = renderItem(item)\n const key = getItemKey ? getItemKey(item, itemIndex) : itemIndex\n\n return (\n <ItemWrapper key={key} style={{top: itemIndex * (itemHeight + space[gap])}}>\n {node}\n </ItemWrapper>\n )\n })\n}\n\nfunction findScrollable(parentNode: ParentNode | null) {\n let _scrollEl = parentNode\n\n while (_scrollEl && !_isScrollable(_scrollEl)) {\n _scrollEl = _scrollEl.parentNode\n }\n\n return _scrollEl\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["buildTheme","HSL","_HSL","RGB","_RGB","ThemeColorButtonModeKey","_ThemeColorButtonModeKey","ThemeColorSchemeKey","_ThemeColorSchemeKey","ThemeColorSyntax","_ThemeColorSyntax","ThemeFont","_ThemeFont","ThemeFontKey","_ThemeFontKey","ThemeFonts","_ThemeFonts","ThemeFontSize","_ThemeFontSize","ThemeFontWeight","_ThemeFontWeight","ThemeFontWeightKey","_ThemeFontWeightKey","ThemeLayer","_ThemeLayer","ThemeBoxShadow","ThemeShadow","_ThemeShadow","ThemeStyles","BaseTheme","_BaseTheme","RootTheme","_RootTheme","Theme","_Theme","BoxShadow","Styles","createColorTheme","_createColorTheme","multiply","_multiply","screen","_screen","hexToRgb","_hexToRgb","hslToRgb","_hslToRgb","rgbToHex","_rgbToHex","rgbToHsl","_rgbToHsl","parseColor","_parseColor","rgba","_rgba","studioTheme","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveWidthStyleProps","BASE_STYLE","width","margin","containerBaseStyle","responsiveContainerWidthStyle","props","container","media","theme","$width","val","maxWidth","styled","_getArrayProp","ElementType","Props","Box","BoxOwnProps","ResponsiveWidthProps","containerBaseStyle","responsiveContainerWidthStyle","ResponsiveWidthStyleProps","ContainerOwnProps","ContainerProps","E","StyledContainer","ContainerComponent","props","$","_c","as","ref","restProps","t0","width","undefined","t1","t2","Container","React","JSX","Element","css","CSSObject","getTheme_v2","_responsive","ThemeProps","DialogPosition","ResponsiveDialogPositionStyleProps","$position","dialogStyle","theme","color","display","backdrop","responsiveDialogPositionStyle","props","media","position","AnimationDialogStyleProps","$animate","animationDialogStyle","ReturnType","createGlobalScopedContext","DialogPosition","DialogContextValue","version","position","zOffset","DialogContext","useContext","DialogContext","DialogContextValue","useDialog","CloseIcon","useCallback","useEffect","useImperativeHandle","useRef","styled","ThemeColorSchemeKey","containsOrEqualsElement","isHTMLElement","focusFirstDescendant","focusLastDescendant","useClickOutsideEvent","useGlobalKeyDown","usePrefersReducedMotion","Box","Button","Card","Container","Flex","Text","ResponsivePaddingProps","ResponsiveWidthProps","_getArrayProp","responsivePaddingStyle","ResponsivePaddingStyleProps","useTheme_v2","DialogPosition","Radius","useBoundaryElement","Layer","LayerProps","useLayer","Portal","usePortal","animationDialogStyle","AnimationDialogStyleProps","dialogStyle","responsiveDialogPositionStyle","ResponsiveDialogPositionStyleProps","useDialog","DialogProps","__unstable_autoFocus","__unstable_hideCloseButton","cardRadius","cardShadow","contentRef","React","ForwardedRef","HTMLDivElement","footer","ReactNode","header","id","onActivate","onClickOutside","onClose","portal","position","scheme","zOffset","animate","DialogCardProps","children","radius","ref","Ref","shadow","isTargetWithinScope","boundaryElement","HTMLElement","portalElement","target","Node","StyledDialog","DialogContainer","DialogCardRoot","DialogLayout","DialogHeader","DialogContent","DialogFooter","DialogCard","props","$","_c","autoFocus","hideCloseButton","forwardedContentRef","portalProp","radiusProp","forwardedRef","shadowProp","width","widthProp","elements","element","t0","t1","t2","layer","isTopLayer","labelId","showCloseButton","Boolean","showHeader","t3","Symbol","for","current","t4","t5","t6","t7","event","document","activeElement","key","preventDefault","stopPropagation","t8","event_0","target_0","t9","t10","t11","t12","t13","t14","t15","Dialog","dialog","_positionProp","_zOffsetProp","onFocus","restProps","padding","undefined","cardRadiusProp","paddingProp","_animate","positionProp","zOffsetProp","prefersReducedMotion","preDivRef","postDivRef","cardRef","focusedElementRef","cardElement","handleFocus","rootClickTimeoutRef","clearTimeout","setTimeout","body","contains","cardElement_0","focus","handleRootClick","t16","t17","t18","useMemo","DialogPosition","DialogContext","DialogContextValue","DialogProviderProps","children","React","ReactNode","position","zOffset","DialogProvider","props","$","_c","t0","version","contextValue","t1","css","keyframes","keyframe","animation","skeletonStyle","$animated","$visible","useEffect","useState","styled","Box","BoxOwnProps","ResponsiveRadiusProps","_getArrayProp","responsiveRadiusStyle","ResponsiveRadiusStyleProps","skeletonStyle","StyledSkeleton","$animated","$visible","SkeletonProps","Omit","animated","delay","Skeleton","props","$","_c","radius","ref","restProps","t0","undefined","visible","setVisible","t1","t2","timeout","setTimeout","clearTimeout","t3","t4","t5","styled","ThemeFontKey","getTheme_v2","_getArrayProp","_responsive","ThemeProps","Skeleton","SkeletonProps","StyledSkeleton","$size","$style","props","font","media","theme","fontStyle","styles","sizeIndex","fontSize","sizes","capHeight","lineHeight","ascenderHeight","descenderHeight","height","TextSkeletonProps","size","LabelSkeletonProps","HeadingSkeletonProps","CodeSkeletonProps","TextSkeleton","$","_c","restProps","t0","undefined","t1","t2","LabelSkeleton","HeadingSkeleton","CodeSkeleton","useCallback","useEffect","useImperativeHandle","useRef","styled","Button","ButtonTone","TabProps","React","ElementType","ReactNode","CustomButton","Tab","props","$","_c","focused","forwardedRef","icon","id","label","onClick","onFocus","restProps","selected","t0","t1","fontSize","padding","ref","undefined","focusedRef","t2","Symbol","for","current","t3","handleBlur","t4","event","handleFocus","t5","t6","focus","t7","t8","t9","Children","cloneElement","isValidElement","useCallback","useState","styled","Inline","InlineOwnProps","TabListProps","Omit","children","Array","React","JSX","Element","CustomInline","TabList","props","$","_c","childrenProp","ref","restProps","focusedIndex","setFocusedIndex","t0","toArray","filter","t1","child","childIndex","focused","key","onFocus","map","tabs","numTabs","length","event","prevIndex","prevIndex_0","handleKeyDown","t2","Box","BoxOwnProps","TabPanelProps","TabPanel","props","$","_c","flex","restProps","t0","tabIndex","undefined","t1","children","TreeState","_findPrevItemElement","state","itemElements","HTMLElement","focusedElement","idx","indexOf","els","slice","len","length","i","itemKey","getAttribute","segments","split","pop","p","expanded","j","push","k","join","_findNextItemElement","_focusItemElement","el","focus","firstChild","createGlobalScopedContext","TreeContextValue","TreeContext","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","Stack","_findNextItemElement","_findPrevItemElement","_focusItemElement","TreeContext","TreeContextValue","TreeState","TreeProps","gap","space","Tree","props","$","_c","children","forwardedRef","onFocus","restProps","t0","ref","undefined","focusedElement","setFocusedElement","focusedElementRef","t1","Symbol","for","path","t2","itemElements","setItemElements","t3","state","setState","stateRef","t4","current","t5","t6","t7","t8","t9","element","path_0","expanded","selected","s","s_0","newState","registerItem","t10","path_1","expanded_0","s_1","itemState","setExpanded","t11","t12","version","level","contextValue","t13","event","key","preventDefault","nextEl","prevEl","itemKey","getAttribute","itemState_0","s_2","itemState_1","itemPath","split","pop","parentKey","join","parentState","focus","focusedKey","s_3","itemState_2","handleKeyDown","t14","event_0","target","handleFocus","t15","_itemElements","Array","from","querySelectorAll","HTMLElement","t16","t17","t18","css","getTheme_v2","_cardColorStyle","rem","ThemeProps","treeItemRootStyle","ReturnType","treeItemRootColorStyle","props","$tone","color","theme","tone","selectable","enabled","pressed","hovered","selected","TreeItemBoxStyleProps","$level","treeItemBoxStyle","space","useContext","TreeContext","TreeContextValue","useTree","tree","Error","Stack","useTree","TreeGroupProps","expanded","TreeGroup","props","$","_c","children","restProps","t0","undefined","tree","t1","t2","gap","ToggleArrowRightIcon","startTransition","useCallback","useEffect","useId","useMemo","useRef","useState","styled","ThemeFontWeightKey","Box","Flex","Text","ElementType","treeItemBoxStyle","TreeItemBoxStyleProps","treeItemRootColorStyle","treeItemRootStyle","TreeContext","TreeGroup","useTree","TreeItemProps","expanded","fontSize","icon","React","linkAs","linkProps","HTMLProps","HTMLAnchorElement","Record","padding","gap","space","text","ReactNode","weight","StyledTreeItem","li","TreeItemBox","a","ToggleArrowText","TreeItem","props","$","_c","IconComponent","children","href","idProp","muted","onClick","restProps","t0","t1","t2","t3","t4","id","selected","expandedProp","undefined","rootElement","_setRootElement","t5","Symbol","for","node","setRootElement","treeitemRef","tree","path","registerItem","setExpanded","setFocusedElement","_id","t6","t7","itemPath","concat","join","t8","itemPath_0","itemKey","itemState","state","focused","focusedElement","tabIndex","t9","level","t10","contextValue","t11","event","target","HTMLElement","getAttribute","closest","stopPropagation","handleClick","t12","event_0","key","el","current","click","handleKeyDown","t13","t14","t15","t16","visibility","pointerEvents","t17","t18","transform","t19","t20","t21","content","t22","t23","t24","t25","t26","t27","_isScrollable","el","Node","Element","style","window","getComputedStyle","overflowX","includes","overflowY","ArrayPropPrimitive","useArrayProp","_val","_defaultVal","Error","ClickOutsideListener","event","MouseEvent","ClickOutsideElements","HTMLElement","useClickOutside","_listener","_elementsArg","_boundaryElement","Error","useElementRect","_element","Error","useForwardedRef","_ref","Error","useMatchMedia","usePrefersDark","t0","getServerSnapshot","undefined","_temp","CSSObject","ThemeProps","responsiveFont","ResponsiveFontStyleProps","responsiveLabelFont","props","css","getTheme_v2","ThemeProps","labelBaseStyle","props","$accent","$muted","ReturnType","font","theme","code","family","styled","ThemeFontWeightKey","responsiveLabelFont","responsiveTextAlignStyle","_getArrayProp","ElementType","Props","TextAlign","SpanWithTextOverflow","labelBaseStyle","LabelOwnProps","accent","align","muted","size","textOverflow","weight","LabelProps","E","StyledLabel","div","$accent","$align","$muted","$size","$weight","LabelComponent","props","$","_c","childrenProp","ref","restProps","t0","t1","children","undefined","t2","t3","t4","Label","React","JSX","Element","CSSObject","getTheme_v2","focusRingStyle","_responsive","rem","ThemeProps","AvatarRootStyleProps","ResponsiveAvatarSizeStyleProps","avatarStyle","root","avatarRootStyle","arrow","avatarArrowStyle","bgStroke","avatarBgStrokeStyle","stroke","avatarStrokeStyle","initials","avatarInitialsStyle","image","avatarImageStyle","display","transform","opacity","props","$color","avatar","theme","boxShadow","focusRing","responsiveAvatarSizeStyle","media","$size","size","avatarSize","sizes","width","height","borderRadius","position","strokeWidth","strokeDasharray","strokeLinecap","useCallback","useEffect","useId","useState","ReactIs","styled","ThemeColorAvatarColorKey","_getArrayProp","useTheme_v2","AvatarPosition","AvatarSize","AvatarStatus","ElementType","Props","Label","avatarStyle","responsiveAvatarSizeStyle","AvatarOwnProps","__unstable_hideInnerStroke","animateArrowFrom","arrowPosition","color","initials","onImageLoadError","event","Error","size","src","status","title","AvatarProps","E","StyledAvatar","div","$color","$size","root","Arrow","arrow","BgStroke","ellipse","bgStroke","Stroke","stroke","Initials","InitialsLabel","AvatarImage","svg","image","AvatarComponent","props","$","_c","arrowPositionProp","asProp","ref","restProps","t0","t1","t2","as","undefined","sizeProp","avatar","isValidElementType","avatarSize","sizes","_sizeRem","_radius","elementId","setArrowPosition","imageFailed","setImageFailed","imageId","t3","t4","raf","requestAnimationFrame","cancelAnimationFrame","t5","t6","t7","handleImageError","T0","t8","t9","t10","t11","t12","map","_temp","t13","s","Avatar","React","JSX","Element","css","styled","getTheme_v2","EMPTY_RECORD","_getArrayProp","_responsive","rem","ThemeProps","AvatarSize","Label","_responsiveAvatarCounterSizeStyle","props","$size","avatar","media","theme","size","avatarSize","sizes","borderRadius","minWidth","height","_avatarCounterBaseStyle","space","StyledAvatarCounter","div","AvatarCounterProps","count","tone","AvatarCounter","$","_c","ref","t0","sizeProp","undefined","T0","T1","t1","t2","t3","t4","t5","map","_temp","t6","t7","s","Children","cloneElement","isValidElement","css","styled","getTheme_v2","EMPTY_RECORD","_getArrayProp","_responsive","rem","ThemeProps","AvatarSize","AvatarCounter","BASE_STYLES","avatarStackStyle","responsiveAvatarStackSizeStyle","props","$size","avatar","media","theme","size","avatarSize","sizes","marginLeft","distance","StyledAvatarStack","div","AvatarStackProps","children","React","ReactNode","maxLength","tone","AvatarStack","$","_c","childrenProp","ref","restProps","t0","t1","maxLengthProp","undefined","sizeProp","T0","t2","t3","t4","t5","t6","t7","t8","toArray","filter","Math","max","t9","len","length","visibleCount","extraCount","visibleChildren","slice","t10","child","childIndex","String","map","CSSObject","BadgeStyleProps","badgeStyle","props","$tone","display","verticalAlign","styled","_getArrayProp","responsiveRadiusStyle","ResponsiveRadiusStyleProps","BadgeTone","ElementType","Props","Box","BoxOwnProps","Text","ResponsiveRadiusProps","badgeStyle","BadgeStyleProps","BadgeOwnProps","fontSize","mode","tone","BadgeProps","E","StyledBadge","BadgeComponent","Badge","props","$","_c","children","ref","restProps","t0","t1","t2","t3","padding","radius","undefined","t4","t5","t6","t7","React","JSX","Element","css","getTheme_v2","focusRingBorderStyle","focusRingStyle","rem","ThemeProps","checkboxBaseStyles","ReturnType","inputElementStyles","props","color","input","radius","theme","focusRing","checkbox","size","default","enabled","border","width","bg","fg","offset","invalid","muted","disabled","readOnly","CheckmarkIcon","RemoveIcon","useEffect","useImperativeHandle","useRef","styled","useCustomValidity","checkboxBaseStyles","inputElementStyles","CheckboxProps","indeterminate","customValidity","StyledCheckbox","div","Input","input","Checkbox","props","$","_c","checked","className","disabled","forwardedRef","readOnly","restProps","style","ref","t0","Symbol","for","current","t1","t2","t3","undefined","t4","t5","t6","t7","t8","CSSObject","ThemeProps","responsiveFont","ResponsiveFontStyleProps","responsiveHeadingFont","props","css","getTheme_v2","ThemeProps","HeadingStyleProps","headingBaseStyle","props","ReturnType","$accent","$muted","font","theme","code","family","heading","weights","bold","styled","ThemeFontWeightKey","responsiveHeadingFont","responsiveTextAlignStyle","ResponsiveFontStyleProps","ResponsiveTextAlignStyleProps","_getArrayProp","ElementType","Props","TextAlign","SpanWithTextOverflow","headingBaseStyle","HeadingStyleProps","HeadingOwnProps","accent","align","muted","size","textOverflow","weight","HeadingProps","E","StyledHeading","div","HeadingComponent","props","$","_c","childrenProp","ref","restProps","t0","t1","t2","children","undefined","t3","t4","t5","t6","Heading","React","JSX","Element","css","getTheme_v2","focusRingBorderStyle","focusRingStyle","rem","ThemeProps","radioBaseStyle","ReturnType","inputElementStyle","props","color","input","theme","dist","radio","size","markSize","default","enabled","bg","border","width","fg","focusRing","invalid","muted","readOnly","disabled","useImperativeHandle","useRef","styled","useCustomValidity","inputElementStyle","radioBaseStyle","RadioProps","customValidity","StyledRadio","div","Input","input","Radio","props","$","_c","className","disabled","forwardedRef","readOnly","restProps","style","ref","t0","Symbol","for","current","t1","undefined","t2","t3","t4","t5","t6","css","CSSObject","ThemeFontSize","getTheme_v2","focusRingBorderStyle","focusRingStyle","_responsive","rem","responsiveInputPaddingIconRightStyle","responsiveRadiusStyle","ResponsiveRadiusStyleProps","ThemeProps","rootStyle","ReturnType","inputBaseStyle","props","font","theme","text","family","inputColorStyle","color","input","default","enabled","bg","fg","border","width","hovered","focusRing","select","readOnly","disabled","textSize","size","fontSize","lineHeight","inputTextSizeStyle","$fontSize","media","sizeIndex","sizes","inputStyle","Array","$padding","$space","iconBoxStyle","selectStyle","root","iconBox","ChevronDownIcon","useImperativeHandle","useRef","styled","useCustomValidity","_getArrayProp","Radius","Box","Text","selectStyle","SelectProps","fontSize","gap","padding","radius","space","customValidity","StyledSelect","div","root","Input","select","$fontSize","$padding","$radius","$space","input","IconBox","iconBox","Select","props","$","_c","children","disabled","forwardedRef","readOnly","restProps","t0","t1","t2","t3","ref","undefined","t4","Symbol","for","current","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","css","getTheme_v2","focusRingStyle","rem","ThemeProps","switchBaseStyles","ReturnType","switchInputStyles","switchRepresentationStyles","props","color","input","theme","default","enabled","border","bg","switch","width","height","focusRing","fg","hovered","disabled","readOnly","switchTrackStyles","switchThumbStyles","$checked","$indeterminate","trackWidth","trackHeight","trackPadding","padding","size","checkedOffset","indeterminateOffset","checked","transitionDurationMs","transitionTimingFunction","useEffect","useImperativeHandle","useRef","styled","switchBaseStyles","switchInputStyles","switchRepresentationStyles","switchThumbStyles","switchTrackStyles","SwitchProps","indeterminate","StyledSwitch","span","Input","input","Representation","Track","Thumb","$checked","$indeterminate","Switch","props","$","_c","checked","className","disabled","forwardedRef","readOnly","restProps","style","ref","t0","Symbol","for","current","t1","t2","t3","undefined","t4","t5","t6","t7","t8","t9","useImperativeHandle","useRef","styled","ThemeFontWeightKey","useCustomValidity","_getArrayProp","responsiveInputPaddingStyle","TextInputResponsivePaddingStyleProps","textInputBaseStyle","textInputFontSizeStyle","TextInputInputStyleProps","textInputRepresentationStyle","TextInputRepresentationStyleProps","textInputRootStyle","responsiveRadiusStyle","ResponsiveRadiusStyleProps","useRootTheme","ResponsiveRadiusProps","TextAreaProps","__unstable_disableFocusRing","border","customValidity","fontSize","padding","weight","StyledTextArea","span","InputRoot","Input","textarea","Presentation","div","TextArea","props","$","_c","forwardedRef","restProps","t0","t1","t2","t3","t4","disabled","radius","ref","undefined","rootTheme","t5","Symbol","for","current","t6","scheme","t7","tone","t8","t9","t10","t11","t12","t13","t14","t15","t16","useMemo","BoundaryElementContext","BoundaryElementContextValue","BoundaryElementProviderProps","children","React","ReactNode","element","HTMLElement","BoundaryElementProvider","props","$","_c","t0","version","value","t1","ConditionalWrapper","_props","Error","useImperativeHandle","useMemo","useState","useElementSize","useTheme_v2","findMaxBreakpoints","findMinBreakpoints","MediaQueryProps","as","React","ElementType","JSX","IntrinsicElements","media","ElementQuery","props","$","_c","theme","_media","children","forwardedRef","restProps","ref","element","setElement","elementSize","width","border","window","innerWidth","t0","eq","length","join","undefined","max","t1","eq_0","min","t2","t3","t4","Component","PropsWithChildren","ErrorBoundaryProps","onCatch","params","error","Error","info","React","ErrorInfo","ErrorBoundaryState","ErrorBoundary","state","getDerivedStateFromError","componentDidCatch","props","render","ReactNode","message","children","useMemo","useSyncExternalStore","PortalContext","PortalContextValue","PortalProviderProps","boundaryElement","HTMLElement","children","React","ReactNode","element","__unstable_elements","Record","PortalProvider","props","$","_c","elements","fallbackElement","emptySubscribe","_temp","_temp2","t0","t1","t2","version","value","t3","document","body","srOnly","SrOnlyProps","as","React","ElementType","JSX","IntrinsicElements","children","ReactNode","SrOnly","props","$","_c","t0","ref","undefined","Component","t1","useEffect","useImperativeHandle","useRef","useState","styled","_isScrollable","StackOwnProps","useTheme_v2","VirtualListChangeOpts","fromIndex","gap","itemHeight","scrollHeight","scrollTop","toIndex","VirtualListProps","as","React","ElementType","JSX","IntrinsicElements","getItemKey","item","Item","itemIndex","items","onChange","opts","renderItem","ReactNode","StyledVirtualList","div","ItemWrapper","VirtualList","props","$","_c","forwardedRef","restProps","t0","t1","t2","ref","undefined","t3","space","wrapperRef","setScrollTop","setScrollHeight","setItemHeight","t4","Symbol","for","current","t5","firstElement","firstChild","HTMLElement","offsetHeight","t6","t7","t8","scrollEl","findScrollable","parentNode","handleScroll","addEventListener","passive","ro","ResizeObserver","entries","contentRect","height","observe","removeEventListener","unobserve","disconnect","handleScroll_0","window","scrollY","handleResize","innerHeight","len","length","Math","max","floor","ceil","t10","t9","t11","children","useChildren","t12","t13","t14","t15","_itemIndex","node","key","top","slice","map","ParentNode","_scrollEl"],"sources":["../src/core/_compat.ts","../src/core/primitives/container/styles.ts","../src/core/primitives/container/container.tsx","../src/core/components/dialog/styles.ts","../src/core/components/dialog/dialogContext.ts","../src/core/components/dialog/useDialog.ts","../src/core/components/dialog/dialog.tsx","../src/core/components/dialog/dialogProvider.tsx","../src/core/components/skeleton/styles.ts","../src/core/components/skeleton/skeleton.tsx","../src/core/components/skeleton/textSkeleton.tsx","../src/core/components/tab/tab.tsx","../src/core/components/tab/tabList.tsx","../src/core/components/tab/tabPanel.tsx","../src/core/components/tree/helpers.ts","../src/core/components/tree/treeContext.ts","../src/core/components/tree/tree.tsx","../src/core/components/tree/style.ts","../src/core/components/tree/useTree.ts","../src/core/components/tree/treeGroup.tsx","../src/core/components/tree/treeItem.tsx","../src/core/helpers/scroll.ts","../src/core/hooks/useArrayProp.ts","../src/core/hooks/useClickOutside.ts","../src/core/hooks/useElementRect/useElementRect.ts","../src/core/hooks/useForwardedRef.ts","../src/core/hooks/usePrefersDark.ts","../src/core/styles/font/labelFontStyle.ts","../src/core/primitives/label/styles.ts","../src/core/primitives/label/label.tsx","../src/core/primitives/avatar/styles.ts","../src/core/primitives/avatar/avatar.tsx","../src/core/primitives/avatar/avatarCounter.tsx","../src/core/primitives/avatar/avatarStack.tsx","../src/core/primitives/badge/styles.ts","../src/core/primitives/badge/badge.tsx","../src/core/primitives/checkbox/styles.ts","../src/core/primitives/checkbox/checkbox.tsx","../src/core/styles/font/headingFontStyle.ts","../src/core/primitives/heading/styles.ts","../src/core/primitives/heading/heading.tsx","../src/core/primitives/radio/styles.ts","../src/core/primitives/radio/radio.tsx","../src/core/primitives/select/styles.ts","../src/core/primitives/select/select.tsx","../src/core/primitives/switch/styles.ts","../src/core/primitives/switch/switch.tsx","../src/core/primitives/textArea/textArea.tsx","../src/core/utils/boundaryElement/boundaryElementProvider.tsx","../src/core/utils/conditionalWrapper/conditionalWrapper.tsx","../src/core/utils/elementQuery/helpers.ts","../src/core/utils/elementQuery/elementQuery.tsx","../src/core/utils/errorBoundary.tsx","../src/core/utils/portal/portalProvider.tsx","../src/core/utils/srOnly/srOnly.css.ts","../src/core/utils/srOnly/srOnly.tsx","../src/core/utils/virtualList/virtualList.tsx"],"sourcesContent":["// This file re-exports API members which existed in the `@sanity/ui` export in v1.\n\nimport {buildTheme} from '../theme/build/buildTheme'\nimport {type HSL as _HSL, type RGB as _RGB} from '../theme/build/lib/color-fns/types'\nimport {\n type ThemeColorButtonModeKey as _ThemeColorButtonModeKey,\n type ThemeColorSchemeKey as _ThemeColorSchemeKey,\n} from '../theme/system/color/_system'\nimport {type ThemeColorSyntax as _ThemeColorSyntax} from '../theme/system/color/syntax'\nimport {\n type ThemeFont as _ThemeFont,\n type ThemeFontKey as _ThemeFontKey,\n type ThemeFonts as _ThemeFonts,\n type ThemeFontSize as _ThemeFontSize,\n type ThemeFontWeight as _ThemeFontWeight,\n type ThemeFontWeightKey as _ThemeFontWeightKey,\n} from '../theme/system/font'\nimport {type ThemeLayer as _ThemeLayer} from '../theme/system/layer'\nimport {type ThemeBoxShadow, type ThemeShadow as _ThemeShadow} from '../theme/system/shadow'\nimport {type ThemeStyles} from '../theme/system/styles'\nimport {\n type BaseTheme as _BaseTheme,\n type RootTheme as _RootTheme,\n type Theme as _Theme,\n} from '../theme/system/theme'\n\n/**\n * @public\n * @deprecated Use `BaseTheme` from `@sanity/ui/theme` instead.\n */\nexport type BaseTheme = _BaseTheme\n\n/**\n * @public\n * @deprecated Use `ThemeBoxShadow` from `@sanity/ui/theme` instead.\n */\nexport type BoxShadow = ThemeBoxShadow\n\n/**\n * @public\n * @deprecated Use `HSL` from `@sanity/ui/theme` instead.\n */\nexport type HSL = _HSL\n\n/**\n * @public\n * @deprecated Use `RGB` from `@sanity/ui/theme` instead.\n */\nexport type RGB = _RGB\n\n/**\n * @public\n * @deprecated Use `RootTheme` from `@sanity/ui/theme` instead.\n */\nexport type RootTheme = _RootTheme\n\n/**\n * @public\n * @deprecated Use `ThemeStyles` from `@sanity/ui/theme` instead.\n */\nexport type Styles = ThemeStyles\n\n/**\n * @public\n * @deprecated Use `Theme` from `@sanity/ui/theme` instead.\n */\nexport type Theme = _Theme\n\n/**\n * @public\n * @deprecated Use `ThemeColorButtonModeKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeColorButtonModeKey = _ThemeColorButtonModeKey\n\n/**\n * @public\n * @deprecated Use `ThemeColorSchemeKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeColorSchemeKey = _ThemeColorSchemeKey\n\n/**\n * @public\n * @deprecated Use `ThemeColorSyntax` from `@sanity/ui/theme` instead.\n */\nexport type ThemeColorSyntax = _ThemeColorSyntax\n\n/**\n * @public\n * @deprecated Use `ThemeFont` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFont = _ThemeFont\n\n/**\n * @public\n * @deprecated Use `ThemeFontKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontKey = _ThemeFontKey\n\n/**\n * @public\n * @deprecated Use `ThemeFontSize` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontSize = _ThemeFontSize\n\n/**\n * @public\n * @deprecated Use `ThemeFontWeight` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontWeight = _ThemeFontWeight\n\n/**\n * @public\n * @deprecated Use `ThemeFontWeightKey` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFontWeightKey = _ThemeFontWeightKey\n\n/**\n * @public\n * @deprecated Use `ThemeFonts` from `@sanity/ui/theme` instead.\n */\nexport type ThemeFonts = _ThemeFonts\n\n/**\n * @public\n * @deprecated Use `ThemeLayer` from `@sanity/ui/theme` instead.\n */\nexport type ThemeLayer = _ThemeLayer\n\n/**\n * @public\n * @deprecated Use `ThemeShadow` from `@sanity/ui/theme` instead.\n */\nexport type ThemeShadow = _ThemeShadow\n\nimport {createColorTheme as _createColorTheme} from '../theme/build/_deprecated/color/factory'\nimport {multiply as _multiply} from '../theme/build/lib/color-fns/blend/multiply'\nimport {screen as _screen} from '../theme/build/lib/color-fns/blend/screen'\nimport {\n hexToRgb as _hexToRgb,\n hslToRgb as _hslToRgb,\n rgbToHex as _rgbToHex,\n rgbToHsl as _rgbToHsl,\n} from '../theme/build/lib/color-fns/convert'\nimport {parseColor as _parseColor} from '../theme/build/lib/color-fns/parse'\nimport {rgba as _rgba} from '../theme/build/lib/color-fns/rgba'\n\n/**\n * @public\n * @deprecated Use `createColorTheme` from `@sanity/ui/theme` instead.\n */\n// oxlint-disable-next-line no-deprecated\nexport const createColorTheme = _createColorTheme\n\n/**\n * @public\n * @deprecated Use `hexToRgb` from `@sanity/ui/theme` instead.\n */\nexport const hexToRgb = _hexToRgb\n\n/**\n * @public\n * @deprecated Use `hslToRgb` from `@sanity/ui/theme` instead.\n */\nexport const hslToRgb = _hslToRgb\n\n/**\n * @public\n * @deprecated Use `multiply` from `@sanity/ui/theme` instead.\n */\nexport const multiply = _multiply\n\n/**\n * @public\n * @deprecated Use `parseColor` from `@sanity/ui/theme` instead.\n */\nexport const parseColor = _parseColor\n\n/**\n * @public\n * @deprecated Use `rgbToHex` from `@sanity/ui/theme` instead.\n */\nexport const rgbToHex = _rgbToHex\n\n/**\n * @public\n * @deprecated Use `rgbToHsl` from `@sanity/ui/theme` instead.\n */\nexport const rgbToHsl = _rgbToHsl\n\n/**\n * @public\n * @deprecated Use `rgba` from `@sanity/ui/theme` instead.\n */\nexport const rgba = _rgba\n\n/**\n * @public\n * @deprecated Use `screen` from `@sanity/ui/theme` instead.\n */\nexport const screen = _screen\n\n/**\n * @public\n * @deprecated Use `buildTheme` from `@sanity/ui/theme` instead.\n */\nexport const studioTheme = buildTheme()\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {ResponsiveWidthStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n width: '100%',\n margin: '0 auto',\n}\n\nexport function containerBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveContainerWidthStyle(\n props: ResponsiveWidthStyleProps & ThemeProps,\n): CSSObject[] {\n const {container, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$width, (val) => ({\n maxWidth: val === 'auto' ? 'none' : rem(container[val]),\n }))\n}\n","import {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {ResponsiveWidthProps} from '../types'\nimport {containerBaseStyle, responsiveContainerWidthStyle} from './styles'\nimport {ResponsiveWidthStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface ContainerOwnProps extends BoxOwnProps, ResponsiveWidthProps {}\n\n/**\n * @public\n */\nexport type ContainerProps<E extends ElementType = 'div'> = Props<ContainerOwnProps, E>\n\nconst StyledContainer = styled(Box)<ResponsiveWidthStyleProps>(\n containerBaseStyle,\n responsiveContainerWidthStyle,\n)\n\nfunction ContainerComponent(\n props: ContainerOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLDivElement>,\n 'as' | 'height' | 'width'\n >,\n) {\n const {as, ref, width = 2, ...restProps} = props\n\n return (\n <StyledContainer\n data-ui=\"Container\"\n {...restProps}\n $width={_getArrayProp(width)}\n forwardedAs={as}\n ref={ref}\n />\n )\n}\n\n/**\n * The `Container` component wraps content layout in a defined set of widths.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Container = ContainerComponent as unknown as <E extends ElementType = 'div'>(\n props: ContainerProps<E>,\n) => React.JSX.Element\n","import {css} from 'styled-components'\n\nimport {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {DialogPosition} from '../../types/dialog'\n\n/**\n * @internal\n */\nexport interface ResponsiveDialogPositionStyleProps {\n $position: DialogPosition[]\n}\n\nexport function dialogStyle({theme}: ThemeProps): CSSObject {\n const {color} = getTheme_v2(theme)\n\n return {\n '&:not([hidden])': {\n display: 'flex',\n },\n\n 'top': 0,\n 'left': 0,\n 'right': 0,\n 'bottom': 0,\n 'alignItems': 'center',\n 'justifyContent': 'center',\n 'outline': 'none',\n 'background': color.backdrop,\n }\n}\n\nexport function responsiveDialogPositionStyle(\n props: ResponsiveDialogPositionStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$position, (position) => ({'&&': {position}}))\n}\n\n/**\n * @internal\n */\nexport interface AnimationDialogStyleProps {\n $animate: boolean\n}\n\nexport function animationDialogStyle(props: AnimationDialogStyleProps): ReturnType<typeof css> {\n if (!props.$animate) return css``\n\n return css`\n @keyframes zoomIn {\n from {\n opacity: 0;\n transform: scale(0.95);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n }\n @keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n animation: fadeIn 200ms ease-out;\n // Animates the dialog card.\n & > [data-ui='DialogCard'] {\n animation: zoomIn 200ms ease-out;\n }\n `\n}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {DialogPosition} from '../../types/dialog'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogContextValue {\n version: 0.0\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\n/**\n * @internal\n */\nexport const DialogContext = createGlobalScopedContext<DialogContextValue>(\n '@sanity/ui/context/dialog',\n {version: 0.0},\n)\n","import {useContext} from 'react'\n\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useDialog(): DialogContextValue {\n return useContext(DialogContext)\n}\n","import {CloseIcon} from '@sanity/icons/Close'\nimport {useCallback, useEffect, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {ThemeColorSchemeKey} from '../../../theme/system/color/_system'\nimport {containsOrEqualsElement, isHTMLElement} from '../../helpers/element'\nimport {focusFirstDescendant, focusLastDescendant} from '../../helpers/focus'\nimport {useClickOutsideEvent} from '../../hooks/useClickOutsideEvent'\nimport {useGlobalKeyDown} from '../../hooks/useGlobalKeyDown'\nimport {usePrefersReducedMotion} from '../../hooks/usePrefersReducedMotion'\nimport {Box} from '../../primitives/box/box'\nimport {Button} from '../../primitives/button/button'\nimport {Card} from '../../primitives/card/card'\nimport {Container} from '../../primitives/container/container'\nimport {Flex} from '../../primitives/flex/flex'\nimport {Text} from '../../primitives/text/text'\nimport {ResponsivePaddingProps, ResponsiveWidthProps} from '../../primitives/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsivePaddingStyle} from '../../styles/padding/paddingStyle'\nimport {ResponsivePaddingStyleProps} from '../../styles/padding/types'\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {DialogPosition} from '../../types/dialog'\nimport {Radius} from '../../types/radius'\nimport {useBoundaryElement} from '../../utils/boundaryElement/useBoundaryElement'\nimport {Layer, LayerProps} from '../../utils/layer/layer'\nimport {useLayer} from '../../utils/layer/useLayer'\nimport {Portal} from '../../utils/portal/portal'\nimport {usePortal} from '../../utils/portal/usePortal'\nimport {\n animationDialogStyle,\n AnimationDialogStyleProps,\n dialogStyle,\n responsiveDialogPositionStyle,\n ResponsiveDialogPositionStyleProps,\n} from './styles'\nimport {useDialog} from './useDialog'\n\n/**\n * @public\n */\nexport interface DialogProps extends ResponsivePaddingProps, ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus?: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton?: boolean\n cardRadius?: Radius | Radius[]\n cardShadow?: number | number[]\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer?: React.ReactNode\n header?: React.ReactNode\n id: string\n /** A callback that fires when the dialog becomes the top layer when it was not the top layer before. */\n onActivate?: LayerProps['onActivate']\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n position?: DialogPosition | DialogPosition[]\n scheme?: ThemeColorSchemeKey\n zOffset?: number | number[]\n /**\n * Whether the dialog should animate in on mount.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n}\n\ninterface DialogCardProps extends ResponsiveWidthProps {\n /**\n * @beta\n */\n __unstable_autoFocus: boolean\n /**\n * @beta\n */\n __unstable_hideCloseButton: boolean\n children: React.ReactNode\n contentRef?: React.ForwardedRef<HTMLDivElement>\n footer: React.ReactNode\n header: React.ReactNode\n id: string\n onClickOutside?: () => void\n onClose?: () => void\n portal?: string\n radius: Radius | Radius[]\n ref?: React.Ref<HTMLDivElement>\n scheme?: ThemeColorSchemeKey\n shadow: number | number[]\n}\n\nfunction isTargetWithinScope(\n boundaryElement: HTMLElement | null,\n portalElement: HTMLElement | null,\n target: Node,\n): boolean {\n if (!boundaryElement || !portalElement) return true\n\n return (\n containsOrEqualsElement(boundaryElement, target) ||\n containsOrEqualsElement(portalElement, target)\n )\n}\n\nconst StyledDialog = styled(Layer)<\n ResponsiveDialogPositionStyleProps & ResponsivePaddingStyleProps & AnimationDialogStyleProps\n>(responsivePaddingStyle, dialogStyle, responsiveDialogPositionStyle, animationDialogStyle)\n\nconst DialogContainer = styled(Container)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n height: 100%;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n`\n\nconst DialogCardRoot = styled(Card)`\n &:not([hidden]) {\n display: flex;\n }\n width: 100%;\n min-height: 0;\n max-height: 100%;\n overflow: hidden;\n overflow: clip;\n`\n\nconst DialogLayout = styled(Flex)`\n flex: 1;\n min-height: 0;\n width: 100%;\n`\n\nconst DialogHeader = styled(Box)`\n position: relative;\n z-index: 2;\n`\n\nconst DialogContent = styled(Box)`\n position: relative;\n z-index: 1;\n overflow: auto;\n outline: none;\n`\n\nconst DialogFooter = styled(Box)`\n position: relative;\n z-index: 3;\n`\n\nfunction DialogCard(props: DialogCardProps) {\n const {\n __unstable_autoFocus: autoFocus,\n __unstable_hideCloseButton: hideCloseButton,\n children,\n contentRef: forwardedContentRef,\n footer,\n header,\n id,\n onClickOutside,\n onClose,\n portal: portalProp,\n radius: radiusProp,\n ref: forwardedRef,\n scheme,\n shadow: shadowProp,\n width: widthProp,\n } = props\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const radius = _getArrayProp(radiusProp)\n const shadow = _getArrayProp(shadowProp)\n const width = _getArrayProp(widthProp)\n const ref = useRef<HTMLDivElement | null>(null)\n const contentRef = useRef<HTMLDivElement | null>(null)\n const layer = useLayer()\n const {isTopLayer} = layer\n const labelId = `${id}_label`\n // oxlint-disable-next-line no-unnecessary-boolean-literal-compare\n const showCloseButton = Boolean(onClose) && hideCloseButton === false\n const showHeader = Boolean(header) || showCloseButton\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(\n forwardedContentRef,\n () => contentRef.current,\n )\n\n useEffect(() => {\n if (!autoFocus) return\n\n // On mount: focus the first focusable element\n if (ref.current) {\n focusFirstDescendant(ref.current)\n }\n }, [autoFocus, ref])\n\n useGlobalKeyDown(\n useCallback(\n (event: KeyboardEvent) => {\n if (!isTopLayer || !onClose) return\n\n const target = document.activeElement\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore key presses when the focused element is outside of scope\n return\n }\n\n if (event.key === 'Escape') {\n event.preventDefault()\n event.stopPropagation()\n onClose()\n }\n },\n [boundaryElement, isTopLayer, onClose, portalElement],\n ),\n )\n\n useClickOutsideEvent(\n isTopLayer &&\n onClickOutside &&\n ((event) => {\n // oxlint-disable-next-line no-unsafe-type-assertion\n const target = event.target as Node | null\n\n if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) {\n // Ignore clicks outside of the scope\n return\n }\n\n onClickOutside()\n }),\n () => [ref.current],\n )\n\n return (\n <DialogContainer data-ui=\"DialogCard\" width={width}>\n <DialogCardRoot radius={radius} ref={ref} scheme={scheme} shadow={shadow}>\n <DialogLayout direction=\"column\">\n {showHeader && (\n <DialogHeader>\n <Flex align=\"flex-start\" padding={3}>\n <Box flex={1} padding={2}>\n {header && (\n <Text id={labelId} size={1} weight=\"semibold\">\n {header}\n </Text>\n )}\n </Box>\n {showCloseButton && (\n <Box flex=\"none\">\n <Button\n aria-label=\"Close dialog\"\n disabled={!onClose}\n icon={CloseIcon}\n mode=\"bleed\"\n onClick={onClose}\n padding={2}\n />\n </Box>\n )}\n </Flex>\n </DialogHeader>\n )}\n\n <DialogContent flex={1} ref={contentRef} tabIndex={-1}>\n {children}\n </DialogContent>\n\n {footer && <DialogFooter>{footer}</DialogFooter>}\n </DialogLayout>\n </DialogCardRoot>\n </DialogContainer>\n )\n}\n\n/**\n * The Dialog component.\n *\n * @public\n */\nexport function Dialog(\n props: DialogProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'id' | 'width'>,\n) {\n const dialog = useDialog()\n const {layer} = useTheme_v2()\n const {\n __unstable_autoFocus: autoFocus = true,\n __unstable_hideCloseButton: hideCloseButton = false,\n cardRadius: cardRadiusProp = 4,\n cardShadow = 3,\n children,\n contentRef,\n footer,\n header,\n id,\n onActivate,\n onClickOutside,\n onClose,\n onFocus,\n padding: paddingProp = 3,\n portal: portalProp,\n position: _positionProp,\n ref,\n scheme,\n width: widthProp = 0,\n zOffset: _zOffsetProp,\n animate: _animate = false,\n ...restProps\n } = props\n const positionProp = _positionProp ?? (dialog.position || 'fixed')\n const zOffsetProp = _zOffsetProp ?? (dialog.zOffset || layer.dialog.zOffset)\n const prefersReducedMotion = usePrefersReducedMotion()\n const animate = prefersReducedMotion ? false : _animate\n const portal = usePortal()\n const portalElement = portalProp ? portal.elements?.[portalProp] || null : portal.element\n const boundaryElement = useBoundaryElement().element\n const cardRadius = _getArrayProp(cardRadiusProp)\n const padding = _getArrayProp(paddingProp)\n const position = _getArrayProp(positionProp)\n const width = _getArrayProp(widthProp)\n const zOffset = _getArrayProp(zOffsetProp)\n const preDivRef = useRef<HTMLDivElement | null>(null)\n const postDivRef = useRef<HTMLDivElement | null>(null)\n const cardRef = useRef<HTMLDivElement | null>(null)\n const focusedElementRef = useRef<HTMLElement | null>(null)\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n onFocus?.(event)\n\n const target = event.target\n const cardElement = cardRef.current\n\n if (cardElement && target === preDivRef.current) {\n focusLastDescendant(cardElement)\n\n return\n }\n\n if (cardElement && target === postDivRef.current) {\n focusFirstDescendant(cardElement)\n\n return\n }\n\n if (isHTMLElement(event.target)) {\n focusedElementRef.current = event.target\n }\n },\n [onFocus],\n )\n\n const labelId = `${id}_label`\n\n const rootClickTimeoutRef = useRef<NodeJS.Timeout>(undefined)\n\n // If the resulting active element (a.k.a. focused element) is not withing scope when clicking\n // within the dialog, then we want to focus the previously interactive element in the dialog instead.\n // This is to allow the user to tab or close the dialog by pressing escape.\n const handleRootClick = useCallback(() => {\n if (rootClickTimeoutRef.current) {\n clearTimeout(rootClickTimeoutRef.current)\n }\n\n rootClickTimeoutRef.current = setTimeout(() => {\n const activeElement = document.activeElement\n\n if (activeElement && !isTargetWithinScope(boundaryElement, portalElement, activeElement)) {\n const target = focusedElementRef.current\n\n if (!target || !document.body.contains(target)) {\n // No previously focused element, or it's not in the document anymore\n const cardElement = cardRef.current\n if (cardElement) focusFirstDescendant(cardElement)\n\n return\n }\n\n target.focus()\n }\n }, 0)\n }, [boundaryElement, portalElement])\n\n return (\n <Portal __unstable_name={portalProp}>\n <StyledDialog\n {...restProps}\n $animate={animate}\n $padding={padding}\n $position={position}\n aria-labelledby={labelId}\n aria-modal\n data-ui=\"Dialog\"\n id={id}\n onActivate={onActivate}\n onClick={handleRootClick}\n onFocus={handleFocus}\n ref={ref}\n // oxlint-disable-next-line prefer-tag-over-role\n role=\"dialog\"\n zOffset={zOffset}\n >\n {/* oxlint-disable-next-line no-noninteractive-tabindex */}\n <div ref={preDivRef} tabIndex={0} />\n <DialogCard\n __unstable_autoFocus={autoFocus}\n __unstable_hideCloseButton={hideCloseButton}\n contentRef={contentRef}\n footer={footer}\n header={header}\n id={id}\n onClickOutside={onClickOutside}\n onClose={onClose}\n portal={portalProp}\n radius={cardRadius}\n ref={cardRef}\n scheme={scheme}\n shadow={cardShadow}\n width={width}\n >\n {children}\n </DialogCard>\n {/* oxlint-disable-next-line no-noninteractive-tabindex */}\n <div ref={postDivRef} tabIndex={0} />\n </StyledDialog>\n </Portal>\n )\n}\n","import {useMemo} from 'react'\n\nimport {DialogPosition} from '../../types/dialog'\nimport {DialogContext, DialogContextValue} from './dialogContext'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface DialogProviderProps {\n children?: React.ReactNode\n position?: DialogPosition | DialogPosition[]\n zOffset?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function DialogProvider(props: DialogProviderProps): React.JSX.Element {\n const {children, position, zOffset} = props\n\n const contextValue: DialogContextValue = useMemo(\n () => ({\n version: 0.0,\n position,\n zOffset,\n }),\n [position, zOffset],\n )\n\n return <DialogContext.Provider value={contextValue}>{children}</DialogContext.Provider>\n}\n","import {css, keyframes} from 'styled-components'\n\nconst keyframe = keyframes`\n 0% {\n background-position: 100%;\n }\n 100% {\n background-position: -100%;\n }\n`\n\nconst animation = css`\n background-image: linear-gradient(\n to right,\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-to),\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-from),\n var(--card-skeleton-color-from)\n );\n background-position: 100%;\n background-size: 200% 100%;\n background-attachment: fixed;\n animation-name: ${keyframe};\n animation-timing-function: ease-in-out;\n animation-iteration-count: infinite;\n animation-duration: 2000ms;\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport const skeletonStyle = css<{$animated: boolean; $visible: boolean}>`\n opacity: ${({$visible}) => ($visible ? 1 : 0)};\n transition: opacity 200ms ease-in;\n\n @media screen and (prefers-reduced-motion: no-preference) {\n ${({$animated}) =>\n $animated\n ? animation\n : css`\n background-color: var(--card-skeleton-color-from);\n `}\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n background-color: var(--card-skeleton-color-from);\n }\n`\n","import {useEffect, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Box, BoxOwnProps} from '../../primitives/box/box'\nimport {ResponsiveRadiusProps} from '../../primitives/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {skeletonStyle} from './styles'\n\nconst StyledSkeleton = styled(Box)<\n {$animated: boolean; $visible: boolean} & ResponsiveRadiusStyleProps\n>(responsiveRadiusStyle, skeletonStyle)\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface SkeletonProps extends ResponsiveRadiusProps, Omit<BoxOwnProps, 'children'> {\n animated?: boolean\n delay?: number\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function Skeleton(props: SkeletonProps & Omit<React.HTMLProps<HTMLDivElement>, 'height'>) {\n const {animated = false, delay, radius, ref, ...restProps} = props\n // oxlint-disable-next-line no-unneeded-ternary\n const [visible, setVisible] = useState<boolean>(delay ? false : true)\n\n useEffect(() => {\n if (!delay) {\n return undefined\n }\n\n const timeout = setTimeout(() => {\n setVisible(true)\n }, delay)\n\n return () => {\n clearTimeout(timeout)\n }\n }, [delay])\n\n return (\n <StyledSkeleton\n {...restProps}\n $animated={animated}\n $radius={_getArrayProp(radius)}\n $visible={delay ? visible : true}\n ref={ref}\n />\n )\n}\n","import {styled} from 'styled-components'\n\nimport {ThemeFontKey} from '../../../theme/system/font'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_getArrayProp, _responsive} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {Skeleton, SkeletonProps} from './skeleton'\n\nconst StyledSkeleton = styled(Skeleton)<{$size: number[]; $style: ThemeFontKey}>((\n props: {\n $size: number[]\n $style: ThemeFontKey\n } & ThemeProps,\n) => {\n const {$size, $style} = props\n const {font, media} = getTheme_v2(props.theme)\n const fontStyle = font[$style]\n\n const styles = _responsive(media, $size, (sizeIndex) => {\n const fontSize = fontStyle.sizes[sizeIndex]\n const capHeight = fontSize.lineHeight - fontSize.ascenderHeight - fontSize.descenderHeight\n\n return {height: capHeight}\n })\n\n return styles\n})\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TextSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface LabelSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface HeadingSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface CodeSkeletonProps extends SkeletonProps {\n size?: number | number[]\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function TextSkeleton(\n props: TextSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n) {\n const {size = 2, ...restProps} = props\n const $size = _getArrayProp(size)\n\n return <StyledSkeleton {...restProps} $size={$size} $style=\"text\" />\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function LabelSkeleton(\n props: LabelSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n) {\n const {size = 2, ...restProps} = props\n const $size = _getArrayProp(size)\n\n return <StyledSkeleton {...restProps} $size={$size} $style=\"label\" />\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function HeadingSkeleton(\n props: HeadingSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n) {\n const {size = 2, ...restProps} = props\n const $size = _getArrayProp(size)\n\n return <StyledSkeleton {...restProps} $size={$size} $style=\"heading\" />\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function CodeSkeleton(\n props: CodeSkeletonProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'height' | 'size'>,\n) {\n const {size = 2, ...restProps} = props\n const $size = _getArrayProp(size)\n\n return <StyledSkeleton {...restProps} $size={$size} $style=\"code\" />\n}\n","import {useCallback, useEffect, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Button} from '../../primitives/button/button'\nimport {ButtonTone} from '../../types/button'\n\n/**\n * @public\n */\nexport interface TabProps {\n /**\n * The `id` of the correlating `TabPanel` component.\n */\n 'aria-controls': string\n 'id': string\n // oxlint-disable-next-line no-redundant-type-constituents\n 'icon'?: React.ElementType | React.ReactNode\n 'focused'?: boolean\n 'fontSize'?: number | number[]\n 'label'?: React.ReactNode\n 'padding'?: number | number[]\n 'selected'?: boolean\n 'tone'?: ButtonTone\n}\n\nconst CustomButton = styled(Button)`\n max-width: 100%;\n`\n\n/**\n * @public\n */\nexport function Tab(\n props: TabProps &\n Omit<\n React.HTMLProps<HTMLButtonElement>,\n 'aria-controls' | 'as' | 'id' | 'label' | 'type' | 'width'\n >,\n) {\n const {\n icon,\n id,\n focused,\n fontSize = 1,\n label,\n onClick,\n onFocus,\n padding = 2,\n ref: forwardedRef,\n selected,\n ...restProps\n } = props\n const ref = useRef<HTMLButtonElement | null>(null)\n const focusedRef = useRef(false)\n\n useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n const handleBlur = useCallback(() => {\n focusedRef.current = false\n }, [])\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n focusedRef.current = true\n if (onFocus) onFocus(event)\n },\n [onFocus],\n )\n\n useEffect(() => {\n if (focused && !focusedRef.current) {\n if (ref.current) ref.current.focus()\n focusedRef.current = true\n }\n }, [focused])\n\n return (\n <CustomButton\n data-ui=\"Tab\"\n {...restProps}\n aria-selected={selected ? 'true' : 'false'}\n fontSize={fontSize}\n icon={icon}\n id={id}\n mode=\"bleed\"\n onClick={onClick}\n onBlur={handleBlur}\n onFocus={handleFocus}\n padding={padding}\n ref={ref}\n role=\"tab\"\n selected={selected}\n tabIndex={selected ? 0 : -1}\n text={label}\n type=\"button\"\n />\n )\n}\n","import {Children, cloneElement, isValidElement, useCallback, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {Inline, InlineOwnProps} from '../../primitives/inline/inline'\n\n/**\n * @public\n */\nexport interface TabListProps extends Omit<InlineOwnProps, 'height'> {\n children: Array<React.JSX.Element | null | undefined | false>\n}\n\n//Limits the width of tabs in tablist\nconst CustomInline = styled(Inline)`\n & > div {\n display: inline-block;\n vertical-align: middle;\n max-width: 100%;\n box-sizing: border-box;\n }\n`\n\n/**\n * @public\n */\nexport function TabList(\n props: TabListProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n) {\n const {children: childrenProp, ref, ...restProps} = props\n const [focusedIndex, setFocusedIndex] = useState(-1)\n\n const children: React.JSX.Element[] = Children.toArray(childrenProp).filter(isValidElement)\n\n const tabs = children.map((child, childIndex) =>\n cloneElement(child, {\n focused: focusedIndex === childIndex,\n key: childIndex,\n onFocus: () => setFocusedIndex(childIndex),\n }),\n )\n\n const numTabs = tabs.length\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n setFocusedIndex((prevIndex) => (prevIndex + numTabs - 1) % numTabs)\n }\n\n if (event.key === 'ArrowRight') {\n setFocusedIndex((prevIndex) => (prevIndex + 1) % numTabs)\n }\n },\n [numTabs],\n )\n\n return (\n <CustomInline\n data-ui=\"TabList\"\n {...restProps}\n onKeyDown={handleKeyDown}\n ref={ref}\n role=\"tablist\"\n >\n {tabs}\n </CustomInline>\n )\n}\n","import {Box, BoxOwnProps} from '../../primitives/box/box'\n\n/**\n * @public\n */\nexport interface TabPanelProps extends BoxOwnProps {\n /**\n * The `id` of the correlating `Tab` component.\n */\n 'aria-labelledby': string\n 'id': string\n}\n\n/**\n * @public\n */\nexport function TabPanel(\n props: TabPanelProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'aria-labelledby' | 'id' | 'role'>,\n) {\n const {flex, ...restProps} = props\n\n return (\n <Box\n data-ui=\"TabPanel\"\n {...restProps}\n flex={flex}\n role=\"tabpanel\"\n tabIndex={props.tabIndex === undefined ? 0 : props.tabIndex}\n >\n {props.children}\n </Box>\n )\n}\n","import {TreeState} from './types'\n\nexport function _findPrevItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(0, idx)\n const len = els.length\n\n for (let i = len - 1; i >= 0; i -= 1) {\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _findNextItemElement(\n state: TreeState,\n itemElements: HTMLElement[],\n focusedElement: HTMLElement,\n): HTMLElement | null {\n const idx = itemElements.indexOf(focusedElement)\n const els = itemElements.slice(idx)\n const len = itemElements.length\n\n for (let i = 1; i < len; i += 1) {\n if (!els[i]) {\n continue\n }\n\n const itemKey = els[i].getAttribute('data-tree-key')\n\n if (!itemKey) {\n continue\n }\n\n const segments = itemKey.split('/')\n\n segments.pop()\n\n const p: string[] = []\n\n let expanded = true\n\n for (let j = 0; j < segments.length; j += 1) {\n p.push(segments[j])\n\n const k = p.join('/')\n\n if (!state[k]?.expanded) {\n expanded = false\n break\n }\n }\n\n if (expanded) {\n return els[i]\n }\n }\n\n return null\n}\n\nexport function _focusItemElement(el: HTMLElement): void {\n if (el.getAttribute('role') === 'treeitem') {\n el.focus()\n }\n\n if (el.getAttribute('role') === 'none') {\n const firstChild = el.firstChild\n\n if (firstChild && firstChild instanceof HTMLElement) {\n firstChild.focus()\n }\n }\n}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {TreeContextValue} from './types'\n\n/**\n * @internal\n */\nexport const TreeContext = createGlobalScopedContext<TreeContextValue | null>(\n '@sanity/ui/context/tree',\n null,\n)\n","import {useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState} from 'react'\n\nimport {Stack} from '../../primitives/stack/stack'\nimport {_findNextItemElement, _findPrevItemElement, _focusItemElement} from './helpers'\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue, TreeState} from './types'\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface TreeProps {\n gap?: number | number[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function Tree(\n props: TreeProps &\n Omit<React.HTMLProps<HTMLUListElement>, 'align' | 'as' | 'height' | 'role' | 'wrap'>,\n): React.JSX.Element {\n const {children, gap = 1, onFocus, ref: forwardedRef, ...restProps} = props\n const ref = useRef<HTMLUListElement | null>(null)\n const [focusedElement, setFocusedElement] = useState<HTMLElement | null>(null)\n const focusedElementRef = useRef(focusedElement)\n const path: string[] = useMemo(() => [], [])\n const [itemElements, setItemElements] = useState<HTMLElement[]>([])\n const [state, setState] = useState<TreeState>({})\n const stateRef = useRef(state)\n\n useImperativeHandle<HTMLUListElement | null, HTMLUListElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n focusedElementRef.current = focusedElement\n }, [focusedElement])\n\n useEffect(() => {\n stateRef.current = state\n }, [state])\n\n const registerItem = useCallback(\n (element: HTMLElement, path: string, expanded: boolean, selected: boolean) => {\n setState((s) => ({...s, [path]: {element, expanded}}))\n\n if (selected) {\n setFocusedElement(element)\n }\n\n return () => {\n setState((s) => {\n const newState = {...s}\n\n delete newState[path]\n\n return newState\n })\n }\n },\n [],\n )\n\n const setExpanded = useCallback((path: string, expanded: boolean) => {\n setState((s) => {\n const itemState = s[path]\n\n if (!itemState) return s\n\n return {...s, [path]: {...itemState, expanded}}\n })\n }, [])\n\n const contextValue: TreeContextValue = useMemo(\n () => ({\n version: 0.0,\n focusedElement: focusedElement || itemElements[0] || null,\n level: 0,\n path,\n registerItem,\n setExpanded,\n setFocusedElement,\n gap,\n state,\n }),\n [focusedElement, gap, itemElements, path, registerItem, setExpanded, state],\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLUListElement>) => {\n if (!focusedElementRef.current) return\n\n if (event.key === 'ArrowDown') {\n event.preventDefault()\n\n const nextEl = _findNextItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (nextEl) {\n _focusItemElement(nextEl)\n setFocusedElement(nextEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault()\n\n const prevEl = _findPrevItemElement(\n stateRef.current,\n itemElements,\n focusedElementRef.current,\n )\n\n if (prevEl) {\n _focusItemElement(prevEl)\n setFocusedElement(prevEl)\n }\n\n return\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault()\n\n const itemKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!itemKey) return\n\n const itemState = stateRef.current[itemKey]\n\n if (!itemState) return\n\n if (itemState.expanded) {\n setState((s) => {\n const itemState = s[itemKey]\n\n if (!itemState) return s\n\n return {...s, [itemKey]: {...itemState, expanded: false}}\n })\n } else {\n const itemPath = itemKey.split('/')\n\n itemPath.pop()\n\n const parentKey = itemPath.join('/')\n const parentState = parentKey && stateRef.current[parentKey]\n\n if (parentState) {\n parentState.element.focus()\n setFocusedElement(parentState.element)\n }\n }\n\n return\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault()\n\n const focusedKey = focusedElementRef.current.getAttribute('data-tree-key')\n\n if (!focusedKey) return\n\n if (!stateRef.current[focusedKey]?.expanded) {\n setState((s) => {\n const itemState = s[focusedKey]\n\n if (!itemState) return s\n\n return {...s, [focusedKey]: {...itemState, expanded: true}}\n })\n }\n\n return\n }\n },\n [itemElements],\n )\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLUListElement>) => {\n setFocusedElement(event.target)\n\n // Call the element's `focus` handler\n onFocus?.(event)\n },\n [onFocus],\n )\n\n useEffect(() => {\n if (!ref.current) return\n const _itemElements = Array.from(\n ref.current.querySelectorAll('[data-ui=\"TreeItem\"]'),\n ) as HTMLElement[]\n\n setItemElements(_itemElements)\n }, [children])\n\n return (\n <TreeContext.Provider value={contextValue}>\n <Stack\n as=\"ul\"\n data-ui=\"Tree\"\n {...restProps}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={ref}\n role=\"tree\"\n gap={gap}\n >\n {children}\n </Stack>\n </TreeContext.Provider>\n )\n}\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_cardColorStyle} from '../../styles/card/_cardColorStyle'\nimport {rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\n\nexport function treeItemRootStyle(): ReturnType<typeof css> {\n return css`\n &[role='none'] > [role='treeitem'] {\n outline: none;\n cursor: default;\n border-radius: 3px;\n\n background-color: var(--card-bg-color);\n color: var(--treeitem-fg-color);\n\n &:focus {\n position: relative;\n }\n }\n\n &[role='treeitem'] {\n outline: none;\n\n & > div {\n cursor: default;\n border-radius: 3px;\n\n background-color: var(--card-bg-color);\n color: var(--treeitem-fg-color);\n }\n\n &:focus > div {\n position: relative;\n }\n }\n `\n}\n\nexport function treeItemRootColorStyle(props: ThemeProps): ReturnType<typeof css> {\n const $tone = 'default'\n const {color} = getTheme_v2(props.theme)\n const tone = color.selectable[$tone]\n\n return css`\n &[role='none'] {\n & > [role='treeitem'] {\n ${_cardColorStyle(color, tone.enabled)}\n }\n\n &[data-selected] > [role='treeitem'] {\n ${_cardColorStyle(color, tone.pressed)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]) > [role='treeitem']:not(:focus):hover {\n ${_cardColorStyle(color, tone.hovered)}\n }\n\n & > [role='treeitem']:focus {\n ${_cardColorStyle(color, tone.selected)}\n }\n }\n }\n\n &[role='treeitem'] {\n & > [data-ui='TreeItem__box'] {\n ${_cardColorStyle(color, tone.enabled)}\n }\n\n &[data-selected] > [data-ui='TreeItem__box'] {\n ${_cardColorStyle(color, tone.pressed)}\n }\n\n @media (hover: hover) {\n &:not([data-selected]):not(:focus) > [data-ui='TreeItem__box']:hover {\n ${_cardColorStyle(color, tone.hovered)}\n }\n\n &:focus > [data-ui='TreeItem__box'] {\n ${_cardColorStyle(color, tone.selected)}\n }\n }\n }\n `\n}\n\nexport interface TreeItemBoxStyleProps {\n $level: number\n}\n\nexport function treeItemBoxStyle(\n props: TreeItemBoxStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$level} = props\n const {space} = getTheme_v2(props.theme)\n\n return css`\n display: block;\n padding-left: ${rem(space[2] * $level)};\n text-decoration: none;\n `\n}\n","import {useContext} from 'react'\n\nimport {TreeContext} from './treeContext'\nimport {TreeContextValue} from './types'\n\n/**\n * @beta\n */\nexport function useTree(): TreeContextValue {\n const tree = useContext(TreeContext)\n\n if (!tree) {\n throw new Error('Tree: missing context value')\n }\n\n return tree\n}\n","import {Stack} from '../../primitives/stack/stack'\nimport {useTree} from './useTree'\n\nexport interface TreeGroupProps {\n expanded?: boolean\n}\n\nexport function TreeGroup(\n props: TreeGroupProps &\n Omit<React.HTMLProps<HTMLUListElement>, 'as' | 'height' | 'ref' | 'role' | 'wrap'>,\n): React.JSX.Element {\n const {children, expanded = false, ...restProps} = props\n const tree = useTree()\n\n return (\n <Stack\n as=\"ul\"\n data-ui=\"TreeGroup\"\n {...restProps}\n hidden={!expanded}\n marginTop={tree.gap}\n // oxlint-disable-next-line prefer-tag-over-role\n role=\"group\"\n gap={tree.gap}\n >\n {children}\n </Stack>\n )\n}\n","import {ToggleArrowRightIcon} from '@sanity/icons/ToggleArrowRight'\nimport {startTransition, useCallback, useEffect, useId, useMemo, useRef, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {Box} from '../../primitives/box/box'\nimport {Flex} from '../../primitives/flex/flex'\nimport {Text} from '../../primitives/text/text'\nimport {ElementType} from '../../types/component'\nimport {\n treeItemBoxStyle,\n TreeItemBoxStyleProps,\n treeItemRootColorStyle,\n treeItemRootStyle,\n} from './style'\nimport {TreeContext} from './treeContext'\nimport {TreeGroup} from './treeGroup'\nimport {useTree} from './useTree'\n\n/**\n * @beta\n */\nexport interface TreeItemProps {\n expanded?: boolean\n fontSize?: number | number[]\n icon?: React.ElementType\n /**\n * Allows passing a custom element type to the link component\n */\n linkAs?: ElementType\n /**\n * Additional props for the link element that is rendered when `href` is set — e.g. `next/link`'s\n * `prefetch` together with `linkAs={Link}`. Props controlled by `TreeItem` itself (`href`,\n * `role`, `tabIndex`, `aria-expanded` and the ref) take precedence.\n */\n linkProps?: React.HTMLProps<HTMLAnchorElement> & Record<string, unknown>\n padding?: number | number[]\n gap?: number | number[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n text?: React.ReactNode\n weight?: ThemeFontWeightKey\n}\n\nconst StyledTreeItem = styled.li(treeItemRootStyle, treeItemRootColorStyle)\n\n/**\n * Styles a plain element (rather than wrapping `Box`) so that `as={linkAs}` renders the custom\n * link component directly, the same way `<Button as={...}>` works. Wrapping `Box` with\n * `.attrs({forwardedAs: 'a'})` made styled-components pass `as=\"a\"` on to the custom component\n * (breaking e.g. `next/link`, which treats `as` as a URL override) and skip the `Box` styles.\n */\nconst TreeItemBox = styled.a<TreeItemBoxStyleProps>(treeItemBoxStyle)\n\nconst ToggleArrowText = styled(Text)`\n & > svg {\n transition: transform 100ms;\n }\n`\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function TreeItem(\n props: TreeItemProps & Omit<React.HTMLProps<HTMLLIElement>, 'as' | 'ref' | 'role'>,\n): React.JSX.Element {\n const {\n children,\n expanded: expandedProp = false,\n fontSize = 1,\n href,\n icon: IconComponent,\n id: idProp,\n linkAs,\n linkProps,\n muted,\n onClick,\n padding = 2,\n selected = false,\n gap = 2,\n text,\n weight,\n ...restProps\n } = props\n const [rootElement, _setRootElement] = useState<HTMLLIElement | null>(null)\n /**\n * The startTransition wrapper here is to avoid an issue when on React 18 where this error can happen:\n * >Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.\n * This doesn't happen on React 19 due to automatic batching of all state updates, the startTransition wrapper here gives a type of batching for 18 users in a way that still works with 19.\n * NOTE: The startTransition wrapper is not needed in UI v4, since the baseline there is React 19.\n */\n const setRootElement = useCallback((node: HTMLLIElement | null) => {\n startTransition(() => _setRootElement(node))\n }, [])\n\n const treeitemRef = useRef<HTMLAnchorElement | null>(null)\n const tree = useTree()\n const {path, registerItem, setExpanded, setFocusedElement} = tree\n const _id = useId()\n const id = idProp || _id\n const [itemPath, itemKey] = useMemo(() => {\n const itemPath = path.concat([id || ''])\n return [itemPath, itemPath.join('/')]\n }, [id, path])\n const itemState = tree.state[itemKey]\n const focused = tree.focusedElement === rootElement\n const expanded = itemState?.expanded === undefined ? expandedProp : itemState?.expanded || false\n const tabIndex = tree.focusedElement && tree.focusedElement === rootElement ? 0 : -1\n const contextValue = useMemo(\n () => ({...tree, level: tree.level + 1, path: itemPath}),\n [itemPath, tree],\n )\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLLIElement>) => {\n if (onClick) onClick(event)\n\n const target = event.target\n\n if (\n target instanceof HTMLElement &&\n (target.getAttribute('data-ui') === 'TreeItem' ||\n target.closest('[data-ui=\"TreeItem__box\"]'))\n ) {\n event.stopPropagation()\n setExpanded(itemKey, !expanded)\n setFocusedElement(rootElement)\n }\n },\n [expanded, itemKey, onClick, rootElement, setExpanded, setFocusedElement],\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLElement>) => {\n if (focused && event.key === 'Enter') {\n const el = treeitemRef.current || rootElement\n\n el?.click()\n }\n },\n [focused, rootElement],\n )\n\n useEffect(() => {\n if (!rootElement) return\n\n return registerItem(rootElement, itemKey, expanded, selected)\n }, [expanded, itemKey, registerItem, rootElement, selected])\n\n const content = (\n <Flex padding={padding}>\n <Box\n marginRight={gap}\n style={{\n visibility: IconComponent || children ? 'visible' : 'hidden',\n pointerEvents: 'none',\n }}\n >\n {IconComponent && (\n <Text muted={muted} size={fontSize} weight={weight}>\n <IconComponent />\n </Text>\n )}\n {!IconComponent && (\n <ToggleArrowText muted={muted} size={fontSize} weight={weight}>\n <ToggleArrowRightIcon style={{transform: expanded ? 'rotate(90deg)' : undefined}} />\n </ToggleArrowText>\n )}\n </Box>\n <Box flex={1}>\n <Text muted={muted} size={fontSize} textOverflow=\"ellipsis\" weight={weight}>\n {text}\n </Text>\n </Box>\n </Flex>\n )\n\n if (href) {\n return (\n <StyledTreeItem\n data-selected={selected ? '' : undefined}\n data-tree-id={id}\n data-tree-key={itemKey}\n data-ui=\"TreeItem\"\n {...restProps}\n onClick={handleClick}\n ref={setRootElement}\n role=\"none\"\n >\n <TreeItemBox\n {...linkProps}\n $level={tree.level}\n aria-expanded={expanded}\n as={linkAs}\n data-as={typeof linkAs === 'string' ? linkAs : 'a'}\n data-ui=\"TreeItem__box\"\n href={href}\n ref={treeitemRef}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup hidden={!expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </StyledTreeItem>\n )\n }\n\n return (\n <StyledTreeItem\n data-selected={selected ? '' : undefined}\n data-ui=\"TreeItem\"\n data-tree-id={id}\n data-tree-key={itemKey}\n {...restProps}\n aria-expanded={expanded}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={setRootElement}\n role=\"treeitem\"\n tabIndex={tabIndex}\n >\n <TreeItemBox $level={tree.level} as=\"div\" data-ui=\"TreeItem__box\">\n {content}\n </TreeItemBox>\n\n <TreeContext.Provider value={contextValue}>\n {children && <TreeGroup expanded={expanded}>{children}</TreeGroup>}\n </TreeContext.Provider>\n </StyledTreeItem>\n )\n}\n","/**\n * @internal\n */\nexport function _isScrollable(el: Node): boolean {\n if (!(el instanceof Element)) return false\n\n const style = window.getComputedStyle(el)\n\n return (\n style.overflowX.includes('auto') ||\n style.overflowX.includes('scroll') ||\n style.overflowY.includes('auto') ||\n style.overflowY.includes('scroll')\n )\n}\n","/** @beta */\nexport type ArrayPropPrimitive = string | number | boolean | undefined | null\n\n/**\n * @deprecated instead of `useArrayProp(width)` use `Array.isArray(width) ? width : [width]` instead\n * @beta\n */\nexport function useArrayProp(_val?: never, _defaultVal?: never): never {\n throw new Error(\n '`useArrayProp` was removed in @sanity/ui v4. Use `Array.isArray(value) ? value : [value]` instead.',\n )\n}\n","/**\n * @public\n */\nexport type ClickOutsideListener = (event: MouseEvent) => void\n\n/**\n * @public\n */\nexport type ClickOutsideElements = (HTMLElement | null | (HTMLElement | null)[])[]\n\n/**\n * @public\n * @deprecated replaced by the new `useClickOutsideEvent` hook, instead of:\n * ```tsx\n * const [button, setButtonElement] = useState(null)\n * useClickOutside((event) => {}, [button])\n * return <button ref={setButtonElement} />\n * ```\n * do:\n * ```tsx\n * const buttonRef = useRef()\n * useClickOutsideEvent((event) => {}, () => [buttonRef.current])\n * return <button ref={buttonRef} />\n * ```\n */\nexport function useClickOutside(\n _listener?: never,\n _elementsArg?: never,\n _boundaryElement?: never,\n): never {\n throw new Error(\n '`useClickOutside` was removed in @sanity/ui v4. Use `useClickOutsideEvent` instead.',\n )\n}\n","/**\n * Subscribe to the rect of a DOM element.\n * @beta\n *\n * @deprecated Use `useElementSize` instead\n */\nexport function useElementRect(_element?: never): never {\n throw new Error('`useElementRect` was removed in @sanity/ui v4. Use `useElementSize` instead.')\n}\n","/**\n * @beta\n * @deprecated use `useImperativeHandle` instead\n * @example\n * ```diff\n * -const ref = useForwardedRef(forwardedRef)\n * +const ref = useRef(null)\n * +useImperativeHandle(forwardedRef, () => ref.current)\n * ```\n */\nexport function useForwardedRef(_ref?: never): never {\n throw new Error(\n '`useForwardedRef` was removed in @sanity/ui v4. Use `useRef` and `useImperativeHandle` instead.',\n )\n}\n","import {useMatchMedia} from './useMatchMedia'\n\n/**\n * Returns true if a dark color scheme is preferred, false if a light color scheme is preferred or the preference is not known.\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-color-scheme: light)` since it's the most common scheme (https://react.dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it.\n * Chrome supports reading the `prefers-color-scheme` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Color-Scheme\n * @example https://gist.github.com/stipsan/13c0cccf8dfc34f4b44bb1b984baf7df\n *\n * @public\n */\nexport function usePrefersDark(getServerSnapshot = () => false): boolean {\n return useMatchMedia('(prefers-color-scheme: dark)', getServerSnapshot)\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `label` font style.\n * @internal\n */\nexport function responsiveLabelFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('label', props)\n}\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {ThemeProps} from '../../styles/types'\n\nexport function labelBaseStyle(\n props: {$accent?: boolean; $muted: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$accent, $muted} = props\n const {font} = getTheme_v2(props.theme)\n\n return css`\n text-transform: uppercase;\n\n ${\n $accent &&\n css`\n color: var(--card-accent-fg-color);\n `\n }\n\n ${\n $muted &&\n css`\n color: var(--card-muted-fg-color);\n `\n }\n\n & code {\n font-family: ${font.code.family};\n border-radius: 1px;\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n /* ...and aren't squeezed by resets that set max-width: 100% */\n max-width: unset;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {responsiveLabelFont} from '../../styles/font/labelFontStyle'\nimport {responsiveTextAlignStyle} from '../../styles/font/textAlignStyle'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {TextAlign} from '../../types/text'\nimport {SpanWithTextOverflow} from '../../utils/spanWithTextOverflow'\nimport {labelBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface LabelOwnProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\n/**\n * @public\n */\nexport type LabelProps<E extends ElementType = 'div'> = Props<LabelOwnProps, E>\n\nconst StyledLabel = styled.div<{\n $accent?: boolean\n $align: TextAlign[]\n $muted: boolean\n $size: number[]\n $weight?: ThemeFontWeightKey\n}>(responsiveLabelFont, responsiveTextAlignStyle, labelBaseStyle)\n\nfunction LabelComponent(\n props: LabelOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n) {\n const {\n accent,\n align,\n children: childrenProp,\n muted = false,\n ref,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n } else {\n children = <span>{children}</span>\n }\n\n return (\n <StyledLabel\n data-ui=\"Label\"\n {...restProps}\n $accent={accent}\n $align={_getArrayProp(align)}\n $muted={muted}\n $size={_getArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n {children}\n </StyledLabel>\n )\n}\n\n/**\n * Typographic labels.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Label = LabelComponent as unknown as <E extends ElementType = 'div'>(\n props: LabelProps<E>,\n) => React.JSX.Element\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {focusRingStyle} from '../../styles/focusRing'\nimport {_responsive, rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {AvatarRootStyleProps, ResponsiveAvatarSizeStyleProps} from './types'\n\nexport const avatarStyle = {\n root: avatarRootStyle,\n arrow: avatarArrowStyle,\n bgStroke: avatarBgStrokeStyle,\n stroke: avatarStrokeStyle,\n initials: avatarInitialsStyle,\n image: avatarImageStyle,\n}\n\nfunction avatarArrowStyle(): CSSObject {\n return {\n 'position': 'absolute',\n 'boxSizing': 'border-box',\n 'zIndex': '0',\n 'opacity': '0',\n 'transition': 'all 0.2s linear',\n 'transform': 'rotate(-90deg) translate3d(0, 6px, 0)',\n 'left': 0,\n 'right': 0,\n 'top': 0,\n 'bottom': 0,\n\n '& > svg': {\n 'width': '11px',\n 'height': '7px',\n 'position': 'absolute',\n 'top': '-5px',\n 'left': '50%',\n 'transform': 'translateX(-6px)',\n\n '&:not([hidden])': {\n display: 'block',\n },\n },\n\n \"[data-arrow-position='inside'] > &\": {\n transform: 'rotate(-90deg) translate3d(0, 6px, 0)',\n opacity: '0',\n },\n\n \"[data-arrow-position='top'] > &\": {\n opacity: '1',\n transform: 'rotate(0deg)',\n },\n\n \"[data-arrow-position='bottom'] > &\": {\n opacity: '1',\n transform: 'rotate(-180deg)',\n },\n }\n}\n\nfunction avatarRootStyle(props: AvatarRootStyleProps & ThemeProps): CSSObject {\n const {$color} = props\n const {avatar} = getTheme_v2(props.theme)\n\n return {\n '--avatar-bg-color': `var(--card-avatar-${$color}-bg-color)`,\n '--avatar-fg-color': `var(--card-avatar-${$color}-fg-color)`,\n\n 'backgroundColor': 'var(--avatar-bg-color)',\n 'position': 'relative',\n 'boxSizing': 'border-box',\n 'userSelect': 'none',\n 'boxShadow': '0 0 0 1px var(--card-bg-color)',\n\n '&[data-status=\"inactive\"]': {\n opacity: '0.5',\n },\n\n '&>svg': {\n '&:not([hidden])': {\n display: 'block',\n },\n },\n\n /* &:is(button) */\n '&[data-as=\"button\"]': {\n 'WebkitFontSmoothing': 'inherit',\n 'appearance': 'none',\n 'margin': 0,\n 'padding': 0,\n 'border': 0,\n 'font': 'inherit',\n 'color': 'inherit',\n 'outline': 'none',\n\n '&:focus': {\n boxShadow: focusRingStyle({focusRing: avatar.focusRing}),\n },\n\n '&:focus:not(:focus-visible)': {\n boxShadow: 'none',\n },\n },\n }\n}\n\nexport function responsiveAvatarSizeStyle(\n props: ResponsiveAvatarSizeStyleProps & ThemeProps,\n): CSSObject[] {\n const {avatar, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size] || avatar.sizes[0]\n\n return {\n 'width': rem(avatarSize.size),\n 'height': rem(avatarSize.size),\n 'borderRadius': rem(avatarSize.size / 2),\n\n '&>svg': {\n width: rem(avatarSize.size),\n height: rem(avatarSize.size),\n borderRadius: rem(avatarSize.size / 2),\n },\n }\n })\n}\n\nfunction avatarImageStyle(): CSSObject {\n return {\n position: 'relative',\n }\n}\n\nfunction avatarInitialsStyle(): CSSObject {\n return {\n 'width': '100%',\n 'height': '100%',\n 'color': 'var(--avatar-fg-color)',\n 'alignItems': 'center',\n 'justifyContent': 'center',\n 'textTransform': 'uppercase',\n 'textAlign': 'center',\n 'borderRadius': '50%',\n\n '&:not([hidden])': {\n display: 'flex',\n },\n }\n}\n\nfunction avatarBgStrokeStyle(): CSSObject {\n return {\n strokeWidth: '4px',\n stroke: 'var(--card-bg-color)',\n }\n}\n\nfunction avatarStrokeStyle(): CSSObject {\n return {\n 'strokeWidth': '2px',\n 'stroke': 'var(--avatar-bg-color)',\n\n '[data-status=\"editing\"] &': {\n strokeDasharray: '2 4',\n strokeLinecap: 'round',\n },\n }\n}\n","import {useCallback, useEffect, useId, useState} from 'react'\nimport ReactIs from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {ThemeColorAvatarColorKey} from '../../../theme/system/color/_system'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {AvatarPosition, AvatarSize, AvatarStatus} from '../../types/avatar'\nimport {ElementType, Props} from '../../types/component'\nimport {Label} from '../label/label'\nimport {avatarStyle, responsiveAvatarSizeStyle} from './styles'\n\n/**\n * @public\n */\nexport interface AvatarOwnProps {\n /** @beta */\n __unstable_hideInnerStroke?: boolean\n animateArrowFrom?: AvatarPosition\n arrowPosition?: AvatarPosition\n color?: ThemeColorAvatarColorKey\n initials?: string\n onImageLoadError?: (event: Error) => void\n size?: AvatarSize | AvatarSize[]\n src?: string\n /**\n * The status of the entity this Avatar represents.\n * @alpha\n */\n status?: AvatarStatus\n title?: string\n}\n\n/**\n * @public\n */\nexport type AvatarProps<E extends ElementType = 'div'> = Props<AvatarOwnProps, E>\n\nconst StyledAvatar = styled.div<{$color: ThemeColorAvatarColorKey; $size: AvatarSize[]}>(\n responsiveAvatarSizeStyle,\n avatarStyle.root,\n)\n\nconst Arrow = styled.div(avatarStyle.arrow)\n\nconst BgStroke = styled.ellipse(avatarStyle.bgStroke)\n\nconst Stroke = styled.ellipse(avatarStyle.stroke)\n\nconst Initials = styled.div(avatarStyle.initials)\n\nconst InitialsLabel = styled(Label)({\n color: 'inherit',\n})\n\nconst AvatarImage = styled.svg(avatarStyle.image)\n\nfunction AvatarComponent(\n props: AvatarOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n) {\n const {\n __unstable_hideInnerStroke,\n as: asProp,\n color = 'gray',\n src,\n title,\n initials,\n onImageLoadError,\n arrowPosition: arrowPositionProp,\n animateArrowFrom,\n ref,\n status = 'online',\n size: sizeProp = 1,\n ...restProps\n } = props\n const {avatar} = useTheme_v2()\n const as = ReactIs.isValidElementType(asProp) ? asProp : 'div'\n const size = _getArrayProp(sizeProp)\n\n // @todo: remove this\n const avatarSize = avatar.sizes[size[0]] || avatar.sizes[0]\n const _sizeRem = avatarSize.size\n const _radius = _sizeRem / 2\n\n const elementId = useId()\n const [arrowPosition, setArrowPosition] = useState<AvatarPosition | undefined>(\n animateArrowFrom || arrowPositionProp || 'inside',\n )\n\n const [imageFailed, setImageFailed] = useState<boolean>(false)\n\n const imageId = `avatar-image-${elementId}`\n\n useEffect(() => {\n if (arrowPosition === arrowPositionProp) return undefined\n\n // Start animation in the next frame\n const raf = requestAnimationFrame(() => setArrowPosition(arrowPositionProp))\n\n return () => cancelAnimationFrame(raf)\n }, [arrowPosition, arrowPositionProp])\n\n useEffect(() => {\n // oxlint-disable-next-line react-compiler\n if (src) setImageFailed(false)\n }, [src])\n\n const handleImageError = useCallback(() => {\n setImageFailed(true)\n\n if (onImageLoadError) {\n onImageLoadError(new Error('Avatar: the image failed to load'))\n }\n }, [onImageLoadError])\n\n return (\n <StyledAvatar\n as={as}\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Avatar\"\n {...restProps}\n $color={color}\n $size={size}\n aria-label={title}\n data-arrow-position={arrowPosition}\n data-status={status}\n ref={ref}\n title={title}\n >\n <Arrow>\n <svg width=\"11\" height=\"7\" viewBox=\"0 0 11 7\" fill=\"none\">\n <path\n d=\"M6.67948 1.50115L11 7L0 7L4.32052 1.50115C4.92109 0.736796 6.07891 0.736795 6.67948 1.50115Z\"\n fill={color}\n />\n </svg>\n </Arrow>\n\n {!imageFailed && src && (\n <AvatarImage viewBox={`0 0 ${_sizeRem} ${_sizeRem}`} fill=\"none\">\n <defs>\n <pattern id={imageId} patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <image href={src} width=\"1\" height=\"1\" onError={handleImageError} />\n </pattern>\n </defs>\n\n <circle cx={_radius} cy={_radius} r={_radius} fill={`url(#${imageId})`} />\n\n {!__unstable_hideInnerStroke && (\n <BgStroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n vectorEffect=\"non-scaling-stroke\"\n />\n )}\n\n <Stroke\n cx={_radius}\n cy={_radius}\n rx={_radius}\n ry={_radius}\n vectorEffect=\"non-scaling-stroke\"\n />\n </AvatarImage>\n )}\n\n {(imageFailed || !src) && initials && (\n <>\n <Initials>\n <InitialsLabel\n forwardedAs=\"span\"\n size={size.map((s) => {\n if (s === 1) return 1\n if (s === 2) return 3\n if (s === 3) return 5\n\n return 0\n })}\n weight=\"medium\"\n >\n {initials}\n </InitialsLabel>\n </Initials>\n </>\n )}\n </StyledAvatar>\n )\n}\n\n/**\n * Avatars are used to represent people and other agents (e.g. bots).\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Avatar = AvatarComponent as unknown as <E extends ElementType = 'div'>(\n props: AvatarProps<E>,\n) => React.JSX.Element\n","import {css, styled} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {EMPTY_RECORD} from '../../constants'\nimport {_getArrayProp, _responsive, rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {AvatarSize} from '../../types/avatar'\nimport {Label} from '../label/label'\n\nfunction _responsiveAvatarCounterSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {avatar, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n borderRadius: rem(avatarSize.size / 2),\n minWidth: rem(avatarSize.size),\n height: rem(avatarSize.size),\n }\n })\n}\n\nfunction _avatarCounterBaseStyle(props: ThemeProps) {\n const {space} = getTheme_v2(props.theme)\n\n return css`\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n user-select: none;\n color: inherit;\n color: var(--card-fg-color);\n background: var(--card-bg-color);\n box-shadow:\n 0 0 0 1px var(--card-bg-color),\n inset 0 0 0 1px var(--card-hairline-hard-color);\n padding: 0 ${rem(space[2])};\n\n &:not([hidden]) {\n display: flex;\n }\n `\n}\n\nconst StyledAvatarCounter = styled.div<{$size: AvatarSize[]}>(\n _responsiveAvatarCounterSizeStyle,\n _avatarCounterBaseStyle,\n)\n\n/**\n * @public\n */\nexport interface AvatarCounterProps {\n count: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: never\n}\n\n/**\n * @public\n */\nexport function AvatarCounter(props: AvatarCounterProps & {ref?: React.Ref<HTMLDivElement>}) {\n const {count, ref, size: sizeProp = 1} = props\n const size = _getArrayProp(sizeProp)\n\n return (\n <StyledAvatarCounter $size={size} data-ui=\"AvatarCounter\" ref={ref}>\n <Label\n as=\"span\"\n size={size.map((s) => {\n if (s === 1) return 1\n if (s === 2) return 3\n if (s === 3) return 5\n\n return 0\n })}\n weight=\"medium\"\n >\n {count}\n </Label>\n </StyledAvatarCounter>\n )\n}\n","import {Children, cloneElement, isValidElement} from 'react'\nimport {css, styled} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {EMPTY_RECORD} from '../../constants'\nimport {_getArrayProp, _responsive, rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {AvatarSize} from '../../types/avatar'\nimport {AvatarCounter} from './avatarCounter'\n\nconst BASE_STYLES = css`\n white-space: nowrap;\n\n & > div {\n vertical-align: top;\n\n &:not([hidden]) {\n display: inline-block;\n }\n }\n`\n\nfunction avatarStackStyle() {\n return BASE_STYLES\n}\n\nfunction responsiveAvatarStackSizeStyle(props: {$size: AvatarSize[]} & ThemeProps) {\n const {avatar, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$size, (size) => {\n const avatarSize = avatar.sizes[size]\n\n if (!avatarSize) return EMPTY_RECORD\n\n return {\n '& > div + div': {\n marginLeft: rem(avatarSize.distance),\n },\n }\n })\n}\n\nconst StyledAvatarStack = styled.div<{$size: AvatarSize[]}>(\n responsiveAvatarStackSizeStyle,\n avatarStackStyle,\n)\n\n/**\n * @public\n */\nexport interface AvatarStackProps {\n children: React.ReactNode\n maxLength?: number\n size?: AvatarSize | AvatarSize[]\n /** @deprecated No longer supported. */\n tone?: never\n}\n\n/**\n * @public\n */\nexport function AvatarStack(props: AvatarStackProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>) {\n const {\n children: childrenProp,\n maxLength: maxLengthProp = 4,\n ref,\n size: sizeProp = 1,\n ...restProps\n } = props\n const children: React.JSX.Element[] = Children.toArray(childrenProp).filter(isValidElement)\n const maxLength = Math.max(maxLengthProp, 0)\n const size = _getArrayProp(sizeProp)\n\n const len = children.length\n const visibleCount = maxLength - 1\n const extraCount = len - visibleCount\n const visibleChildren = extraCount > 1 ? children.slice(extraCount, len) : children\n\n return (\n <StyledAvatarStack data-ui=\"AvatarStack\" {...restProps} ref={ref} $size={size}>\n {len === 0 && (\n <div>\n <AvatarCounter count={len} size={size} />\n </div>\n )}\n\n {len !== 0 && extraCount > 1 && (\n <div>\n <AvatarCounter count={extraCount} size={size} />\n </div>\n )}\n\n {visibleChildren.map((child, childIndex) => (\n // oxlint-disable-next-line no-array-index-key\n <div key={String(childIndex)}>{cloneElement(child, {size})}</div>\n ))}\n </StyledAvatarStack>\n )\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {BadgeStyleProps} from './types'\n\nexport function badgeStyle(props: BadgeStyleProps): CSSObject {\n const {$tone} = props\n\n return {\n '--card-bg-color': `var(--card-badge-${$tone}-bg-color)`,\n '--card-fg-color': `var(--card-badge-${$tone}-fg-color)`,\n\n 'backgroundColor': 'var(--card-bg-color)',\n 'cursor': 'default',\n\n '&:not([hidden])': {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n }\n}\n","import {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {BadgeTone} from '../../types/badge'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {Text} from '../text/text'\nimport {ResponsiveRadiusProps} from '../types'\nimport {badgeStyle} from './styles'\nimport {BadgeStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface BadgeOwnProps extends BoxOwnProps, ResponsiveRadiusProps {\n fontSize?: number | number[]\n /** @deprecated No longer used. */\n mode?: never\n tone?: BadgeTone\n}\n\n/**\n * @public\n */\nexport type BadgeProps<E extends ElementType = 'div'> = Props<BadgeOwnProps, E>\n\nconst StyledBadge = styled(Box)<BadgeStyleProps & ResponsiveRadiusStyleProps>(\n responsiveRadiusStyle,\n badgeStyle,\n)\n\nconst BadgeComponent = function Badge(\n props: BadgeOwnProps & {as?: ElementType} & React.HTMLProps<HTMLDivElement>,\n) {\n const {\n children,\n fontSize = 1,\n padding = 1,\n radius = 'full',\n ref,\n tone = 'default',\n ...restProps\n } = props\n\n return (\n <StyledBadge\n data-ui=\"Badge\"\n {...restProps}\n $tone={tone}\n $radius={_getArrayProp(radius)}\n padding={_getArrayProp(padding)}\n ref={ref}\n >\n <Text size={fontSize}>{children}</Text>\n </StyledBadge>\n )\n}\n\n/**\n * Badges are used to tag resources.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Badge = BadgeComponent as unknown as <E extends ElementType = 'div'>(\n props: BadgeProps<E>,\n) => React.JSX.Element\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\n\nexport function checkboxBaseStyles(): ReturnType<typeof css> {\n return css`\n position: relative;\n display: inline-block;\n `\n}\n\nexport function inputElementStyles(props: ThemeProps): ReturnType<typeof css> {\n const {color, input, radius} = getTheme_v2(props.theme)\n const {focusRing} = input.checkbox\n\n return css`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n outline: none;\n opacity: 0;\n z-index: 1;\n padding: 0;\n margin: 0;\n\n & + span {\n position: relative;\n display: block;\n height: ${rem(input.checkbox.size)};\n width: ${rem(input.checkbox.size)};\n box-sizing: border-box;\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n border-radius: ${rem(radius[2])};\n line-height: 1;\n background-color: ${color.input.default.enabled.bg};\n\n & > svg {\n display: block;\n position: absolute;\n opacity: 0;\n height: 100%;\n width: 100%;\n\n & > path {\n vector-effect: non-scaling-stroke;\n stroke-width: 1.5px !important;\n }\n }\n }\n\n &:checked + span {\n background: ${color.input.default.enabled.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.fg,\n width: input.border.width,\n })};\n color: ${color.input.default.enabled.bg};\n }\n\n /* focus */\n &:not(:disabled):focus:focus-visible + span {\n box-shadow: ${focusRingStyle({focusRing})};\n }\n\n /* focus when checked - uses a different offset */\n &:not(:disabled):focus:focus-visible&:checked + span {\n box-shadow: ${focusRingStyle({focusRing: {width: 1, offset: 1}})};\n }\n\n &[data-error] + span {\n background-color: ${color.input.invalid.enabled.border};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.input.invalid.enabled.muted.bg,\n })};\n color: ${color.input.default.disabled.fg};\n }\n &[data-error]&:checked + span {\n background-color: ${color.input.invalid.enabled.muted.bg};\n color: ${color.input.default.enabled.bg};\n }\n &[data-error]&:checked&:not(:disabled):focus:focus-visible + span {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: color.input.invalid.readOnly.muted.bg},\n focusRing: {width: 1, offset: 1},\n })};\n }\n\n &:disabled + span {\n background-color: ${color.input.default.disabled.bg};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.input.default.disabled.border,\n })};\n color: ${color.input.default.disabled.fg};\n }\n &:disabled&:checked + span {\n background-color: ${color.input.default.disabled.muted.bg};\n }\n\n &[data-read-only] + span {\n background-color: ${color.input.default.readOnly.bg};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.input.default.readOnly.border,\n })};\n color: ${color.input.default.readOnly.fg};\n }\n\n &[data-read-only]&:checked + span {\n background-color: ${color.input.default.readOnly.muted.bg};\n }\n\n &:checked + span > svg:first-child {\n opacity: 1;\n }\n &:indeterminate + span > svg:last-child {\n opacity: 1;\n }\n `\n}\n","import {CheckmarkIcon} from '@sanity/icons/Checkmark'\nimport {RemoveIcon} from '@sanity/icons/Remove'\nimport {useEffect, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport {checkboxBaseStyles, inputElementStyles} from './styles'\n\n/**\n * @public\n */\nexport interface CheckboxProps {\n indeterminate?: boolean\n customValidity?: string\n}\n\nconst StyledCheckbox = styled.div(checkboxBaseStyles)\nconst Input = styled.input(inputElementStyles)\n\n/**\n * Checkboxes allow the user to select one or more items from a set.\n *\n * @public\n */\nexport function Checkbox(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & CheckboxProps,\n) {\n const {\n checked,\n className,\n disabled,\n indeterminate,\n customValidity,\n readOnly,\n ref: forwardedRef,\n style,\n ...restProps\n } = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate])\n\n useCustomValidity(ref, customValidity)\n\n return (\n <StyledCheckbox className={className} data-ui=\"Checkbox\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n {...restProps}\n checked={checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n readOnly={readOnly}\n ref={ref}\n />\n <span>\n <CheckmarkIcon />\n <RemoveIcon />\n </span>\n </StyledCheckbox>\n )\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `heading` font style.\n * @internal\n */\nexport function responsiveHeadingFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('heading', props)\n}\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {ThemeProps} from '../../styles/types'\nimport {HeadingStyleProps} from './types'\n\nexport function headingBaseStyle(props: HeadingStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$accent, $muted} = props\n const {font} = getTheme_v2(props.theme)\n\n return css`\n ${\n $accent &&\n css`\n color: var(--card-accent-fg-color);\n `\n }\n\n ${\n $muted &&\n css`\n color: var(--card-muted-fg-color);\n `\n }\n\n & code {\n font-family: ${font.code.family};\n border-radius: 1px;\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n color: var(--card-link-color);\n outline: none;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n box-shadow:\n 0 0 0 1px var(--card-bg-color),\n 0 0 0 3px var(--card-focus-ring-color);\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & strong {\n font-weight: ${font.heading.weights.bold};\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n /* ...and aren't squeezed by resets that set max-width: 100% */\n max-width: unset;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {responsiveHeadingFont} from '../../styles/font/headingFontStyle'\nimport {responsiveTextAlignStyle} from '../../styles/font/textAlignStyle'\nimport {ResponsiveFontStyleProps, ResponsiveTextAlignStyleProps} from '../../styles/font/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {TextAlign} from '../../types/text'\nimport {SpanWithTextOverflow} from '../../utils/spanWithTextOverflow'\nimport {headingBaseStyle} from './styles'\nimport {HeadingStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface HeadingOwnProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\n/**\n * @public\n */\nexport type HeadingProps<E extends ElementType = 'div'> = Props<HeadingOwnProps, E>\n\nconst StyledHeading = styled.div<\n HeadingStyleProps & ResponsiveTextAlignStyleProps & ResponsiveFontStyleProps\n>(headingBaseStyle, responsiveTextAlignStyle, responsiveHeadingFont)\n\nfunction HeadingComponent(\n props: HeadingOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLDivElement>,\n 'as' | 'size'\n >,\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n ref,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <StyledHeading\n data-ui=\"Heading\"\n {...restProps}\n $accent={accent}\n $align={_getArrayProp(align)}\n $muted={muted}\n $size={_getArrayProp(size)}\n $weight={weight}\n ref={ref}\n >\n <span>{children}</span>\n </StyledHeading>\n )\n}\n\n/**\n * Typographic headings.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Heading = HeadingComponent as unknown as <E extends ElementType = 'div'>(\n props: HeadingProps<E>,\n) => React.JSX.Element\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\n\nexport function radioBaseStyle(): ReturnType<typeof css> {\n return css`\n position: relative;\n\n &:not([hidden]) {\n display: inline-block;\n }\n\n &[data-read-only] {\n outline: 1px solid red;\n }\n `\n}\n\nexport function inputElementStyle(props: ThemeProps): ReturnType<typeof css> {\n const {color, input} = getTheme_v2(props.theme)\n const dist = (input.radio.size - input.radio.markSize) / 2\n\n return css`\n appearance: none;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n height: 100%;\n width: 100%;\n outline: none;\n z-index: 1;\n padding: 0;\n margin: 0;\n border-radius: ${rem(input.radio.size / 2)};\n border: none;\n\n /* enabled */\n & + span {\n display: block;\n position: relative;\n height: ${rem(input.radio.size)};\n width: ${rem(input.radio.size)};\n border-radius: ${rem(input.radio.size / 2)};\n background: ${color.input.default.enabled.bg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n\n &::after {\n content: '';\n position: absolute;\n top: ${rem(dist)};\n left: ${rem(dist)};\n height: ${rem(input.radio.markSize)};\n width: ${rem(input.radio.markSize)};\n border-radius: ${rem(input.radio.markSize / 2)};\n background: ${color.input.default.enabled.fg};\n opacity: 0;\n }\n }\n\n /* focused */\n &:not(:disabled):focus + span {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: color.input.default.enabled.border},\n focusRing: input.radio.focusRing,\n })};\n }\n\n &:not(:disabled):focus:not(:focus-visible) + span {\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n &:checked + span::after {\n opacity: 1;\n }\n\n /* customValidity */\n &[data-error] + span {\n background-color: ${color.input.invalid.enabled.border};\n box-shadow: ${focusRingBorderStyle({\n width: input.border.width,\n color: color.input.invalid.enabled.muted.bg,\n })};\n &::after {\n background: ${color.input.invalid.enabled.muted.bg};\n }\n }\n\n /* read only */\n &[data-read-only] + span {\n box-shadow: 0 0 0 1px ${color.input.default.readOnly.border};\n background: ${color.input.default.readOnly.bg};\n\n &::after {\n background: ${color.input.default.readOnly.border};\n }\n }\n\n /* disabled */\n &:not([data-read-only]):disabled + span {\n box-shadow: 0 0 0 1px ${color.input.default.disabled.border};\n background: ${color.input.default.disabled.bg};\n\n &::after {\n background: ${color.input.default.disabled.border};\n }\n }\n `\n}\n","import {useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport {inputElementStyle, radioBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface RadioProps {\n customValidity?: string\n}\n\nconst StyledRadio = styled.div(radioBaseStyle)\nconst Input = styled.input(inputElementStyle)\n\n/**\n * The `Radio` component allows the user to select one option from a set.\n *\n * @public\n */\nexport function Radio(props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & RadioProps) {\n const {\n className,\n disabled,\n style,\n customValidity,\n readOnly,\n ref: forwardedRef,\n ...restProps\n } = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <StyledRadio className={className} data-ui=\"Radio\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-error={customValidity ? '' : undefined}\n {...restProps}\n disabled={disabled || readOnly}\n readOnly={readOnly}\n ref={ref}\n type=\"radio\"\n />\n <span />\n </StyledRadio>\n )\n}\n","import {css} from 'styled-components'\n\nimport {CSSObject} from '../../../theme/system/css'\nimport {ThemeFontSize} from '../../../theme/system/font'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {_responsive, rem} from '../../styles/helpers'\nimport {responsiveInputPaddingIconRightStyle} from '../../styles/input/responsiveInputPaddingStyle'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {ThemeProps} from '../../styles/types'\n\nfunction rootStyle(): ReturnType<typeof css> {\n return css`\n position: relative;\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nfunction inputBaseStyle(props: ThemeProps): ReturnType<typeof css> {\n const {font} = getTheme_v2(props.theme)\n\n return css`\n -webkit-font-smoothing: antialiased;\n appearance: none;\n border: 0;\n font-family: ${font.text.family};\n color: inherit;\n width: 100%;\n outline: none;\n margin: 0;\n\n &:disabled {\n opacity: 1;\n }\n `\n}\n\nfunction inputColorStyle(props: ThemeProps) {\n const {color, input} = getTheme_v2(props.theme)\n\n return css`\n /* enabled */\n background-color: ${color.input.default.enabled.bg};\n color: ${color.input.default.enabled.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n\n /* hovered */\n @media (hover: hover) {\n &:not(:disabled):hover {\n background-color: ${color.input.default.hovered.bg};\n color: ${color.input.default.hovered.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.hovered.border,\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n &:not(:disabled):focus {\n box-shadow: ${focusRingStyle({\n border: {width: input.border.width, color: color.input.default.enabled.border},\n focusRing: input.select.focusRing,\n })};\n }\n\n /* read-only */\n &[data-read-only] {\n background-color: ${color.input.default.readOnly.bg};\n color: ${color.input.default.readOnly.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.readOnly.border,\n width: input.border.width,\n })};\n }\n\n /* disabled */\n &:not([data-read-only]):disabled {\n background-color: ${color.input.default.disabled.bg};\n color: ${color.input.default.disabled.fg};\n box-shadow: ${focusRingBorderStyle({\n color: color.input.default.disabled.border,\n width: input.border.width,\n })};\n }\n `\n}\n\nfunction textSize(size: ThemeFontSize) {\n return {fontSize: rem(size.fontSize), lineHeight: `${rem(size.lineHeight)}`}\n}\n\nfunction inputTextSizeStyle(props: {$fontSize: number[]} & ThemeProps) {\n const {$fontSize} = props\n const {font, media} = getTheme_v2(props.theme)\n\n return _responsive(media, $fontSize, (sizeIndex) =>\n textSize(font.text.sizes[sizeIndex] || font.text.sizes[2]),\n )\n}\n\nfunction inputStyle(): Array<\n | ((\n props: ResponsiveRadiusStyleProps & {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n ) => CSSObject[])\n | ((props: ThemeProps) => ReturnType<typeof css>)\n> {\n return [\n responsiveRadiusStyle,\n inputBaseStyle,\n inputColorStyle,\n inputTextSizeStyle,\n responsiveInputPaddingIconRightStyle,\n ]\n}\n\nfunction iconBoxStyle(props: ThemeProps): ReturnType<typeof css> {\n const {color} = getTheme_v2(props.theme)\n\n return css`\n pointer-events: none;\n position: absolute;\n top: 0;\n right: 0;\n\n /* enabled */\n --card-fg-color: ${color.input.default.enabled.fg};\n\n /* hover */\n @media (hover: hover) {\n select:not(disabled):not(:read-only):hover + && {\n --card-fg-color: ${color.input.default.hovered.fg};\n }\n }\n\n /* disabled */\n select:disabled + && {\n --card-fg-color: ${color.input.default.disabled.fg};\n }\n\n /* read-only */\n select[data-read-only] + && {\n --card-fg-color: ${color.input.default.readOnly.fg};\n }\n `\n}\n\nexport const selectStyle = {\n root: rootStyle,\n input: inputStyle,\n iconBox: iconBoxStyle,\n}\n","import {ChevronDownIcon} from '@sanity/icons/ChevronDown'\nimport {useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {Radius} from '../../types/radius'\nimport {Box} from '../box/box'\nimport {Text} from '../text/text'\nimport {selectStyle} from './styles'\n\n/**\n * @public\n */\nexport interface SelectProps {\n fontSize?: number | number[]\n gap?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n customValidity?: string\n}\n\nconst StyledSelect = styled.div(selectStyle.root)\n\nconst Input = styled.select<{\n $fontSize: number[]\n $padding: number[]\n $radius: Radius[]\n $space: number[]\n}>(selectStyle.input)\n\nconst IconBox = styled(Box)(selectStyle.iconBox)\n\n/**\n * The `Select` component provides control of options.\n *\n * @public\n */\nexport function Select(props: SelectProps & Omit<React.HTMLProps<HTMLSelectElement>, 'as'>) {\n const {\n children,\n customValidity,\n disabled,\n fontSize = 2,\n gap = 3,\n padding = 3,\n radius = 2,\n readOnly,\n ref: forwardedRef,\n ...restProps\n } = props\n\n const ref = useRef<HTMLSelectElement | null>(null)\n\n useImperativeHandle<HTMLSelectElement | null, HTMLSelectElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <StyledSelect data-ui=\"Select\">\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n data-ui=\"Select\"\n {...restProps}\n $fontSize={_getArrayProp(fontSize)}\n $padding={_getArrayProp(padding)}\n $radius={_getArrayProp(radius)}\n $space={_getArrayProp(gap)}\n disabled={disabled || readOnly}\n ref={ref}\n >\n {children}\n </Input>\n\n <IconBox padding={padding}>\n <Text size={fontSize}>\n <ChevronDownIcon />\n </Text>\n </IconBox>\n </StyledSelect>\n )\n}\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {focusRingStyle} from '../../styles/focusRing'\nimport {rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\n\n/* Root */\nexport function switchBaseStyles(): ReturnType<typeof css> {\n return css`\n position: relative;\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\n/* Input */\nexport function switchInputStyles(): ReturnType<typeof css> {\n // Visually hide the input element while keeping it interactive\n return css`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n opacity: 0;\n height: 100%;\n width: 100%;\n outline: none;\n padding: 0;\n margin: 0;\n\n /* Place the input element above the representation element */\n z-index: 1;\n `\n}\n\n/* Representation */\nexport function switchRepresentationStyles(props: ThemeProps): ReturnType<typeof css> {\n const {color, input} = getTheme_v2(props.theme)\n\n return css`\n --switch-bg-color: ${color.input.default.enabled.border};\n --switch-fg-color: ${color.input.default.enabled.bg};\n --switch-box-shadow: none;\n\n &:not([hidden]) {\n display: block;\n }\n position: relative;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n\n /* Make sure it’s not possible to interact with the wrapper element */\n pointer-events: none;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1;\n box-shadow: var(--switch-box-shadow);\n border-radius: inherit;\n }\n\n /* Focus styles */\n input:focus + && {\n --switch-box-shadow: ${focusRingStyle({focusRing: input.switch.focusRing})};\n }\n\n input:focus:not(:focus-visible) + && {\n --switch-box-shadow: none;\n }\n\n input:checked + && {\n --switch-bg-color: ${color.input.default.enabled.fg};\n --switch-fg-color: ${color.input.default.enabled.bg};\n }\n\n @media (hover: hover) {\n input:not(:disabled):hover + && {\n --switch-bg-color: ${color.input.default.hovered.border};\n --switch-fg-color: ${color.input.default.hovered.bg};\n }\n\n input:not(:disabled):checked:hover + && {\n --switch-bg-color: ${color.input.default.enabled.fg};\n --switch-fg-color: ${color.input.default.enabled.bg};\n }\n }\n\n input:not([data-read-only]):disabled + && {\n --switch-bg-color: ${color.input.default.disabled.border};\n --switch-fg-color: ${color.input.default.disabled.bg};\n }\n\n input[data-read-only]:disabled + && {\n --switch-bg-color: ${color.input.default.readOnly.border};\n --switch-fg-color: ${color.input.default.readOnly.bg};\n }\n\n input:checked[data-read-only]:disabled + && {\n --switch-bg-color: ${color.input.default.readOnly.fg};\n --switch-fg-color: ${color.input.default.readOnly.bg};\n }\n `\n}\n\n/* Track */\nexport function switchTrackStyles(props: ThemeProps): ReturnType<typeof css> {\n const {input} = getTheme_v2(props.theme)\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n background-color: var(--switch-bg-color);\n position: absolute;\n left: 0;\n top: 0;\n width: ${rem(input.switch.width)};\n height: ${rem(input.switch.height)};\n border-radius: ${rem(input.switch.height / 2)};\n `\n}\n\n/* Thumb */\nexport function switchThumbStyles(\n props: {$checked?: boolean; $indeterminate?: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$indeterminate} = props\n const {input} = getTheme_v2(props.theme)\n const trackWidth = input.switch.width\n const trackHeight = input.switch.height\n const trackPadding = input.switch.padding\n const size = trackHeight - input.switch.padding * 2\n const checkedOffset = trackWidth - trackPadding * 2 - size\n const indeterminateOffset = trackWidth / 2 - size / 2 - trackPadding\n const checked = $indeterminate !== true && props.$checked === true\n\n return css`\n &:not([hidden]) {\n display: block;\n }\n position: absolute;\n left: ${rem(trackPadding)};\n top: ${rem(trackPadding)};\n height: ${rem(size)};\n width: ${rem(size)};\n border-radius: ${rem(size / 2)};\n transition-property: transform;\n transition-duration: ${input.switch.transitionDurationMs}ms;\n transition-timing-function: ${input.switch.transitionTimingFunction};\n background: var(--switch-fg-color);\n transform: translate3d(0, 0, 0);\n box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.05);\n\n ${\n checked &&\n css`\n transform: translate3d(${checkedOffset}px, 0, 0);\n `\n }\n\n ${\n $indeterminate &&\n css`\n transform: translate3d(${indeterminateOffset}px, 0, 0);\n `\n }\n `\n}\n","import {useEffect, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {\n switchBaseStyles,\n switchInputStyles,\n switchRepresentationStyles,\n switchThumbStyles,\n switchTrackStyles,\n} from './styles'\n\n/**\n * @public\n */\nexport interface SwitchProps {\n indeterminate?: boolean\n}\n\nconst StyledSwitch = styled.span(switchBaseStyles)\nconst Input = styled.input(switchInputStyles)\nconst Representation = styled.span(switchRepresentationStyles)\nconst Track = styled.span(switchTrackStyles)\nconst Thumb = styled.span<{$checked?: boolean; $indeterminate?: boolean}>(switchThumbStyles)\n\n/**\n * The `Switch` component allows the user to toggle a setting on and off.\n *\n * Extends all properties of an `<input type=\"checkbox\" />` element, except type.\n *\n * @public\n */\nexport function Switch(\n props: Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'type'> & SwitchProps,\n) {\n const {\n checked,\n className,\n disabled,\n indeterminate,\n readOnly,\n ref: forwardedRef,\n style,\n ...restProps\n } = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useEffect(() => {\n if (ref.current) {\n // Set the indeterminate state\n ref.current.indeterminate = indeterminate || false\n }\n }, [indeterminate])\n\n return (\n <StyledSwitch className={className} data-ui=\"Switch\" style={style}>\n <Input\n data-read-only={!disabled && readOnly ? '' : undefined}\n {...restProps}\n checked={indeterminate !== true && checked}\n disabled={disabled || readOnly}\n type=\"checkbox\"\n ref={ref}\n />\n <Representation aria-hidden data-name=\"representation\">\n <Track />\n <Thumb $checked={checked} $indeterminate={indeterminate} />\n </Representation>\n </StyledSwitch>\n )\n}\n","import {useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {\n responsiveInputPaddingStyle,\n TextInputResponsivePaddingStyleProps,\n} from '../../styles/input/responsiveInputPaddingStyle'\nimport {\n textInputBaseStyle,\n textInputFontSizeStyle,\n TextInputInputStyleProps,\n textInputRepresentationStyle,\n TextInputRepresentationStyleProps,\n textInputRootStyle,\n} from '../../styles/input/textInputStyle'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {useRootTheme} from '../../theme/useRootTheme'\nimport {ResponsiveRadiusProps} from '../types'\n\n/**\n * @public\n */\nexport interface TextAreaProps extends ResponsiveRadiusProps {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n border?: boolean\n customValidity?: string\n fontSize?: number | number[]\n padding?: number | number[]\n weight?: ThemeFontWeightKey\n}\n\nconst StyledTextArea = styled.span(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Input = styled.textarea<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.div<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\n/**\n * A multiline text input.\n *\n\n * @public\n */\nexport function TextArea(props: TextAreaProps & Omit<React.HTMLProps<HTMLTextAreaElement>, 'as'>) {\n const {\n border = true,\n customValidity,\n disabled = false,\n fontSize = 2,\n padding = 3,\n radius = 2,\n ref: forwardedRef,\n weight,\n __unstable_disableFocusRing,\n ...restProps\n } = props\n\n const ref = useRef<HTMLTextAreaElement | null>(null)\n\n const rootTheme = useRootTheme()\n\n useImperativeHandle<HTMLTextAreaElement | null, HTMLTextAreaElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n return (\n <StyledTextArea data-ui=\"TextArea\">\n <InputRoot>\n <Input\n data-as=\"textarea\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={_getArrayProp(fontSize)}\n $padding={_getArrayProp(padding)}\n $scheme={rootTheme.scheme}\n $space={_getArrayProp(0)}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n ref={ref}\n />\n <Presentation\n $radius={_getArrayProp(radius)}\n $unstableDisableFocusRing={__unstable_disableFocusRing}\n $scheme={rootTheme.scheme}\n $tone={rootTheme.tone}\n data-border={border ? '' : undefined}\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n />\n </InputRoot>\n </StyledTextArea>\n )\n}\n","import {useMemo} from 'react'\n\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\n/**\n * @public\n */\nexport interface BoundaryElementProviderProps {\n children: React.ReactNode\n element: HTMLElement | null\n}\n\n/**\n * @public\n */\nexport function BoundaryElementProvider(props: BoundaryElementProviderProps): React.JSX.Element {\n const {children, element} = props\n const value: BoundaryElementContextValue = useMemo(() => ({version: 0.0, element}), [element])\n\n return <BoundaryElementContext.Provider value={value}>{children}</BoundaryElementContext.Provider>\n}\n","/**\n * @internal\n * @deprecated ConditionalWrapper was removed in @sanity/ui v4. Inline the conditional wrapping logic instead.\n */\nexport function ConditionalWrapper(_props?: never): never {\n throw new Error(\n '`ConditionalWrapper` was removed in @sanity/ui v4. Inline the conditional wrapping logic instead.',\n )\n}\n","export function findMaxBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp > width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n\nexport function findMinBreakpoints(media: number[], width: number): number[] {\n const ret: number[] = []\n\n for (let i = 0; i < media.length; i += 1) {\n const bp = media[i]\n\n if (bp <= width) {\n ret.push(i)\n }\n }\n\n return ret\n}\n","import {useImperativeHandle, useMemo, useState} from 'react'\n\nimport {useElementSize} from '../../hooks/useElementSize'\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {findMaxBreakpoints, findMinBreakpoints} from './helpers'\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport interface MediaQueryProps {\n as?: React.ElementType | keyof React.JSX.IntrinsicElements\n media?: number[]\n}\n\n/**\n * DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function ElementQuery(\n props: MediaQueryProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'media'>,\n) {\n const theme = useTheme_v2()\n const {children, media: _media, ref: forwardedRef, ...restProps} = props\n const media = _media ?? theme.media\n\n const [element, setElement] = useState<HTMLDivElement | null>(null)\n const elementSize = useElementSize(element)\n const width = useMemo(() => elementSize?.border.width ?? window.innerWidth, [elementSize])\n\n const max = useMemo(() => {\n const eq = findMaxBreakpoints(media, width)\n\n return eq.length ? eq.join(' ') : undefined\n }, [media, width])\n const min = useMemo(() => {\n const eq = findMinBreakpoints(media, width)\n\n return eq.length ? eq.join(' ') : undefined\n }, [media, width])\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => element, [\n element,\n ])\n\n return (\n <div data-ui=\"ElementQuery\" {...restProps} data-eq-max={max} data-eq-min={min} ref={setElement}>\n {children}\n </div>\n )\n}\n","import {Component, PropsWithChildren} from 'react'\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport type ErrorBoundaryProps = PropsWithChildren<{\n onCatch: (params: {error: Error; info: React.ErrorInfo}) => void\n}>\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport interface ErrorBoundaryState {\n error: Error | null\n}\n\n/**\n * DO NOT USE IN PRODUCTION\n * @beta\n */\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n state: ErrorBoundaryState = {error: null}\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return {error}\n }\n\n componentDidCatch(error: Error, info: React.ErrorInfo): void {\n this.props.onCatch({error, info})\n }\n\n render(): React.ReactNode {\n const {error} = this.state\n\n if (error) {\n const message = typeof error?.message === 'string' ? error.message : 'Error'\n\n // A plain element rather than the `Code` primitive: `Code` lives on the\n // `@sanity/ui/code` entry point (it lazy-loads `react-refractor`), and\n // the root entry point must not reference that module graph.\n return (\n <pre data-ui=\"ErrorBoundary\">\n <code>{message}</code>\n </pre>\n )\n }\n\n return this.props.children\n }\n}\n","import {useMemo, useSyncExternalStore} from 'react'\n\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport interface PortalProviderProps {\n /**\n * @deprecated Use `<BoundaryElementProvider element={...} />` instead\n */\n boundaryElement?: HTMLElement | null\n children: React.ReactNode\n element?: HTMLElement | null\n /**\n * @beta\n */\n __unstable_elements?: Record<string, HTMLElement | null | undefined>\n}\n\n/**\n * @public\n */\nexport function PortalProvider(props: PortalProviderProps): React.JSX.Element {\n // oxlint-disable-next-line no-deprecated\n const {boundaryElement, children, element, __unstable_elements: elements} = props\n const fallbackElement = useSyncExternalStore(\n emptySubscribe,\n () => document.body,\n () => null,\n )\n\n const value: PortalContextValue = useMemo(() => {\n return {\n version: 0.0,\n boundaryElement: boundaryElement || null,\n element: element || fallbackElement,\n elements,\n }\n }, [boundaryElement, element, elements, fallbackElement])\n\n return <PortalContext.Provider value={value}>{children}</PortalContext.Provider>\n}\n\nconst emptySubscribe = () => () => {}\n","import {style} from '@vanilla-extract/css'\n\nexport const srOnly = style({\n display: 'block',\n width: 0,\n height: 0,\n position: 'absolute',\n overflow: ['hidden', 'clip'],\n})\n","import {srOnly} from './srOnly.css'\n\n/**\n * @public\n */\nexport interface SrOnlyProps {\n as?: React.ElementType | keyof React.JSX.IntrinsicElements\n children?: React.ReactNode\n}\n\n/**\n * @public\n */\nexport function SrOnly(\n props: SrOnlyProps & Omit<React.HTMLProps<HTMLDivElement>, 'aria-hidden' | 'as'>,\n) {\n const {as = 'div', children, ref} = props\n // Rendering the polymorphic `as` needs one concrete element type for JSX to\n // type-check the div-flavored props (the same widening styled-components'\n // `as` prop performed here before).\n // oxlint-disable-next-line no-unsafe-type-assertion\n const Component = as as 'div'\n\n return (\n <Component aria-hidden className={srOnly} data-ui=\"SrOnly\" ref={ref}>\n {children}\n </Component>\n )\n}\n","import {useEffect, useImperativeHandle, useRef, useState} from 'react'\nimport {styled} from 'styled-components'\n\nimport {_isScrollable} from '../../helpers/scroll'\nimport {StackOwnProps} from '../../primitives/stack/stack'\nimport {useTheme_v2} from '../../theme/useTheme'\n\n/**\n * @beta\n */\nexport interface VirtualListChangeOpts {\n fromIndex: number\n gap: number\n itemHeight: number\n scrollHeight: number\n scrollTop: number\n toIndex: number\n}\n\n/**\n * @beta\n */\nexport interface VirtualListProps<Item = any> {\n as?: React.ElementType | keyof React.JSX.IntrinsicElements\n gap?: number\n getItemKey?: (item: Item, itemIndex: number) => string\n items?: Item[]\n onChange?: (opts: VirtualListChangeOpts) => void\n renderItem?: (item: Item) => React.ReactNode\n}\n\nconst StyledVirtualList = styled.div`\n position: relative;\n`\n\nconst ItemWrapper = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n`\n\n/**\n * @beta\n */\nexport function VirtualList(\n props: VirtualListProps &\n StackOwnProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'onChange'>,\n): React.JSX.Element {\n const {\n as = 'div',\n gap = 0,\n getItemKey,\n items = [],\n onChange,\n ref: forwardedRef,\n renderItem,\n ...restProps\n } = props\n const {space} = useTheme_v2()\n const ref = useRef<HTMLDivElement | null>(null)\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n const [scrollTop, setScrollTop] = useState(0)\n const [scrollHeight, setScrollHeight] = useState(0)\n const [itemHeight, setItemHeight] = useState(-1)\n\n // Sync ref to parent\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n useEffect(() => {\n if (!wrapperRef.current) return\n\n const firstElement = wrapperRef.current.firstChild\n\n if (firstElement instanceof HTMLElement) {\n setItemHeight(firstElement.offsetHeight)\n }\n }, [renderItem])\n\n useEffect((): (() => void) | undefined => {\n if (!ref.current) return\n\n const scrollEl = findScrollable(ref.current.parentNode)\n\n if (scrollEl) {\n if (!(scrollEl instanceof HTMLElement)) return\n\n const handleScroll = () => {\n setScrollTop(scrollEl.scrollTop)\n }\n\n scrollEl.addEventListener('scroll', handleScroll, {passive: true})\n\n const ro = new ResizeObserver((entries) => {\n setScrollHeight(entries[0].contentRect.height)\n })\n\n ro.observe(scrollEl)\n\n handleScroll()\n\n // oxlint-disable-next-line consistent-return\n return () => {\n scrollEl.removeEventListener('scroll', handleScroll)\n\n ro.unobserve(scrollEl)\n ro.disconnect()\n }\n }\n\n const handleScroll = () => {\n setScrollTop(window.scrollY)\n }\n\n const handleResize = () => {\n setScrollHeight(window.innerHeight)\n }\n\n window.addEventListener('scroll', handleScroll, {passive: true})\n window.addEventListener('resize', handleResize)\n\n setScrollHeight(window.innerHeight)\n\n handleScroll()\n\n // oxlint-disable-next-line consistent-return\n return () => {\n window.removeEventListener('scroll', handleScroll)\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n const len = items.length\n const height = itemHeight ? len * (itemHeight + space[gap]) - space[gap] : 0\n const fromIndex = height ? Math.max(Math.floor((scrollTop / height) * len) - 2, 0) : 0\n const toIndex = height ? Math.ceil(((scrollTop + scrollHeight) / height) * len) + 1 : 0\n\n useEffect(() => {\n if (!onChange) return\n onChange({fromIndex, gap: space[gap], itemHeight, scrollHeight, scrollTop, toIndex})\n }, [fromIndex, gap, itemHeight, onChange, scrollHeight, scrollTop, space, toIndex])\n\n const children = useChildren({\n fromIndex,\n gap,\n itemHeight,\n space,\n toIndex,\n getItemKey,\n items,\n renderItem,\n })\n\n return (\n // styled-components 6.5 distributes PolymorphicCallProps over ElementType and hits TS2589;\n // narrow the call-site target while still passing the real value.\n // oxlint-disable-next-line no-unsafe-type-assertion\n <StyledVirtualList as={as as 'div'} data-ui=\"VirtualList\" {...restProps} ref={ref}>\n <div ref={wrapperRef} style={{height}}>\n {children}\n </div>\n </StyledVirtualList>\n )\n}\n\nfunction useChildren({\n fromIndex,\n gap,\n getItemKey,\n itemHeight,\n items,\n renderItem,\n space,\n toIndex,\n}: Pick<VirtualListProps, 'getItemKey' | 'renderItem'> &\n Required<Pick<VirtualListProps, 'items'>> & {\n fromIndex: number\n gap: number\n itemHeight: number\n space: number[]\n toIndex: number\n }) {\n if (!renderItem || items.length === 0) return null\n\n if (itemHeight === -1) {\n return [<ItemWrapper key={0}>{renderItem(items[0])}</ItemWrapper>]\n }\n\n return items.slice(fromIndex, toIndex).map((item, _itemIndex) => {\n const itemIndex = fromIndex + _itemIndex\n const node = renderItem(item)\n const key = getItemKey ? getItemKey(item, itemIndex) : itemIndex\n\n return (\n <ItemWrapper key={key} style={{top: itemIndex * (itemHeight + space[gap])}}>\n {node}\n </ItemWrapper>\n )\n })\n}\n\nfunction findScrollable(parentNode: ParentNode | null) {\n let _scrollEl = parentNode\n\n while (_scrollEl && !_isScrollable(_scrollEl)) {\n _scrollEl = _scrollEl.parentNode\n }\n\n return _scrollEl\n}\n"],"mappings":"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"}
|