@sanity/ui 4.0.5 → 4.0.7
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/{arrow-BaqZdFUX.js → arrow-CL8xmdbg.js} +2 -2
- package/dist/{arrow-BaqZdFUX.js.map → arrow-CL8xmdbg.js.map} +1 -1
- package/dist/autocomplete.js +6 -6
- package/dist/autocomplete.js.map +1 -1
- package/dist/breadcrumbs.js +6 -6
- package/dist/breadcrumbs.js.map +1 -1
- package/dist/{button-DpAiERt1.js → button-DQH2KIbq.js} +5 -5
- package/dist/{button-DpAiERt1.js.map → button-DQH2KIbq.js.map} +1 -1
- package/dist/code.js +2 -2
- package/dist/code.js.map +1 -1
- package/dist/{codeFontStyle-aWvllgWi.js → codeFontStyle-84SMhFtI.js} +2 -2
- package/dist/{codeFontStyle-aWvllgWi.js.map → codeFontStyle-84SMhFtI.js.map} +1 -1
- package/dist/{flex-C6SsHFy8.js → flex-CySCBzQm.js} +3 -3
- package/dist/{flex-C6SsHFy8.js.map → flex-CySCBzQm.js.map} +1 -1
- package/dist/{grid-3kBnMOwF.js → grid-I2TNptX-.js} +3 -3
- package/dist/{grid-3kBnMOwF.js.map → grid-I2TNptX-.js.map} +1 -1
- package/dist/{helpers-JV5y3U_M.js → helpers-C8xxXAQC.js} +6 -24
- package/dist/helpers-C8xxXAQC.js.map +1 -0
- package/dist/{hotkeys-BYRfM-HW.js → hotkeys-BPlacpG8.js} +4 -4
- package/dist/{hotkeys-BYRfM-HW.js.map → hotkeys-BPlacpG8.js.map} +1 -1
- package/dist/index.js +13 -13
- package/dist/index.js.map +1 -1
- package/dist/{layer-DsScTlqC.js → layer-DGn7KJIB.js} +3 -3
- package/dist/{layer-DsScTlqC.js.map → layer-DGn7KJIB.js.map} +1 -1
- package/dist/menu.js +7 -7
- package/dist/menu.js.map +1 -1
- package/dist/{popover-C2DFbwZu.js → popover-CEbjxiPx.js} +38 -55
- package/dist/popover-CEbjxiPx.js.map +1 -0
- package/dist/popover.js +1 -1
- package/dist/{responsiveFont-BwYElGq4.js → responsiveFont-CilwaORG.js} +2 -2
- package/dist/{responsiveFont-BwYElGq4.js.map → responsiveFont-CilwaORG.js.map} +1 -1
- package/dist/{stack-wyPeapSx.js → stack-BGFEokua.js} +4 -4
- package/dist/{stack-wyPeapSx.js.map → stack-BGFEokua.js.map} +1 -1
- package/dist/{textInput-DW447nYT.js → textInput-B6ZZJSOj.js} +5 -5
- package/dist/{textInput-DW447nYT.js.map → textInput-B6ZZJSOj.js.map} +1 -1
- package/dist/toast.js +5 -5
- package/dist/toast.js.map +1 -1
- package/dist/tooltip.js +14 -24
- package/dist/tooltip.js.map +1 -1
- package/dist/{useClickOutsideEvent-DbLUuPQ6.js → useClickOutsideEvent-wGLGWBZN.js} +2 -2
- package/dist/{useClickOutsideEvent-DbLUuPQ6.js.map → useClickOutsideEvent-wGLGWBZN.js.map} +1 -1
- package/dist/{useLayer-Dhme0dcp.js → useLayer-jUJIz8mh.js} +2 -2
- package/dist/{useLayer-Dhme0dcp.js.map → useLayer-jUJIz8mh.js.map} +1 -1
- package/package.json +12 -12
- package/dist/helpers-JV5y3U_M.js.map +0 -1
- package/dist/popover-C2DFbwZu.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLayer-Dhme0dcp.js","names":["asProp = 'div'","display = 'block'","margin = 0","padding = 0","_getArrayProp(gridColumn)","_getArrayProp(gridColumnStart)","_getArrayProp(gridColumnEnd)","_getArrayProp(display)","_getArrayProp(flex)","_getArrayProp(height)","_getArrayProp(margin)","_getArrayProp(marginX)","_getArrayProp(marginY)","_getArrayProp(marginTop)","_getArrayProp(marginRight)","_getArrayProp(marginBottom)","_getArrayProp(marginLeft)","_getArrayProp(overflow)","_getArrayProp(padding)","_getArrayProp(paddingX)","_getArrayProp(paddingY)","_getArrayProp(paddingTop)","_getArrayProp(paddingRight)","_getArrayProp(paddingBottom)","_getArrayProp(paddingLeft)","_getArrayProp(gridRow)","_getArrayProp(gridRowStart)","_getArrayProp(gridRowEnd)","_getArrayProp(sizing)","<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>","children","asProp as 'div'","typeof asProp === 'string' ? asProp : undefined","getTheme_v2(useStyledTheme() as Theme)","useStyledTheme() as Theme","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 version: 0.0,\n theme: rootTheme,\n scheme,\n tone,\n }","useMemo(() => {\n if (!rootTheme) return null\n\n return getScopedTheme(rootTheme, scheme, tone)\n }, [scheme, rootTheme, tone])","getScopedTheme(rootTheme, scheme, tone)","<pre>ThemeProvider: no \"theme\" property provided</pre>","<StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>","<ThemeContext.Provider value={themeContext}>\n <StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>\n </ThemeContext.Provider>","ThemeContext.Provider","<ThemeProvider scheme={scheme || root.scheme} theme={root.theme} tone={tone}>\n {children}\n </ThemeProvider>","theme","scheme || root.scheme","checkered = false","focusRing = false","radius = 0","toneProp = 'default'","_getArrayProp(border)","_getArrayProp(borderTop)","_getArrayProp(borderRight)","_getArrayProp(borderBottom)","_getArrayProp(borderLeft)","_getArrayProp(radius)","_getArrayProp(shadow)","<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 />","scheme","muted ?? false","checkered ? '' : undefined","pressed ? '' : undefined","selected ? '' : undefined","typeof as === 'string' ? as : undefined","rootTheme.scheme","<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>","_createMediaStore(media)","useMemo(() => _createMediaStore(media), [media])","(onStoreChange) => {\n const media = window.matchMedia(mediaQueryString)\n media.addEventListener('change', onStoreChange)\n return () => media.removeEventListener('change', onStoreChange)\n }","() => window.matchMedia(mediaQueryString).matches","useCallback(\n (onStoreChange) => {\n const media = window.matchMedia(mediaQueryString)\n media.addEventListener('change', onStoreChange)\n return () => media.removeEventListener('change', onStoreChange)\n },\n [mediaQueryString],\n )","() => false","getServerSnapshot = () => false","zOffsetProp = 0","parentContextValue && getLayerContext(parentContextValue)","_getArrayProp(zOffsetProp)","{}","(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 }","(v) => v + 1","nextState","state","(v) => v - 1","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 )","() => parentRegisterChild?.(level)","[level, parentRegisterChild]","{\n version: 0.0,\n isTopLayer,\n level,\n registerChild,\n size,\n zIndex,\n }","useMemo(\n () => ({\n version: 0.0,\n isTopLayer,\n level,\n registerChild,\n size,\n zIndex,\n }),\n [isTopLayer, level, registerChild, size, zIndex],\n )","<LayerContext.Provider value={value}>{children}</LayerContext.Provider>","LayerContext.Provider","v","getLayerContext(value)","err"],"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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"}
|
|
1
|
+
{"version":3,"file":"useLayer-jUJIz8mh.js","names":["asProp = 'div'","display = 'block'","margin = 0","padding = 0","_getArrayProp(gridColumn)","_getArrayProp(gridColumnStart)","_getArrayProp(gridColumnEnd)","_getArrayProp(display)","_getArrayProp(flex)","_getArrayProp(height)","_getArrayProp(margin)","_getArrayProp(marginX)","_getArrayProp(marginY)","_getArrayProp(marginTop)","_getArrayProp(marginRight)","_getArrayProp(marginBottom)","_getArrayProp(marginLeft)","_getArrayProp(overflow)","_getArrayProp(padding)","_getArrayProp(paddingX)","_getArrayProp(paddingY)","_getArrayProp(paddingTop)","_getArrayProp(paddingRight)","_getArrayProp(paddingBottom)","_getArrayProp(paddingLeft)","_getArrayProp(gridRow)","_getArrayProp(gridRowStart)","_getArrayProp(gridRowEnd)","_getArrayProp(sizing)","<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>","children","asProp as 'div'","typeof asProp === 'string' ? asProp : undefined","getTheme_v2(useStyledTheme() as Theme)","useStyledTheme() as Theme","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 version: 0.0,\n theme: rootTheme,\n scheme,\n tone,\n }","useMemo(() => {\n if (!rootTheme) return null\n\n return getScopedTheme(rootTheme, scheme, tone)\n }, [scheme, rootTheme, tone])","getScopedTheme(rootTheme, scheme, tone)","<pre>ThemeProvider: no \"theme\" property provided</pre>","<StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>","<ThemeContext.Provider value={themeContext}>\n <StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>\n </ThemeContext.Provider>","ThemeContext.Provider","<ThemeProvider scheme={scheme || root.scheme} theme={root.theme} tone={tone}>\n {children}\n </ThemeProvider>","theme","scheme || root.scheme","checkered = false","focusRing = false","radius = 0","toneProp = 'default'","_getArrayProp(border)","_getArrayProp(borderTop)","_getArrayProp(borderRight)","_getArrayProp(borderBottom)","_getArrayProp(borderLeft)","_getArrayProp(radius)","_getArrayProp(shadow)","<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 />","scheme","muted ?? false","checkered ? '' : undefined","pressed ? '' : undefined","selected ? '' : undefined","typeof as === 'string' ? as : undefined","rootTheme.scheme","<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>","_createMediaStore(media)","useMemo(() => _createMediaStore(media), [media])","(onStoreChange) => {\n const media = window.matchMedia(mediaQueryString)\n media.addEventListener('change', onStoreChange)\n return () => media.removeEventListener('change', onStoreChange)\n }","() => window.matchMedia(mediaQueryString).matches","useCallback(\n (onStoreChange) => {\n const media = window.matchMedia(mediaQueryString)\n media.addEventListener('change', onStoreChange)\n return () => media.removeEventListener('change', onStoreChange)\n },\n [mediaQueryString],\n )","() => false","getServerSnapshot = () => false","zOffsetProp = 0","parentContextValue && getLayerContext(parentContextValue)","_getArrayProp(zOffsetProp)","{}","(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 }","(v) => v + 1","nextState","state","(v) => v - 1","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 )","() => parentRegisterChild?.(level)","[level, parentRegisterChild]","{\n version: 0.0,\n isTopLayer,\n level,\n registerChild,\n size,\n zIndex,\n }","useMemo(\n () => ({\n version: 0.0,\n isTopLayer,\n level,\n registerChild,\n size,\n zIndex,\n }),\n [isTopLayer, level, registerChild, size, zIndex],\n )","<LayerContext.Provider value={value}>{children}</LayerContext.Provider>","LayerContext.Provider","v","getLayerContext(value)","err"],"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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanity/ui",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.7",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"components",
|
|
6
6
|
"design-system",
|
|
@@ -49,28 +49,28 @@
|
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@floating-ui/react-dom": "^2.1.9",
|
|
52
|
+
"@sanity/color": "^3.0.8",
|
|
53
|
+
"@sanity/icons": "^5.2.1",
|
|
52
54
|
"csstype": "^3.2.3",
|
|
53
|
-
"motion": "^13.1.
|
|
55
|
+
"motion": "^13.1.1",
|
|
54
56
|
"react-is": "^19.2.8",
|
|
55
57
|
"react-refractor": "^4.0.0",
|
|
56
|
-
"use-effect-event": "^2.0.
|
|
57
|
-
"@sanity/color": "^3.0.8",
|
|
58
|
-
"@sanity/icons": "^5.2.1"
|
|
58
|
+
"use-effect-event": "^2.0.4"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@sanity/tsdown-config": "^0.
|
|
62
|
-
"@sanity/vanilla-extract-vite-plugin": "^0.2.
|
|
61
|
+
"@sanity/tsdown-config": "^0.27.0",
|
|
62
|
+
"@sanity/vanilla-extract-vite-plugin": "^0.2.16",
|
|
63
63
|
"@testing-library/dom": "^10.4.1",
|
|
64
64
|
"@testing-library/jest-dom": "^7.0.1",
|
|
65
65
|
"@testing-library/react": "^16.3.2",
|
|
66
|
-
"@testing-library/user-event": "^14.6.
|
|
66
|
+
"@testing-library/user-event": "^14.6.6",
|
|
67
67
|
"@types/node": "^24.13.3",
|
|
68
68
|
"@types/react": "^19.2.18",
|
|
69
|
-
"@types/react-dom": "^19.2.
|
|
69
|
+
"@types/react-dom": "^19.2.5",
|
|
70
70
|
"@types/react-is": "^19.2.0",
|
|
71
71
|
"@vanilla-extract/css": "^1.21.2",
|
|
72
72
|
"jsdom": "^30.0.1",
|
|
73
|
-
"oxc-transform-react": "^0.
|
|
73
|
+
"oxc-transform-react": "^0.147.0",
|
|
74
74
|
"react": "^19.2.8",
|
|
75
75
|
"react-dom": "^19.2.8",
|
|
76
76
|
"rimraf": "^5.0.5",
|
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
"tsdown": "^0.22.14",
|
|
79
79
|
"typescript": "7.0.2",
|
|
80
80
|
"unrun": "^0.3.1",
|
|
81
|
-
"vite": "^8.2.
|
|
82
|
-
"vitest": "^4.1.
|
|
81
|
+
"vite": "^8.2.2",
|
|
82
|
+
"vitest": "^4.1.11",
|
|
83
83
|
"vitest-axe": "^1.0.0-pre.5"
|
|
84
84
|
},
|
|
85
85
|
"peerDependencies": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers-JV5y3U_M.js","names":[],"sources":["../src/core/constants.ts","../src/core/styles/helpers.ts"],"sourcesContent":["import type {TargetAndTransition, Transition, Variant} from 'motion/react'\n\n/**\n * @internal\n */\nexport const EMPTY_ARRAY: never[] = []\n\n/**\n * @internal\n */\nexport const EMPTY_RECORD: Record<string, never> = {}\n\nconst POPOVER_MOTION_DURATION = 0.2\n\n/**\n * Shared `framer-motion` variants used by `Popover` and `Tooltip` components.\n * @internal\n */\nexport const POPOVER_MOTION_PROPS: {\n card: {\n initial: Variant\n hidden: Variant\n visible: Variant\n scaleIn: Variant\n scaleOut: Variant\n }\n content: {\n hidden: TargetAndTransition\n visible: TargetAndTransition\n }\n transition: Transition\n} = {\n card: {\n initial: {\n scale: 0.97,\n willChange: 'transform',\n },\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n transition: {\n duration: POPOVER_MOTION_DURATION / 2,\n },\n },\n scaleIn: {\n scale: 1,\n },\n scaleOut: {\n scale: 0.97,\n },\n },\n /**\n * Crossfade targets for the popover content wrapper. These are plain\n * animation targets (not variants): the content fade is driven directly by\n * the `open` prop rather than by variant/exit propagation from the card,\n * so that any open/close/open sequence converges to the correct opacity.\n * On enter, the content starts fading in halfway through the card fade\n * (which lasts `POPOVER_MOTION_DURATION / 2`); on exit, it fades out\n * together with the card.\n */\n content: {\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n transition: {\n type: 'spring',\n visualDuration: POPOVER_MOTION_DURATION,\n bounce: 0.25,\n delay: POPOVER_MOTION_DURATION / 4,\n },\n },\n },\n transition: {\n type: 'spring',\n visualDuration: POPOVER_MOTION_DURATION,\n bounce: 0.25,\n },\n}\n","import {CSSObject} from '../../theme/system/css'\nimport {Theme} from '../../theme/system/theme'\nimport {getTheme_v2} from '../../theme/versioning/getTheme_v2'\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @internal\n */\nexport function _fillCSSObject(keys: string[], value: string | number | CSSObject): CSSObject {\n return keys.reduce<CSSObject>((style, key) => {\n style[key] = value\n\n return style\n }, {})\n}\n\n/**\n * @public\n */\nexport function rem(pixelValue: number): string | 0 {\n if (pixelValue === 0) return 0\n\n return `${pixelValue / 16}rem`\n}\n\n/**\n * @internal\n */\nexport function _responsive<T>(\n media: number[],\n values: T[],\n callback: (value: T, index: number, array: T[]) => CSSObject,\n): CSSObject[] {\n const statements = values?.map(callback) || []\n\n return statements.map((statement, mediaIndex) => {\n if (mediaIndex === 0) return statement\n\n return {[`@media screen and (min-width: ${media[mediaIndex - 1]}px)`]: statement}\n })\n}\n\n/**\n * @internal\n */\nexport function _getArrayProp<T = number>(val: T | T[] | undefined, defaultVal?: T[]): T[] {\n if (val === undefined) return defaultVal || EMPTY_ARRAY\n\n return Array.isArray(val) ? val : [val]\n}\n\n/**\n * @internal\n */\nexport function _getResponsiveSpace(\n theme: Theme,\n props: string[],\n spaceIndexes: number[] = EMPTY_ARRAY,\n): CSSObject[] | null {\n if (!Array.isArray(spaceIndexes)) {\n throw new Error('the property must be array of numbers')\n }\n\n if (spaceIndexes.length === 0) {\n return null\n }\n\n const {media, space} = getTheme_v2(theme)\n\n return _responsive(media, spaceIndexes, (spaceIndex) =>\n _fillCSSObject(props, rem(space[spaceIndex])),\n )\n}\n"],"mappings":";;;;AAKA,MAAa,cAAuB,CAAC,GAKxB,eAAsC,CAAC,GAE9C,0BAA0B,IAMnB,uBAaT;CACF,MAAM;EACJ,SAAS;GACP,OAAO;GACP,YAAY;EACd;EACA,QAAQ,EACN,SAAS,EACX;EACA,SAAS;GACP,SAAS;GACT,YAAY,EACV,UAAU,0BAA0B,EACtC;EACF;EACA,SAAS,EACP,OAAO,EACT;EACA,UAAU,EACR,OAAO,IACT;CACF;;;;;;;;;;CAUA,SAAS;EACP,QAAQ,EACN,SAAS,EACX;EACA,SAAS;GACP,SAAS;GACT,YAAY;IACV,MAAM;IACN,gBAAgB;IAChB,QAAQ;IACR,OAAO,0BAA0B;GACnC;EACF;CACF;CACA,YAAY;EACV,MAAM;EACN,gBAAgB;EAChB,QAAQ;CACV;AACF;;;;ACzEA,SAAgB,eAAe,MAAgB,OAA+C;CAC5F,OAAO,KAAK,QAAmB,OAAO,SACpC,MAAM,OAAO,OAEN,QACN,CAAC,CAAC;AACP;;;;AAKA,SAAgB,IAAI,YAAgC;CAGlD,OAFI,eAAe,IAAU,IAEtB,GAAG,aAAa,GAAG;AAC5B;;;;AAKA,SAAgB,YACd,OACA,QACA,UACa;CAGb,QAFmB,QAAQ,IAAI,QAAQ,KAAK,CAAC,EAAA,CAE3B,KAAK,WAAW,eAC5B,eAAe,IAAU,YAEtB,GAAE,iCAAiC,MAAM,aAAa,GAAG,OAAO,UAAS,CACjF;AACH;;;;AAKA,SAAgB,cAA0B,KAA0B,YAAuB;CAGzF,OAFI,QAAQ,KAAA,IAAkB,cAAc,cAErC,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,GAAG;AACxC;;;;AAKA,SAAgB,oBACd,OACA,OACA,eAAyB,aACL;CACpB,IAAI,CAAC,MAAM,QAAQ,YAAY,GAC7B,MAAU,MAAM,uCAAuC;CAGzD,IAAI,aAAa,WAAW,GAC1B,OAAO;CAGT,IAAM,EAAC,OAAO,UAAS,YAAY,KAAK;CAExC,OAAO,YAAY,OAAO,eAAe,eACvC,eAAe,OAAO,IAAI,MAAM,WAAW,CAAC,CAC9C;AACF"}
|