@sanity/ui 4.0.4 → 4.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/{arrow-D0mvjJMb.js → arrow-BaqZdFUX.js} +5 -5
  2. package/dist/arrow-BaqZdFUX.js.map +1 -0
  3. package/dist/autocomplete.js +7 -7
  4. package/dist/autocomplete.js.map +1 -1
  5. package/dist/breadcrumbs.js +6 -6
  6. package/dist/breadcrumbs.js.map +1 -1
  7. package/dist/{button-QO2lWHVH.js → button-DpAiERt1.js} +6 -6
  8. package/dist/button-DpAiERt1.js.map +1 -0
  9. package/dist/code.js +1 -1
  10. package/dist/code.js.map +1 -1
  11. package/dist/codeFontStyle-aWvllgWi.js.map +1 -1
  12. package/dist/element-BYgCE_iK.js.map +1 -1
  13. package/dist/factory-BA3gEfyI.js.map +1 -1
  14. package/dist/{flex-C9NHtXFi.js → flex-C6SsHFy8.js} +3 -3
  15. package/dist/flex-C6SsHFy8.js.map +1 -0
  16. package/dist/getElementRef-5HZQ-Owu.js.map +1 -1
  17. package/dist/getScopedTheme-C-sZsyAz.js.map +1 -1
  18. package/dist/getTheme_v2-y09KqtEb.js.map +1 -1
  19. package/dist/{grid-Cr7qKmZQ.js → grid-3kBnMOwF.js} +3 -3
  20. package/dist/grid-3kBnMOwF.js.map +1 -0
  21. package/dist/helpers-JV5y3U_M.js.map +1 -1
  22. package/dist/{hotkeys-DyrSy500.js → hotkeys-BYRfM-HW.js} +10 -10
  23. package/dist/hotkeys-BYRfM-HW.js.map +1 -0
  24. package/dist/index.js +57 -57
  25. package/dist/index.js.map +1 -1
  26. package/dist/{layer-DcsNupeg.js → layer-DsScTlqC.js} +3 -3
  27. package/dist/layer-DsScTlqC.js.map +1 -0
  28. package/dist/menu.js +8 -8
  29. package/dist/menu.js.map +1 -1
  30. package/dist/{popover-5fEUllFf.js → popover-C2DFbwZu.js} +6 -6
  31. package/dist/popover-C2DFbwZu.js.map +1 -0
  32. package/dist/popover.js +1 -1
  33. package/dist/refractor-CC48DwHi.js.map +1 -1
  34. package/dist/responsiveFont-BwYElGq4.js.map +1 -1
  35. package/dist/{stack-B2zXPxzb.js → stack-wyPeapSx.js} +4 -4
  36. package/dist/stack-wyPeapSx.js.map +1 -0
  37. package/dist/{textInput-CgNWWr7H.js → textInput-DW447nYT.js} +14 -14
  38. package/dist/textInput-DW447nYT.js.map +1 -0
  39. package/dist/theme.js.map +1 -1
  40. package/dist/toast.js +11 -11
  41. package/dist/toast.js.map +1 -1
  42. package/dist/tooltip.js +5 -5
  43. package/dist/tooltip.js.map +1 -1
  44. package/dist/useClickOutsideEvent-DbLUuPQ6.js.map +1 -1
  45. package/dist/useElementSize-BJvbGHq8.js.map +1 -1
  46. package/dist/{useLayer-UpfaKlm7.js → useLayer-Dhme0dcp.js} +11 -11
  47. package/dist/useLayer-Dhme0dcp.js.map +1 -0
  48. package/package.json +3 -3
  49. package/dist/arrow-D0mvjJMb.js.map +0 -1
  50. package/dist/button-QO2lWHVH.js.map +0 -1
  51. package/dist/flex-C9NHtXFi.js.map +0 -1
  52. package/dist/grid-Cr7qKmZQ.js.map +0 -1
  53. package/dist/hotkeys-DyrSy500.js.map +0 -1
  54. package/dist/layer-DcsNupeg.js.map +0 -1
  55. package/dist/popover-5fEUllFf.js.map +0 -1
  56. package/dist/stack-B2zXPxzb.js.map +0 -1
  57. package/dist/textInput-CgNWWr7H.js.map +0 -1
  58. package/dist/useLayer-UpfaKlm7.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"stack-B2zXPxzb.js","names":["CSSObject","getTheme_v2","_responsive","ThemeProps","ResponsiveTextAlignStyleProps","responsiveTextAlignStyle","props","media","theme","$align","textAlign","CSSObject","ThemeProps","responsiveFont","ResponsiveFontStyleProps","responsiveTextFont","props","spanWithTextOverflow","SpanWithTextOverflow","props","$","_c","t0","children","css","getTheme_v2","ThemeProps","textBaseStyle","props","$accent","$muted","ReturnType","font","theme","code","family","text","weights","bold","styled","ThemeFontWeightKey","responsiveTextAlignStyle","responsiveTextFont","ResponsiveFontStyleProps","_getArrayProp","ElementType","Props","TextAlign","SpanWithTextOverflow","textBaseStyle","TextOwnProps","accent","align","muted","size","textOverflow","weight","TextProps","E","StyledText","div","TextComponent","props","$","_c","childrenProp","ref","restProps","t0","t1","t2","children","undefined","t3","t4","t5","t6","Text","React","JSX","Element","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveStackSpaceStyleProps","$space","BASE_STYLE","display","listStyle","stackBaseStyle","responsiveStackSpaceStyle","props","media","space","theme","spaceIndex","gridGap","styled","_getArrayProp","ElementType","Props","Box","BoxOwnProps","responsiveStackSpaceStyle","ResponsiveStackSpaceStyleProps","stackBaseStyle","StackOwnProps","gap","space","StackProps","E","StyledStack","StackComponent","props","$","_c","as","ref","restProps","t0","undefined","t1","t2","Stack","React","JSX","Element"],"sources":["../src/core/styles/font/textAlignStyle.ts","../src/core/styles/font/textFontStyle.ts","../src/core/utils/spanWithTextOverflow.css.ts","../src/core/utils/spanWithTextOverflow.tsx","../src/core/primitives/text/styles.ts","../src/core/primitives/text/text.tsx","../src/core/primitives/stack/styles.ts","../src/core/primitives/stack/stack.tsx"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveTextAlignStyleProps} from './types'\n\n/**\n * Get responsive text align styles.\n * @internal\n */\nexport function responsiveTextAlignStyle(\n props: ResponsiveTextAlignStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$align, (textAlign) => {\n return {textAlign}\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 `text` font style.\n * @internal\n */\nexport function responsiveTextFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('text', props)\n}\n","import {style} from '@vanilla-extract/css'\n\nexport const spanWithTextOverflow = style({\n display: 'block',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: ['hidden', 'clip'],\n})\n","import {spanWithTextOverflow} from './spanWithTextOverflow.css'\n\n/** @internal */\nexport function SpanWithTextOverflow(props: {children?: React.ReactNode}): React.JSX.Element {\n return <span className={spanWithTextOverflow}>{props.children}</span>\n}\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {ThemeProps} from '../../styles/types'\n\nexport function textBaseStyle(\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 color: var(--card-fg-color);\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 background-color: var(--card-code-bg-color);\n color: var(--card-code-fg-color);\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.text.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 color: var(--card-icon-color);\n\n & path {\n vector-effect: non-scaling-stroke !important;\n }\n }\n `\n}\n","import {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {responsiveTextAlignStyle} from '../../styles/font/textAlignStyle'\nimport {responsiveTextFont} from '../../styles/font/textFontStyle'\nimport {ResponsiveFontStyleProps} 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 {textBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface TextOwnProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n /** When `true` the text color will be muted. */\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 TextProps<E extends ElementType = 'div'> = Props<TextOwnProps, E>\n\nconst StyledText = styled.div<ResponsiveFontStyleProps>(\n responsiveTextFont,\n responsiveTextAlignStyle,\n textBaseStyle,\n)\n\nfunction TextComponent(\n props: TextOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\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 <StyledText\n data-ui=\"Text\"\n {...restProps}\n $accent={accent}\n $align={_getArrayProp(align)}\n $muted={muted}\n ref={ref}\n $size={_getArrayProp(size)}\n $weight={weight}\n >\n <span>{children}</span>\n </StyledText>\n )\n}\n\n/**\n * The `Text` component is an agile, themed typographic element.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Text = TextComponent as unknown as <E extends ElementType = 'div'>(\n props: TextProps<E>,\n) => React.JSX.Element\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'\n\nexport interface ResponsiveStackSpaceStyleProps {\n $space: number[]\n}\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n 'gridTemplateColumns': 'minmax(0, 1fr)',\n 'gridAutoRows': 'min-content',\n}\n\nexport function stackBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveStackSpaceStyle(\n props: ResponsiveStackSpaceStyleProps & ThemeProps,\n): CSSObject[] {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$space, (spaceIndex) => ({\n // oxlint-disable-next-line no-deprecated\n gridGap: rem(space[spaceIndex]),\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 {responsiveStackSpaceStyle, ResponsiveStackSpaceStyleProps, stackBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface StackOwnProps extends BoxOwnProps {\n gap?: number | number[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n}\n\n/**\n * @public\n */\nexport type StackProps<E extends ElementType = 'div'> = Props<StackOwnProps, E>\n\nconst StyledStack = styled(Box)<ResponsiveStackSpaceStyleProps>(\n stackBaseStyle,\n responsiveStackSpaceStyle,\n)\n\nfunction StackComponent(\n props: StackOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n) {\n const {as, gap, ref, ...restProps} = props\n\n return (\n <StyledStack\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Stack\"\n {...restProps}\n $space={_getArrayProp(gap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n}\n\n/**\n * The `Stack` component is used to place elements on top of each other.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Stack = StackComponent as unknown as <E extends ElementType = 'div'>(\n props: StackProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"textInput-CgNWWr7H.js","names":["isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","_hasFocus","element","HTMLElement","Boolean","document","activeElement","contains","isFocusable","tabIndex","getAttribute","href","rel","type","disabled","attemptFocus","focus","focusFirstDescendant","i","childNodes","length","child","focusLastDescendant","useEffect","useCustomValidity","ref","customValidity","$","_c","t0","t1","current","setCustomValidity","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","TextInputResponsivePaddingStyleProps","$fontSize","$iconLeft","$iconRight","$padding","$space","responsiveInputPaddingStyle","props","font","media","space","theme","len","Math","max","length","_padding","_space","_fontSize","i","undefined","_","size","text","sizes","emSize","lineHeight","ascenderHeight","descenderHeight","p","s","styles","paddingTop","paddingRight","paddingBottom","paddingLeft","responsiveInputPaddingIconRightStyle","css","ThemeColorSchemeKey","CSSObject","ThemeFontWeightKey","getTheme_v2","CardTone","focusRingBorderStyle","focusRingStyle","_responsive","rem","ThemeProps","TextInputInputStyleProps","$fontSize","$scheme","$tone","$weight","TextInputRepresentationStyleProps","$hasPrefix","$hasSuffix","$unstableDisableFocusRing","ROOT_STYLE","textInputRootStyle","ReturnType","textInputBaseStyle","props","color","font","theme","text","family","weights","regular","input","default","enabled","fg","placeholder","disabled","invalid","readOnly","textInputFontSizeStyle","media","sizeIndex","size","sizes","fontSize","lineHeight","textInputRepresentationStyle","undefined","bg","border","width","focusRing","hovered","CloseIcon","isValidElement","useCallback","useImperativeHandle","useMemo","useRef","isValidElementType","styled","ThemeFontWeightKey","EMPTY_RECORD","useCustomValidity","_getArrayProp","responsiveInputPaddingStyle","TextInputResponsivePaddingStyleProps","textInputBaseStyle","textInputFontSizeStyle","TextInputInputStyleProps","textInputRepresentationStyle","TextInputRepresentationStyleProps","textInputRootStyle","responsiveRadiusStyle","ResponsiveRadiusStyleProps","useRootTheme","Radius","Box","Button","ButtonOwnProps","Card","Text","TextInputClearButtonProps","Omit","React","HTMLProps","HTMLButtonElement","TextInputType","TextInputProps","__unstable_disableFocusRing","border","clearButton","customValidity","fontSize","icon","ElementType","ReactNode","iconRight","onClear","padding","prefix","radius","space","gap","suffix","type","weight","CLEAR_BUTTON_BOX_STYLE","CSSProperties","zIndex","StyledTextInput","attrs","forwardedAs","InputRoot","span","Prefix","Suffix","Input","input","Presentation","LeftBox","RightBox","RightCard","TextInputClearButton","display","TextInput","props","$","_c","IconComponent","IconRightComponent","forwardedRef","readOnly","restProps","t0","t1","t2","t3","t4","t5","t6","disabled","ref","undefined","fontSizeProp","paddingProp","radiusProp","rootTheme","t7","t8","t9","t10","$hasClearButton","Boolean","$hasIcon","$hasIconRight","$hasSuffix","$hasPrefix","t11","Symbol","for","current","handleClearMouseDown","_temp","t12","event_0","event","preventDefault","stopPropagation","focus","handleClearClick","t13","prefixNode","t14","t15","t16","t17","scheme","tone","presentationNode","t18","map","_temp2","clearButtonBoxPadding","t19","_temp3","clearButtonPadding","clearButtonProps","t20","clearButtonNode","t21","suffixNode","t22","t23","t24","t25","v_0","v"],"sources":["../src/core/helpers/animation.ts","../src/core/helpers/focus.ts","../src/core/hooks/useCustomValidity.ts","../src/core/styles/input/responsiveInputPaddingStyle.ts","../src/core/styles/input/textInputStyle.ts","../src/core/primitives/textInput/textInput.tsx"],"sourcesContent":["/**\n * @internal\n */\nexport function _raf(fn: () => void): () => void {\n const frameId = requestAnimationFrame(fn)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n}\n\n/**\n * @internal\n */\nexport function _raf2(fn: () => void): () => void {\n let innerDispose: (() => void) | null = null\n\n const outerDispose = _raf(() => {\n innerDispose = _raf(fn)\n })\n\n return () => {\n if (innerDispose) innerDispose()\n\n outerDispose()\n }\n}\n","import {\n isHTMLAnchorElement,\n isHTMLButtonElement,\n isHTMLElement,\n isHTMLInputElement,\n isHTMLSelectElement,\n isHTMLTextAreaElement,\n} from './element'\n\n// export const globalFocusState = {\n// IgnoreUtilFocusChanges: false,\n// }\n\n/**\n * @internal\n */\nexport function _hasFocus(element: HTMLElement): boolean {\n return Boolean(document.activeElement) && element.contains(document.activeElement)\n}\n\n/**\n * @internal\n */\nexport function isFocusable(element: HTMLElement): boolean {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n\n if (isHTMLAnchorElement(element)) {\n return Boolean(element.href) && element.rel !== 'ignore'\n }\n\n if (isHTMLInputElement(element)) {\n return element.type !== 'hidden' && element.type !== 'file' && !element.disabled\n }\n\n if (\n isHTMLButtonElement(element) ||\n isHTMLSelectElement(element) ||\n isHTMLTextAreaElement(element)\n ) {\n return !element.disabled\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function attemptFocus(element: HTMLElement): boolean {\n if (!isFocusable(element)) {\n return false\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = true\n\n try {\n element.focus()\n } catch {\n // ignore\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = false\n\n return document.activeElement === element\n}\n\n/**\n * @internal\n */\nexport function focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusFirstDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useCustomValidity(\n ref: {current: null | {setCustomValidity: (validity: string) => void}},\n customValidity: string | undefined,\n): void {\n useEffect(() => {\n ref.current?.setCustomValidity(customValidity || '')\n }, [customValidity, ref])\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\n\nexport interface TextInputResponsivePaddingStyleProps {\n $fontSize: number[]\n $iconLeft?: boolean\n $iconRight?: boolean\n $padding: number[]\n $space: number[]\n}\n\nexport function responsiveInputPaddingStyle(\n props: TextInputResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[] {\n const {$fontSize, $iconLeft, $iconRight, $padding, $space} = props\n const {font, media, space} = getTheme_v2(props.theme)\n const len = Math.max($padding.length, $space.length, $fontSize.length)\n const _padding: number[] = []\n const _space: number[] = []\n const _fontSize: number[] = []\n\n for (let i = 0; i < len; i += 1) {\n _fontSize[i] = $fontSize[i] === undefined ? _fontSize[i - 1] : $fontSize[i]\n _padding[i] = $padding[i] === undefined ? _padding[i - 1] : $padding[i]\n _space[i] = $space[i] === undefined ? _space[i - 1] : $space[i]\n }\n\n return _responsive(media, _padding, (_, i) => {\n const size = font.text.sizes[_fontSize[i]] || font.text.sizes[2]\n const emSize = size.lineHeight - size.ascenderHeight - size.descenderHeight\n const p = space[_padding[i]]\n const s = space[_space[i]]\n\n const styles = {\n paddingTop: rem(p - size.ascenderHeight),\n paddingRight: rem(p),\n paddingBottom: rem(p - size.descenderHeight),\n paddingLeft: rem(p),\n }\n\n if ($iconRight) styles.paddingRight = rem(p + emSize + s)\n if ($iconLeft) styles.paddingLeft = rem(p + emSize + s)\n\n return styles\n })\n}\n\nexport function responsiveInputPaddingIconRightStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconRight: true})\n}\n","import {css} from 'styled-components'\n\nimport {ThemeColorSchemeKey} from '../../../theme/system/color/_system'\nimport {CSSObject} from '../../../theme/system/css'\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {CardTone} from '../../types/card'\nimport {focusRingBorderStyle, focusRingStyle} from '../focusRing'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\n\n/**\n * @internal\n */\nexport interface TextInputInputStyleProps {\n $fontSize: number[]\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $weight?: ThemeFontWeightKey\n}\n\n/**\n * @internal\n */\nexport interface TextInputRepresentationStyleProps {\n $hasPrefix?: boolean\n $hasSuffix?: boolean\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $unstableDisableFocusRing?: boolean\n}\n\nconst ROOT_STYLE = css`\n &:not([hidden]) {\n display: flex;\n }\n\n align-items: center;\n`\n\nexport function textInputRootStyle(): ReturnType<typeof css> {\n return ROOT_STYLE\n}\n\nexport function textInputBaseStyle(\n props: TextInputInputStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$scheme, $tone, $weight} = props\n const {color, font} = getTheme_v2(props.theme)\n\n return css`\n appearance: none;\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n width: 100%;\n box-sizing: border-box;\n font-family: ${font.text.family};\n font-weight: ${($weight && font.text.weights[$weight]) || font.text.weights.regular};\n margin: 0;\n position: relative;\n z-index: 1;\n display: block;\n\n /* NOTE: This is a hack to disable Chrome’s autofill styles */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: var(--input-fg-color) !important;\n transition: background-color 5000s;\n transition-delay: 86400s /* 24h */;\n }\n\n /* &:is(textarea) */\n &[data-as='textarea'] {\n resize: none;\n }\n\n color: var(--input-fg-color);\n\n &::placeholder {\n color: var(--input-placeholder-color);\n }\n\n &[data-scheme='${$scheme}'][data-tone='${$tone}'] {\n --input-fg-color: ${color.input.default.enabled.fg};\n --input-placeholder-color: ${color.input.default.enabled.placeholder};\n\n /* enabled */\n &:not(:invalid):not(:disabled):not(:read-only) {\n --input-fg-color: ${color.input.default.enabled.fg};\n --input-placeholder-color: ${color.input.default.enabled.placeholder};\n }\n\n /* disabled */\n &:not(:invalid):disabled {\n --input-fg-color: ${color.input.default.disabled.fg};\n --input-placeholder-color: ${color.input.default.disabled.placeholder};\n }\n\n /* invalid */\n &:invalid {\n --input-fg-color: ${color.input.invalid.enabled.fg};\n --input-placeholder-color: ${color.input.invalid.enabled.placeholder};\n }\n\n /* readOnly */\n &:read-only {\n --input-fg-color: ${color.input.default.readOnly.fg};\n --input-placeholder-color: ${color.input.default.readOnly.placeholder};\n }\n }\n `\n}\n\nexport function textInputFontSizeStyle(props: TextInputInputStyleProps & ThemeProps): CSSObject[] {\n const {font, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$fontSize, (sizeIndex) => {\n const size = font.text.sizes[sizeIndex] || font.text.sizes[2]\n\n return {\n fontSize: rem(size.fontSize),\n lineHeight: `${size.lineHeight / size.fontSize}`,\n }\n })\n}\n\nexport function textInputRepresentationStyle(\n props: TextInputRepresentationStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$hasPrefix, $hasSuffix, $scheme, $tone, $unstableDisableFocusRing} = props\n const {color, input} = getTheme_v2(props.theme)\n\n return css`\n --input-box-shadow: none;\n\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: block;\n pointer-events: none;\n z-index: 0;\n\n background-color: var(--card-bg-color);\n box-shadow: var(--input-box-shadow);\n\n border-top-left-radius: ${$hasPrefix ? 0 : undefined};\n border-bottom-left-radius: ${$hasPrefix ? 0 : undefined};\n border-top-right-radius: ${$hasSuffix ? 0 : undefined};\n border-bottom-right-radius: ${$hasSuffix ? 0 : undefined};\n\n &[data-scheme='${$scheme}'][data-tone='${$tone}'] {\n --card-bg-color: ${color.input.default.enabled.bg};\n --card-fg-color: ${color.input.default.enabled.fg};\n\n /* enabled */\n *:not(:disabled) + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n /* invalid */\n *:not(:disabled):invalid + & {\n --card-bg-color: ${color.input.invalid.enabled.bg};\n --card-fg-color: ${color.input.invalid.enabled.fg};\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.enabled.border,\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n *:not(:disabled):focus + & {\n &[data-border] {\n --input-box-shadow: ${\n $unstableDisableFocusRing\n ? undefined\n : focusRingStyle({\n border: {color: color.input.default.enabled.border, width: input.border.width},\n focusRing: input.text.focusRing,\n })\n };\n }\n\n &:not([data-border]) {\n --input-box-shadow: ${\n $unstableDisableFocusRing\n ? undefined\n : focusRingStyle({focusRing: input.text.focusRing})\n };\n }\n }\n\n /* disabled */\n *:not(:invalid):disabled + & {\n --card-bg-color: ${color.input.default.disabled.bg} !important;\n --card-fg-color: ${color.input.default.disabled.fg} !important;\n --card-icon-color: ${color.input.default.disabled.fg} !important;\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.disabled.border,\n width: input.border.width,\n })};\n }\n }\n\n *:invalid:disabled + & {\n --card-bg-color: ${color.input.invalid.disabled.bg} !important;\n --card-fg-color: ${color.input.invalid.disabled.fg} !important;\n --card-icon-color: ${color.input.invalid.disabled.fg} !important;\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.disabled.border,\n width: input.border.width,\n })};\n }\n }\n\n /* readOnly */\n *:not(:invalid):read-only + & {\n --card-bg-color: ${color.input.default.readOnly.bg} !important;\n --card-fg-color: ${color.input.default.readOnly.fg} !important;\n }\n\n *:invalid:read-only + & {\n --card-bg-color: ${color.input.invalid.readOnly.bg} !important;\n --card-fg-color: ${color.input.invalid.readOnly.fg} !important;\n }\n\n /* hovered */\n @media (hover: hover) {\n *:not(:disabled):not(:read-only):not(:invalid):hover + & {\n --card-bg-color: ${color.input.default.hovered.bg};\n --card-fg-color: ${color.input.default.hovered.fg};\n }\n\n *:invalid:not(:disabled):not(:read-only):hover + & {\n --card-bg-color: ${color.input.invalid.hovered.bg};\n --card-fg-color: ${color.input.invalid.hovered.fg};\n }\n\n *:not(:disabled):not(:read-only):not(:invalid):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.hovered.border,\n width: input.border.width,\n })};\n }\n\n *:invalid:not(:disabled):not(:read-only):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.hovered.border,\n width: input.border.width,\n })};\n }\n }\n }\n `\n}\n","import {CloseIcon} from '@sanity/icons/Close'\nimport {isValidElement, useCallback, useImperativeHandle, useMemo, useRef} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {EMPTY_RECORD} from '../../constants'\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 {Radius} from '../../types/radius'\nimport {Box} from '../box/box'\nimport {Button, ButtonOwnProps} from '../button/button'\nimport {Card} from '../card/card'\nimport {Text} from '../text/text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = ButtonOwnProps &\n Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'onClick' | 'onMouseDown' | 'ref'>\n\n/**\n * @public\n */\nexport type TextInputType =\n | 'search'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'url'\n | 'month'\n | 'number'\n | 'password'\n | 'tel'\n | 'time'\n | 'text'\n | 'week'\n | 'color'\n\n/**\n * @public\n */\nexport interface TextInputProps {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n border?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n fontSize?: number | number[]\n // oxlint-disable-next-line no-redundant-type-constituents\n icon?: React.ElementType | React.ReactNode\n // oxlint-disable-next-line no-redundant-type-constituents\n iconRight?: React.ElementType | React.ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n padding?: number | number[]\n prefix?: React.ReactNode\n radius?: Radius | Radius[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n gap?: number | number[]\n suffix?: React.ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: React.CSSProperties = {zIndex: 2}\n\nconst StyledTextInput = styled(Card).attrs({forwardedAs: 'span'})(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Prefix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Suffix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Input = styled.input<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.span<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\nconst LeftBox = styled(Box)`\n position: absolute;\n top: 0;\n left: 0;\n`\n\nconst RightBox = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst RightCard = styled(Card)`\n background-color: transparent;\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst TextInputClearButton = styled(Button)({\n '&:not([hidden])': {\n display: 'block',\n },\n})\n\n/**\n * Single line text input.\n *\n * @public\n */\nexport function TextInput(\n props: TextInputProps & Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'prefix' | 'type'>,\n) {\n const {\n __unstable_disableFocusRing,\n border = true,\n clearButton,\n disabled = false,\n fontSize: fontSizeProp = 2,\n gap = 3,\n icon: IconComponent,\n iconRight: IconRightComponent,\n onClear,\n padding: paddingProp = 3,\n prefix,\n radius: radiusProp = 2,\n readOnly,\n ref: forwardedRef,\n suffix,\n customValidity,\n type = 'text',\n weight,\n ...restProps\n } = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n const rootTheme = useRootTheme()\n\n const fontSize = _getArrayProp(fontSizeProp)\n const padding = _getArrayProp(paddingProp)\n const radius = _getArrayProp(radiusProp)\n const space = _getArrayProp(gap)\n\n // Transient properties\n const $hasClearButton = Boolean(clearButton)\n const $hasIcon = Boolean(IconComponent)\n const $hasIconRight = Boolean(IconRightComponent)\n const $hasSuffix = Boolean(suffix)\n const $hasPrefix = Boolean(prefix)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n // Prevent the clear button from taking the focus away from the input\n const handleClearMouseDown = useCallback((event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n\n if (onClear) onClear()\n\n // Focus the input, in case focus has been lost when clicking the clear button\n ref.current?.focus()\n },\n [onClear, ref],\n )\n\n // Render prefix (memoized)\n const prefixNode = useMemo(\n () =>\n prefix && (\n <Prefix borderTop borderLeft borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{prefix}</span>\n </Prefix>\n ),\n [prefix, radius],\n )\n\n // Render presentation (memoized)\n const presentationNode = useMemo(\n () => (\n <Presentation\n $hasPrefix={$hasPrefix}\n $unstableDisableFocusRing={__unstable_disableFocusRing}\n $hasSuffix={$hasSuffix}\n $radius={radius}\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 {IconComponent && (\n <LeftBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n </LeftBox>\n )}\n\n {!$hasClearButton && IconRightComponent && (\n <RightBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n </RightBox>\n )}\n </Presentation>\n ),\n [\n __unstable_disableFocusRing,\n border,\n fontSize,\n IconComponent,\n IconRightComponent,\n padding,\n radius,\n rootTheme,\n $hasClearButton,\n $hasPrefix,\n $hasSuffix,\n ],\n )\n\n // Render clear button (memoized)\n const clearButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding],\n )\n const clearButtonPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return v - 1\n }),\n [padding],\n )\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (typeof clearButton === 'object' ? clearButton : EMPTY_RECORD),\n [clearButton],\n )\n const clearButtonNode = useMemo(\n () =>\n !disabled &&\n !readOnly &&\n clearButton && (\n <RightCard\n forwardedAs=\"span\"\n padding={clearButtonBoxPadding}\n style={CLEAR_BUTTON_BOX_STYLE}\n tone={customValidity ? 'critical' : 'inherit'}\n >\n <TextInputClearButton\n aria-label=\"Clear\"\n data-qa=\"clear-button\"\n fontSize={fontSize}\n icon={CloseIcon}\n mode=\"bleed\"\n padding={clearButtonPadding}\n radius={radius}\n {...clearButtonProps}\n onClick={handleClearClick}\n onMouseDown={handleClearMouseDown}\n />\n </RightCard>\n ),\n [\n clearButton,\n clearButtonBoxPadding,\n clearButtonPadding,\n clearButtonProps,\n customValidity,\n disabled,\n fontSize,\n handleClearClick,\n handleClearMouseDown,\n radius,\n readOnly,\n ],\n )\n\n // Render suffix (memoized)\n const suffixNode = useMemo(\n () =>\n suffix && (\n <Suffix borderTop borderRight borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{suffix}</span>\n </Suffix>\n ),\n [radius, suffix],\n )\n\n return (\n <StyledTextInput data-ui=\"TextInput\" tone={rootTheme.tone}>\n {prefixNode}\n\n <InputRoot>\n <Input\n data-as=\"input\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={fontSize}\n $iconLeft={$hasIcon}\n $iconRight={$hasIconRight || $hasClearButton}\n $padding={padding}\n $scheme={rootTheme.scheme}\n $space={space}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n {presentationNode}\n {clearButtonNode}\n </InputRoot>\n\n {suffixNode}\n </StyledTextInput>\n )\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useLayer-UpfaKlm7.js","names":["Property","CSSObject","getTheme_v2","_responsive","ThemeProps","ResponsiveBoxStyleProps","BASE_STYLE","listStyle","BOX_SIZING","key","BoxSizing","content","border","BOX_HEIGHT","stretch","fill","boxStyle","responsiveBoxStyle","Array","props","responsiveBoxSizingStyle","responsiveBoxHeightStyle","responsiveBoxOverflowStyle","responsiveBoxDisplayStyle","media","theme","$display","display","$sizing","sizing","boxSizing","$height","height","$overflow","overflow","CSSObject","getTheme_v2","EMPTY_ARRAY","_responsive","ThemeProps","ResponsiveFlexItemStyleProps","BASE_STYLE","minWidth","minHeight","flexItemStyle","Array","props","responsiveFlexItemStyle","media","theme","$flex","flex","CSSObject","getTheme_v2","_responsive","ThemeProps","ResponsiveGridItemStyleProps","responsiveGridItemStyle","Array","props","responsiveGridItemRowStyle","responsiveGridItemRowStartStyle","responsiveGridItemRowEndStyle","responsiveGridItemColumnStyle","responsiveGridItemColumnStartStyle","responsiveGridItemColumnEndStyle","GRID_ITEM_ROW","auto","full","GRID_ITEM_COLUMN","media","theme","$row","row","gridRow","$rowStart","rowStart","gridRowStart","$rowEnd","rowEnd","gridRowEnd","$column","column","gridColumn","$columnStart","columnStart","gridColumnStart","$columnEnd","columnEnd","gridColumnEnd","CSSObject","_getResponsiveSpace","ThemeProps","ResponsiveMarginStyleProps","responsiveMarginStyle","props","theme","$margin","$marginX","$marginY","$marginTop","$marginRight","$marginBottom","$marginLeft","filter","Boolean","CSSObject","_getResponsiveSpace","ThemeProps","ResponsivePaddingStyleProps","responsivePaddingStyle","props","theme","$padding","$paddingX","$paddingY","$paddingTop","$paddingRight","$paddingBottom","$paddingLeft","filter","Boolean","styled","boxStyle","responsiveBoxStyle","ResponsiveBoxStyleProps","flexItemStyle","FlexItemStyleProps","responsiveGridItemStyle","ResponsiveGridItemStyleProps","_getArrayProp","responsiveMarginStyle","ResponsiveMarginStyleProps","responsivePaddingStyle","ResponsivePaddingStyleProps","ElementType","Props","ResponsiveBoxProps","ResponsiveFlexItemProps","ResponsiveGridItemProps","ResponsiveMarginProps","ResponsivePaddingProps","BoxOwnProps","forwardedAs","BoxProps","E","StyledBox","div","BoxComponent","Box","props","$","_c","flex","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","height","marginBottom","marginLeft","marginRight","marginTop","marginX","marginY","overflow","paddingBottom","paddingLeft","paddingRight","paddingTop","paddingX","paddingY","ref","restProps","sizing","t0","t1","t2","t3","as","display","margin","padding","asProp","undefined","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","children","React","JSX","Element","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveRadiusStyleProps","responsiveRadiusStyle","props","media","radius","theme","$radius","value","borderRadius","useTheme","useStyledTheme","Theme","Theme_v2","getTheme_v2","useTheme_v2","$","_c","t0","t1","ThemeColorCard_v2","ThemeColorState_v2","CSSObject","_cardColorStyle","base","color","checkered","backdrop","focusRing","shadow","outline","umbra","penumbra","ambient","accent","fg","avatar","gray","bg","blue","purple","magenta","red","orange","yellow","green","cyan","muted","undefined","border","badge","default","dot","icon","neutral","primary","suggest","positive","caution","critical","code","kbd","link","skeleton","from","to","ThemeFocusRing","focusRingBorderStyle","border","color","width","focusRingStyle","opts","base","bg","focusRing","focusRingOutsetWidth","offset","focusRingInsetWidth","bgColor","filter","Boolean","join","CSSObject","getTheme_v2","_responsive","ThemeProps","ResponsiveBorderStyleProps","responsiveBorderStyle","Array","props","border","borderTop","borderRight","borderBottom","borderLeft","card","media","theme","borderStyle","width","$border","value","$borderTop","$borderRight","$borderBottom","$borderLeft","CSSObject","ThemeBoxShadow","ThemeShadow","getTheme_v2","EMPTY_RECORD","_responsive","rem","ThemeProps","ResponsiveShadowStyleProps","toBoxShadow","shadow","color","map","join","shadowStyle","outlineWidth","outline","umbra","penumbra","ambient","boxShadow","responsiveShadowStyle","props","card","media","theme","$shadow","index","getGlobalScope","globalThis","window","self","global","Error","globalScope","Context","createContext","globalScope","createGlobalScopedContext","ContextType","key","defaultValue","T","symbol","Symbol","for","document","context","displayName","createGlobalScopedContext","ThemeContextValue","ThemeContext","useContext","useMemo","ThemeProvider","StyledThemeProvider","getScopedTheme","ThemeColorCardToneKey","ThemeColorSchemeKey","RootTheme","Theme","ThemeContext","ThemeContextValue","ThemeProviderProps","children","React","ReactNode","scheme","theme","tone","props","$","_c","parentTheme","rootTheme","t0","bb0","t1","version","themeContext","bb1","t2","Symbol","for","t3","useContext","ThemeContext","ThemeContextValue","useRootTheme","value","Error","ThemeColorCardToneKey","ThemeColorSchemeKey","ThemeProvider","useRootTheme","ThemeColorProviderProps","children","React","ReactNode","scheme","tone","ThemeColorProvider","props","$","_c","root","t0","t1","theme","css","getTheme_v2","_cardColorStyle","focusRingStyle","ThemeProps","CardStyleProps","cardStyle","props","Array","ReturnType","cardBaseStyle","cardColorStyle","$checkered","space","theme","$focusRing","$muted","card","color","style","border","width","_dark","selectable","default","disabled","pressed","selected","hovered","base","focusRing","undefined","root","isValidElementType","styled","ThemeColorSchemeKey","responsiveBorderStyle","ResponsiveBorderStyleProps","_getArrayProp","responsiveRadiusStyle","ResponsiveRadiusStyleProps","responsiveShadowStyle","ResponsiveShadowStyleProps","ThemeColorProvider","useRootTheme","CardTone","ElementType","Props","Box","BoxOwnProps","ResponsiveBorderProps","ResponsiveRadiusProps","ResponsiveShadowProps","cardStyle","CardStyleProps","CardOwnProps","__unstable_checkered","__unstable_focusRing","disabled","muted","pressed","scheme","selected","tone","CardProps","E","StyledCard","CardComponent","props","$","_c","asProp","border","borderBottom","borderLeft","borderRight","borderTop","ref","restProps","shadow","t0","t1","t2","t3","as","radius","checkered","undefined","focusRing","toneProp","rootTheme","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","Card","React","JSX","Element","useMemo","useSyncExternalStore","useTheme_v2","_MediaStore","subscribe","onStoreChange","getSnapshot","MediaQueryMinWidth","MediaQueryMaxWidth","MediaQueryMinMaxWidth","MediaQuery","_getMediaQuery","media","index","length","_createMediaStore","mediaLen","sizes","mq","MediaQueryList","getSizes","mediaQuery","push","window","matchMedia","matches","disposeFns","handleChange","addEventListener","removeEventListener","disposeFn","getServerSnapshot","useMediaIndex","$","_c","t0","store","useCallback","useDebugValue","useSyncExternalStore","useMatchMedia","mediaQueryString","getServerSnapshot","$","_c","t0","onStoreChange","media","window","matchMedia","addEventListener","removeEventListener","t1","matches","useMatchMedia","usePrefersReducedMotion","t0","getServerSnapshot","undefined","_temp","isRecord","value","Record","Boolean","Array","isArray","isRecord","LayerContextValue","getLayerContext","contextValue","version","Error","createGlobalScopedContext","LayerContextValue","LayerContext","useCallback","useContext","useEffect","useMemo","useState","useMediaIndex","_getArrayProp","getLayerContext","LayerContext","LayerContextValue","LayerProviderProps","children","React","ReactNode","zOffset","LayerProvider","props","$","_c","t0","zOffsetProp","undefined","parentContextValue","t1","parent","parentRegisterChild","registerChild","parentLevel","level","t2","maxMediaIndex","length","mediaIndex","Math","min","zIndex","t3","Symbol","for","setChildLayers","size","setSize","isTopLayer","t4","childLevel","parentDispose","state","prevLen","nextState","Object","keys","_temp","state_0","nextState_0","_temp2","t5","t6","t7","version","value","t8","v_0","v","useContext","getLayerContext","LayerContext","LayerContextValue","useLayer","$","_c","value","Error","t1","t0","err","message"],"sources":["../src/core/styles/box/boxStyle.ts","../src/core/styles/flex/flexItemStyle.ts","../src/core/styles/grid/gridItemStyle.ts","../src/core/styles/margin/marginStyle.ts","../src/core/styles/padding/paddingStyle.ts","../src/core/primitives/box/box.tsx","../src/core/styles/radius/radiusStyle.ts","../src/core/theme/useTheme.ts","../src/core/styles/card/_cardColorStyle.ts","../src/core/styles/focusRing/index.ts","../src/core/styles/border/borderStyle.ts","../src/core/styles/shadow/shadowStyle.ts","../src/core/lib/globalScope.ts","../src/core/lib/createGlobalScopedContext.ts","../src/core/theme/themeContext.ts","../src/core/theme/themeProvider.tsx","../src/core/theme/useRootTheme.ts","../src/core/theme/themeColorProvider.tsx","../src/core/primitives/card/styles.ts","../src/core/primitives/card/card.tsx","../src/core/hooks/useMediaIndex/useMediaIndex.ts","../src/core/hooks/useMatchMedia.ts","../src/core/hooks/usePrefersReducedMotion.ts","../src/core/lib/isRecord.ts","../src/core/utils/layer/getLayerContext.ts","../src/core/utils/layer/layerContext.ts","../src/core/utils/layer/layerProvider.tsx","../src/core/utils/layer/useLayer.ts"],"sourcesContent":["import {Property} from 'csstype'\n\nimport {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBoxStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst BOX_SIZING: {[key: string]: Property.BoxSizing} = {\n content: 'content-box',\n border: 'border-box',\n}\n\nconst BOX_HEIGHT = {\n stretch: 'stretch',\n fill: '100%',\n}\n\nexport function boxStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveBoxStyle(): Array<\n (props: ResponsiveBoxStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveBoxSizingStyle,\n responsiveBoxHeightStyle,\n responsiveBoxOverflowStyle,\n responsiveBoxDisplayStyle,\n ]\n}\n\nfunction responsiveBoxDisplayStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$display, (display) => ({\n '&:not([hidden])': {display},\n }))\n}\n\nfunction responsiveBoxSizingStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$sizing, (sizing) => ({\n boxSizing: BOX_SIZING[sizing],\n }))\n}\n\nfunction responsiveBoxHeightStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$height, (height) => ({\n height: BOX_HEIGHT[height],\n }))\n}\n\nfunction responsiveBoxOverflowStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$overflow, (overflow) => ({\n overflow,\n }))\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {EMPTY_ARRAY} from '../../constants'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexItemStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n minWidth: 0,\n minHeight: 0,\n}\n\nexport function flexItemStyle(): Array<\n CSSObject | ((props: ResponsiveFlexItemStyleProps & ThemeProps) => CSSObject[])\n> {\n return [BASE_STYLE, responsiveFlexItemStyle]\n}\n\nfunction responsiveFlexItemStyle(props: ResponsiveFlexItemStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n if (!props.$flex) return EMPTY_ARRAY\n\n return _responsive(media, props.$flex, (flex) => ({flex: `${flex}`}))\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridItemStyleProps} from './types'\n\nexport function responsiveGridItemStyle(): Array<\n (props: ResponsiveGridItemStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveGridItemRowStyle,\n responsiveGridItemRowStartStyle,\n responsiveGridItemRowEndStyle,\n responsiveGridItemColumnStyle,\n responsiveGridItemColumnStartStyle,\n responsiveGridItemColumnEndStyle,\n ]\n}\n\nconst GRID_ITEM_ROW = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nconst GRID_ITEM_COLUMN = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nfunction responsiveGridItemRowStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$row, (row) => {\n if (typeof row === 'number') {\n return {gridRow: `span ${row} / span ${row}`}\n }\n\n return {gridRow: GRID_ITEM_ROW[row]}\n })\n}\n\nfunction responsiveGridItemRowStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$rowStart, (rowStart) => ({\n gridRowStart: `${rowStart}`,\n }))\n}\n\nfunction responsiveGridItemRowEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$rowEnd, (rowEnd) => ({gridRowEnd: `${rowEnd}`}))\n}\n\nfunction responsiveGridItemColumnStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$column, (column) => {\n if (typeof column === 'number') {\n return {gridColumn: `span ${column} / span ${column}`}\n }\n\n return {gridColumn: GRID_ITEM_COLUMN[column]}\n })\n}\n\nfunction responsiveGridItemColumnStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$columnStart, (columnStart) => ({\n gridColumnStart: `${columnStart}`,\n }))\n}\n\nfunction responsiveGridItemColumnEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$columnEnd, (columnEnd) => ({\n gridColumnEnd: `${columnEnd}`,\n }))\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveMarginStyleProps} from './types'\n\nexport function responsiveMarginStyle(\n props: ResponsiveMarginStyleProps & ThemeProps,\n): CSSObject[][] {\n const {theme} = props\n\n // oxlint-disable-next-line no-unsafe-type-assertion\n return [\n _getResponsiveSpace(theme, ['margin'], props.$margin),\n _getResponsiveSpace(theme, ['marginLeft', 'marginRight'], props.$marginX),\n _getResponsiveSpace(theme, ['marginTop', 'marginBottom'], props.$marginY),\n _getResponsiveSpace(theme, ['marginTop'], props.$marginTop),\n _getResponsiveSpace(theme, ['marginRight'], props.$marginRight),\n _getResponsiveSpace(theme, ['marginBottom'], props.$marginBottom),\n _getResponsiveSpace(theme, ['marginLeft'], props.$marginLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsivePaddingStyleProps} from './types'\n\nexport function responsivePaddingStyle(\n props: ResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[][] {\n const {theme} = props\n\n // oxlint-disable-next-line no-unsafe-type-assertion\n return [\n _getResponsiveSpace(theme, ['padding'], props.$padding),\n _getResponsiveSpace(theme, ['paddingLeft', 'paddingRight'], props.$paddingX),\n _getResponsiveSpace(theme, ['paddingTop', 'paddingBottom'], props.$paddingY),\n _getResponsiveSpace(theme, ['paddingTop'], props.$paddingTop),\n _getResponsiveSpace(theme, ['paddingRight'], props.$paddingRight),\n _getResponsiveSpace(theme, ['paddingBottom'], props.$paddingBottom),\n _getResponsiveSpace(theme, ['paddingLeft'], props.$paddingLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {styled} from 'styled-components'\n\nimport {boxStyle, responsiveBoxStyle} from '../../styles/box/boxStyle'\nimport {ResponsiveBoxStyleProps} from '../../styles/box/types'\nimport {flexItemStyle} from '../../styles/flex/flexItemStyle'\nimport {FlexItemStyleProps} from '../../styles/flex/types'\nimport {responsiveGridItemStyle} from '../../styles/grid/gridItemStyle'\nimport {ResponsiveGridItemStyleProps} from '../../styles/grid/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveMarginStyle} from '../../styles/margin/marginStyle'\nimport {ResponsiveMarginStyleProps} from '../../styles/margin/types'\nimport {responsivePaddingStyle} from '../../styles/padding/paddingStyle'\nimport {ResponsivePaddingStyleProps} from '../../styles/padding/types'\nimport {ElementType, Props} from '../../types/component'\nimport {\n ResponsiveBoxProps,\n ResponsiveFlexItemProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps,\n} from '../types'\n\n/**\n * The props that `Box` adds on top of the element it renders as.\n *\n * @public\n */\nexport interface BoxOwnProps\n extends\n ResponsiveFlexItemProps,\n ResponsiveBoxProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps {\n forwardedAs?: ElementType\n}\n\n/**\n * @public\n */\nexport type BoxProps<E extends ElementType = 'div'> = Props<BoxOwnProps, E>\n\nconst StyledBox = styled.div<\n FlexItemStyleProps &\n ResponsiveBoxStyleProps &\n ResponsiveGridItemStyleProps &\n ResponsiveMarginStyleProps &\n ResponsivePaddingStyleProps\n>(\n boxStyle,\n flexItemStyle,\n responsiveBoxStyle,\n responsiveGridItemStyle,\n responsiveMarginStyle,\n responsivePaddingStyle,\n)\n\nconst BoxComponent = function Box(\n props: BoxOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n) {\n const {\n as: asProp = 'div',\n ref,\n gridColumn,\n gridColumnStart,\n gridColumnEnd,\n display = 'block',\n flex,\n height,\n margin = 0,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n overflow,\n padding = 0,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n gridRow,\n gridRowStart,\n gridRowEnd,\n sizing,\n ...restProps\n } = props\n\n return (\n <StyledBox\n data-as={typeof asProp === 'string' ? asProp : undefined}\n data-ui=\"Box\"\n {...restProps}\n $column={_getArrayProp(gridColumn)}\n $columnStart={_getArrayProp(gridColumnStart)}\n $columnEnd={_getArrayProp(gridColumnEnd)}\n $display={_getArrayProp(display)}\n $flex={_getArrayProp(flex)}\n $height={_getArrayProp(height)}\n $margin={_getArrayProp(margin)}\n $marginX={_getArrayProp(marginX)}\n $marginY={_getArrayProp(marginY)}\n $marginTop={_getArrayProp(marginTop)}\n $marginRight={_getArrayProp(marginRight)}\n $marginBottom={_getArrayProp(marginBottom)}\n $marginLeft={_getArrayProp(marginLeft)}\n $overflow={_getArrayProp(overflow)}\n $padding={_getArrayProp(padding)}\n $paddingX={_getArrayProp(paddingX)}\n $paddingY={_getArrayProp(paddingY)}\n $paddingTop={_getArrayProp(paddingTop)}\n $paddingRight={_getArrayProp(paddingRight)}\n $paddingBottom={_getArrayProp(paddingBottom)}\n $paddingLeft={_getArrayProp(paddingLeft)}\n $row={_getArrayProp(gridRow)}\n $rowStart={_getArrayProp(gridRowStart)}\n $rowEnd={_getArrayProp(gridRowEnd)}\n $sizing={_getArrayProp(sizing)}\n // styled-components 6.5 distributes PolymorphicCallProps over ElementType and\n // hits TS2589; narrow the call-site target while still passing the real value.\n // oxlint-disable-next-line no-unsafe-type-assertion\n as={asProp as 'div'}\n ref={ref}\n >\n {props.children}\n </StyledBox>\n )\n}\n\n/**\n * The `Box` component is a basic layout wrapper component which provides utility properties\n * for flex, margins and padding.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Box = BoxComponent as unknown as <E extends ElementType = 'div'>(\n props: BoxProps<E>,\n) => React.JSX.Element\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveRadiusStyleProps} from './types'\n\nexport function responsiveRadiusStyle(props: ResponsiveRadiusStyleProps & ThemeProps): CSSObject[] {\n const {media, radius} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$radius, (value) => {\n let borderRadius: string | 0 = 0\n\n if (typeof value === 'number') {\n borderRadius = rem(radius[value])\n }\n\n if (value === 'full') {\n borderRadius = '9999px'\n }\n\n return {borderRadius}\n })\n}\n","import {useTheme as useStyledTheme} from 'styled-components'\n\nimport {Theme, Theme_v2} from '../../theme/system/theme'\nimport {getTheme_v2} from '../../theme/versioning/getTheme_v2'\n\n/**\n * @public\n */\nexport function useTheme(): Theme {\n // oxlint-disable-next-line no-unnecessary-type-assertion\n return useStyledTheme() as Theme\n}\n\n/**\n * @public\n */\nexport function useTheme_v2(): Theme_v2 {\n // oxlint-disable-next-line no-unnecessary-type-assertion\n return getTheme_v2(useStyledTheme() as Theme)\n}\n","import {ThemeColorCard_v2} from '../../../theme/system/color/color'\nimport {ThemeColorState_v2} from '../../../theme/system/color/state'\nimport {CSSObject} from '../../../theme/system/css'\n\n/**\n * @internal\n */\nexport function _cardColorStyle(\n base: ThemeColorCard_v2,\n color: ThemeColorState_v2,\n checkered = false,\n): CSSObject {\n return {\n // from base\n\n '--card-backdrop-color': base.backdrop,\n\n '--card-focus-ring-color': base.focusRing,\n\n '--card-shadow-outline-color': base.shadow.outline,\n '--card-shadow-umbra-color': base.shadow.umbra,\n '--card-shadow-penumbra-color': base.shadow.penumbra,\n '--card-shadow-ambient-color': base.shadow.ambient,\n\n // from state\n\n '--card-accent-fg-color': color.accent.fg,\n\n '--card-avatar-gray-bg-color': color.avatar.gray.bg,\n '--card-avatar-gray-fg-color': color.avatar.gray.fg,\n '--card-avatar-blue-bg-color': color.avatar.blue.bg,\n '--card-avatar-blue-fg-color': color.avatar.blue.fg,\n '--card-avatar-purple-bg-color': color.avatar.purple.bg,\n '--card-avatar-purple-fg-color': color.avatar.purple.fg,\n '--card-avatar-magenta-bg-color': color.avatar.magenta.bg,\n '--card-avatar-magenta-fg-color': color.avatar.magenta.fg,\n '--card-avatar-red-bg-color': color.avatar.red.bg,\n '--card-avatar-red-fg-color': color.avatar.red.fg,\n '--card-avatar-orange-bg-color': color.avatar.orange.bg,\n '--card-avatar-orange-fg-color': color.avatar.orange.fg,\n '--card-avatar-yellow-bg-color': color.avatar.yellow.bg,\n '--card-avatar-yellow-fg-color': color.avatar.yellow.fg,\n '--card-avatar-green-bg-color': color.avatar.green.bg,\n '--card-avatar-green-fg-color': color.avatar.green.fg,\n '--card-avatar-cyan-bg-color': color.avatar.cyan.bg,\n '--card-avatar-cyan-fg-color': color.avatar.cyan.fg,\n\n '--card-bg-color': color.bg,\n '--card-bg-image': checkered\n ? `repeating-conic-gradient(${color.bg} 0% 25%, ${color.muted.bg} 0% 50%)`\n : undefined,\n\n '--card-border-color': color.border,\n\n '--card-badge-default-bg-color': color.badge.default.bg,\n '--card-badge-default-dot-color': color.badge.default.dot,\n '--card-badge-default-fg-color': color.badge.default.fg,\n '--card-badge-default-icon-color': color.badge.default.icon,\n '--card-badge-neutral-bg-color': color.badge.neutral?.bg,\n '--card-badge-neutral-dot-color': color.badge.neutral?.dot,\n '--card-badge-neutral-fg-color': color.badge.neutral?.fg,\n '--card-badge-neutral-icon-color': color.badge.neutral?.icon,\n '--card-badge-primary-bg-color': color.badge.primary.bg,\n '--card-badge-primary-dot-color': color.badge.primary.dot,\n '--card-badge-primary-fg-color': color.badge.primary.fg,\n '--card-badge-primary-icon-color': color.badge.primary.icon,\n '--card-badge-suggest-bg-color': color.badge.suggest?.bg,\n '--card-badge-suggest-dot-color': color.badge.suggest?.dot,\n '--card-badge-suggest-fg-color': color.badge.suggest?.fg,\n '--card-badge-suggest-icon-color': color.badge.suggest?.icon,\n '--card-badge-positive-bg-color': color.badge.positive.bg,\n '--card-badge-positive-dot-color': color.badge.positive.dot,\n '--card-badge-positive-fg-color': color.badge.positive.fg,\n '--card-badge-positive-icon-color': color.badge.positive.icon,\n '--card-badge-caution-bg-color': color.badge.caution.bg,\n '--card-badge-caution-dot-color': color.badge.caution.dot,\n '--card-badge-caution-fg-color': color.badge.caution.fg,\n '--card-badge-caution-icon-color': color.badge.caution.icon,\n '--card-badge-critical-bg-color': color.badge.critical.bg,\n '--card-badge-critical-dot-color': color.badge.critical.dot,\n '--card-badge-critical-fg-color': color.badge.critical.fg,\n '--card-badge-critical-icon-color': color.badge.critical.icon,\n\n '--card-code-bg-color': color.code.bg,\n '--card-code-fg-color': color.code.fg,\n\n '--card-fg-color': color.fg,\n\n '--card-icon-color': color.icon,\n\n '--card-kbd-bg-color': color.kbd.bg,\n '--card-kbd-border-color': color.kbd.border,\n '--card-kbd-fg-color': color.kbd.fg,\n\n '--card-link-fg-color': color.link.fg,\n\n '--card-muted-bg-color': color.muted.bg,\n '--card-muted-fg-color': color.muted.fg,\n\n '--card-skeleton-color-from': color.skeleton.from,\n '--card-skeleton-color-to': color.skeleton.to,\n\n // deprecated variables (kept for legacy)\n\n '--card-bg2-color': color.muted.bg,\n '--card-link-color': color.link.fg,\n '--card-hairline-soft-color': color.border,\n '--card-hairline-hard-color': color.border,\n }\n}\n","import {ThemeFocusRing} from '../../../theme/system/focusRing'\n\nexport function focusRingBorderStyle(border: {color: string; width: number}): string {\n return `inset 0 0 0 ${border.width}px ${border.color}`\n}\n\nexport function focusRingStyle(opts: {\n base?: {bg: string}\n border?: {color: string; width: number}\n focusRing: ThemeFocusRing\n}): string {\n const {base, border, focusRing} = opts\n const focusRingOutsetWidth = focusRing.offset + focusRing.width\n const focusRingInsetWidth = 0 - focusRing.offset\n const bgColor = base ? base.bg : 'var(--card-bg-color)'\n\n return [\n focusRingInsetWidth > 0 && `inset 0 0 0 ${focusRingInsetWidth}px var(--card-focus-ring-color)`,\n border && focusRingBorderStyle(border),\n focusRingInsetWidth < 0 && `0 0 0 ${0 - focusRingInsetWidth}px ${bgColor}`,\n focusRingOutsetWidth > 0 && `0 0 0 ${focusRingOutsetWidth}px var(--card-focus-ring-color)`,\n ]\n .filter(Boolean)\n .join(',')\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBorderStyleProps} from './types'\n\nexport function responsiveBorderStyle(): Array<\n (props: ResponsiveBorderStyleProps & ThemeProps) => CSSObject[]\n> {\n return [border, borderTop, borderRight, borderBottom, borderLeft]\n}\n\nfunction border(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$border, (value) =>\n value ? {'&&': {border: borderStyle}} : {'&&': {border: 0}},\n )\n}\n\nfunction borderTop(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderTop, (value) =>\n value ? {'&&': {borderTop: borderStyle}} : {'&&': {borderTop: 0}},\n )\n}\n\nfunction borderRight(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderRight, (value) =>\n value ? {'&&': {borderRight: borderStyle}} : {'&&': {borderRight: 0}},\n )\n}\n\nfunction borderBottom(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderBottom, (value) =>\n value ? {'&&': {borderBottom: borderStyle}} : {'&&': {borderBottom: 0}},\n )\n}\n\nfunction borderLeft(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderLeft, (value) =>\n value ? {'&&': {borderLeft: borderStyle}} : {'&&': {borderLeft: 0}},\n )\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {ThemeBoxShadow, ThemeShadow} from '../../../theme/system/shadow'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {EMPTY_RECORD} from '../../constants'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveShadowStyleProps} from './types'\n\nfunction toBoxShadow(shadow: ThemeBoxShadow, color: string) {\n return `${shadow.map(rem).join(' ')} ${color}`\n}\n\nfunction shadowStyle(shadow: ThemeShadow | null, outlineWidth: number = 1): CSSObject {\n if (!shadow) return EMPTY_RECORD\n\n const outline = `0 0 0 ${rem(outlineWidth)} var(--card-shadow-outline-color)`\n const umbra = toBoxShadow(shadow.umbra, 'var(--card-shadow-umbra-color)')\n const penumbra = toBoxShadow(shadow.penumbra, 'var(--card-shadow-penumbra-color)')\n const ambient = toBoxShadow(shadow.ambient, 'var(--card-shadow-ambient-color)')\n\n return {boxShadow: `${outline}, ${umbra}, ${penumbra}, ${ambient}`}\n}\n\nexport function responsiveShadowStyle(props: ResponsiveShadowStyleProps & ThemeProps): CSSObject[] {\n const {card, media, shadow} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$shadow, (index) =>\n shadowStyle(shadow[index], card.shadow.outline),\n )\n}\n","/**\n * Gets the global scope instance in a given environment.\n *\n * The strategy is to return the most modern, and if not, the most common:\n * - The `globalThis` variable is the modern approach to accessing the global scope\n * - The `window` variable is the global scope in a web browser\n * - The `self` variable is the global scope in workers and others\n * - The `global` variable is the global scope in Node.js\n */\nfunction getGlobalScope() {\n if (typeof globalThis !== 'undefined') return globalThis\n if (typeof window !== 'undefined') return window\n if (typeof self !== 'undefined') return self\n if (typeof global !== 'undefined') return global\n\n throw new Error('@sanity/ui: could not locate global scope')\n}\n\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const globalScope = getGlobalScope() as any\n","/**\n * As `@sanity/ui` is declared as a dependency, and may be duplicated, sometimes across major versions\n * it's critical that vital react contexts are shared even when there is a duplicate.\n * If we used a model similar to `sanity` itself, or `styled-components`, this would be unnecessary as\n * those libraries enforce single instances.\n * Since we don't enforce it we have to support a sanity plugin being able to call hooks like `useToast`, and then\n * read the context setup by `sanity`, which calls `ToastProvider`, even if the provider and hook are different instances in memory.\n * It's also why it's vital that all changes to globally scoped providers remain fully backwards compatible to v1.\n */\n\nimport {type Context, createContext} from 'react'\n\nimport {globalScope} from './globalScope'\n\n// oxlint-disable-next-line no-unnecessary-type-parameters\nexport function createGlobalScopedContext<ContextType, const T extends ContextType = ContextType>(\n /**\n * Enforce that all Symbol.for keys used for globally scoped contexts have a predictable prefix\n */\n key: `@sanity/ui/context/${string}`,\n defaultValue: T,\n): Context<ContextType> {\n const symbol = Symbol.for(key)\n\n /**\n * Prevent errors about re-renders on React SSR on Next.js App Router\n */\n if (typeof document === 'undefined') {\n const context = createContext<ContextType>(defaultValue)\n context.displayName = key\n return context\n }\n\n globalScope[symbol] = globalScope[symbol] || createContext<T>(defaultValue)\n\n return globalScope[symbol]\n}\n","import {createGlobalScopedContext} from '../lib/createGlobalScopedContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @internal\n */\nexport const ThemeContext = createGlobalScopedContext<ThemeContextValue | null>(\n '@sanity/ui/context/theme',\n null,\n)\n","import {useContext, useMemo} from 'react'\nimport {ThemeProvider as StyledThemeProvider} from 'styled-components'\n\nimport {getScopedTheme} from '../../theme/getScopedTheme'\nimport {\n type ThemeColorCardToneKey,\n type ThemeColorSchemeKey,\n} from '../../theme/system/color/_system'\nimport {type RootTheme, type Theme} from '../../theme/system/theme'\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport interface ThemeProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n theme?: RootTheme\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * @public\n */\nexport function ThemeProvider(props: ThemeProviderProps): React.JSX.Element {\n const parentTheme = useContext(ThemeContext)\n const {children} = props\n const scheme = props.scheme ?? (parentTheme?.scheme || 'light')\n const rootTheme = props.theme ?? (parentTheme?.theme || null)\n const tone = props.tone ?? (parentTheme?.tone || 'default')\n\n const themeContext: ThemeContextValue | null = useMemo(() => {\n if (!rootTheme) return null\n\n return {\n version: 0.0,\n theme: rootTheme,\n scheme,\n tone,\n }\n }, [rootTheme, scheme, tone])\n\n const theme: Theme | null = useMemo(() => {\n if (!rootTheme) return null\n\n return getScopedTheme(rootTheme, scheme, tone)\n }, [scheme, rootTheme, tone])\n\n if (!theme) {\n return <pre>ThemeProvider: no \"theme\" property provided</pre>\n }\n\n return (\n <ThemeContext.Provider value={themeContext}>\n <StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>\n </ThemeContext.Provider>\n )\n}\n","import {useContext} from 'react'\n\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport function useRootTheme(): ThemeContextValue {\n const value = useContext(ThemeContext)\n\n if (!value) {\n throw new Error('useRootTheme(): missing context value')\n }\n\n // oxlint-disable-next-line no-unnecessary-type-assertion, no-unsafe-type-assertion\n return value as unknown as ThemeContextValue\n}\n","import {ThemeColorCardToneKey, ThemeColorSchemeKey} from '../../theme/system/color/_system'\nimport {ThemeProvider} from './themeProvider'\nimport {useRootTheme} from './useRootTheme'\n\n/**\n * @public\n */\nexport interface ThemeColorProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * @public\n */\nexport function ThemeColorProvider(props: ThemeColorProviderProps): React.JSX.Element {\n const {children, scheme, tone} = props\n const root = useRootTheme()\n\n return (\n <ThemeProvider scheme={scheme || root.scheme} theme={root.theme} tone={tone}>\n {children}\n </ThemeProvider>\n )\n}\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_cardColorStyle} from '../../styles/card/_cardColorStyle'\nimport {focusRingStyle} from '../../styles/focusRing'\nimport {ThemeProps} from '../../styles/types'\nimport {CardStyleProps} from './types'\n\nexport function cardStyle(\n props: CardStyleProps & ThemeProps,\n): Array<ReturnType<typeof css> | (() => ReturnType<typeof css>)> {\n return [cardBaseStyle(props), cardColorStyle(props)]\n}\n\nfunction cardBaseStyle(props: CardStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$checkered} = props\n const {space} = getTheme_v2(props.theme)\n\n return css`\n ${\n $checkered &&\n css`\n background-size: ${space[3]}px ${space[3]}px;\n background-position: 50% 50%;\n background-image: var(--card-bg-image);\n `\n }\n\n &[data-as='button'] {\n -webkit-font-smoothing: inherit;\n appearance: none;\n outline: none;\n font: inherit;\n text-align: inherit;\n border: 0;\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n outline: none;\n text-decoration: none;\n }\n\n /* &:is(pre) */\n &[data-as='pre'] {\n font: inherit;\n }\n `\n}\n\nfunction cardColorStyle(props: CardStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$checkered, $focusRing, $muted} = props\n const {card, color, style} = getTheme_v2(props.theme)\n const border = {width: card.border.width, color: 'var(--card-border-color)'}\n\n return css`\n color-scheme: ${color._dark ? 'dark' : 'light'};\n\n ${_cardColorStyle(color, color, $checkered)}\n\n background-color: ${$muted ? 'var(--card-muted-bg-color)' : 'var(--card-bg-color)'};\n color: var(--card-fg-color);\n\n /* &:is(button) */\n &[data-as='button'] {\n --card-focus-ring-box-shadow: none;\n\n cursor: default;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &:disabled {\n ${_cardColorStyle(color, color.selectable.default.disabled, $checkered)}\n }\n\n &:not(:disabled) {\n &[data-pressed] {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n\n &[data-selected] {\n ${_cardColorStyle(color, color.selectable.default.selected, $checkered)}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_cardColorStyle(color, color.selectable.default.hovered, $checkered)}\n }\n\n &:active {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n }\n }\n\n &:focus-visible {\n --card-focus-ring-box-shadow: ${\n $focusRing\n ? focusRingStyle({base: color, border, focusRing: card.focusRing})\n : undefined\n };\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n cursor: pointer;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &[data-disabled] {\n ${_cardColorStyle(color, color.selectable.default.disabled, $checkered)}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n\n &[data-selected] {\n ${_cardColorStyle(color, color.selectable.default.selected, $checkered)}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_cardColorStyle(color, color.selectable.default.hovered, $checkered)}\n }\n\n &:active {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n }\n }\n\n &:focus-visible {\n --card-focus-ring-box-shadow: ${\n $focusRing\n ? focusRingStyle({base: color, border, focusRing: card.focusRing})\n : undefined\n };\n }\n }\n }\n\n ${style?.card?.root}\n `\n}\n","import {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {ThemeColorSchemeKey} from '../../../theme/system/color/_system'\nimport {responsiveBorderStyle} from '../../styles/border/borderStyle'\nimport {ResponsiveBorderStyleProps} from '../../styles/border/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {responsiveShadowStyle} from '../../styles/shadow/shadowStyle'\nimport {ResponsiveShadowStyleProps} from '../../styles/shadow/types'\nimport {ThemeColorProvider} from '../../theme/themeColorProvider'\nimport {useRootTheme} from '../../theme/useRootTheme'\nimport {CardTone} from '../../types/card'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {ResponsiveBorderProps, ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {cardStyle} from './styles'\nimport {CardStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface CardOwnProps\n extends BoxOwnProps, ResponsiveBorderProps, ResponsiveRadiusProps, ResponsiveShadowProps {\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_checkered?: boolean\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_focusRing?: boolean\n disabled?: boolean\n muted?: boolean\n pressed?: boolean\n scheme?: ThemeColorSchemeKey\n selected?: boolean\n tone?: CardTone\n}\n\n/**\n * @public\n */\nexport type CardProps<E extends ElementType = 'div'> = Props<CardOwnProps, E>\n\nconst StyledCard = styled(Box)<\n CardStyleProps &\n ResponsiveRadiusStyleProps &\n ResponsiveBorderStyleProps &\n ResponsiveShadowStyleProps\n>(responsiveBorderStyle, responsiveRadiusStyle, responsiveShadowStyle, cardStyle)\n\nfunction CardComponent(\n props: CardOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n) {\n const {\n __unstable_checkered: checkered = false,\n __unstable_focusRing: focusRing = false,\n as: asProp,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n muted,\n pressed,\n radius = 0,\n ref,\n scheme,\n selected,\n shadow,\n tone: toneProp = 'default',\n ...restProps\n } = props\n\n const as = isValidElementType(asProp) ? asProp : 'div'\n const rootTheme = useRootTheme()\n const tone = toneProp === 'inherit' ? rootTheme.tone : toneProp\n\n // todo: Consider adding the wrapper approach for nested cards in which the tones are not changing, avoid unnecessary ThemeColorProvider\n return (\n <ThemeColorProvider scheme={scheme} tone={tone}>\n <StyledCard\n data-as={typeof as === 'string' ? as : undefined}\n data-scheme={rootTheme.scheme}\n data-ui=\"Card\"\n data-tone={tone}\n {...restProps}\n $border={_getArrayProp(border)}\n $borderTop={_getArrayProp(borderTop)}\n $borderRight={_getArrayProp(borderRight)}\n $borderBottom={_getArrayProp(borderBottom)}\n $borderLeft={_getArrayProp(borderLeft)}\n $checkered={checkered}\n $focusRing={focusRing}\n $muted={muted ?? false}\n $radius={_getArrayProp(radius)}\n $shadow={_getArrayProp(shadow)}\n $tone={tone}\n data-checkered={checkered ? '' : undefined}\n data-pressed={pressed ? '' : undefined}\n data-selected={selected ? '' : undefined}\n forwardedAs={as}\n ref={ref}\n selected={selected}\n />\n </ThemeColorProvider>\n )\n}\n\n/**\n * The `Card` component acts much like a `Box`, but with a background and foreground color.\n * Components within a `Card` inherit its colors.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Card = CardComponent as unknown as <E extends ElementType = 'div'>(\n props: CardProps<E>,\n) => React.JSX.Element\n","import {useMemo, useSyncExternalStore} from 'react'\n\nimport {useTheme_v2} from '../../theme/useTheme'\n\n/**\n * @internal\n */\nexport interface _MediaStore {\n subscribe: (onStoreChange: () => void) => () => void\n getSnapshot: () => number\n}\n\ntype MediaQueryMinWidth = `(min-width: ${number}px)`\ntype MediaQueryMaxWidth = `(max-width: ${number}px)`\ntype MediaQueryMinMaxWidth = `${MediaQueryMinWidth} and ${MediaQueryMaxWidth}`\ntype MediaQuery = `screen and ${MediaQueryMinWidth | MediaQueryMaxWidth | MediaQueryMinMaxWidth}`\n\nfunction _getMediaQuery(media: number[], index: number): MediaQuery {\n if (index === 0) {\n return `screen and (max-width: ${media[index] - 1}px)`\n }\n\n if (index === media.length) {\n return `screen and (min-width: ${media[index - 1]}px)`\n }\n\n return `screen and (min-width: ${media[index - 1]}px) and (max-width: ${media[index] - 1}px)`\n}\n\nfunction _createMediaStore(media: number[]): _MediaStore {\n const mediaLen = media.length\n let sizes: {mq: MediaQueryList; index: number}[]\n\n // The _createMediaStore function is called in both server and client environments.\n // However since subscribe and getSnapshot are only called on the client we lazy init what we need for them\n // so that we don't need to run checks for wether it's safe to call `window.matchMedia`\n const getSizes = () => {\n if (!sizes) {\n sizes = []\n\n for (let index = mediaLen; index > -1; index -= 1) {\n const mediaQuery = _getMediaQuery(media, index)\n\n sizes.push({index, mq: window.matchMedia(mediaQuery)})\n }\n }\n\n return sizes\n }\n\n const getSnapshot = () => {\n for (const {index, mq} of getSizes()) {\n if (mq.matches) return index\n }\n\n return 0\n }\n\n const subscribe = (onStoreChange: () => void) => {\n const disposeFns: (() => void)[] = []\n\n for (const {mq} of getSizes()) {\n const handleChange = () => {\n if (mq.matches) onStoreChange()\n }\n\n mq.addEventListener('change', handleChange)\n\n disposeFns.push(() => mq.removeEventListener('change', handleChange))\n }\n\n return () => {\n for (const disposeFn of disposeFns) {\n disposeFn()\n }\n }\n }\n\n return {getSnapshot, subscribe}\n}\n\n/**\n * Only called during server-side rendering, and hydration if using hydrateRoot\n * Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query\n * and we assume `(prefers-color-scheme: light)` since it's the most common scheme\n *\n * @link https://beta.reactjs.org/apis/react/useSyncExternalStore#adding-support-for-server-rendering\n */\nfunction getServerSnapshot() {\n return 0\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useMediaIndex(): number {\n const {media} = useTheme_v2()\n const store = useMemo(() => _createMediaStore(media), [media])\n\n return useSyncExternalStore(store.subscribe, store.getSnapshot, getServerSnapshot)\n}\n","import {useCallback, useDebugValue, useSyncExternalStore} from 'react'\n\n/**\n * Efficiently subscribes to `window.matchMedia` queries\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Required if the hook is called during SSR (https://react.dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * @public\n */\nexport function useMatchMedia(\n mediaQueryString: `(${string})`,\n getServerSnapshot?: () => boolean,\n): boolean {\n useDebugValue(mediaQueryString)\n\n return useSyncExternalStore(\n useCallback(\n (onStoreChange) => {\n const media = window.matchMedia(mediaQueryString)\n media.addEventListener('change', onStoreChange)\n return () => media.removeEventListener('change', onStoreChange)\n },\n [mediaQueryString],\n ),\n () => window.matchMedia(mediaQueryString).matches,\n getServerSnapshot,\n )\n}\n","import {useMatchMedia} from './useMatchMedia'\n\n/**\n * Returns true if motion should be reduced\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-reduced-motion: no-preference)` 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-reduced-motion` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Reduced-Motion\n * @example https://gist.github.com/stipsan/0c0f839a27842249cada893e9fb7767b\n *\n * @public\n */\nexport function usePrefersReducedMotion(getServerSnapshot = () => false): boolean {\n return useMatchMedia('(prefers-reduced-motion: reduce)', getServerSnapshot)\n}\n","export function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value && typeof value === 'object' && !Array.isArray(value))\n}\n","import {isRecord} from '../../lib/isRecord'\nimport {LayerContextValue} from './types'\n\nexport function getLayerContext(contextValue: LayerContextValue): LayerContextValue {\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(contextValue) || contextValue.version !== 0.0) {\n throw new Error('the context value is not compatible')\n }\n\n if (!contextValue) {\n throw new Error('components using `useLayer()` should be wrapped in a <LayerProvider>.')\n }\n\n if (contextValue.version === 0.0) {\n return contextValue\n }\n\n throw new Error('could not get layer context')\n}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {LayerContextValue} from './types'\n\nexport const LayerContext = createGlobalScopedContext<LayerContextValue | null>(\n '@sanity/ui/context/layer',\n null,\n)\n","import {useCallback, useContext, useEffect, useMemo, useState} from 'react'\n\nimport {useMediaIndex} from '../../hooks/useMediaIndex/useMediaIndex'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport interface LayerProviderProps {\n children?: React.ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function LayerProvider(props: LayerProviderProps): React.JSX.Element {\n const {children, zOffset: zOffsetProp = 0} = props\n\n // Get parent context values\n const parentContextValue = useContext(LayerContext)\n const parent = parentContextValue && getLayerContext(parentContextValue)\n const parentRegisterChild = parent?.registerChild\n const parentLevel = parent?.level ?? 0\n\n // Get level\n const level = parentLevel + 1\n\n // Get z-index offset\n const zOffset = _getArrayProp(zOffsetProp)\n\n // Get responsive z-index value\n const maxMediaIndex = zOffset.length - 1\n const mediaIndex = Math.min(useMediaIndex(), maxMediaIndex)\n const zIndex = parent ? parent.zIndex + zOffset[mediaIndex] : zOffset[mediaIndex]\n\n // A state value that is used to keep track of the number of child layers on each level\n const [, setChildLayers] = useState<Record<number, number>>({})\n\n // A state value that is used to keep track of the number of child levels\n const [size, setSize] = useState(0)\n\n const isTopLayer = size === 0\n\n const registerChild = useCallback(\n (childLevel?: number) => {\n // Register child layers to the parent layer\n const parentDispose = parentRegisterChild?.(childLevel)\n\n if (childLevel !== undefined) {\n setChildLayers((state) => {\n const prevLen = state[childLevel] ?? 0\n const nextState = {...state, [childLevel]: prevLen + 1}\n\n setSize(Object.keys(nextState).length)\n\n return nextState\n })\n } else {\n // Legacy behavior: if no child level is provided, increment the size by 1\n setSize((v) => v + 1)\n }\n\n return () => {\n if (childLevel !== undefined) {\n setChildLayers((state) => {\n const nextState = {...state}\n\n if (nextState[childLevel] === 1) {\n delete nextState[childLevel]\n\n setSize(Object.keys(nextState).length)\n } else {\n nextState[childLevel] -= 1\n }\n\n return nextState\n })\n } else {\n // Legacy behavior: if no child level is provided, decrement the size by 1\n setSize((v) => v - 1)\n }\n\n parentDispose?.()\n }\n },\n [parentRegisterChild, setSize, setChildLayers],\n )\n\n // Register this layer on mount\n useEffect(() => parentRegisterChild?.(level), [level, parentRegisterChild])\n\n const value: LayerContextValue = useMemo(\n () => ({\n version: 0.0,\n isTopLayer,\n level,\n registerChild,\n size,\n zIndex,\n }),\n [isTopLayer, level, registerChild, size, zIndex],\n )\n\n return <LayerContext.Provider value={value}>{children}</LayerContext.Provider>\n}\n","import {useContext} from 'react'\n\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport function useLayer(): LayerContextValue {\n const value = useContext(LayerContext)\n\n if (!value) {\n throw new Error('useLayer(): missing context value')\n }\n\n try {\n return getLayerContext(value)\n } catch (err) {\n if (err instanceof Error) {\n // oxlint-disable-next-line preserve-caught-error\n throw new Error(`useLayer(): ${err.message}`)\n } else {\n // oxlint-disable-next-line preserve-caught-error, restrict-template-expressions\n throw new Error(`useLayer(): ${err}`)\n }\n }\n}\n"],"mappings":"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"}