@sanity/ui 4.0.4 → 4.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/{arrow-D0mvjJMb.js → arrow-BaqZdFUX.js} +5 -5
  2. package/dist/arrow-BaqZdFUX.js.map +1 -0
  3. package/dist/autocomplete.js +7 -7
  4. package/dist/autocomplete.js.map +1 -1
  5. package/dist/breadcrumbs.js +6 -6
  6. package/dist/breadcrumbs.js.map +1 -1
  7. package/dist/{button-QO2lWHVH.js → button-DpAiERt1.js} +6 -6
  8. package/dist/button-DpAiERt1.js.map +1 -0
  9. package/dist/code.js +1 -1
  10. package/dist/code.js.map +1 -1
  11. package/dist/codeFontStyle-aWvllgWi.js.map +1 -1
  12. package/dist/element-BYgCE_iK.js.map +1 -1
  13. package/dist/factory-BA3gEfyI.js.map +1 -1
  14. package/dist/{flex-C9NHtXFi.js → flex-C6SsHFy8.js} +3 -3
  15. package/dist/flex-C6SsHFy8.js.map +1 -0
  16. package/dist/getElementRef-5HZQ-Owu.js.map +1 -1
  17. package/dist/getScopedTheme-C-sZsyAz.js.map +1 -1
  18. package/dist/getTheme_v2-y09KqtEb.js.map +1 -1
  19. package/dist/{grid-Cr7qKmZQ.js → grid-3kBnMOwF.js} +3 -3
  20. package/dist/grid-3kBnMOwF.js.map +1 -0
  21. package/dist/helpers-JV5y3U_M.js.map +1 -1
  22. package/dist/{hotkeys-DyrSy500.js → hotkeys-BYRfM-HW.js} +10 -10
  23. package/dist/hotkeys-BYRfM-HW.js.map +1 -0
  24. package/dist/index.js +57 -57
  25. package/dist/index.js.map +1 -1
  26. package/dist/{layer-DcsNupeg.js → layer-DsScTlqC.js} +3 -3
  27. package/dist/layer-DsScTlqC.js.map +1 -0
  28. package/dist/menu.js +8 -8
  29. package/dist/menu.js.map +1 -1
  30. package/dist/{popover-5fEUllFf.js → popover-C2DFbwZu.js} +6 -6
  31. package/dist/popover-C2DFbwZu.js.map +1 -0
  32. package/dist/popover.js +1 -1
  33. package/dist/refractor-CC48DwHi.js.map +1 -1
  34. package/dist/responsiveFont-BwYElGq4.js.map +1 -1
  35. package/dist/{stack-B2zXPxzb.js → stack-wyPeapSx.js} +4 -4
  36. package/dist/stack-wyPeapSx.js.map +1 -0
  37. package/dist/{textInput-CgNWWr7H.js → textInput-DW447nYT.js} +14 -14
  38. package/dist/textInput-DW447nYT.js.map +1 -0
  39. package/dist/theme.js.map +1 -1
  40. package/dist/toast.js +11 -11
  41. package/dist/toast.js.map +1 -1
  42. package/dist/tooltip.js +5 -5
  43. package/dist/tooltip.js.map +1 -1
  44. package/dist/useClickOutsideEvent-DbLUuPQ6.js.map +1 -1
  45. package/dist/useElementSize-BJvbGHq8.js.map +1 -1
  46. package/dist/{useLayer-UpfaKlm7.js → useLayer-Dhme0dcp.js} +11 -11
  47. package/dist/useLayer-Dhme0dcp.js.map +1 -0
  48. package/package.json +3 -3
  49. package/dist/arrow-D0mvjJMb.js.map +0 -1
  50. package/dist/button-QO2lWHVH.js.map +0 -1
  51. package/dist/flex-C9NHtXFi.js.map +0 -1
  52. package/dist/grid-Cr7qKmZQ.js.map +0 -1
  53. package/dist/hotkeys-DyrSy500.js.map +0 -1
  54. package/dist/layer-DcsNupeg.js.map +0 -1
  55. package/dist/popover-5fEUllFf.js.map +0 -1
  56. package/dist/stack-B2zXPxzb.js.map +0 -1
  57. package/dist/textInput-CgNWWr7H.js.map +0 -1
  58. package/dist/useLayer-UpfaKlm7.js.map +0 -1
@@ -0,0 +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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/ui",
3
- "version": "4.0.4",
3
+ "version": "4.0.5",
4
4
  "keywords": [
5
5
  "components",
6
6
  "design-system",
@@ -58,7 +58,7 @@
58
58
  "@sanity/icons": "^5.2.1"
59
59
  },
60
60
  "devDependencies": {
61
- "@sanity/tsdown-config": "^0.25.0",
61
+ "@sanity/tsdown-config": "^0.26.0",
62
62
  "@sanity/vanilla-extract-vite-plugin": "^0.2.13",
63
63
  "@testing-library/dom": "^10.4.1",
64
64
  "@testing-library/jest-dom": "^7.0.1",
@@ -69,8 +69,8 @@
69
69
  "@types/react-dom": "^19.2.4",
70
70
  "@types/react-is": "^19.2.0",
71
71
  "@vanilla-extract/css": "^1.21.2",
72
- "babel-plugin-react-compiler": "^1.0.0",
73
72
  "jsdom": "^30.0.1",
73
+ "oxc-transform-react": "^0.145.0",
74
74
  "react": "^19.2.8",
75
75
  "react-dom": "^19.2.8",
76
76
  "rimraf": "^5.0.5",
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrow-D0mvjJMb.js","names":["createGlobalScopedContext","BoundaryElementContextValue","BoundaryElementContext","useContext","isRecord","BoundaryElementContext","BoundaryElementContextValue","DEFAULT_VALUE","version","element","useBoundaryElement","value","Error","createGlobalScopedContext","globalScope","PortalContextValue","key","elementKey","Symbol","for","defaultContextValue","version","boundaryElement","element","document","createElement","setAttribute","body","appendChild","PortalContext","useContext","isRecord","PortalContext","PortalContextValue","usePortal","value","Error","version","createPortal","usePortal","PortalProps","children","React","ReactNode","__unstable_name","Portal","props","$","_c","name","portal","portalElement","elements","element","default","t0","PointCmd","type","x","y","radius","CurveCmd","startControl","Point","endControl","curveEnd","Cmd","moveTowardsLength","movingPoint","targetPoint","amount","width","height","distance","Math","sqrt","moveTowardsFractional","min","fraction","getRoundedCommands","points","len","length","cmds","i","point","prevPoint","nextPoint","curveStart","push","compileCommands","map","n","idx","join","HTMLProps","css","styled","useTheme_v2","compileCommands","getRoundedCommands","Point","StyledArrow","div","$w","w","StrokePath","path","ShapePath","Arrow","props","$","_c","h","ref","restProps","t0","width","height","radius","undefined","card","strokeWidth","shadow","outline","center","t1","points","x","y","cmds","strokePath","fillPath","t2","t3","t4","t5","t6","t7","t8"],"sources":["../src/core/utils/boundaryElement/boundaryElementContext.ts","../src/core/utils/boundaryElement/useBoundaryElement.ts","../src/core/utils/portal/portalContext.ts","../src/core/utils/portal/usePortal.ts","../src/core/utils/portal/portal.ts","../src/core/utils/arrow/cmds.ts","../src/core/utils/arrow/arrow.tsx"],"sourcesContent":["import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {BoundaryElementContextValue} from './types'\n\nexport const BoundaryElementContext = createGlobalScopedContext<BoundaryElementContextValue | null>(\n '@sanity/ui/context/boundaryElement',\n null,\n)\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\nconst DEFAULT_VALUE: BoundaryElementContextValue = {\n version: 0.0,\n element: null,\n}\n\n/**\n * @public\n */\nexport function useBoundaryElement(): BoundaryElementContextValue {\n const value = useContext(BoundaryElementContext)\n\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 (value && (!isRecord(value) || value.version !== 0.0)) {\n throw new Error('useBoundaryElement(): the context value is not compatible')\n }\n\n return value || DEFAULT_VALUE\n}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {globalScope} from '../../lib/globalScope'\nimport {PortalContextValue} from './types'\n\nconst key = '@sanity/ui/context/portal'\nconst elementKey = Symbol.for(`${key}/element`)\n\nglobalScope[elementKey] = null\n\nconst defaultContextValue: PortalContextValue = {\n version: 0.0,\n boundaryElement: null,\n get element() {\n if (typeof document === 'undefined') {\n return null\n }\n\n if (globalScope[elementKey]) {\n return globalScope[elementKey]\n }\n\n globalScope[elementKey] = document.createElement('div')\n globalScope[elementKey].setAttribute('data-portal', '')\n\n document.body.appendChild(globalScope[elementKey])\n\n return globalScope[elementKey]\n },\n}\n\nexport const PortalContext = createGlobalScopedContext<PortalContextValue>(key, defaultContextValue)\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport function usePortal(): PortalContextValue {\n const value = useContext(PortalContext)\n\n if (!value) {\n throw new Error('usePortal(): missing context value')\n }\n\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(value) || value.version !== 0.0) {\n throw new Error('usePortal(): the context value is not compatible')\n }\n\n return value\n}\n","import {createPortal} from 'react-dom'\n\nimport {usePortal} from './usePortal'\n\n/**\n * @public\n */\nexport interface PortalProps {\n children: React.ReactNode\n /**\n * @beta This API might change. DO NOT USE IN PRODUCTION.\n */\n __unstable_name?: string\n}\n\n/**\n * @public\n */\nexport function Portal(props: PortalProps): React.ReactPortal | null {\n const {children, __unstable_name: name} = props\n const portal = usePortal()\n const portalElement =\n (name ? portal.elements && portal.elements[name] : portal.element) || portal.elements?.default\n\n if (!portalElement) {\n return null\n }\n\n return createPortal(children, portalElement)\n}\n","interface PointCmd {\n type: 'point'\n x: number\n y: number\n radius?: number\n}\n\ninterface CurveCmd {\n type: 'curve'\n startControl: Point\n endControl: Point\n curveEnd: Point\n}\n\nexport type Cmd = PointCmd | CurveCmd\n\nexport interface Point {\n x: number\n y: number\n radius?: number\n}\n\nfunction moveTowardsLength(movingPoint: Point, targetPoint: Point, amount: number) {\n const width = targetPoint.x - movingPoint.x\n const height = targetPoint.y - movingPoint.y\n\n const distance = Math.sqrt(width * width + height * height)\n\n return moveTowardsFractional(movingPoint, targetPoint, Math.min(1, amount / distance))\n}\n\nfunction moveTowardsFractional(movingPoint: Point, targetPoint: Point, fraction: number): Point {\n return {\n x: movingPoint.x + (targetPoint.x - movingPoint.x) * fraction,\n y: movingPoint.y + (targetPoint.y - movingPoint.y) * fraction,\n }\n}\n\nexport function getRoundedCommands(points: Point[]): Cmd[] {\n const len = points.length\n\n const cmds: Cmd[] = []\n\n for (let i = 0; i < len; i += 1) {\n const point = points[i]\n const prevPoint = points[i - 1]\n const nextPoint = points[i + 1]\n\n if (prevPoint && point.radius) {\n const curveStart = moveTowardsLength(point, prevPoint, point.radius)\n const curveEnd = moveTowardsLength(point, nextPoint, point.radius)\n const startControl = moveTowardsFractional(curveStart, point, 0.5)\n const endControl = moveTowardsFractional(point, curveEnd, 0.5)\n\n cmds.push({\n type: 'point',\n ...curveStart,\n })\n\n cmds.push({\n type: 'curve',\n curveEnd,\n startControl,\n endControl,\n })\n } else {\n cmds.push({\n type: 'point',\n ...point,\n })\n }\n }\n\n return cmds\n}\n\nexport function compileCommands(cmds: Cmd[]): string {\n return cmds\n .map((n, idx) => {\n if (n.type === 'point') {\n return `${idx === 0 ? 'M' : 'L'} ${n.x} ${n.y}`\n }\n\n if (n.type === 'curve') {\n return `C ${n.startControl.x} ${n.startControl.y} ${n.endControl.x} ${n.endControl.y} ${n.curveEnd.x} ${n.curveEnd.y}`\n }\n\n return ``\n })\n .join(' ')\n}\n","import {HTMLProps} from 'react'\nimport {css, styled} from 'styled-components'\n\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {compileCommands, getRoundedCommands, Point} from './cmds'\n\nconst StyledArrow = styled.div<{$w: number}>(\n ({$w: w}) => css`\n position: absolute;\n width: ${w}px;\n height: ${w}px;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n line-height: 0;\n transform-origin: ${w / 2}px ${w / 2}px;\n }\n\n [data-placement^='top'] > & {\n bottom: -${w}px;\n\n & > svg {\n transform: rotate(0);\n }\n }\n\n [data-placement^='right'] > & {\n left: -${w}px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -${w}px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -${w}px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n `,\n)\n\nconst StrokePath = styled.path`\n stroke: var(--card-shadow-outline-color);\n`\n\nconst ShapePath = styled.path`\n fill: var(--card-bg-color);\n`\n\n/** @internal */\nexport function Arrow(\n props: {width: number; height: number; radius?: number} & Omit<\n HTMLProps<HTMLDivElement>,\n 'width' | 'height'\n >,\n): React.JSX.Element {\n const {width: w, height: h, radius = 0, ref, ...restProps} = props\n const {card} = useTheme_v2()\n const strokeWidth = card.shadow.outline\n\n const center = w / 2\n\n const points: Point[] = [\n {\n x: 0,\n y: 0,\n },\n {\n x: radius,\n y: 0,\n radius,\n },\n {\n x: center,\n y: h - 1,\n radius,\n },\n {\n x: w - radius,\n y: 0,\n radius,\n },\n {\n x: w,\n y: 0,\n },\n ]\n\n const cmds = getRoundedCommands(points)\n const path = compileCommands(cmds)\n\n // oxlint-disable-next-line no-unnecessary-template-expression\n const strokePath = `${path}`\n const fillPath = `${path} M ${w} -1 M 0 -1 Z`\n\n return (\n <StyledArrow {...restProps} $w={w} ref={ref}>\n <svg width={w} height={w} viewBox={`0 0 ${w} ${w}`}>\n <mask id=\"stroke-mask\">\n <rect x={0} y={strokeWidth} width={w} height={w} fill=\"white\" />\n </mask>\n <StrokePath d={strokePath} mask=\"url(#stroke-mask)\" strokeWidth={strokeWidth * 2} />\n <ShapePath d={fillPath} />\n </svg>\n </StyledArrow>\n )\n}\n"],"mappings":";;;;;;AAGA,MAAaE,yBAAyBF,0BACpC,sCACA,IACF,GCAMO,gBAA6C;CACjDC,SAAS;CACTC,SAAS;AACX;;;;AAKA,SAAOC,qBAAA;CACL,IAAAC,QAAcR,WAAWE,sBAAsB;CAK/C,IAAIM,UAAU,CAACP,SAASO,KAAK,KAAKA,MAAKH,YAAa,IAClD,MAAUI,MAAM,2DAA2D;CAC5E,OAEMD,SAAAJ;AAAsB;ACpB/B,MAAMS,MAAM,6BACNC,aAAaC,OAAOC,IAAI,GAAGH,IAAG,SAAU;AAE9CF,YAAYG,cAAc;AAuB1B,MAAaY,gBAAgBhB,0BAA8CG,KAAKI;CApB9EC,SAAS;CACTC,iBAAiB;CACjB,IAAIC,UAAU;EAcZ,OAbI,OAAOC,WAAa,MACf,OAGLV,YAAYG,cACPH,YAAYG,eAGrBH,YAAYG,cAAcO,SAASC,cAAc,KAAK,GACtDX,YAAYG,WAAW,CAACS,aAAa,eAAe,EAAE,GAEtDF,SAASG,KAAKC,YAAYd,YAAYG,WAAW,GAE1CH,YAAYG;CACrB;AAG8EG,CAAmB;;;;ACrBnG,SAAOc,YAAA;CACL,IAAAC,QAAcL,WAAWE,aAAa;CAEtC,IAAI,CAACG,OACH,MAAUC,MAAM,oCAAoC;CAMtD,IAAI,CAACL,SAASI,KAAK,KAAKA,MAAKE,YAAa,GACxC,MAAUD,MAAM,kDAAkD;CACnE,OAEMD;AAAK;;;;ACLd,SAAOU,OAAAC,OAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GACL,EAAAP,UAAAG,iBAAAK,SAA0CH,OAC1CI,SAAeX,UAAU,GACzBY,iBACGF,OAAOC,OAAME,YAAaF,OAAME,SAAUH,QAAQC,OAAMG,YAAaH,OAAME,UAAkBE;CAEhG,IAAI,CAACH,eAAa,OACT;CACR,IAAAI;CAE2C,OAF3CR,EAAA,OAAAN,YAAAM,EAAA,OAAAI,iBAEMI,KAAAjB,aAAaG,UAAUU,aAAa,GAACJ,EAAA,KAAAN,UAAAM,EAAA,KAAAI,eAAAJ,EAAA,KAAAQ,MAAAA,KAAAR,EAAA,IAArCQ;AAAqC;ACN9C,SAASY,kBAAkBC,aAAoBC,aAAoBC,QAAgB;CACjF,IAAMC,QAAQF,YAAYX,IAAIU,YAAYV,GACpCc,SAASH,YAAYV,IAAIS,YAAYT,GAErCc,WAAWC,KAAKC,KAAKJ,QAAQA,QAAQC,SAASA,MAAM;CAE1D,OAAOI,sBAAsBR,aAAaC,aAAaK,KAAKG,IAAI,GAAGP,SAASG,QAAQ,CAAC;AACvF;AAEA,SAASG,sBAAsBR,aAAoBC,aAAoBS,UAAyB;CAC9F,OAAO;EACLpB,GAAGU,YAAYV,KAAKW,YAAYX,IAAIU,YAAYV,KAAKoB;EACrDnB,GAAGS,YAAYT,KAAKU,YAAYV,IAAIS,YAAYT,KAAKmB;CACvD;AACF;AAEA,SAAgBC,mBAAmBC,QAAwB;CACzD,IAAMC,MAAMD,OAAOE,QAEbC,OAAc,CAAA;CAEpB,KAAK,IAAIC,IAAI,GAAGA,IAAIH,KAAKG,KAAK,GAAG;EAC/B,IAAMC,QAAQL,OAAOI,IACfE,YAAYN,OAAOI,IAAI,IACvBG,YAAYP,OAAOI,IAAI;EAE7B,IAAIE,aAAaD,MAAMzB,QAAQ;GAC7B,IAAM4B,aAAarB,kBAAkBkB,OAAOC,WAAWD,MAAMzB,MAAM,GAC7DK,WAAWE,kBAAkBkB,OAAOE,WAAWF,MAAMzB,MAAM,GAC3DE,eAAec,sBAAsBY,YAAYH,OAAO,EAAG,GAC3DrB,aAAaY,sBAAsBS,OAAOpB,UAAU,EAAG;GAO7DkB,AALAA,KAAKM,KAAK;IACRhC,MAAM;IACN,GAAG+B;GACL,CAAC,GAEDL,KAAKM,KAAK;IACRhC,MAAM;IACNQ;IACAH;IACAE;GACF,CAAC;EACH,OACEmB,KAAKM,KAAK;GACRhC,MAAM;GACN,GAAG4B;EACL,CAAC;CAEL;CAEA,OAAOF;AACT;AAEA,SAAgBO,gBAAgBP,MAAqB;CACnD,OAAOA,KACJQ,KAAKC,GAAGC,QACHD,EAAEnC,SAAS,UACN,GAAGoC,QAAQ,IAAI,MAAM,IAAG,GAAID,EAAElC,EAAC,GAAIkC,EAAEjC,MAG1CiC,EAAEnC,SAAS,UACN,KAAKmC,EAAE9B,aAAaJ,EAAC,GAAIkC,EAAE9B,aAAaH,EAAC,GAAIiC,EAAE5B,WAAWN,EAAC,GAAIkC,EAAE5B,WAAWL,EAAC,GAAIiC,EAAE3B,SAASP,EAAC,GAAIkC,EAAE3B,SAASN,MAG9G,EACR,CAAC,CACDmC,KAAK,GAAG;AACb;ACpFA,MAAMQ,cAAcL,uBAAOM,IAAAA,WAAAA;;;AACxB,CAAA,CAAA,EAAA,EAACC,IAAIC,QAAOT,GAAG,2BAELS,EAAC,YACAA,EAAC,mFASWA,IAAI,EAAC,KAAMA,IAAI,EAAC,0CAIzBA,EAAC,uEAQHA,EAAC,2EAQAA,EAAC,4EAQHA,EAAC,uCAOf,GAEMC,aAAaT,OAAOU,KAAAA,WAAAA;;;AAAI,CAAA,CAAA,4CAIxBC,YAAYX,OAAOU,KAAAA,WAAAA;;;AAAI,CAAA,CAAA;;AAK7B,SAAOE,MAAAC,OAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAAAC,GAAAC,KAAAC,WAAAC,IAAAX;CAAA,AAAAM,EAAA,OAAAD,SAM6DG,IAAAF,EAAA,IAAAG,MAAAH,EAAA,IAAAI,YAAAJ,EAAA,IAAAK,KAAAL,EAAA,IAAAN,IAAAM,EAAA,OAAlE,CAAAM,OAAAZ,GAAAa,QAAAL,GAAAM,QAAAH,IAAAF,QAAAC,aAA6DL,OAAKC,EAAA,KAAAD,OAAAC,EAAA,KAAAE,GAAAF,EAAA,KAAAG,KAAAH,EAAA,KAAAI,WAAAJ,EAAA,KAAAK,IAAAL,EAAA,KAAAN;CAAtC,IAAAc,SAAAH,OAAAI,KAAAA,IAAA,IAAAJ,IAC5B,EAAAK,SAAevB,YAAY,GAC3BwB,cAAoBD,KAAIE,OAAOC,SAE/BC,SAAepB,IAAI,GAACqB;CAAA,AAAAf,EAAA,OAAAc,UAAAd,EAAA,OAAAE,KAAAF,EAAA,OAAAQ,UAAAR,EAAA,OAAAN,KA6BPqB,KAAA3B,gBADAC,mBAAmB2B;EAzB9B;GAAAC,GACK;GAACC,GACD;EACL;EACA;GAAAD,GACKT;GAAMU,GACN;GAACV;EAEN;EACA;GAAAS,GACKH;GAAMI,GACNhB,IAAI;GAACM;EAEV;EACA;GAAAS,GACKvB,IAAIc;GAAMU,GACV;GAACV;EAEN;EACA;GAAAS,GACKvB;GAACwB,GACD;EACL;CAG8BF,CACHG,CAAI,GAACnB,EAAA,KAAAc,QAAAd,EAAA,KAAAE,GAAAF,EAAA,KAAAQ,QAAAR,EAAA,KAAAN,GAAAM,EAAA,MAAAe,MAAAA,KAAAf,EAAA;CAAlC,IAAAJ,OAAamB,IAGbK,aAAmB,GAAGxB,QACtByB,WAAiB,GAAGzB,KAAI,KAAMF,EAAC,eAIQ4B,KAAA,OAAO5B,EAAC,GAAIA,KAAG6B;CAAA,AAAAvB,EAAA,QAAAW,eAAAX,EAAA,QAAAN,KAChD6B,KAAA,oBAAA,QAAA;EAAS,IAAA;EACP,UAAA,oBAAA,QAAA;GAAS,GAAA;GAAMZ,GAAAA;GAAoBjB,OAAAA;GAAWA,QAAAA;GAAQ,MAAA;EAAO,CAAA;CACxD,CAAA,GAAAM,EAAA,MAAAW,aAAAX,EAAA,MAAAN,GAAAM,EAAA,MAAAuB,MAAAA,KAAAvB,EAAA;CAC0D,IAAAwB,KAAAb,cAAc,GAACc;CAAA,AAAAzB,EAAA,QAAAoB,cAAApB,EAAA,QAAAwB,MAAhFC,KAAA,oBAAC,YAAD;EAAeL,GAAAA;EAAiB,MAAA;EAAiC,aAAAI;CAAe,CAAA,GAAIxB,EAAA,MAAAoB,YAAApB,EAAA,MAAAwB,IAAAxB,EAAA,MAAAyB,MAAAA,KAAAzB,EAAA;CAAA,IAAA0B;CAAA,AAAA1B,EAAA,QAAAqB,WAC1DK,KAAA1B,EAAA,OAA1B0B,KAAA,oBAAC,WAAD,EAAcL,GAAAA,SAAQ,CAAA,GAAIrB,EAAA,MAAAqB,UAAArB,EAAA,MAAA0B;CAAA,IAAAC;CAAA,AAAA3B,EAAA,QAAAsB,MAAAtB,EAAA,QAAAuB,MAAAvB,EAAA,QAAAyB,MAAAzB,EAAA,QAAA0B,MAAA1B,EAAA,QAAAN,KAL5BiC,KAAA,qBAAA,OAAA;EAAYjC,OAAAA;EAAWA,QAAAA;EAAY,SAAA4B;EAAnC,UAAA;GACEC;GAGAE;GACAC;EACI;KAAA1B,EAAA,MAAAsB,IAAAtB,EAAA,MAAAuB,IAAAvB,EAAA,MAAAyB,IAAAzB,EAAA,MAAA0B,IAAA1B,EAAA,MAAAN,GAAAM,EAAA,MAAA2B,MAAAA,KAAA3B,EAAA;CAAA,IAAA4B;CACM,OADN5B,EAAA,QAAAG,OAAAH,EAAA,QAAAI,aAAAJ,EAAA,QAAA2B,MAAA3B,EAAA,QAAAN,KAPRkC,KAAA,oBAAC,aAAD;EAAY,GAAKxB;EAAeV,IAAAA;EAAQS;EACtCwB,UAAAA;CADU,CAAA,GAQE3B,EAAA,MAAAG,KAAAH,EAAA,MAAAI,WAAAJ,EAAA,MAAA2B,IAAA3B,EAAA,MAAAN,GAAAM,EAAA,MAAA4B,MAAAA,KAAA5B,EAAA,KARd4B;AAQc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"button-QO2lWHVH.js","names":["SpinnerIcon","Text","spinnerIcon","SpinnerProps","muted","size","Spinner","props","$","_c","t0","Symbol","for","t1","css","CSSObject","getTheme_v2","_cardColorStyle","focusRingBorderStyle","focusRingStyle","ThemeProps","ButtonMode","ButtonTone","ButtonWidth","buttonBaseStyles","props","$width","ReturnType","style","theme","button","combineBoxShadow","boxShadows","filter","Boolean","join","buttonColorStyles","$mode","$tone","color","baseColor","shadow","mode","default","border","width","defaultBoxShadow","undefined","enabled","disabled","boxShadow","base","bg","focusRing","hovered","pressed","root","isValidElement","useMemo","isValidElementType","styled","ThemeFontWeightKey","_getArrayProp","responsiveRadiusStyle","ResponsiveRadiusStyleProps","useTheme_v2","ButtonMode","ButtonTextAlign","ButtonTone","ButtonWidth","ElementType","Props","FlexJustify","Box","Flex","Spinner","Text","ResponsivePaddingProps","ResponsiveRadiusProps","buttonBaseStyles","buttonColorStyles","ButtonOwnProps","fontSize","mode","icon","React","ReactNode","iconRight","justify","loading","selected","space","gap","muted","text","textAlign","textWeight","tone","type","width","ButtonProps","E","StyledButton","button","$mode","$tone","$width","LoadingBox","div","ButtonComponent","props","$","_c","IconComponent","IconRightComponent","children","disabled","paddingBottomProp","paddingLeftProp","paddingRightProp","paddingTopProp","paddingXProp","paddingYProp","ref","restProps","t0","t1","t2","t3","t4","t5","t6","t7","t8","padding","paddingX","paddingY","paddingTop","paddingBottom","paddingLeft","paddingRight","radius","undefined","justifyProp","paddingProp","radiusProp","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","spacing","t19","boxProps","t20","Boolean","t21","t22","t23","t24","t25","t26","Button","JSX","Element"],"sources":["../src/core/primitives/spinner/spinner.css.ts","../src/core/primitives/spinner/spinner.tsx","../src/core/primitives/button/styles.ts","../src/core/primitives/button/button.tsx"],"sourcesContent":["import {keyframes, style} from '@vanilla-extract/css'\n\nconst rotate = keyframes({\n from: {transform: 'rotate(0deg)'},\n to: {transform: 'rotate(360deg)'},\n})\n\nexport const spinnerIcon = style({\n animation: `${rotate} 500ms linear infinite`,\n})\n","import {SpinnerIcon} from '@sanity/icons/Spinner'\n\nimport {Text} from '../text/text'\n\nimport {spinnerIcon} from './spinner.css'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: number | number[]\n}\n\n/**\n * Indicate that something is loading for an indeterminate amount of time.\n *\n * @public\n */\nexport function Spinner(\n props: SpinnerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n) {\n return (\n <Text data-ui=\"Spinner\" {...props}>\n <SpinnerIcon className={spinnerIcon} />\n </Text>\n )\n}\n","import {css} from 'styled-components'\n\nimport {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_cardColorStyle} from '../../styles/card/_cardColorStyle'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {ThemeProps} from '../../styles/types'\nimport {ButtonMode, ButtonTone, ButtonWidth} from '../../types/button'\n\n/**\n * @internal\n */\nexport function buttonBaseStyles(\n props: {$width?: ButtonWidth} & ThemeProps,\n): ReturnType<typeof css> {\n const {$width} = props\n const {style} = getTheme_v2(props.theme)\n\n return css`\n ${style?.button};\n\n -webkit-font-smoothing: inherit;\n appearance: none;\n display: inline-flex;\n align-items: center;\n font: inherit;\n border: 0;\n outline: none;\n user-select: none;\n text-decoration: none;\n border: 0;\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n white-space: nowrap;\n text-align: left;\n position: relative;\n vertical-align: top;\n\n ${\n $width === 'fill' &&\n css`\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n `\n }\n\n & > span {\n display: block;\n flex: 1;\n min-width: 0;\n border-radius: inherit;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n `\n}\n\nfunction combineBoxShadow(...boxShadows: (string | undefined)[]): string {\n return boxShadows.filter(Boolean).join(',')\n}\n\n/**\n * @internal\n */\nexport function buttonColorStyles(\n props: {$mode: ButtonMode; $tone: ButtonTone} & ThemeProps,\n): CSSObject[] {\n const {$mode} = props\n const {button, color: baseColor, style} = getTheme_v2(props.theme)\n const shadow = props.$mode === 'ghost'\n const mode = baseColor.button[$mode] || baseColor.button.default\n const color = mode[props.$tone] || mode.default\n const border = {\n width: button.border.width,\n color: 'var(--card-border-color)',\n }\n // const defaultBoxShadow = `inset 0px -1.5px 0px ${buttonTheme.border.width}px color-mix(in srgb, var(--card-border-color) 25%, var(--card-bg-color))`\n const defaultBoxShadow = undefined\n\n // oxlint-disable-next-line no-unsafe-type-assertion\n return [\n _cardColorStyle(baseColor, color.enabled),\n {\n 'backgroundColor': 'var(--card-bg-color)',\n 'color': 'var(--card-fg-color)',\n 'boxShadow': focusRingBorderStyle(border),\n '&:disabled, &[data-disabled=\"true\"]': _cardColorStyle(baseColor, color.disabled),\n \"&:not([data-disabled='true'])\": {\n 'boxShadow': combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n '&:focus': {\n boxShadow: focusRingStyle({\n base: baseColor,\n border: {width: 2, color: baseColor.bg},\n focusRing: button.focusRing,\n }),\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n },\n '@media (hover: hover)': {\n '&:hover': _cardColorStyle(baseColor, color.hovered),\n '&:active': _cardColorStyle(baseColor, color.pressed),\n '&[data-hovered]': _cardColorStyle(baseColor, color.hovered),\n },\n '&[data-selected]': _cardColorStyle(baseColor, color.pressed),\n },\n },\n style?.button?.root,\n ].filter(Boolean) as CSSObject[]\n}\n","import {isValidElement, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {ButtonMode, ButtonTextAlign, ButtonTone, ButtonWidth} from '../../types/button'\nimport {ElementType, Props} from '../../types/component'\nimport {FlexJustify} from '../../types/flex'\nimport {Box} from '../box/box'\nimport {Flex} from '../flex/flex'\nimport {Spinner} from '../spinner/spinner'\nimport {Text} from '../text/text'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../types'\nimport {buttonBaseStyles, buttonColorStyles} from './styles'\n\n/**\n * @public\n */\nexport interface ButtonOwnProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n fontSize?: number | number[]\n mode?: ButtonMode\n // oxlint-disable-next-line no-redundant-type-constituents\n icon?: React.ElementType | React.ReactNode\n // oxlint-disable-next-line no-redundant-type-constituents\n iconRight?: React.ElementType | React.ReactNode\n justify?: FlexJustify | FlexJustify[]\n /**\n * @beta Do not use in production, as this might change.\n */\n loading?: boolean\n selected?: boolean\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n gap?: number | number[]\n muted?: boolean\n text?: React.ReactNode\n textAlign?: ButtonTextAlign\n textWeight?: ThemeFontWeightKey\n tone?: ButtonTone\n type?: 'button' | 'reset' | 'submit'\n width?: ButtonWidth\n}\n\n/**\n * @public\n */\nexport type ButtonProps<E extends ElementType = 'button'> = Props<ButtonOwnProps, E>\n\nconst StyledButton = styled.button<\n {$mode: ButtonMode; $tone: ButtonTone; $width?: ButtonWidth} & ResponsiveRadiusStyleProps\n>(responsiveRadiusStyle, buttonBaseStyles, buttonColorStyles)\n\nconst LoadingBox = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--card-bg-color);\n border-radius: inherit;\n z-index: 1;\n box-shadow: inherit;\n`\n\nfunction ButtonComponent(\n props: ButtonOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLButtonElement>,\n 'as' | 'width'\n >,\n) {\n const {\n children,\n disabled,\n ref,\n fontSize = 1,\n icon: IconComponent,\n iconRight: IconRightComponent,\n justify: justifyProp = 'center',\n loading,\n mode = 'default',\n padding: paddingProp = 3,\n paddingX: paddingXProp,\n paddingY: paddingYProp,\n paddingTop: paddingTopProp,\n paddingBottom: paddingBottomProp,\n paddingLeft: paddingLeftProp,\n paddingRight: paddingRightProp,\n radius: radiusProp = 2,\n selected,\n gap = 3,\n text,\n textAlign,\n textWeight,\n tone = 'default',\n type = 'button',\n muted = false,\n width,\n ...restProps\n } = props\n const {button} = useTheme_v2()\n\n const justify = _getArrayProp(justifyProp)\n const padding = _getArrayProp(paddingProp)\n const paddingX = _getArrayProp(paddingXProp)\n const paddingY = _getArrayProp(paddingYProp)\n const paddingTop = _getArrayProp(paddingTopProp)\n const paddingBottom = _getArrayProp(paddingBottomProp)\n const paddingLeft = _getArrayProp(paddingLeftProp)\n const paddingRight = _getArrayProp(paddingRightProp)\n const radius = _getArrayProp(radiusProp)\n const spacing = _getArrayProp(gap)\n\n const boxProps = useMemo(\n () => ({\n // flex: 1,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingBottom, paddingLeft, paddingRight],\n )\n\n return (\n <StyledButton\n data-ui=\"Button\"\n {...restProps}\n $mode={mode}\n $radius={radius}\n $tone={tone}\n data-disabled={Boolean(loading || disabled)}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n ref={ref}\n type={type}\n $width={width}\n >\n {Boolean(loading) && (\n <LoadingBox>\n <Spinner />\n </LoadingBox>\n )}\n\n {(IconComponent || text || IconRightComponent) && (\n <Box as=\"span\" {...boxProps}>\n <Flex as=\"span\" justify={justify} gap={spacing}>\n {IconComponent && (\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n )}\n\n {text && (\n <Box>\n <Text\n muted={muted}\n align={textAlign}\n size={fontSize}\n textOverflow=\"ellipsis\"\n weight={textWeight ?? button.textWeight}\n >\n {text}\n </Text>\n </Box>\n )}\n\n {IconRightComponent && (\n <Text size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...boxProps}>\n {children}\n </Box>\n )}\n </StyledButton>\n )\n}\n\n/**\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Button = ButtonComponent as unknown as <E extends ElementType = 'button'>(\n props: ButtonProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"flex-C9NHtXFi.js","names":["CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveFlexStyleProps","BASE_STYLE","display","responsiveFlexStyle","Array","props","responsiveFlexAlignStyle","responsiveFlexGapStyle","responsiveFlexWrapStyle","responsiveFlexJustifyStyle","responsiveFlexDirectionStyle","media","theme","$align","align","alignItems","space","$gap","gap","undefined","$wrap","wrap","flexWrap","$justify","justify","justifyContent","$direction","direction","flexDirection","styled","flexItemStyle","responsiveFlexStyle","FlexItemStyleProps","ResponsiveFlexStyleProps","_getArrayProp","ElementType","Props","Box","BoxOwnProps","ResponsiveFlexItemProps","ResponsiveFlexProps","FlexOwnProps","Omit","gap","FlexProps","E","StyledFlex","FlexComponent","props","$","_c","align","as","justify","ref","restProps","t0","wrap","direction","undefined","t1","t2","t3","t4","t5","t6","Flex","React","JSX","Element"],"sources":["../src/core/styles/flex/flexStyle.ts","../src/core/primitives/flex/flex.tsx"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'flex',\n },\n}\n\nexport function responsiveFlexStyle(): Array<\n CSSObject | ((props: ResponsiveFlexStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n BASE_STYLE,\n responsiveFlexAlignStyle,\n responsiveFlexGapStyle,\n responsiveFlexWrapStyle,\n responsiveFlexJustifyStyle,\n responsiveFlexDirectionStyle,\n ]\n}\n\nfunction responsiveFlexAlignStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$align, (align) => {\n return {alignItems: align}\n })\n}\n\nfunction responsiveFlexGapStyle(props: ResponsiveFlexStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gap, (gap) => ({\n gap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nfunction responsiveFlexWrapStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$wrap, (wrap) => {\n return {flexWrap: wrap}\n })\n}\n\nfunction responsiveFlexJustifyStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$justify, (justify) => {\n return {justifyContent: justify}\n })\n}\n\nfunction responsiveFlexDirectionStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$direction, (direction) => {\n return {flexDirection: direction}\n })\n}\n","import {styled} from 'styled-components'\n\nimport {flexItemStyle} from '../../styles/flex/flexItemStyle'\nimport {responsiveFlexStyle} from '../../styles/flex/flexStyle'\nimport {FlexItemStyleProps, ResponsiveFlexStyleProps} from '../../styles/flex/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {ResponsiveFlexItemProps, ResponsiveFlexProps} from '../types'\n\n/**\n * @public\n */\nexport interface FlexOwnProps\n extends Omit<BoxOwnProps, 'display'>, ResponsiveFlexProps, ResponsiveFlexItemProps {\n gap?: number | number[]\n}\n\n/**\n * @public\n */\nexport type FlexProps<E extends ElementType = 'div'> = Props<FlexOwnProps, E>\n\nconst StyledFlex = styled(Box)<FlexItemStyleProps & ResponsiveFlexStyleProps>(\n flexItemStyle,\n responsiveFlexStyle,\n)\n\nfunction FlexComponent(\n props: FlexOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'wrap'>,\n) {\n const {align, as, direction = 'row', gap, justify, ref, wrap, ...restProps} = props\n\n return (\n <StyledFlex\n data-ui=\"Flex\"\n {...restProps}\n $align={_getArrayProp(align)}\n $direction={_getArrayProp(direction)}\n $gap={_getArrayProp(gap)}\n $justify={_getArrayProp(justify)}\n $wrap={_getArrayProp(wrap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n}\n\n/**\n * The `Flex` component is a wrapper component for flexible elements (`Box`, `Card` and `Flex`).\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Flex = FlexComponent as unknown as <E extends ElementType = 'div'>(\n props: FlexProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid-Cr7qKmZQ.js","names":["CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveGridStyleProps","GRID_CSS","display","listStyle","GRID_AUTO_COLUMS","auto","min","max","fr","GRID_AUTO_ROWS","responsiveGridStyle","Array","props","responsiveGridAutoFlowStyle","responsiveGridAutoRowsStyle","responsiveGridAutoColsStyle","responsiveGridColumnsStyle","responsiveGridRowsStyle","responsiveGridGapStyle","responsiveGridGapXStyle","responsiveGridGapYStyle","media","theme","$autoFlow","autoFlow","gridAutoFlow","$autoRows","autoRows","gridAutoRows","$autoCols","autoCols","gridAutoColumns","$columns","columns","gridTemplateColumns","$rows","rows","gridTemplateRows","space","$gap","gap","gridGap","undefined","$gapX","gapX","columnGap","$gapY","gapY","rowGap","styled","responsiveGridStyle","ResponsiveGridStyleProps","_getArrayProp","ElementType","Props","Box","BoxOwnProps","ResponsiveGridProps","GridOwnProps","Omit","GridProps","E","StyledGrid","GridComponent","props","$","_c","as","autoCols","autoFlow","autoRows","children","gap","gapX","gapY","gridTemplateColumns","gridTemplateRows","ref","restProps","t0","undefined","t1","t2","t3","t4","t5","t6","t7","t8","t9","Grid","React","JSX","Element"],"sources":["../src/core/styles/grid/gridStyle.ts","../src/core/primitives/grid/grid.tsx"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridStyleProps} from './types'\n\nconst GRID_CSS = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst GRID_AUTO_COLUMS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nconst GRID_AUTO_ROWS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nexport function responsiveGridStyle(): Array<\n CSSObject | ((props: ResponsiveGridStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n GRID_CSS,\n responsiveGridAutoFlowStyle,\n responsiveGridAutoRowsStyle,\n responsiveGridAutoColsStyle,\n responsiveGridColumnsStyle,\n responsiveGridRowsStyle,\n responsiveGridGapStyle,\n responsiveGridGapXStyle,\n responsiveGridGapYStyle,\n ]\n}\n\nfunction responsiveGridAutoFlowStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoFlow, (autoFlow) => ({\n gridAutoFlow: autoFlow,\n }))\n}\n\nfunction responsiveGridAutoRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoRows, (autoRows) => ({\n gridAutoRows: autoRows && GRID_AUTO_ROWS[autoRows],\n }))\n}\n\nfunction responsiveGridAutoColsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoCols, (autoCols) => ({\n gridAutoColumns: autoCols && GRID_AUTO_COLUMS[autoCols],\n }))\n}\n\nfunction responsiveGridColumnsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$columns, (columns) => ({\n gridTemplateColumns: columns && `repeat(${columns},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$rows, (rows) => ({\n gridTemplateRows: rows && `repeat(${rows},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridGapStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gap, (gap) => ({\n // oxlint-disable-next-line no-deprecated\n gridGap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nfunction responsiveGridGapXStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gapX, (gapX) => ({\n columnGap: gapX ? rem(space[gapX]) : undefined,\n }))\n}\n\nfunction responsiveGridGapYStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gapY, (gapY) => ({\n rowGap: gapY ? rem(space[gapY]) : undefined,\n }))\n}\n","import {styled} from 'styled-components'\n\nimport {responsiveGridStyle} from '../../styles/grid/gridStyle'\nimport {ResponsiveGridStyleProps} from '../../styles/grid/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {ResponsiveGridProps} from '../types'\n\n/**\n * @public\n */\nexport interface GridOwnProps extends Omit<BoxOwnProps, 'display'>, ResponsiveGridProps {}\n\n/**\n * @public\n */\nexport type GridProps<E extends ElementType = 'div'> = Props<GridOwnProps, E>\n\nconst StyledGrid = styled(Box)<ResponsiveGridStyleProps>(responsiveGridStyle)\n\nfunction GridComponent(\n props: GridOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLDivElement>,\n 'as' | 'height' | 'rows'\n >,\n) {\n const {\n as,\n autoRows,\n autoCols,\n autoFlow,\n gridTemplateColumns,\n gap,\n gapX,\n gapY,\n gridTemplateRows,\n children,\n ref,\n ...restProps\n } = props\n\n return (\n <StyledGrid\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Grid\"\n {...restProps}\n $autoRows={_getArrayProp(autoRows)}\n $autoCols={_getArrayProp(autoCols)}\n $autoFlow={_getArrayProp(autoFlow)}\n $columns={_getArrayProp(gridTemplateColumns)}\n $gap={_getArrayProp(gap)}\n $gapX={_getArrayProp(gapX)}\n $gapY={_getArrayProp(gapY)}\n $rows={_getArrayProp(gridTemplateRows)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </StyledGrid>\n )\n}\n\n/**\n * The `Grid` component is for building 2-dimensional layers (based on CSS grid).\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Grid = GridComponent as unknown as <E extends ElementType = 'div'>(\n props: GridProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hotkeys-DyrSy500.js","names":["useEffect","useEffectEvent","useGlobalKeyDown","onKeyDown","options","$","_c","t0","event","handleKeyDown","t1","handler","event_0","window","addEventListener","removeEventListener","t2","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveInlineSpaceStyleProps","inlineBaseStyle","display","verticalAlign","inlineSpaceStyle","props","media","space","theme","$space","spaceIndex","_space","padding","Children","useMemo","styled","_getArrayProp","ElementType","Props","Box","BoxOwnProps","inlineBaseStyle","inlineSpaceStyle","ResponsiveInlineSpaceStyleProps","InlineOwnProps","Omit","space","gap","InlineProps","E","StyledInline","InlineComponent","props","$","_c","as","childrenProp","ref","restProps","children","t0","map","_temp","t1","t2","child","Inline","React","JSX","Element","css","styled","_getArrayProp","responsiveRadiusStyle","ResponsiveRadiusStyleProps","ElementType","Props","Radius","Box","Text","KBDOwnProps","fontSize","padding","radius","KBDProps","E","kbdStyle","StyledKBD","kbd","KBDComponent","props","$","_c","children","ref","restProps","t0","t1","t2","undefined","t3","t4","t5","t6","KBD","React","JSX","Element","styled","Inline","KBD","_getArrayProp","Radius","HotkeysProps","fontSize","gap","padding","radius","space","keys","StyledHotkeys","kbd","Key","Hotkeys","props","$","_c","ref","restProps","t0","undefined","t1","spacing","length","t2","Symbol","for","t3","key","i","map","t4"],"sources":["../src/core/hooks/useGlobalKeyDown.ts","../src/core/primitives/inline/styles.ts","../src/core/primitives/inline/inline.tsx","../src/core/primitives/kbd/kbd.tsx","../src/core/components/hotkeys/hotkeys.tsx"],"sourcesContent":["import {useEffect} from 'react'\n// TODO: switch to `useEffectEvent` from `react` once\n// https://github.com/facebook/react/issues/34818 is fixed in the lowest React\n// version we support: on React 19.2 the native hook never sees values past\n// the first render when the calling component is wrapped in `forwardRef` or\n// `memo`. This public hook runs in the fiber of whatever component calls it\n// (consumers may call it from `forwardRef` or `memo` components).\nimport {useEffectEvent} from 'use-effect-event'\n\n/**\n * Adds global keydown event listener to the window.\n *\n * @param onKeyDown - The function to call when a keydown event is triggered.\n * @param options - The options to pass to the addEventListener function (example, capture: true)\n * @beta\n */\nexport function useGlobalKeyDown(\n onKeyDown: (event: KeyboardEvent) => void,\n options?: AddEventListenerOptions,\n): void {\n const handleKeyDown = useEffectEvent((event: KeyboardEvent) => onKeyDown(event))\n\n useEffect(() => {\n const handler = (event: KeyboardEvent) => handleKeyDown(event)\n\n window.addEventListener('keydown', handler, options)\n\n return () => window.removeEventListener('keydown', handler, options)\n }, [options])\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\nexport function inlineBaseStyle(): CSSObject {\n return {\n 'lineHeight': '0',\n\n '&&:not([hidden])': {\n display: 'block',\n },\n\n '& > div': {\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n }\n}\n\nexport function inlineSpaceStyle(props: ResponsiveInlineSpaceStyleProps & ThemeProps): CSSObject[] {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$space, (spaceIndex) => {\n const _space = rem(spaceIndex === 0.5 ? space[1] / 2 : space[spaceIndex])\n\n return {\n 'margin': `-${_space} 0 0 -${_space}`,\n '& > div': {padding: `${_space} 0 0 ${_space}`},\n }\n })\n}\n","import {Children, useMemo} from 'react'\nimport {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {inlineBaseStyle, inlineSpaceStyle} from './styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface InlineOwnProps extends Omit<BoxOwnProps, 'display'> {\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n /** The spacing between children. */\n gap?: number | number[]\n}\n\n/**\n * @public\n */\nexport type InlineProps<E extends ElementType = 'div'> = Props<InlineOwnProps, E>\n\nconst StyledInline = styled(Box)<ResponsiveInlineSpaceStyleProps>(inlineBaseStyle, inlineSpaceStyle)\n\nfunction InlineComponent(\n props: InlineOwnProps & {as?: ElementType} & React.HTMLProps<HTMLDivElement>,\n) {\n const {as, children: childrenProp, gap, ref, ...restProps} = props\n\n const children = useMemo(\n () => Children.map(childrenProp, (child) => child && <div>{child}</div>),\n [childrenProp],\n )\n\n return (\n <StyledInline\n data-ui=\"Inline\"\n {...restProps}\n $space={_getArrayProp(gap)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </StyledInline>\n )\n}\n\n/**\n * The `Inline` component is a layout utility for aligning and spacing items horizontally.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Inline = InlineComponent as unknown as <E extends ElementType = 'div'>(\n props: InlineProps<E>,\n) => React.JSX.Element\n","import {css, styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {ElementType, Props} from '../../types/component'\nimport {Radius} from '../../types/radius'\nimport {Box} from '../box/box'\nimport {Text} from '../text/text'\n\n/**\n * @public\n */\nexport interface KBDOwnProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n}\n\n/**\n * @public\n */\nexport type KBDProps<E extends ElementType = 'kbd'> = Props<KBDOwnProps, E>\n\nfunction kbdStyle() {\n return css`\n --card-bg-color: var(--card-kbd-bg-color);\n --card-border-color: var(--card-kbd-border-color);\n --card-fg-color: var(--card-kbd-fg-color);\n\n box-shadow: inset 0 0 0 1px var(--card-border-color);\n background: var(--card-bg-color);\n font: inherit;\n\n vertical-align: top;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nconst StyledKBD = styled.kbd<ResponsiveRadiusStyleProps>(responsiveRadiusStyle, kbdStyle)\n\nfunction KBDComponent(\n props: KBDOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n) {\n const {children, fontSize = 0, padding = 1, radius = 2, ref, ...restProps} = props\n\n return (\n <StyledKBD data-ui=\"KBD\" {...restProps} $radius={_getArrayProp(radius)} ref={ref}>\n <Box as=\"span\" padding={padding}>\n <Text as=\"span\" size={fontSize} weight=\"semibold\">\n {children}\n </Text>\n </Box>\n </StyledKBD>\n )\n}\n\n/**\n * Used to define some text as keyboard input.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const KBD = KBDComponent as unknown as <E extends ElementType = 'kbd'>(\n props: KBDProps<E>,\n) => React.JSX.Element\n","import {styled} from 'styled-components'\n\nimport {Inline} from '../../primitives/inline/inline'\nimport {KBD} from '../../primitives/kbd/kbd'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {Radius} from '../../types/radius'\n\n/**\n * @public\n */\nexport interface HotkeysProps {\n fontSize?: number | number[]\n gap?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n keys?: string[]\n}\n\nconst StyledHotkeys = styled.kbd`\n font: inherit;\n padding: 1px;\n\n &:not([hidden]) {\n display: block;\n }\n`\n\nconst Key = styled(KBD)`\n &:not([hidden]) {\n display: block;\n }\n`\n\n/**\n * Represent hotkeys (a keyboard combination) with semantic `<kbd>` elements.\n *\n * @public\n */\nexport function Hotkeys(props: HotkeysProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>) {\n const {fontSize, gap = 0.5, keys, padding, radius, ref, ...restProps} = props\n const spacing = _getArrayProp(gap)\n\n if (!keys || keys.length === 0) {\n return <></>\n }\n\n return (\n <StyledHotkeys data-ui=\"Hotkeys\" {...restProps} ref={ref}>\n <Inline as=\"span\" gap={spacing}>\n {keys.map((key, i) => (\n // oxlint-disable-next-line no-array-index-key\n <Key fontSize={fontSize} key={i} padding={padding} radius={radius}>\n {key}\n </Key>\n ))}\n </Inline>\n </StyledHotkeys>\n )\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"layer-DcsNupeg.js","names":["FocusEvent","useCallback","useEffect","useImperativeHandle","useRef","styled","EMPTY_RECORD","containsOrEqualsElement","isHTMLElement","LayerProvider","useLayer","LayerProps","as","React","ElementType","JSX","IntrinsicElements","onActivate","props","activeElement","HTMLElement","zOffset","LayerChildrenProps","StyledLayer","div","position","LayerChildren","$","_c","children","forwardedRef","onFocus","restProps","t0","ref","style","undefined","zIndex","isTopLayer","lastFocusedRef","isTopLayerRef","t1","Symbol","for","current","t2","t3","becameTopLayer","t4","event","rootElement","target","document","handleFocus","t5","t6","Layer"],"sources":["../src/core/utils/layer/layer.tsx"],"sourcesContent":["import {FocusEvent, useCallback, useEffect, useImperativeHandle, useRef} from 'react'\nimport {styled} from 'styled-components'\n\nimport {EMPTY_RECORD} from '../../constants'\nimport {containsOrEqualsElement, isHTMLElement} from '../../helpers/element'\nimport {LayerProvider} from './layerProvider'\nimport {useLayer} from './useLayer'\n\n/**\n * @public\n */\nexport interface LayerProps {\n as?: React.ElementType | keyof React.JSX.IntrinsicElements\n /** A callback that fires when the layer becomes the top layer when it was not the top layer before. */\n onActivate?: (props: {activeElement: HTMLElement | null}) => void\n zOffset?: number | number[]\n}\n\ninterface LayerChildrenProps {\n as?: React.ElementType | keyof React.JSX.IntrinsicElements\n onActivate?: LayerProps['onActivate']\n}\n\nconst StyledLayer = styled.div({position: 'relative'})\n\nfunction LayerChildren(props: LayerChildrenProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>) {\n const {\n children,\n onActivate,\n onFocus,\n ref: forwardedRef,\n style = EMPTY_RECORD,\n ...restProps\n } = props\n const {zIndex, isTopLayer} = useLayer()\n const lastFocusedRef = useRef<HTMLElement | null>(null)\n const ref = useRef<HTMLDivElement | null>(null)\n const isTopLayerRef = useRef<boolean>(isTopLayer)\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n // When the layer very first mounts, it will be the top layer, but we don't want to fire\n // the callback in that case. We use a ref to track the previous value of isTopLayer to\n // determine if the layer has become the top layer since the last render.\n useEffect(() => {\n const becameTopLayer = isTopLayerRef.current !== isTopLayer && isTopLayer\n\n if (becameTopLayer) {\n onActivate?.({activeElement: lastFocusedRef.current})\n }\n\n isTopLayerRef.current = isTopLayer\n }, [isTopLayer, onActivate])\n\n const handleFocus = useCallback(\n // oxlint-disable-next-line no-unnecessary-type-arguments\n (event: FocusEvent<HTMLDivElement, Element>) => {\n // Call the user-provided onFocus handler if any\n onFocus?.(event)\n\n const rootElement = ref.current\n const target = document.activeElement\n\n if (!isTopLayer || !rootElement || !target) return\n\n if (isHTMLElement(target) && containsOrEqualsElement(rootElement, target)) {\n lastFocusedRef.current = target\n }\n },\n [isTopLayer, onFocus],\n )\n\n return (\n <StyledLayer\n {...restProps}\n data-ui=\"Layer\"\n onFocus={handleFocus}\n ref={ref}\n style={{...style, zIndex}}\n >\n {children}\n </StyledLayer>\n )\n}\n\n/**\n * @public\n */\nexport function Layer(props: LayerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as'>) {\n const {children, zOffset = 1, ...restProps} = props\n\n return (\n <LayerProvider zOffset={zOffset}>\n <LayerChildren {...restProps}>{children}</LayerChildren>\n </LayerProvider>\n )\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover-5fEUllFf.js","names":["Placement","PopoverMargins","DEFAULT_POPOVER_DISTANCE","DEFAULT_POPOVER_PADDING","DEFAULT_POPOVER_ARROW_WIDTH","DEFAULT_POPOVER_ARROW_HEIGHT","DEFAULT_POPOVER_ARROW_RADIUS","DEFAULT_POPOVER_MARGINS","DEFAULT_FALLBACK_PLACEMENTS","Record","detectOverflow","Middleware","PopoverMargins","size","options","boundaryElement","HTMLElement","constrainSize","margins","matchReferenceWidth","maxWidthRef","React","RefObject","padding","referenceWidthRef","setReferenceWidth","referenceWidth","widthRef","name","fn","args","elements","placement","platform","rects","floating","reference","overflow","altBoundary","boundary","undefined","elementContext","rootBoundary","maxWidth","Infinity","maxHeight","floatingW","width","floatingH","height","includes","left","right","top","bottom","availableWidth","availableHeight","current","style","Math","min","nextDimensions","getDimensions","targetH","targetW","reset","DEFAULT_POPOVER_PADDING","PopoverWidth","calcCurrentWidth","params","mediaIndex","container","width","w","currentWidth","undefined","length","calcMaxWidth","boundaryWidth","Math","min","Infinity","Strategy","motion","React","CSSProperties","useMemo","styled","ThemeColorSchemeKey","POPOVER_MOTION_PROPS","BoxOverflow","CardTone","Placement","PopoverMargins","Radius","Arrow","useLayer","Card","Flex","DEFAULT_POPOVER_ARROW_HEIGHT","DEFAULT_POPOVER_ARROW_RADIUS","DEFAULT_POPOVER_ARROW_WIDTH","DEFAULT_POPOVER_MARGINS","MotionCard","create","MotionFlex","PopoverCard","props","$","_c","animate","arrow","arrowRef","arrowX","arrowY","children","marginsProp","open","originX","originY","overflow","padding","placement","radius","ref","restProps","scheme","shadow","strategy","style","tone","width","xProp","yProp","__unstable_margins","x","y","zIndex","margins","t0","undefined","t1","left","position","top","willChange","rootStyle","t2","t3","t4","right","bottom","arrowStyle","t5","t6","t7","t8","content","hidden","t9","visible","t10","t11","transition","t12","t13","card","arrow","autoPlacement","autoUpdate","flip","hide","Middleware","offset","RootBoundary","shift","useFloating","Activity","cloneElement","Ref","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","ThemeColorSchemeKey","useElementSize","useMediaIndex","usePrefersReducedMotion","origin","_getArrayProp","useTheme_v2","BoxOverflow","CardTone","Placement","PopoverMargins","AnimateActivity","useBoundaryElement","getElementRef","LayerProps","LayerProvider","useLayer","Portal","ResponsiveRadiusProps","ResponsiveShadowProps","DEFAULT_FALLBACK_PLACEMENTS","DEFAULT_POPOVER_DISTANCE","DEFAULT_POPOVER_MARGINS","DEFAULT_POPOVER_PADDING","size","calcCurrentWidth","calcMaxWidth","PopoverCard","PopoverUpdateCallback","PopoverWidth","PopoverProps","Omit","__unstable_margins","animate","boundaryElement","children","React","JSX","Element","constrainSize","content","ReactNode","disabled","fallbackPlacements","floatingBoundary","HTMLElement","matchReferenceWidth","modal","open","overflow","padding","placement","placementStrategy","portal","preventOverflow","referenceBoundary","referenceElement","scheme","tone","updateRef","width","ViewportOverlay","$","_c","zIndex","t0","height","inset","position","Popover","props","container","layer","boundaryElementContext","_fallbackPlacements","_floatingBoundary","_referenceBoundary","_zOffsetProp","childProp","forwardedRef","paddingProp","restProps","t1","t10","t11","t2","t3","t4","t5","t6","t7","t8","t9","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","onActivate","t23","t24","t25","t26","t27","t28","t29","radius","t30","ref","t31","t32","t33","t34","shadow","t35","t36","t37","zOffset","t38","t39","t40","margins","undefined","_animate","arrowProp","placementProp","radiusProp","shadowProp","widthProp","element","zOffsetProp","popover","prefersReducedMotion","boundarySize","border","widthArrayProp","arrowRef","Symbol","for","current","mediaIndex","boundaryWidth","widthRef","currentWidth","maxWidth","maxWidthRef","referenceWidthRef","floatingElement","referenceWidth","style","referenceWidth_0","setReferenceWidth","rootBoundary","middleware","useMiddleware","reference","whileElementsMounted","elements","x","y","middlewareData","refs","strategy","update","referenceHidden","arrowX","arrowY","originX","originY","arrowEl","setArrow","node","setFloating","bb0","setReference","child","popoverNode","ret","allowedPlacements","concat","push","boundary","mainAxis"],"sources":["../src/core/primitives/popover/constants.ts","../src/core/primitives/popover/floating-ui/size.ts","../src/core/primitives/popover/helpers.ts","../src/core/primitives/popover/popoverCard.tsx","../src/core/primitives/popover/popover.tsx"],"sourcesContent":["import {Placement} from '../../types/placement'\nimport {PopoverMargins} from '../../types/popover'\n\nexport const DEFAULT_POPOVER_DISTANCE = 4\nexport const DEFAULT_POPOVER_PADDING = 4\nexport const DEFAULT_POPOVER_ARROW_WIDTH = 19\nexport const DEFAULT_POPOVER_ARROW_HEIGHT = 8\nexport const DEFAULT_POPOVER_ARROW_RADIUS = 2\nexport const DEFAULT_POPOVER_MARGINS: PopoverMargins = [0, 0, 0, 0]\nexport const DEFAULT_FALLBACK_PLACEMENTS: Record<Placement, Placement[]> = {\n 'top': ['bottom', 'left', 'right'],\n 'top-start': ['bottom-start', 'left-start', 'right-start'],\n 'top-end': ['bottom-end', 'left-end', 'right-end'],\n 'bottom': ['top', 'left', 'right'],\n 'bottom-start': ['top-start', 'left-start', 'right-start'],\n 'bottom-end': ['top-end', 'left-end', 'right-end'],\n 'left': ['right', 'top', 'bottom'],\n 'left-start': ['right-start', 'top-start', 'bottom-start'],\n 'left-end': ['right-end', 'top-end', 'bottom-end'],\n 'right': ['left', 'top', 'bottom'],\n 'right-start': ['left-start', 'top-start', 'bottom-start'],\n 'right-end': ['left-end', 'top-end', 'bottom-end'],\n}\n","import {detectOverflow, Middleware} from '@floating-ui/react-dom'\n\nimport {PopoverMargins} from '../../../types/popover'\n\nexport function size(options: {\n boundaryElement?: HTMLElement | null\n constrainSize: boolean\n margins: PopoverMargins\n matchReferenceWidth?: boolean\n maxWidthRef: React.RefObject<number | undefined>\n padding?: number\n referenceWidthRef: React.RefObject<number | undefined>\n setReferenceWidth: (referenceWidth: number) => void\n widthRef: React.RefObject<number | undefined>\n}): Middleware {\n const {\n constrainSize,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n padding = 0,\n referenceWidthRef,\n setReferenceWidth,\n widthRef,\n } = options\n\n return {\n name: '@sanity/ui/size',\n async fn(args) {\n const {elements, placement, platform, rects} = args\n const {floating, reference} = rects\n\n const overflow = await detectOverflow(args, {\n altBoundary: true,\n boundary: options.boundaryElement || undefined,\n elementContext: 'floating',\n padding,\n rootBoundary: 'viewport',\n })\n\n let maxWidth = Infinity\n let maxHeight = Infinity\n\n const floatingW = floating.width\n const floatingH = floating.height\n\n if (placement.includes('top')) {\n maxWidth = floatingW - (overflow.left + overflow.right)\n maxHeight = floatingH - overflow.top\n }\n\n if (placement.includes('right')) {\n maxWidth = floatingW - overflow.right\n maxHeight = floatingH - (overflow.top + overflow.bottom)\n }\n\n if (placement.includes('bottom')) {\n maxWidth = floatingW - (overflow.left + overflow.right)\n maxHeight = floatingH - overflow.bottom\n }\n\n if (placement.includes('left')) {\n maxWidth = floatingW - overflow.left\n maxHeight = floatingH - (overflow.top + overflow.bottom)\n }\n\n // IMPORTANT – APPLY ELEMENT STYLES HERE\n // Elements need to be resized BEFORE the `platform.getDimensions` call below\n const availableWidth = maxWidth - margins[1] - margins[3]\n const availableHeight = maxHeight - margins[0] - margins[2]\n const referenceWidth = reference.width - margins[1] - margins[3]\n referenceWidthRef.current = referenceWidth\n setReferenceWidth(referenceWidth)\n\n if (matchReferenceWidth) {\n elements.floating.style.width = `${referenceWidth}px`\n } else if (widthRef.current !== undefined) {\n elements.floating.style.width = `${widthRef.current}px`\n }\n\n if (constrainSize) {\n elements.floating.style.maxWidth = `${Math.min(availableWidth, maxWidthRef.current ?? Infinity)}px`\n\n elements.floating.style.maxHeight = `${availableHeight}px`\n }\n\n const nextDimensions = await platform.getDimensions(elements.floating)\n\n const targetH = nextDimensions.height\n const targetW = nextDimensions.width\n\n if (floatingW !== targetW || floatingH !== targetH) {\n return {reset: {rects: true}}\n }\n\n return {}\n },\n }\n}\n","import {DEFAULT_POPOVER_PADDING} from './constants'\nimport {PopoverWidth} from './types'\n\nexport function calcCurrentWidth(params: {\n mediaIndex: number\n container: number[]\n width: PopoverWidth[]\n}): number | undefined {\n const {container, mediaIndex, width} = params\n\n const w = width[mediaIndex]\n const currentWidth: PopoverWidth | undefined = w === undefined ? width[width.length - 1] : w\n\n return typeof currentWidth === 'number' ? container[currentWidth] : undefined\n}\n\nexport function calcMaxWidth(params: {\n boundaryWidth: number | undefined\n currentWidth: number | undefined\n}): number | undefined {\n const {boundaryWidth, currentWidth} = params\n\n if (currentWidth === undefined && boundaryWidth === undefined) {\n return undefined\n }\n\n return Math.min(\n currentWidth ?? Infinity,\n (boundaryWidth || Infinity) - DEFAULT_POPOVER_PADDING * 2,\n )\n}\n","import {Strategy} from '@floating-ui/react-dom'\nimport {motion} from 'motion/react'\nimport React, {CSSProperties, useMemo} from 'react'\nimport {styled} from 'styled-components'\n\nimport {ThemeColorSchemeKey} from '../../../theme/system/color/_system'\nimport {POPOVER_MOTION_PROPS} from '../../constants'\nimport {BoxOverflow} from '../../types/box'\nimport {CardTone} from '../../types/card'\nimport {Placement} from '../../types/placement'\nimport {PopoverMargins} from '../../types/popover'\nimport {Radius} from '../../types/radius'\nimport {Arrow} from '../../utils/arrow/arrow'\nimport {useLayer} from '../../utils/layer/useLayer'\nimport {Card} from '../card/card'\nimport {Flex} from '../flex/flex'\nimport {\n DEFAULT_POPOVER_ARROW_HEIGHT,\n DEFAULT_POPOVER_ARROW_RADIUS,\n DEFAULT_POPOVER_ARROW_WIDTH,\n DEFAULT_POPOVER_MARGINS,\n} from './constants'\n\nconst MotionCard = styled(motion.create(Card))`\n &:not([hidden]) {\n display: flex;\n }\n flex-direction: column;\n width: max-content;\n min-width: min-content;\n will-change: transform;\n`\n\nconst MotionFlex = styled(motion.create(Flex))`\n will-change: opacity;\n`\n\n/**\n * @internal\n */\nexport function PopoverCard(\n props: {\n /** @beta*/\n __unstable_margins?: PopoverMargins\n animate?: boolean\n arrow: boolean\n arrowRef: React.Ref<HTMLDivElement>\n arrowX?: number\n arrowY?: number\n open?: boolean\n originX?: number\n originY?: number\n overflow?: BoxOverflow\n padding?: number | number[]\n placement: Placement\n radius?: Radius | Radius[]\n scheme?: ThemeColorSchemeKey\n shadow?: number | number[]\n strategy: Strategy\n tone: CardTone\n width: number | undefined\n x: number | null\n y: number | null\n } & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height' | 'width'>,\n) {\n const {\n __unstable_margins: marginsProp,\n animate,\n arrow,\n arrowRef,\n arrowX,\n arrowY,\n children,\n open,\n padding,\n placement,\n originX,\n originY,\n overflow,\n radius,\n ref,\n scheme,\n shadow,\n strategy,\n style,\n tone,\n width,\n x: xProp,\n y: yProp,\n ...restProps\n } = props\n\n const {zIndex} = useLayer()\n\n // Get margins: [top, right, bottom, left]\n const margins: PopoverMargins = useMemo(\n () => marginsProp || DEFAULT_POPOVER_MARGINS,\n [marginsProp],\n )\n\n // Translate according to margins\n const x = (xProp ?? 0) + margins[3]\n const y = (yProp ?? 0) + margins[0]\n\n const rootStyle: CSSProperties = useMemo(\n () => ({\n left: x,\n originX,\n originY,\n position: strategy,\n top: y,\n width,\n zIndex,\n willChange: animate ? 'transform' : undefined,\n ...style,\n }),\n [animate, originX, originY, strategy, style, width, x, y, zIndex],\n )\n\n const arrowStyle: CSSProperties = useMemo(\n () => ({\n left: arrowX !== null ? arrowX : undefined,\n top: arrowY !== null ? arrowY : undefined,\n right: undefined,\n bottom: undefined,\n }),\n [arrowX, arrowY],\n )\n\n return (\n <MotionCard\n data-ui=\"Popover\"\n {...restProps}\n data-placement={placement}\n radius={radius}\n ref={ref}\n scheme={scheme}\n shadow={shadow}\n sizing=\"border\"\n style={rootStyle}\n tone={tone}\n variants={POPOVER_MOTION_PROPS.card}\n transition={POPOVER_MOTION_PROPS.transition}\n initial={animate ? ['hidden', 'initial'] : undefined}\n animate={animate ? ['visible', 'scaleIn'] : undefined}\n exit={animate ? ['hidden', 'scaleOut'] : undefined}\n >\n <MotionFlex\n data-ui=\"Popover__wrapper\"\n direction=\"column\"\n flex={1}\n overflow={overflow}\n transition={POPOVER_MOTION_PROPS.transition}\n initial={animate ? POPOVER_MOTION_PROPS.content.hidden : undefined}\n // The content fade is deliberately driven by `open` as a plain\n // target instead of participating in the card's variant/exit\n // propagation. Re-entering while an exit is (or seems) in flight can\n // leave motion's presence bookkeeping in a state where a variant\n // child's fade-in is skipped (it waits for a parent-driven animation\n // that never comes), permanently stuck at opacity 0. A target derived\n // from `open` is recomputed on every render and always animates from\n // the current value, so any rapid open/close/open sequence converges.\n animate={\n animate\n ? open\n ? POPOVER_MOTION_PROPS.content.visible\n : POPOVER_MOTION_PROPS.content.hidden\n : undefined\n }\n >\n <Flex direction=\"column\" flex={1} padding={padding}>\n {children}\n </Flex>\n </MotionFlex>\n\n {arrow && (\n <Arrow\n ref={arrowRef}\n style={arrowStyle}\n width={DEFAULT_POPOVER_ARROW_WIDTH}\n height={DEFAULT_POPOVER_ARROW_HEIGHT}\n radius={DEFAULT_POPOVER_ARROW_RADIUS}\n />\n )}\n </MotionCard>\n )\n}\n","import {\n arrow,\n autoPlacement,\n autoUpdate,\n flip,\n hide,\n Middleware,\n offset,\n RootBoundary,\n shift,\n useFloating,\n} from '@floating-ui/react-dom'\nimport {\n Activity,\n cloneElement,\n type Ref,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {ThemeColorSchemeKey} from '../../../theme/system/color/_system'\nimport {useElementSize} from '../../hooks/useElementSize'\nimport {useMediaIndex} from '../../hooks/useMediaIndex/useMediaIndex'\nimport {usePrefersReducedMotion} from '../../hooks/usePrefersReducedMotion'\nimport {origin} from '../../middleware/origin'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {BoxOverflow} from '../../types/box'\nimport {CardTone} from '../../types/card'\nimport {Placement} from '../../types/placement'\nimport {PopoverMargins} from '../../types/popover'\nimport {AnimateActivity} from '../../utils/animateActivity'\nimport {useBoundaryElement} from '../../utils/boundaryElement/useBoundaryElement'\nimport {getElementRef} from '../../utils/getElementRef'\nimport {LayerProps} from '../../utils/layer/layer'\nimport {LayerProvider} from '../../utils/layer/layerProvider'\nimport {useLayer} from '../../utils/layer/useLayer'\nimport {Portal} from '../../utils/portal/portal'\nimport {ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {\n DEFAULT_FALLBACK_PLACEMENTS,\n DEFAULT_POPOVER_DISTANCE,\n DEFAULT_POPOVER_MARGINS,\n DEFAULT_POPOVER_PADDING,\n} from './constants'\nimport {size} from './floating-ui/size'\nimport {calcCurrentWidth, calcMaxWidth} from './helpers'\nimport {PopoverCard} from './popoverCard'\nimport {PopoverUpdateCallback, PopoverWidth} from './types'\n\n/** @public */\nexport interface PopoverProps\n extends Omit<LayerProps, 'as'>, ResponsiveRadiusProps, ResponsiveShadowProps {\n /** @beta */\n __unstable_margins?: PopoverMargins\n /**\n * Whether the popover should animate in and out.\n *\n * @beta\n * @defaultValue false\n */\n animate?: boolean\n arrow?: boolean\n /** @deprecated Use `floatingBoundary` and/or `referenceBoundary` instead */\n boundaryElement?: never\n children?: React.JSX.Element\n /**\n * When `true`, prevent overflow within the current boundary:\n * - by flipping on its side axis\n * - by resizing\n /*\n * Note that:\n * - setting `preventOverflow` to `true` also prevents overflow on its side axis\n * - setting `matchReferenceWidth` to `true` also causes the popover to resize\n *\n * @defaultValue false\n */\n constrainSize?: boolean\n content?: React.ReactNode\n disabled?: boolean\n fallbackPlacements?: Placement[]\n floatingBoundary?: HTMLElement | null\n /**\n * When `true`, set the maximum width to match the reference element, and also prevent overflow within\n * the current boundary by resizing.\n *\n * Note that setting `constrainSize` to `true` also causes the popover to resize\n *\n * @defaultValue false\n */\n matchReferenceWidth?: boolean\n /**\n * When true, blocks all pointer interaction with elements beneath the popover until closed.\n *\n * @beta\n * @defaultValue false\n */\n modal?: boolean\n open?: boolean\n overflow?: BoxOverflow\n padding?: number | number[]\n placement?: Placement\n /**\n * When 'flip' (default), the placement is determined from the initial placement and the\n * fallback placements in order. Whichever fits in the viewport first.\n *\n * When 'autoPlacement', the initial placement and all fallback placements are evaluated\n * and the placement with the most viewport space available.\n *\n * Option is only relevant if either `constrainSize` or `preventOverflow` is `true`\n */\n placementStrategy?: 'flip' | 'autoPlacement'\n /** Whether or not to render the popover in a portal element. */\n portal?: boolean | string\n preventOverflow?: boolean\n referenceBoundary?: HTMLElement | null\n /**\n * When defined, the popover will be positioned relative to this element.\n * The children of the popover won't be rendered.\n */\n referenceElement?: HTMLElement | null\n scheme?: ThemeColorSchemeKey\n tone?: CardTone\n /** @beta */\n updateRef?: Ref<PopoverUpdateCallback | undefined>\n width?: PopoverWidth | PopoverWidth[]\n}\n\nconst ViewportOverlay = () => {\n const {zIndex} = useLayer()\n\n return <div style={{height: '100vh', inset: 0, position: 'fixed', width: '100vw', zIndex}} />\n}\n\n/**\n * The `Popover` component is used to display some content on top of another.\n *\n * @public\n */\nexport function Popover(\n props: PopoverProps &\n Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'children' | 'content' | 'width'>,\n): React.JSX.Element {\n const {container, layer} = useTheme_v2()\n const boundaryElementContext = useBoundaryElement()\n\n const {\n __unstable_margins: margins = DEFAULT_POPOVER_MARGINS,\n animate: _animate = false,\n arrow: arrowProp = false,\n children: childProp,\n constrainSize = false,\n content,\n disabled,\n fallbackPlacements: _fallbackPlacements,\n matchReferenceWidth,\n floatingBoundary: _floatingBoundary,\n modal,\n // oxlint-disable-next-line no-unused-vars\n onActivate,\n open,\n overflow = 'hidden',\n padding: paddingProp,\n placement: placementProp = 'bottom',\n placementStrategy = 'flip',\n portal,\n preventOverflow = true,\n radius: radiusProp = 3,\n ref: forwardedRef,\n referenceBoundary: _referenceBoundary,\n referenceElement,\n scheme,\n shadow: shadowProp = 3,\n tone = 'inherit',\n width: widthProp = 'auto',\n zOffset: _zOffsetProp,\n updateRef,\n ...restProps\n } = props\n const fallbackPlacements =\n _fallbackPlacements ?? DEFAULT_FALLBACK_PLACEMENTS[props.placement ?? 'bottom']\n const floatingBoundary = _floatingBoundary ?? boundaryElementContext.element\n const referenceBoundary = _referenceBoundary ?? boundaryElementContext.element\n // Max-width uses BoundaryElementProvider when present; otherwise the floating\n // boundary (same element the old `boundaryElement` prop used for both).\n const boundaryElement = boundaryElementContext.element ?? floatingBoundary\n const zOffsetProp = _zOffsetProp ?? layer.popover.zOffset\n const prefersReducedMotion = usePrefersReducedMotion()\n const animate = prefersReducedMotion ? false : _animate\n const boundarySize = useElementSize(boundaryElement)?.border\n const padding = _getArrayProp(paddingProp)\n const radius = _getArrayProp(radiusProp)\n const shadow = _getArrayProp(shadowProp)\n const widthArrayProp = _getArrayProp(widthProp)\n const zOffset = _getArrayProp(zOffsetProp)\n const ref = useRef<HTMLDivElement | null>(null)\n const arrowRef = useRef<HTMLDivElement | null>(null)\n const rootBoundary: RootBoundary = 'viewport'\n\n useImperativeHandle<HTMLDivElement | null, HTMLDivElement | null>(forwardedRef, () => ref.current)\n\n const mediaIndex = useMediaIndex()\n const boundaryWidth = constrainSize || preventOverflow ? boundarySize?.width : undefined\n\n // Update width when\n // - media index changes\n // - `width` property changes\n const width = calcCurrentWidth({\n container,\n mediaIndex,\n width: widthArrayProp,\n })\n const widthRef = useRef(width)\n\n useEffect(() => {\n widthRef.current = width\n }, [width])\n\n // Update max width when\n // - boundary width changes\n // - `width` property changes\n const maxWidth = calcMaxWidth({boundaryWidth, currentWidth: width})\n const maxWidthRef = useRef(maxWidth)\n\n useEffect(() => {\n maxWidthRef.current = maxWidth\n }, [maxWidth])\n\n // Keep track of reference element width (see `size` middleware below)\n const referenceWidthRef = useRef<number>(undefined)\n\n // Force apply width & max width to floating element\n useEffect(() => {\n const floatingElement = ref.current\n\n if (!open || !floatingElement) return\n\n const referenceWidth = referenceWidthRef.current\n\n if (matchReferenceWidth) {\n if (referenceWidth !== undefined) {\n floatingElement.style.width = `${referenceWidth}px`\n }\n } else if (width !== undefined) {\n floatingElement.style.width = `${width}px`\n }\n\n if (typeof maxWidth === 'number') {\n floatingElement.style.maxWidth = `${maxWidth}px`\n }\n }, [width, matchReferenceWidth, maxWidth, open])\n\n const [referenceWidth, setReferenceWidth] = useState<number | undefined>(undefined)\n const middleware = useMiddleware({\n animate,\n arrowProp,\n arrowRef,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n placementProp,\n placementStrategy,\n preventOverflow,\n referenceBoundary,\n referenceWidthRef,\n rootBoundary,\n setReferenceWidth,\n widthRef,\n })\n\n const {x, y, middlewareData, placement, refs, strategy, update} = useFloating({\n middleware,\n placement: placementProp,\n whileElementsMounted: autoUpdate,\n elements: referenceElement\n ? {\n reference: referenceElement,\n }\n : undefined,\n })\n\n const referenceHidden = middlewareData.hide?.referenceHidden\n\n const arrowX = middlewareData.arrow?.x\n const arrowY = middlewareData.arrow?.y\n\n const originX = middlewareData['@sanity/ui/origin']?.originX\n const originY = middlewareData['@sanity/ui/origin']?.originY\n\n const setArrow = useCallback((arrowEl: HTMLDivElement | null) => {\n arrowRef.current = arrowEl\n }, [])\n\n const setFloating = useCallback(\n (node: HTMLDivElement | null) => {\n ref.current = node\n refs.setFloating(node)\n },\n [refs],\n )\n\n // If there's a child then we need to set the reference element to the cloned child ref\n // and if child changes we make sure to update or remove the reference element.\n useImperativeHandle(childProp ? getElementRef(childProp) : null, () => refs.reference.current)\n\n const child = useMemo(() => {\n // If a reference element is defined, we don't need to clone the child\n if (referenceElement) return childProp\n\n if (!childProp) return null\n\n return cloneElement(childProp, {ref: refs.setReference})\n }, [childProp, referenceElement, refs.setReference])\n\n useImperativeHandle(updateRef, () => update, [update])\n\n if (disabled) {\n return childProp || <></>\n }\n\n const popover = (\n <LayerProvider zOffset={zOffset}>\n {/* Optional transparent blocking overlay at the top-most z-index layer. Must be positioned before the below popover card. */}\n {modal && <ViewportOverlay />}\n\n <PopoverCard\n {...restProps}\n __unstable_margins={margins}\n animate={animate}\n arrow={arrowProp}\n arrowRef={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n hidden={referenceHidden}\n open={open}\n overflow={overflow}\n padding={padding}\n placement={placement}\n radius={radius}\n ref={setFloating}\n scheme={scheme}\n shadow={shadow}\n originX={originX}\n originY={originY}\n strategy={strategy}\n tone={tone}\n width={matchReferenceWidth ? referenceWidth : width}\n x={x}\n y={y}\n >\n {content}\n </PopoverCard>\n </LayerProvider>\n )\n\n const popoverNode = portal ? (\n <Portal __unstable_name={typeof portal === 'string' ? portal : undefined}>{popover}</Portal>\n ) : (\n popover\n )\n\n return (\n <>\n {/* the popover */}\n {animate ? (\n <AnimateActivity layoutMode=\"default\" mode={open ? 'visible' : 'hidden'}>\n {popoverNode}\n </AnimateActivity>\n ) : (\n <Activity mode={open ? 'visible' : 'hidden'}>{popoverNode}</Activity>\n )}\n\n {/* the referred element */}\n {child}\n </>\n )\n}\n\nfunction useMiddleware({\n animate,\n arrowProp,\n arrowRef,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n placementProp,\n placementStrategy,\n preventOverflow,\n referenceBoundary,\n referenceWidthRef,\n rootBoundary,\n setReferenceWidth,\n widthRef,\n}: {\n animate: boolean\n arrowProp: boolean\n arrowRef: React.RefObject<HTMLDivElement | null>\n constrainSize: boolean\n fallbackPlacements: Placement[]\n floatingBoundary: HTMLElement | null\n margins: PopoverMargins\n matchReferenceWidth: boolean | undefined\n maxWidthRef: React.RefObject<number | undefined>\n placementProp: Placement\n placementStrategy: 'flip' | 'autoPlacement'\n preventOverflow: boolean\n referenceBoundary: HTMLElement | null\n referenceWidthRef: React.RefObject<number | undefined>\n rootBoundary: RootBoundary\n setReferenceWidth: (referenceWidth: number) => void\n widthRef: React.RefObject<number | undefined>\n}) {\n return useMemo(() => {\n const ret: Middleware[] = []\n\n // Flip the floating element when leaving the boundary box\n if (constrainSize || preventOverflow) {\n if (placementStrategy === 'autoPlacement') {\n ret.push(\n autoPlacement({\n allowedPlacements: [placementProp].concat(fallbackPlacements),\n }),\n )\n } else {\n ret.push(\n flip({\n boundary: floatingBoundary || undefined,\n fallbackPlacements,\n padding: DEFAULT_POPOVER_PADDING,\n rootBoundary,\n }),\n )\n }\n }\n\n // Define distance between reference and floating element\n ret.push(offset({mainAxis: DEFAULT_POPOVER_DISTANCE}))\n\n // Track sizes\n if (constrainSize || matchReferenceWidth) {\n ret.push(\n size({\n boundaryElement: floatingBoundary || undefined,\n constrainSize,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n padding: DEFAULT_POPOVER_PADDING,\n referenceWidthRef,\n setReferenceWidth,\n widthRef,\n }),\n )\n }\n\n // Shift the popover so its sits within the boundary element\n if (preventOverflow) {\n ret.push(\n shift({\n boundary: floatingBoundary || undefined,\n rootBoundary,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Place arrow\n if (arrowProp) {\n ret.push(\n arrow({\n element: arrowRef,\n padding: DEFAULT_POPOVER_PADDING,\n }),\n )\n }\n\n // Determine the origin to scale from.\n // Must be placed after `@sanity/ui/size` and `shift` middleware.\n if (animate) {\n ret.push(origin)\n }\n\n ret.push(\n hide({\n boundary: referenceBoundary || undefined,\n padding: DEFAULT_POPOVER_PADDING,\n strategy: 'referenceHidden',\n }),\n )\n\n return ret\n }, [\n animate,\n arrowProp,\n arrowRef,\n constrainSize,\n fallbackPlacements,\n floatingBoundary,\n margins,\n matchReferenceWidth,\n maxWidthRef,\n placementProp,\n placementStrategy,\n preventOverflow,\n referenceBoundary,\n referenceWidthRef,\n rootBoundary,\n setReferenceWidth,\n widthRef,\n ])\n}\n"],"mappings":"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"}