@sanity/ui 4.0.3 → 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.
- package/dist/{arrow-CHE8-_G7.js → arrow-BaqZdFUX.js} +5 -5
- package/dist/arrow-BaqZdFUX.js.map +1 -0
- package/dist/autocomplete.js +8 -8
- package/dist/autocomplete.js.map +1 -1
- package/dist/breadcrumbs.js +8 -8
- package/dist/breadcrumbs.js.map +1 -1
- package/dist/{button-D6Z-yLlP.js → button-DpAiERt1.js} +7 -7
- package/dist/button-DpAiERt1.js.map +1 -0
- package/dist/code.js +3 -3
- package/dist/code.js.map +1 -1
- package/dist/{codeFontStyle-DYUujk7K.js → codeFontStyle-aWvllgWi.js} +2 -2
- package/dist/codeFontStyle-aWvllgWi.js.map +1 -0
- package/dist/element-BYgCE_iK.js.map +1 -1
- package/dist/factory-BA3gEfyI.js.map +1 -1
- package/dist/{flex-C-5JHi1C.js → flex-C6SsHFy8.js} +4 -4
- package/dist/flex-C6SsHFy8.js.map +1 -0
- package/dist/getElementRef-5HZQ-Owu.js.map +1 -1
- package/dist/getScopedTheme-C-sZsyAz.js.map +1 -1
- package/dist/getTheme_v2-y09KqtEb.js.map +1 -1
- package/dist/{grid-BXHFJhf_.js → grid-3kBnMOwF.js} +4 -4
- package/dist/grid-3kBnMOwF.js.map +1 -0
- package/dist/{helpers-bwfx1e-Y.js → helpers-JV5y3U_M.js} +21 -7
- package/dist/helpers-JV5y3U_M.js.map +1 -0
- package/dist/{hotkeys-Bvex-n5O.js → hotkeys-BYRfM-HW.js} +11 -11
- package/dist/hotkeys-BYRfM-HW.js.map +1 -0
- package/dist/index.js +61 -61
- package/dist/index.js.map +1 -1
- package/dist/{layer-B98ynOf2.js → layer-DsScTlqC.js} +4 -4
- package/dist/layer-DsScTlqC.js.map +1 -0
- package/dist/menu.js +10 -10
- package/dist/menu.js.map +1 -1
- package/dist/{popover-PorX5Jv9.js → popover-C2DFbwZu.js} +43 -41
- package/dist/popover-C2DFbwZu.js.map +1 -0
- package/dist/popover.js +1 -1
- package/dist/refractor-CC48DwHi.js.map +1 -1
- package/dist/{responsiveFont-hN1mZFjm.js → responsiveFont-BwYElGq4.js} +2 -2
- package/dist/responsiveFont-BwYElGq4.js.map +1 -0
- package/dist/{stack-C2HKTF-l.js → stack-wyPeapSx.js} +6 -6
- package/dist/stack-wyPeapSx.js.map +1 -0
- package/dist/{textInput-VH0sQqrm.js → textInput-DW447nYT.js} +15 -15
- package/dist/textInput-DW447nYT.js.map +1 -0
- package/dist/theme.js.map +1 -1
- package/dist/toast.js +11 -11
- package/dist/toast.js.map +1 -1
- package/dist/tooltip.js +6 -6
- package/dist/tooltip.js.map +1 -1
- package/dist/{useClickOutsideEvent-lEVhDFCQ.js → useClickOutsideEvent-DbLUuPQ6.js} +2 -2
- package/dist/useClickOutsideEvent-DbLUuPQ6.js.map +1 -0
- package/dist/useElementSize-BJvbGHq8.js.map +1 -1
- package/dist/{useLayer-BAVfmbNN.js → useLayer-Dhme0dcp.js} +12 -12
- package/dist/useLayer-Dhme0dcp.js.map +1 -0
- package/package.json +6 -6
- package/dist/arrow-CHE8-_G7.js.map +0 -1
- package/dist/button-D6Z-yLlP.js.map +0 -1
- package/dist/codeFontStyle-DYUujk7K.js.map +0 -1
- package/dist/flex-C-5JHi1C.js.map +0 -1
- package/dist/grid-BXHFJhf_.js.map +0 -1
- package/dist/helpers-bwfx1e-Y.js.map +0 -1
- package/dist/hotkeys-Bvex-n5O.js.map +0 -1
- package/dist/layer-B98ynOf2.js.map +0 -1
- package/dist/popover-PorX5Jv9.js.map +0 -1
- package/dist/responsiveFont-hN1mZFjm.js.map +0 -1
- package/dist/stack-C2HKTF-l.js.map +0 -1
- package/dist/textInput-VH0sQqrm.js.map +0 -1
- package/dist/useClickOutsideEvent-lEVhDFCQ.js.map +0 -1
- package/dist/useLayer-BAVfmbNN.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover-PorX5Jv9.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","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","t9","transition","t10","t11","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 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 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 variants={POPOVER_MOTION_PROPS.children}\n transition={POPOVER_MOTION_PROPS.transition}\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 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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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"responsiveFont-hN1mZFjm.js","names":["CSSObject","ThemeFontKey","ThemeFontSize","getTheme_v2","_responsive","rem","ThemeProps","FontWeightStyleProps","ResponsiveFontSizeStyleProps","responsiveFont","fontKey","props","$size","$weight","font","media","theme","family","sizes","weights","fontWeight","regular","defaultSize","base","content","display","height","warned","console","warn","resp","sizeIndex","fontSize","size","ascenderHeight","descenderHeight","iconSize","letterSpacing","lineHeight","negHeight","capHeight","iconOffset","customIconSize","Math","floor","customIconOffset","marginTop","marginBottom","margin"],"sources":["../src/core/styles/font/responsiveFont.ts"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {ThemeFontKey, ThemeFontSize} from '../../../theme/system/font'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {FontWeightStyleProps, ResponsiveFontSizeStyleProps} from './types'\n\n/**\n * A utility function getting responsive font styles.\n * @internal\n */\nexport function responsiveFont(\n fontKey: ThemeFontKey,\n props: FontWeightStyleProps & ResponsiveFontSizeStyleProps & ThemeProps,\n): CSSObject[] {\n const {$size, $weight} = props\n const {font, media} = getTheme_v2(props.theme)\n const {family, sizes, weights} = font[fontKey]\n const fontWeight = ($weight && weights[$weight]) || weights.regular\n\n // @todo: make this configurable\n const defaultSize = sizes[2]\n\n const base: CSSObject = {\n 'position': 'relative',\n 'fontFamily': family,\n 'fontWeight': `${fontWeight}`,\n 'padding': '1px 0',\n 'margin': 0,\n\n '&:before': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '&:after': {\n content: '\"\"',\n display: 'block',\n height: 0,\n },\n\n '& > code, & > span': {\n display: 'block',\n },\n\n '&:not([hidden])': {\n display: 'block',\n },\n }\n\n // @TODO fix the real condition that is causing $size to be undefined sometimes\n if (!$size) {\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n if (!responsiveFont.warned) {\n console.warn('No size specified for responsive font', {fontKey, $size, props, base})\n // @ts-expect-error: `warned` isn't typed, the underlying issue should be solved rather than typing it\n responsiveFont.warned = true\n }\n\n return [base]\n }\n\n const resp = _responsive(media, $size, (sizeIndex) => fontSize(sizes[sizeIndex] || defaultSize))\n\n return [base, ...resp]\n}\n\nfunction fontSize(size: ThemeFontSize): CSSObject {\n const {ascenderHeight, descenderHeight, fontSize, iconSize, letterSpacing, lineHeight} = size\n const negHeight = ascenderHeight + descenderHeight\n const capHeight = lineHeight - negHeight\n const iconOffset = (capHeight - iconSize) / 2\n const customIconSize = Math.floor((fontSize * 1.125) / 2) * 2 + 1\n const customIconOffset = (capHeight - customIconSize) / 2\n\n return {\n 'fontSize': rem(fontSize),\n 'lineHeight': `calc(${lineHeight} / ${fontSize})`,\n 'letterSpacing': rem(letterSpacing),\n 'transform': `translateY(${rem(descenderHeight)})`,\n\n '&:before': {\n marginTop: `calc(${rem(0 - negHeight)} - 1px)`,\n },\n\n '&:after': {\n marginBottom: '-1px',\n },\n\n '& svg:not([data-sanity-icon])': {\n fontSize: `calc(${customIconSize} / 16 * 1rem)`,\n margin: rem(customIconOffset),\n },\n\n '& [data-sanity-icon]': {\n fontSize: `calc(${iconSize} / 16 * 1rem)`,\n margin: rem(iconOffset),\n },\n }\n}\n"],"mappings":";;;;;;AAWA,SAAgBS,eACdC,SACAC,OACa;CACb,IAAM,EAACC,OAAOC,YAAWF,OACnB,EAACG,MAAMC,UAASZ,YAAYQ,MAAMK,KAAK,GACvC,EAACC,QAAQC,OAAOC,YAAWL,KAAKJ,UAChCU,aAAcP,WAAWM,QAAQN,YAAaM,QAAQE,SAGtDC,cAAcJ,MAAM,IAEpBK,OAAkB;EACtB,UAAY;EACZ,YAAcN;EACd,YAAc,GAAGG;EACjB,SAAW;EACX,QAAU;EAEV,YAAY;GACVI,SAAS;GACTC,SAAS;GACTC,QAAQ;EACV;EAEA,WAAW;GACTF,SAAS;GACTC,SAAS;GACTC,QAAQ;EACV;EAEA,sBAAsB,EACpBD,SAAS,QACX;EAEA,mBAAmB,EACjBA,SAAS,QACX;CACF;CAgBA,OAbKb,QAaE,CAACW,MAAM,GAFDnB,YAAYW,OAAOH,QAAQmB,cAAcC,SAASd,MAAMa,cAAcT,WAAW,CAE7EQ,CAAI,KAXnB,AAGErB,eAAekB,YAFfC,QAAQC,KAAK,yCAAyC;EAACnB;EAASE;EAAOD;EAAOY;CAAI,CAAC,GAE3D,KAGnB,CAACA,IAAI;AAMhB;AAEA,SAASS,SAASC,MAAgC;CAChD,IAAM,EAACC,gBAAgBC,iBAAiBH,UAAUI,UAAUC,eAAeC,eAAcL,MACnFM,YAAYL,iBAAiBC,iBAC7BK,YAAYF,aAAaC,WACzBE,cAAcD,YAAYJ,YAAY,GACtCM,iBAAiBC,KAAKC,MAAOZ,WAAW,QAAS,CAAC,IAAI,IAAI,GAC1Da,oBAAoBL,YAAYE,kBAAkB;CAExD,OAAO;EACL,UAAYrC,IAAI2B,QAAQ;EACxB,YAAc,QAAQM,WAAU,KAAMN,SAAQ;EAC9C,eAAiB3B,IAAIgC,aAAa;EAClC,WAAa,cAAchC,IAAI8B,eAAe,EAAC;EAE/C,YAAY,EACVW,WAAW,QAAQzC,IAAI,IAAIkC,SAAS,EAAC,SACvC;EAEA,WAAW,EACTQ,cAAc,OAChB;EAEA,iCAAiC;GAC/Bf,UAAU,QAAQU,eAAc;GAChCM,QAAQ3C,IAAIwC,gBAAgB;EAC9B;EAEA,wBAAwB;GACtBb,UAAU,QAAQI,SAAQ;GAC1BY,QAAQ3C,IAAIoC,UAAU;EACxB;CACF;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stack-C2HKTF-l.js","names":["CSSObject","getTheme_v2","_responsive","ThemeProps","ResponsiveTextAlignStyleProps","responsiveTextAlignStyle","props","media","theme","$align","textAlign","CSSObject","ThemeProps","responsiveFont","ResponsiveFontStyleProps","responsiveTextFont","props","spanWithTextOverflow","SpanWithTextOverflow","props","$","_c","t0","children","css","getTheme_v2","ThemeProps","textBaseStyle","props","$accent","$muted","ReturnType","font","theme","code","family","text","weights","bold","styled","ThemeFontWeightKey","responsiveTextAlignStyle","responsiveTextFont","ResponsiveFontStyleProps","_getArrayProp","ElementType","Props","TextAlign","SpanWithTextOverflow","textBaseStyle","TextOwnProps","accent","align","muted","size","textOverflow","weight","TextProps","E","StyledText","div","TextComponent","props","$","_c","childrenProp","ref","restProps","t0","t1","t2","children","undefined","t3","t4","t5","t6","Text","React","JSX","Element","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveStackSpaceStyleProps","$space","BASE_STYLE","display","listStyle","stackBaseStyle","responsiveStackSpaceStyle","props","media","space","theme","spaceIndex","gridGap","styled","_getArrayProp","ElementType","Props","Box","BoxOwnProps","responsiveStackSpaceStyle","ResponsiveStackSpaceStyleProps","stackBaseStyle","StackOwnProps","gap","space","StackProps","E","StyledStack","StackComponent","props","$","_c","as","ref","restProps","t0","undefined","t1","t2","Stack","React","JSX","Element"],"sources":["../src/core/styles/font/textAlignStyle.ts","../src/core/styles/font/textFontStyle.ts","../src/core/utils/spanWithTextOverflow.css.ts","../src/core/utils/spanWithTextOverflow.tsx","../src/core/primitives/text/styles.ts","../src/core/primitives/text/text.tsx","../src/core/primitives/stack/styles.ts","../src/core/primitives/stack/stack.tsx"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveTextAlignStyleProps} from './types'\n\n/**\n * Get responsive text align styles.\n * @internal\n */\nexport function responsiveTextAlignStyle(\n props: ResponsiveTextAlignStyleProps & ThemeProps,\n): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$align, (textAlign) => {\n return {textAlign}\n })\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {ResponsiveFontStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `text` font style.\n * @internal\n */\nexport function responsiveTextFont(props: ResponsiveFontStyleProps & ThemeProps): CSSObject[] {\n return responsiveFont('text', props)\n}\n","import {style} from '@vanilla-extract/css'\n\nexport const spanWithTextOverflow = style({\n display: 'block',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: ['hidden', 'clip'],\n})\n","import {spanWithTextOverflow} from './spanWithTextOverflow.css'\n\n/** @internal */\nexport function SpanWithTextOverflow(props: {children?: React.ReactNode}): React.JSX.Element {\n return <span className={spanWithTextOverflow}>{props.children}</span>\n}\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {ThemeProps} from '../../styles/types'\n\nexport function textBaseStyle(\n props: {$accent?: boolean; $muted?: boolean} & ThemeProps,\n): ReturnType<typeof css> {\n const {$accent, $muted} = props\n const {font} = getTheme_v2(props.theme)\n\n return css`\n color: var(--card-fg-color);\n\n ${\n $accent &&\n css`\n color: var(--card-accent-fg-color);\n `\n }\n\n ${\n $muted &&\n css`\n color: var(--card-muted-fg-color);\n `\n }\n\n & code {\n font-family: ${font.code.family};\n border-radius: 1px;\n background-color: var(--card-code-bg-color);\n color: var(--card-code-fg-color);\n }\n\n & a {\n text-decoration: none;\n border-radius: 1px;\n color: var(--card-link-color);\n outline: none;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n box-shadow:\n 0 0 0 1px var(--card-bg-color),\n 0 0 0 3px var(--card-focus-ring-color);\n }\n\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n\n & strong {\n font-weight: ${font.text.weights.bold};\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n /* ...and aren't squeezed by resets that set max-width: 100% */\n max-width: unset;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n color: var(--card-icon-color);\n\n & path {\n vector-effect: non-scaling-stroke !important;\n }\n }\n `\n}\n","import {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {responsiveTextAlignStyle} from '../../styles/font/textAlignStyle'\nimport {responsiveTextFont} from '../../styles/font/textFontStyle'\nimport {ResponsiveFontStyleProps} from '../../styles/font/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {TextAlign} from '../../types/text'\nimport {SpanWithTextOverflow} from '../../utils/spanWithTextOverflow'\nimport {textBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface TextOwnProps {\n accent?: boolean\n align?: TextAlign | TextAlign[]\n /** When `true` the text color will be muted. */\n muted?: boolean\n size?: number | number[]\n /**\n * Controls how overflowing text is treated.\n * Use `textOverflow=\"ellipsis\"` to render text as a single line which is concatenated with a `…` symbol.\n * @beta\n */\n textOverflow?: 'ellipsis'\n weight?: ThemeFontWeightKey\n}\n\n/**\n * @public\n */\nexport type TextProps<E extends ElementType = 'div'> = Props<TextOwnProps, E>\n\nconst StyledText = styled.div<ResponsiveFontStyleProps>(\n responsiveTextFont,\n responsiveTextAlignStyle,\n textBaseStyle,\n)\n\nfunction TextComponent(\n props: TextOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n) {\n const {\n accent = false,\n align,\n children: childrenProp,\n muted = false,\n ref,\n size = 2,\n textOverflow,\n weight,\n ...restProps\n } = props\n\n let children = childrenProp\n\n if (textOverflow === 'ellipsis') {\n children = <SpanWithTextOverflow>{children}</SpanWithTextOverflow>\n }\n\n return (\n <StyledText\n data-ui=\"Text\"\n {...restProps}\n $accent={accent}\n $align={_getArrayProp(align)}\n $muted={muted}\n ref={ref}\n $size={_getArrayProp(size)}\n $weight={weight}\n >\n <span>{children}</span>\n </StyledText>\n )\n}\n\n/**\n * The `Text` component is an agile, themed typographic element.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Text = TextComponent as unknown as <E extends ElementType = 'div'>(\n props: TextProps<E>,\n) => React.JSX.Element\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\n\nexport interface ResponsiveStackSpaceStyleProps {\n $space: number[]\n}\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n 'gridTemplateColumns': 'minmax(0, 1fr)',\n 'gridAutoRows': 'min-content',\n}\n\nexport function stackBaseStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveStackSpaceStyle(\n props: ResponsiveStackSpaceStyleProps & ThemeProps,\n): CSSObject[] {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$space, (spaceIndex) => ({\n // oxlint-disable-next-line no-deprecated\n gridGap: rem(space[spaceIndex]),\n }))\n}\n","import {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {responsiveStackSpaceStyle, ResponsiveStackSpaceStyleProps, stackBaseStyle} from './styles'\n\n/**\n * @public\n */\nexport interface StackOwnProps extends BoxOwnProps {\n gap?: number | number[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n}\n\n/**\n * @public\n */\nexport type StackProps<E extends ElementType = 'div'> = Props<StackOwnProps, E>\n\nconst StyledStack = styled(Box)<ResponsiveStackSpaceStyleProps>(\n stackBaseStyle,\n responsiveStackSpaceStyle,\n)\n\nfunction StackComponent(\n props: StackOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as'>,\n) {\n const {as, gap, ref, ...restProps} = props\n\n return (\n <StyledStack\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Stack\"\n {...restProps}\n $space={_getArrayProp(gap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n}\n\n/**\n * The `Stack` component is used to place elements on top of each other.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Stack = StackComponent as unknown as <E extends ElementType = 'div'>(\n props: StackProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"textInput-VH0sQqrm.js","names":["isHTMLAnchorElement","isHTMLButtonElement","isHTMLElement","isHTMLInputElement","isHTMLSelectElement","isHTMLTextAreaElement","_hasFocus","element","HTMLElement","Boolean","document","activeElement","contains","isFocusable","tabIndex","getAttribute","href","rel","type","disabled","attemptFocus","focus","focusFirstDescendant","i","childNodes","length","child","focusLastDescendant","useEffect","useCustomValidity","ref","customValidity","$","_c","t0","t1","current","setCustomValidity","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","TextInputResponsivePaddingStyleProps","$fontSize","$iconLeft","$iconRight","$padding","$space","responsiveInputPaddingStyle","props","font","media","space","theme","len","Math","max","length","_padding","_space","_fontSize","i","undefined","_","size","text","sizes","emSize","lineHeight","ascenderHeight","descenderHeight","p","s","styles","paddingTop","paddingRight","paddingBottom","paddingLeft","responsiveInputPaddingIconRightStyle","css","ThemeColorSchemeKey","CSSObject","ThemeFontWeightKey","getTheme_v2","CardTone","focusRingBorderStyle","focusRingStyle","_responsive","rem","ThemeProps","TextInputInputStyleProps","$fontSize","$scheme","$tone","$weight","TextInputRepresentationStyleProps","$hasPrefix","$hasSuffix","$unstableDisableFocusRing","ROOT_STYLE","textInputRootStyle","ReturnType","textInputBaseStyle","props","color","font","theme","text","family","weights","regular","input","default","enabled","fg","placeholder","disabled","invalid","readOnly","textInputFontSizeStyle","media","sizeIndex","size","sizes","fontSize","lineHeight","textInputRepresentationStyle","undefined","bg","border","width","focusRing","hovered","CloseIcon","isValidElement","useCallback","useImperativeHandle","useMemo","useRef","isValidElementType","styled","ThemeFontWeightKey","EMPTY_RECORD","useCustomValidity","_getArrayProp","responsiveInputPaddingStyle","TextInputResponsivePaddingStyleProps","textInputBaseStyle","textInputFontSizeStyle","TextInputInputStyleProps","textInputRepresentationStyle","TextInputRepresentationStyleProps","textInputRootStyle","responsiveRadiusStyle","ResponsiveRadiusStyleProps","useRootTheme","Radius","Box","Button","ButtonOwnProps","Card","Text","TextInputClearButtonProps","Omit","React","HTMLProps","HTMLButtonElement","TextInputType","TextInputProps","__unstable_disableFocusRing","border","clearButton","customValidity","fontSize","icon","ElementType","ReactNode","iconRight","onClear","padding","prefix","radius","space","gap","suffix","type","weight","CLEAR_BUTTON_BOX_STYLE","CSSProperties","zIndex","StyledTextInput","attrs","forwardedAs","InputRoot","span","Prefix","Suffix","Input","input","Presentation","LeftBox","RightBox","RightCard","TextInputClearButton","display","TextInput","props","$","_c","IconComponent","IconRightComponent","forwardedRef","readOnly","restProps","t0","t1","t2","t3","t4","t5","t6","disabled","ref","undefined","fontSizeProp","paddingProp","radiusProp","rootTheme","t7","t8","t9","t10","$hasClearButton","Boolean","$hasIcon","$hasIconRight","$hasSuffix","$hasPrefix","t11","Symbol","for","current","handleClearMouseDown","_temp","t12","event_0","event","preventDefault","stopPropagation","focus","handleClearClick","t13","prefixNode","t14","t15","t16","t17","scheme","tone","presentationNode","t18","map","_temp2","clearButtonBoxPadding","t19","_temp3","clearButtonPadding","clearButtonProps","t20","clearButtonNode","t21","suffixNode","t22","t23","t24","t25","v_0","v"],"sources":["../src/core/helpers/animation.ts","../src/core/helpers/focus.ts","../src/core/hooks/useCustomValidity.ts","../src/core/styles/input/responsiveInputPaddingStyle.ts","../src/core/styles/input/textInputStyle.ts","../src/core/primitives/textInput/textInput.tsx"],"sourcesContent":["/**\n * @internal\n */\nexport function _raf(fn: () => void): () => void {\n const frameId = requestAnimationFrame(fn)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n}\n\n/**\n * @internal\n */\nexport function _raf2(fn: () => void): () => void {\n let innerDispose: (() => void) | null = null\n\n const outerDispose = _raf(() => {\n innerDispose = _raf(fn)\n })\n\n return () => {\n if (innerDispose) innerDispose()\n\n outerDispose()\n }\n}\n","import {\n isHTMLAnchorElement,\n isHTMLButtonElement,\n isHTMLElement,\n isHTMLInputElement,\n isHTMLSelectElement,\n isHTMLTextAreaElement,\n} from './element'\n\n// export const globalFocusState = {\n// IgnoreUtilFocusChanges: false,\n// }\n\n/**\n * @internal\n */\nexport function _hasFocus(element: HTMLElement): boolean {\n return Boolean(document.activeElement) && element.contains(document.activeElement)\n}\n\n/**\n * @internal\n */\nexport function isFocusable(element: HTMLElement): boolean {\n if (\n element.tabIndex > 0 ||\n (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)\n ) {\n return true\n }\n\n if (isHTMLAnchorElement(element)) {\n return Boolean(element.href) && element.rel !== 'ignore'\n }\n\n if (isHTMLInputElement(element)) {\n return element.type !== 'hidden' && element.type !== 'file' && !element.disabled\n }\n\n if (\n isHTMLButtonElement(element) ||\n isHTMLSelectElement(element) ||\n isHTMLTextAreaElement(element)\n ) {\n return !element.disabled\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function attemptFocus(element: HTMLElement): boolean {\n if (!isFocusable(element)) {\n return false\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = true\n\n try {\n element.focus()\n } catch {\n // ignore\n }\n\n // globalFocusState.IgnoreUtilFocusChanges = false\n\n return document.activeElement === element\n}\n\n/**\n * @internal\n */\nexport function focusFirstDescendant(element: HTMLElement): boolean {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusFirstDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * @internal\n */\nexport function focusLastDescendant(element: HTMLElement): boolean {\n for (let i = element.childNodes.length - 1; i >= 0; i--) {\n const child = element.childNodes[i]\n\n if (isHTMLElement(child) && (attemptFocus(child) || focusLastDescendant(child))) {\n return true\n }\n }\n\n return false\n}\n","import {useEffect} from 'react'\n\n/**\n * @beta\n */\nexport function useCustomValidity(\n ref: {current: null | {setCustomValidity: (validity: string) => void}},\n customValidity: string | undefined,\n): void {\n useEffect(() => {\n ref.current?.setCustomValidity(customValidity || '')\n }, [customValidity, ref])\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\n\nexport interface TextInputResponsivePaddingStyleProps {\n $fontSize: number[]\n $iconLeft?: boolean\n $iconRight?: boolean\n $padding: number[]\n $space: number[]\n}\n\nexport function responsiveInputPaddingStyle(\n props: TextInputResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[] {\n const {$fontSize, $iconLeft, $iconRight, $padding, $space} = props\n const {font, media, space} = getTheme_v2(props.theme)\n const len = Math.max($padding.length, $space.length, $fontSize.length)\n const _padding: number[] = []\n const _space: number[] = []\n const _fontSize: number[] = []\n\n for (let i = 0; i < len; i += 1) {\n _fontSize[i] = $fontSize[i] === undefined ? _fontSize[i - 1] : $fontSize[i]\n _padding[i] = $padding[i] === undefined ? _padding[i - 1] : $padding[i]\n _space[i] = $space[i] === undefined ? _space[i - 1] : $space[i]\n }\n\n return _responsive(media, _padding, (_, i) => {\n const size = font.text.sizes[_fontSize[i]] || font.text.sizes[2]\n const emSize = size.lineHeight - size.ascenderHeight - size.descenderHeight\n const p = space[_padding[i]]\n const s = space[_space[i]]\n\n const styles = {\n paddingTop: rem(p - size.ascenderHeight),\n paddingRight: rem(p),\n paddingBottom: rem(p - size.descenderHeight),\n paddingLeft: rem(p),\n }\n\n if ($iconRight) styles.paddingRight = rem(p + emSize + s)\n if ($iconLeft) styles.paddingLeft = rem(p + emSize + s)\n\n return styles\n })\n}\n\nexport function responsiveInputPaddingIconRightStyle(\n props: {\n $fontSize: number[]\n $padding: number[]\n $space: number[]\n } & ThemeProps,\n): CSSObject[] {\n return responsiveInputPaddingStyle({...props, $iconRight: true})\n}\n","import {css} from 'styled-components'\n\nimport {ThemeColorSchemeKey} from '../../../theme/system/color/_system'\nimport {CSSObject} from '../../../theme/system/css'\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {CardTone} from '../../types/card'\nimport {focusRingBorderStyle, focusRingStyle} from '../focusRing'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\n\n/**\n * @internal\n */\nexport interface TextInputInputStyleProps {\n $fontSize: number[]\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $weight?: ThemeFontWeightKey\n}\n\n/**\n * @internal\n */\nexport interface TextInputRepresentationStyleProps {\n $hasPrefix?: boolean\n $hasSuffix?: boolean\n $scheme: ThemeColorSchemeKey\n $tone: CardTone\n $unstableDisableFocusRing?: boolean\n}\n\nconst ROOT_STYLE = css`\n &:not([hidden]) {\n display: flex;\n }\n\n align-items: center;\n`\n\nexport function textInputRootStyle(): ReturnType<typeof css> {\n return ROOT_STYLE\n}\n\nexport function textInputBaseStyle(\n props: TextInputInputStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$scheme, $tone, $weight} = props\n const {color, font} = getTheme_v2(props.theme)\n\n return css`\n appearance: none;\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n width: 100%;\n box-sizing: border-box;\n font-family: ${font.text.family};\n font-weight: ${($weight && font.text.weights[$weight]) || font.text.weights.regular};\n margin: 0;\n position: relative;\n z-index: 1;\n display: block;\n\n /* NOTE: This is a hack to disable Chrome’s autofill styles */\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: var(--input-fg-color) !important;\n transition: background-color 5000s;\n transition-delay: 86400s /* 24h */;\n }\n\n /* &:is(textarea) */\n &[data-as='textarea'] {\n resize: none;\n }\n\n color: var(--input-fg-color);\n\n &::placeholder {\n color: var(--input-placeholder-color);\n }\n\n &[data-scheme='${$scheme}'][data-tone='${$tone}'] {\n --input-fg-color: ${color.input.default.enabled.fg};\n --input-placeholder-color: ${color.input.default.enabled.placeholder};\n\n /* enabled */\n &:not(:invalid):not(:disabled):not(:read-only) {\n --input-fg-color: ${color.input.default.enabled.fg};\n --input-placeholder-color: ${color.input.default.enabled.placeholder};\n }\n\n /* disabled */\n &:not(:invalid):disabled {\n --input-fg-color: ${color.input.default.disabled.fg};\n --input-placeholder-color: ${color.input.default.disabled.placeholder};\n }\n\n /* invalid */\n &:invalid {\n --input-fg-color: ${color.input.invalid.enabled.fg};\n --input-placeholder-color: ${color.input.invalid.enabled.placeholder};\n }\n\n /* readOnly */\n &:read-only {\n --input-fg-color: ${color.input.default.readOnly.fg};\n --input-placeholder-color: ${color.input.default.readOnly.placeholder};\n }\n }\n `\n}\n\nexport function textInputFontSizeStyle(props: TextInputInputStyleProps & ThemeProps): CSSObject[] {\n const {font, media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$fontSize, (sizeIndex) => {\n const size = font.text.sizes[sizeIndex] || font.text.sizes[2]\n\n return {\n fontSize: rem(size.fontSize),\n lineHeight: `${size.lineHeight / size.fontSize}`,\n }\n })\n}\n\nexport function textInputRepresentationStyle(\n props: TextInputRepresentationStyleProps & ThemeProps,\n): ReturnType<typeof css> {\n const {$hasPrefix, $hasSuffix, $scheme, $tone, $unstableDisableFocusRing} = props\n const {color, input} = getTheme_v2(props.theme)\n\n return css`\n --input-box-shadow: none;\n\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: block;\n pointer-events: none;\n z-index: 0;\n\n background-color: var(--card-bg-color);\n box-shadow: var(--input-box-shadow);\n\n border-top-left-radius: ${$hasPrefix ? 0 : undefined};\n border-bottom-left-radius: ${$hasPrefix ? 0 : undefined};\n border-top-right-radius: ${$hasSuffix ? 0 : undefined};\n border-bottom-right-radius: ${$hasSuffix ? 0 : undefined};\n\n &[data-scheme='${$scheme}'][data-tone='${$tone}'] {\n --card-bg-color: ${color.input.default.enabled.bg};\n --card-fg-color: ${color.input.default.enabled.fg};\n\n /* enabled */\n *:not(:disabled) + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.enabled.border,\n width: input.border.width,\n })};\n }\n\n /* invalid */\n *:not(:disabled):invalid + & {\n --card-bg-color: ${color.input.invalid.enabled.bg};\n --card-fg-color: ${color.input.invalid.enabled.fg};\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.enabled.border,\n width: input.border.width,\n })};\n }\n }\n\n /* focused */\n *:not(:disabled):focus + & {\n &[data-border] {\n --input-box-shadow: ${\n $unstableDisableFocusRing\n ? undefined\n : focusRingStyle({\n border: {color: color.input.default.enabled.border, width: input.border.width},\n focusRing: input.text.focusRing,\n })\n };\n }\n\n &:not([data-border]) {\n --input-box-shadow: ${\n $unstableDisableFocusRing\n ? undefined\n : focusRingStyle({focusRing: input.text.focusRing})\n };\n }\n }\n\n /* disabled */\n *:not(:invalid):disabled + & {\n --card-bg-color: ${color.input.default.disabled.bg} !important;\n --card-fg-color: ${color.input.default.disabled.fg} !important;\n --card-icon-color: ${color.input.default.disabled.fg} !important;\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.disabled.border,\n width: input.border.width,\n })};\n }\n }\n\n *:invalid:disabled + & {\n --card-bg-color: ${color.input.invalid.disabled.bg} !important;\n --card-fg-color: ${color.input.invalid.disabled.fg} !important;\n --card-icon-color: ${color.input.invalid.disabled.fg} !important;\n\n &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.disabled.border,\n width: input.border.width,\n })};\n }\n }\n\n /* readOnly */\n *:not(:invalid):read-only + & {\n --card-bg-color: ${color.input.default.readOnly.bg} !important;\n --card-fg-color: ${color.input.default.readOnly.fg} !important;\n }\n\n *:invalid:read-only + & {\n --card-bg-color: ${color.input.invalid.readOnly.bg} !important;\n --card-fg-color: ${color.input.invalid.readOnly.fg} !important;\n }\n\n /* hovered */\n @media (hover: hover) {\n *:not(:disabled):not(:read-only):not(:invalid):hover + & {\n --card-bg-color: ${color.input.default.hovered.bg};\n --card-fg-color: ${color.input.default.hovered.fg};\n }\n\n *:invalid:not(:disabled):not(:read-only):hover + & {\n --card-bg-color: ${color.input.invalid.hovered.bg};\n --card-fg-color: ${color.input.invalid.hovered.fg};\n }\n\n *:not(:disabled):not(:read-only):not(:invalid):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.default.hovered.border,\n width: input.border.width,\n })};\n }\n\n *:invalid:not(:disabled):not(:read-only):not(:focus):hover + &[data-border] {\n --input-box-shadow: ${focusRingBorderStyle({\n color: color.input.invalid.hovered.border,\n width: input.border.width,\n })};\n }\n }\n }\n `\n}\n","import {CloseIcon} from '@sanity/icons/Close'\nimport {isValidElement, useCallback, useImperativeHandle, useMemo, useRef} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {EMPTY_RECORD} from '../../constants'\nimport {useCustomValidity} from '../../hooks/useCustomValidity'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {\n responsiveInputPaddingStyle,\n TextInputResponsivePaddingStyleProps,\n} from '../../styles/input/responsiveInputPaddingStyle'\nimport {\n textInputBaseStyle,\n textInputFontSizeStyle,\n TextInputInputStyleProps,\n textInputRepresentationStyle,\n TextInputRepresentationStyleProps,\n textInputRootStyle,\n} from '../../styles/input/textInputStyle'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {useRootTheme} from '../../theme/useRootTheme'\nimport {Radius} from '../../types/radius'\nimport {Box} from '../box/box'\nimport {Button, ButtonOwnProps} from '../button/button'\nimport {Card} from '../card/card'\nimport {Text} from '../text/text'\n\n/**\n * @public\n */\nexport type TextInputClearButtonProps = ButtonOwnProps &\n Omit<React.HTMLProps<HTMLButtonElement>, 'as' | 'onClick' | 'onMouseDown' | 'ref'>\n\n/**\n * @public\n */\nexport type TextInputType =\n | 'search'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'url'\n | 'month'\n | 'number'\n | 'password'\n | 'tel'\n | 'time'\n | 'text'\n | 'week'\n | 'color'\n\n/**\n * @public\n */\nexport interface TextInputProps {\n /**\n * @beta\n */\n __unstable_disableFocusRing?: boolean\n border?: boolean\n /**\n * @beta\n */\n clearButton?: boolean | TextInputClearButtonProps\n customValidity?: string\n fontSize?: number | number[]\n // oxlint-disable-next-line no-redundant-type-constituents\n icon?: React.ElementType | React.ReactNode\n // oxlint-disable-next-line no-redundant-type-constituents\n iconRight?: React.ElementType | React.ReactNode\n /**\n * @beta\n */\n onClear?: () => void\n padding?: number | number[]\n prefix?: React.ReactNode\n radius?: Radius | Radius[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n gap?: number | number[]\n suffix?: React.ReactNode\n type?: TextInputType\n weight?: ThemeFontWeightKey\n}\n\nconst CLEAR_BUTTON_BOX_STYLE: React.CSSProperties = {zIndex: 2}\n\nconst StyledTextInput = styled(Card).attrs({forwardedAs: 'span'})(textInputRootStyle)\n\nconst InputRoot = styled.span`\n flex: 1;\n min-width: 0;\n display: block;\n position: relative;\n`\n\nconst Prefix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Suffix = styled(Card).attrs({forwardedAs: 'span'})`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n & > span {\n display: block;\n margin: -1px;\n }\n`\n\nconst Input = styled.input<TextInputResponsivePaddingStyleProps & TextInputInputStyleProps>(\n responsiveInputPaddingStyle,\n textInputBaseStyle,\n textInputFontSizeStyle,\n)\n\nconst Presentation = styled.span<ResponsiveRadiusStyleProps & TextInputRepresentationStyleProps>(\n responsiveRadiusStyle,\n textInputRepresentationStyle,\n)\n\nconst LeftBox = styled(Box)`\n position: absolute;\n top: 0;\n left: 0;\n`\n\nconst RightBox = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst RightCard = styled(Card)`\n background-color: transparent;\n position: absolute;\n top: 0;\n right: 0;\n`\n\nconst TextInputClearButton = styled(Button)({\n '&:not([hidden])': {\n display: 'block',\n },\n})\n\n/**\n * Single line text input.\n *\n * @public\n */\nexport function TextInput(\n props: TextInputProps & Omit<React.HTMLProps<HTMLInputElement>, 'as' | 'prefix' | 'type'>,\n) {\n const {\n __unstable_disableFocusRing,\n border = true,\n clearButton,\n disabled = false,\n fontSize: fontSizeProp = 2,\n gap = 3,\n icon: IconComponent,\n iconRight: IconRightComponent,\n onClear,\n padding: paddingProp = 3,\n prefix,\n radius: radiusProp = 2,\n readOnly,\n ref: forwardedRef,\n suffix,\n customValidity,\n type = 'text',\n weight,\n ...restProps\n } = props\n const ref = useRef<HTMLInputElement | null>(null)\n\n const rootTheme = useRootTheme()\n\n const fontSize = _getArrayProp(fontSizeProp)\n const padding = _getArrayProp(paddingProp)\n const radius = _getArrayProp(radiusProp)\n const space = _getArrayProp(gap)\n\n // Transient properties\n const $hasClearButton = Boolean(clearButton)\n const $hasIcon = Boolean(IconComponent)\n const $hasIconRight = Boolean(IconRightComponent)\n const $hasSuffix = Boolean(suffix)\n const $hasPrefix = Boolean(prefix)\n\n useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(\n forwardedRef,\n () => ref.current,\n )\n\n useCustomValidity(ref, customValidity)\n\n // Prevent the clear button from taking the focus away from the input\n const handleClearMouseDown = useCallback((event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n }, [])\n\n const handleClearClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault()\n event.stopPropagation()\n\n if (onClear) onClear()\n\n // Focus the input, in case focus has been lost when clicking the clear button\n ref.current?.focus()\n },\n [onClear, ref],\n )\n\n // Render prefix (memoized)\n const prefixNode = useMemo(\n () =>\n prefix && (\n <Prefix borderTop borderLeft borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{prefix}</span>\n </Prefix>\n ),\n [prefix, radius],\n )\n\n // Render presentation (memoized)\n const presentationNode = useMemo(\n () => (\n <Presentation\n $hasPrefix={$hasPrefix}\n $unstableDisableFocusRing={__unstable_disableFocusRing}\n $hasSuffix={$hasSuffix}\n $radius={radius}\n $scheme={rootTheme.scheme}\n $tone={rootTheme.tone}\n data-border={border ? '' : undefined}\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n >\n {IconComponent && (\n <LeftBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n </LeftBox>\n )}\n\n {!$hasClearButton && IconRightComponent && (\n <RightBox padding={padding}>\n <Text size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n </RightBox>\n )}\n </Presentation>\n ),\n [\n __unstable_disableFocusRing,\n border,\n fontSize,\n IconComponent,\n IconRightComponent,\n padding,\n radius,\n rootTheme,\n $hasClearButton,\n $hasPrefix,\n $hasSuffix,\n ],\n )\n\n // Render clear button (memoized)\n const clearButtonBoxPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 1\n if (v === 2) return 1\n\n return v - 2\n }),\n [padding],\n )\n const clearButtonPadding = useMemo(\n () =>\n padding.map((v) => {\n if (v === 0) return 0\n if (v === 1) return 0\n if (v === 2) return 1\n\n return v - 1\n }),\n [padding],\n )\n const clearButtonProps: TextInputClearButtonProps = useMemo(\n () => (typeof clearButton === 'object' ? clearButton : EMPTY_RECORD),\n [clearButton],\n )\n const clearButtonNode = useMemo(\n () =>\n !disabled &&\n !readOnly &&\n clearButton && (\n <RightCard\n forwardedAs=\"span\"\n padding={clearButtonBoxPadding}\n style={CLEAR_BUTTON_BOX_STYLE}\n tone={customValidity ? 'critical' : 'inherit'}\n >\n <TextInputClearButton\n aria-label=\"Clear\"\n data-qa=\"clear-button\"\n fontSize={fontSize}\n icon={CloseIcon}\n mode=\"bleed\"\n padding={clearButtonPadding}\n radius={radius}\n {...clearButtonProps}\n onClick={handleClearClick}\n onMouseDown={handleClearMouseDown}\n />\n </RightCard>\n ),\n [\n clearButton,\n clearButtonBoxPadding,\n clearButtonPadding,\n clearButtonProps,\n customValidity,\n disabled,\n fontSize,\n handleClearClick,\n handleClearMouseDown,\n radius,\n readOnly,\n ],\n )\n\n // Render suffix (memoized)\n const suffixNode = useMemo(\n () =>\n suffix && (\n <Suffix borderTop borderRight borderBottom radius={radius} sizing=\"border\" tone=\"inherit\">\n <span>{suffix}</span>\n </Suffix>\n ),\n [radius, suffix],\n )\n\n return (\n <StyledTextInput data-ui=\"TextInput\" tone={rootTheme.tone}>\n {prefixNode}\n\n <InputRoot>\n <Input\n data-as=\"input\"\n data-scheme={rootTheme.scheme}\n data-tone={rootTheme.tone}\n {...restProps}\n $fontSize={fontSize}\n $iconLeft={$hasIcon}\n $iconRight={$hasIconRight || $hasClearButton}\n $padding={padding}\n $scheme={rootTheme.scheme}\n $space={space}\n $tone={rootTheme.tone}\n $weight={weight}\n disabled={disabled}\n readOnly={readOnly}\n ref={ref}\n type={type}\n />\n\n {presentationNode}\n {clearButtonNode}\n </InputRoot>\n\n {suffixNode}\n </StyledTextInput>\n )\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useClickOutsideEvent-lEVhDFCQ.js","names":["useDebugValue","useEffect","useEffectEvent","EMPTY_ARRAY","ClickOutsideEventListener","event","MouseEvent","ClickOutsideEventElements","HTMLElement","useClickOutsideEvent","listener","t0","boundaryElement","$","_c","elementsArg","undefined","_temp","t1","evt","target","Node","resolvedBoundaryElement","contains","elements","flat","el","onEvent","hasListener","Boolean","t2","handleEvent","evt_0","document","addEventListener","removeEventListener","t3"],"sources":["../src/core/hooks/useClickOutsideEvent.ts"],"sourcesContent":["import {useDebugValue, 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\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @public\n */\nexport type ClickOutsideEventListener = (event: MouseEvent) => void\n\n/**\n * @public\n */\nexport type ClickOutsideEventElements = (HTMLElement | null | (HTMLElement | null)[])[]\n\n/**\n * @public\n */\nexport function useClickOutsideEvent(\n listener: ClickOutsideEventListener | false | undefined,\n elementsArg: () => ClickOutsideEventElements = () => EMPTY_ARRAY,\n boundaryElement?: () => HTMLElement | null,\n): void {\n /**\n * The `useEffectEvent` hook allow us to always see the latest value of `listener`, `elementsArg` and `boundaryElement` without needing to\n * juggle `useState`, `useRef` and `useState` to make sure the `mousedown` event listener isn't constantly being added and removed.\n */\n const onEvent = useEffectEvent((evt: MouseEvent) => {\n if (!listener) {\n return\n }\n\n const target = evt.target\n\n if (!(target instanceof Node)) {\n return\n }\n\n const resolvedBoundaryElement = boundaryElement?.()\n\n if (resolvedBoundaryElement && !resolvedBoundaryElement.contains(target)) {\n return\n }\n\n const elements = elementsArg().flat()\n\n for (const el of elements) {\n if (!el) continue\n\n if (target === el || el.contains(target)) {\n return\n }\n }\n\n listener(evt)\n })\n\n const hasListener = Boolean(listener)\n\n useEffect(() => {\n if (!hasListener) return undefined\n\n const handleEvent = (evt: MouseEvent) => onEvent(evt)\n\n document.addEventListener('mousedown', handleEvent)\n\n return () => {\n document.removeEventListener('mousedown', handleEvent)\n }\n }, [hasListener])\n\n useDebugValue(listener ? 'MouseDown On' : 'MouseDown Off')\n}\n"],"mappings":";;;;;;;AAwBA,SAAOS,qBAAAC,UAAAC,IAAAC,iBAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAELC,cAAAJ,OAAAK,KAAAA,IAAAC,QAAAN,IAAgEO;CAAA,AAAAL,EAAA,OAAAD,mBAAAC,EAAA,OAAAE,eAAAF,EAAA,OAAAH,YAOjCQ,MAAAC,QAAA;EAC7B,IAAI,CAACT,UAAQ;EAIb,IAAAU,SAAeD,IAAGC;EAElB,IAAI,EAAEA,kBAAkBC,OAAK;EAI7B,IAAAC,0BAAgCV,kBAAkB;EAElD,IAAIU,2BAAA,CAA4BA,wBAAuBC,SAAUH,MAAM,GAAC;EAIxE,IAAAI,WAAiBT,YAAY,CAAC,CAAAU,KAAM;EAEpC,KAAK,IAAAC,MAAYF,UACVE,WAEDN,WAAWM,MAAMA,GAAEH,SAAUH,MAAM,IAAC;EAK1CV,SAASS,GAAG;CAAC,GACdN,EAAA,KAAAD,iBAAAC,EAAA,KAAAE,aAAAF,EAAA,KAAAH,UAAAG,EAAA,KAAAK,MAAAA,KAAAL,EAAA;CA5BD,IAAAc,UAAgBzB,eAAegB,EA4B9B,GAEDU,cAAoBC,EAAQnB,UAASoB;CAAA,AAAAjB,EAAA,OAAAe,eAAAf,EAAA,OAAAc,WAE3BG,WAAA;EACR,IAAI,CAACF,aAAW;EAEhB,IAAAG,eAAoBC,UAAqBL,QAAQR,KAAG;EAED,OAAnDc,SAAQC,iBAAkB,aAAaH,WAAW,SAE3C;GACLE,SAAQE,oBAAqB,aAAaJ,WAAW;EAAC;CACvD,GACFlB,EAAA,KAAAe,aAAAf,EAAA,KAAAc,SAAAd,EAAA,KAAAiB,MAAAA,KAAAjB,EAAA;CAAA,IAAAuB;CAEDpC,AAFCa,EAAA,OAAAe,cAAeQ,KAAAvB,EAAA,MAAbuB,KAAA,CAACR,WAAW,GAACf,EAAA,KAAAe,aAAAf,EAAA,KAAAuB,KAVhBnC,UAAU6B,IAUPM,EAAa,GAEhBpC,cAAcU,WAAA,iBAAA,eAA2C;AAAC;AArDrD,SAAAO,QAAA;CAAA,OAEgDd;AAAW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useLayer-BAVfmbNN.js","names":["Property","CSSObject","getTheme_v2","_responsive","ThemeProps","ResponsiveBoxStyleProps","BASE_STYLE","listStyle","BOX_SIZING","key","BoxSizing","content","border","BOX_HEIGHT","stretch","fill","boxStyle","responsiveBoxStyle","Array","props","responsiveBoxSizingStyle","responsiveBoxHeightStyle","responsiveBoxOverflowStyle","responsiveBoxDisplayStyle","media","theme","$display","display","$sizing","sizing","boxSizing","$height","height","$overflow","overflow","CSSObject","getTheme_v2","EMPTY_ARRAY","_responsive","ThemeProps","ResponsiveFlexItemStyleProps","BASE_STYLE","minWidth","minHeight","flexItemStyle","Array","props","responsiveFlexItemStyle","media","theme","$flex","flex","CSSObject","getTheme_v2","_responsive","ThemeProps","ResponsiveGridItemStyleProps","responsiveGridItemStyle","Array","props","responsiveGridItemRowStyle","responsiveGridItemRowStartStyle","responsiveGridItemRowEndStyle","responsiveGridItemColumnStyle","responsiveGridItemColumnStartStyle","responsiveGridItemColumnEndStyle","GRID_ITEM_ROW","auto","full","GRID_ITEM_COLUMN","media","theme","$row","row","gridRow","$rowStart","rowStart","gridRowStart","$rowEnd","rowEnd","gridRowEnd","$column","column","gridColumn","$columnStart","columnStart","gridColumnStart","$columnEnd","columnEnd","gridColumnEnd","CSSObject","_getResponsiveSpace","ThemeProps","ResponsiveMarginStyleProps","responsiveMarginStyle","props","theme","$margin","$marginX","$marginY","$marginTop","$marginRight","$marginBottom","$marginLeft","filter","Boolean","CSSObject","_getResponsiveSpace","ThemeProps","ResponsivePaddingStyleProps","responsivePaddingStyle","props","theme","$padding","$paddingX","$paddingY","$paddingTop","$paddingRight","$paddingBottom","$paddingLeft","filter","Boolean","styled","boxStyle","responsiveBoxStyle","ResponsiveBoxStyleProps","flexItemStyle","FlexItemStyleProps","responsiveGridItemStyle","ResponsiveGridItemStyleProps","_getArrayProp","responsiveMarginStyle","ResponsiveMarginStyleProps","responsivePaddingStyle","ResponsivePaddingStyleProps","ElementType","Props","ResponsiveBoxProps","ResponsiveFlexItemProps","ResponsiveGridItemProps","ResponsiveMarginProps","ResponsivePaddingProps","BoxOwnProps","forwardedAs","BoxProps","E","StyledBox","div","BoxComponent","Box","props","$","_c","flex","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","height","marginBottom","marginLeft","marginRight","marginTop","marginX","marginY","overflow","paddingBottom","paddingLeft","paddingRight","paddingTop","paddingX","paddingY","ref","restProps","sizing","t0","t1","t2","t3","as","display","margin","padding","asProp","undefined","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","children","React","JSX","Element","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveRadiusStyleProps","responsiveRadiusStyle","props","media","radius","theme","$radius","value","borderRadius","useTheme","useStyledTheme","Theme","Theme_v2","getTheme_v2","useTheme_v2","$","_c","t0","t1","ThemeColorCard_v2","ThemeColorState_v2","CSSObject","_cardColorStyle","base","color","checkered","backdrop","focusRing","shadow","outline","umbra","penumbra","ambient","accent","fg","avatar","gray","bg","blue","purple","magenta","red","orange","yellow","green","cyan","muted","undefined","border","badge","default","dot","icon","neutral","primary","suggest","positive","caution","critical","code","kbd","link","skeleton","from","to","ThemeFocusRing","focusRingBorderStyle","border","color","width","focusRingStyle","opts","base","bg","focusRing","focusRingOutsetWidth","offset","focusRingInsetWidth","bgColor","filter","Boolean","join","CSSObject","getTheme_v2","_responsive","ThemeProps","ResponsiveBorderStyleProps","responsiveBorderStyle","Array","props","border","borderTop","borderRight","borderBottom","borderLeft","card","media","theme","borderStyle","width","$border","value","$borderTop","$borderRight","$borderBottom","$borderLeft","CSSObject","ThemeBoxShadow","ThemeShadow","getTheme_v2","EMPTY_RECORD","_responsive","rem","ThemeProps","ResponsiveShadowStyleProps","toBoxShadow","shadow","color","map","join","shadowStyle","outlineWidth","outline","umbra","penumbra","ambient","boxShadow","responsiveShadowStyle","props","card","media","theme","$shadow","index","getGlobalScope","globalThis","window","self","global","Error","globalScope","Context","createContext","globalScope","createGlobalScopedContext","ContextType","key","defaultValue","T","symbol","Symbol","for","document","context","displayName","createGlobalScopedContext","ThemeContextValue","ThemeContext","useContext","useMemo","ThemeProvider","StyledThemeProvider","getScopedTheme","ThemeColorCardToneKey","ThemeColorSchemeKey","RootTheme","Theme","ThemeContext","ThemeContextValue","ThemeProviderProps","children","React","ReactNode","scheme","theme","tone","props","$","_c","parentTheme","rootTheme","t0","bb0","t1","version","themeContext","bb1","t2","Symbol","for","t3","useContext","ThemeContext","ThemeContextValue","useRootTheme","value","Error","ThemeColorCardToneKey","ThemeColorSchemeKey","ThemeProvider","useRootTheme","ThemeColorProviderProps","children","React","ReactNode","scheme","tone","ThemeColorProvider","props","$","_c","root","t0","t1","theme","css","getTheme_v2","_cardColorStyle","focusRingStyle","ThemeProps","CardStyleProps","cardStyle","props","Array","ReturnType","cardBaseStyle","cardColorStyle","$checkered","space","theme","$focusRing","$muted","card","color","style","border","width","_dark","selectable","default","disabled","pressed","selected","hovered","base","focusRing","undefined","root","isValidElementType","styled","ThemeColorSchemeKey","responsiveBorderStyle","ResponsiveBorderStyleProps","_getArrayProp","responsiveRadiusStyle","ResponsiveRadiusStyleProps","responsiveShadowStyle","ResponsiveShadowStyleProps","ThemeColorProvider","useRootTheme","CardTone","ElementType","Props","Box","BoxOwnProps","ResponsiveBorderProps","ResponsiveRadiusProps","ResponsiveShadowProps","cardStyle","CardStyleProps","CardOwnProps","__unstable_checkered","__unstable_focusRing","disabled","muted","pressed","scheme","selected","tone","CardProps","E","StyledCard","CardComponent","props","$","_c","asProp","border","borderBottom","borderLeft","borderRight","borderTop","ref","restProps","shadow","t0","t1","t2","t3","as","radius","checkered","undefined","focusRing","toneProp","rootTheme","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","Card","React","JSX","Element","useMemo","useSyncExternalStore","useTheme_v2","_MediaStore","subscribe","onStoreChange","getSnapshot","MediaQueryMinWidth","MediaQueryMaxWidth","MediaQueryMinMaxWidth","MediaQuery","_getMediaQuery","media","index","length","_createMediaStore","mediaLen","sizes","mq","MediaQueryList","getSizes","mediaQuery","push","window","matchMedia","matches","disposeFns","handleChange","addEventListener","removeEventListener","disposeFn","getServerSnapshot","useMediaIndex","$","_c","t0","store","useCallback","useDebugValue","useSyncExternalStore","useMatchMedia","mediaQueryString","getServerSnapshot","$","_c","t0","onStoreChange","media","window","matchMedia","addEventListener","removeEventListener","t1","matches","useMatchMedia","usePrefersReducedMotion","t0","getServerSnapshot","undefined","_temp","isRecord","value","Record","Boolean","Array","isArray","isRecord","LayerContextValue","getLayerContext","contextValue","version","Error","createGlobalScopedContext","LayerContextValue","LayerContext","useCallback","useContext","useEffect","useMemo","useState","useMediaIndex","_getArrayProp","getLayerContext","LayerContext","LayerContextValue","LayerProviderProps","children","React","ReactNode","zOffset","LayerProvider","props","$","_c","t0","zOffsetProp","undefined","parentContextValue","t1","parent","parentRegisterChild","registerChild","parentLevel","level","t2","maxMediaIndex","length","mediaIndex","Math","min","zIndex","t3","Symbol","for","setChildLayers","size","setSize","isTopLayer","t4","childLevel","parentDispose","state","prevLen","nextState","Object","keys","_temp","state_0","nextState_0","_temp2","t5","t6","t7","version","value","t8","v_0","v","useContext","getLayerContext","LayerContext","LayerContextValue","useLayer","$","_c","value","Error","t1","t0","err","message"],"sources":["../src/core/styles/box/boxStyle.ts","../src/core/styles/flex/flexItemStyle.ts","../src/core/styles/grid/gridItemStyle.ts","../src/core/styles/margin/marginStyle.ts","../src/core/styles/padding/paddingStyle.ts","../src/core/primitives/box/box.tsx","../src/core/styles/radius/radiusStyle.ts","../src/core/theme/useTheme.ts","../src/core/styles/card/_cardColorStyle.ts","../src/core/styles/focusRing/index.ts","../src/core/styles/border/borderStyle.ts","../src/core/styles/shadow/shadowStyle.ts","../src/core/lib/globalScope.ts","../src/core/lib/createGlobalScopedContext.ts","../src/core/theme/themeContext.ts","../src/core/theme/themeProvider.tsx","../src/core/theme/useRootTheme.ts","../src/core/theme/themeColorProvider.tsx","../src/core/primitives/card/styles.ts","../src/core/primitives/card/card.tsx","../src/core/hooks/useMediaIndex/useMediaIndex.ts","../src/core/hooks/useMatchMedia.ts","../src/core/hooks/usePrefersReducedMotion.ts","../src/core/lib/isRecord.ts","../src/core/utils/layer/getLayerContext.ts","../src/core/utils/layer/layerContext.ts","../src/core/utils/layer/layerProvider.tsx","../src/core/utils/layer/useLayer.ts"],"sourcesContent":["import {Property} from 'csstype'\n\nimport {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBoxStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst BOX_SIZING: {[key: string]: Property.BoxSizing} = {\n content: 'content-box',\n border: 'border-box',\n}\n\nconst BOX_HEIGHT = {\n stretch: 'stretch',\n fill: '100%',\n}\n\nexport function boxStyle(): CSSObject {\n return BASE_STYLE\n}\n\nexport function responsiveBoxStyle(): Array<\n (props: ResponsiveBoxStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveBoxSizingStyle,\n responsiveBoxHeightStyle,\n responsiveBoxOverflowStyle,\n responsiveBoxDisplayStyle,\n ]\n}\n\nfunction responsiveBoxDisplayStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$display, (display) => ({\n '&:not([hidden])': {display},\n }))\n}\n\nfunction responsiveBoxSizingStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$sizing, (sizing) => ({\n boxSizing: BOX_SIZING[sizing],\n }))\n}\n\nfunction responsiveBoxHeightStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$height, (height) => ({\n height: BOX_HEIGHT[height],\n }))\n}\n\nfunction responsiveBoxOverflowStyle(props: ResponsiveBoxStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$overflow, (overflow) => ({\n overflow,\n }))\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {EMPTY_ARRAY} from '../../constants'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexItemStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n minWidth: 0,\n minHeight: 0,\n}\n\nexport function flexItemStyle(): Array<\n CSSObject | ((props: ResponsiveFlexItemStyleProps & ThemeProps) => CSSObject[])\n> {\n return [BASE_STYLE, responsiveFlexItemStyle]\n}\n\nfunction responsiveFlexItemStyle(props: ResponsiveFlexItemStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n if (!props.$flex) return EMPTY_ARRAY\n\n return _responsive(media, props.$flex, (flex) => ({flex: `${flex}`}))\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridItemStyleProps} from './types'\n\nexport function responsiveGridItemStyle(): Array<\n (props: ResponsiveGridItemStyleProps & ThemeProps) => CSSObject[]\n> {\n return [\n responsiveGridItemRowStyle,\n responsiveGridItemRowStartStyle,\n responsiveGridItemRowEndStyle,\n responsiveGridItemColumnStyle,\n responsiveGridItemColumnStartStyle,\n responsiveGridItemColumnEndStyle,\n ]\n}\n\nconst GRID_ITEM_ROW = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nconst GRID_ITEM_COLUMN = {\n auto: 'auto',\n full: '1 / -1',\n}\n\nfunction responsiveGridItemRowStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$row, (row) => {\n if (typeof row === 'number') {\n return {gridRow: `span ${row} / span ${row}`}\n }\n\n return {gridRow: GRID_ITEM_ROW[row]}\n })\n}\n\nfunction responsiveGridItemRowStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$rowStart, (rowStart) => ({\n gridRowStart: `${rowStart}`,\n }))\n}\n\nfunction responsiveGridItemRowEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$rowEnd, (rowEnd) => ({gridRowEnd: `${rowEnd}`}))\n}\n\nfunction responsiveGridItemColumnStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$column, (column) => {\n if (typeof column === 'number') {\n return {gridColumn: `span ${column} / span ${column}`}\n }\n\n return {gridColumn: GRID_ITEM_COLUMN[column]}\n })\n}\n\nfunction responsiveGridItemColumnStartStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$columnStart, (columnStart) => ({\n gridColumnStart: `${columnStart}`,\n }))\n}\n\nfunction responsiveGridItemColumnEndStyle(props: ResponsiveGridItemStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$columnEnd, (columnEnd) => ({\n gridColumnEnd: `${columnEnd}`,\n }))\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveMarginStyleProps} from './types'\n\nexport function responsiveMarginStyle(\n props: ResponsiveMarginStyleProps & ThemeProps,\n): CSSObject[][] {\n const {theme} = props\n\n // oxlint-disable-next-line no-unsafe-type-assertion\n return [\n _getResponsiveSpace(theme, ['margin'], props.$margin),\n _getResponsiveSpace(theme, ['marginLeft', 'marginRight'], props.$marginX),\n _getResponsiveSpace(theme, ['marginTop', 'marginBottom'], props.$marginY),\n _getResponsiveSpace(theme, ['marginTop'], props.$marginTop),\n _getResponsiveSpace(theme, ['marginRight'], props.$marginRight),\n _getResponsiveSpace(theme, ['marginBottom'], props.$marginBottom),\n _getResponsiveSpace(theme, ['marginLeft'], props.$marginLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {_getResponsiveSpace} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsivePaddingStyleProps} from './types'\n\nexport function responsivePaddingStyle(\n props: ResponsivePaddingStyleProps & ThemeProps,\n): CSSObject[][] {\n const {theme} = props\n\n // oxlint-disable-next-line no-unsafe-type-assertion\n return [\n _getResponsiveSpace(theme, ['padding'], props.$padding),\n _getResponsiveSpace(theme, ['paddingLeft', 'paddingRight'], props.$paddingX),\n _getResponsiveSpace(theme, ['paddingTop', 'paddingBottom'], props.$paddingY),\n _getResponsiveSpace(theme, ['paddingTop'], props.$paddingTop),\n _getResponsiveSpace(theme, ['paddingRight'], props.$paddingRight),\n _getResponsiveSpace(theme, ['paddingBottom'], props.$paddingBottom),\n _getResponsiveSpace(theme, ['paddingLeft'], props.$paddingLeft),\n ].filter(Boolean) as CSSObject[][]\n}\n","import {styled} from 'styled-components'\n\nimport {boxStyle, responsiveBoxStyle} from '../../styles/box/boxStyle'\nimport {ResponsiveBoxStyleProps} from '../../styles/box/types'\nimport {flexItemStyle} from '../../styles/flex/flexItemStyle'\nimport {FlexItemStyleProps} from '../../styles/flex/types'\nimport {responsiveGridItemStyle} from '../../styles/grid/gridItemStyle'\nimport {ResponsiveGridItemStyleProps} from '../../styles/grid/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveMarginStyle} from '../../styles/margin/marginStyle'\nimport {ResponsiveMarginStyleProps} from '../../styles/margin/types'\nimport {responsivePaddingStyle} from '../../styles/padding/paddingStyle'\nimport {ResponsivePaddingStyleProps} from '../../styles/padding/types'\nimport {ElementType, Props} from '../../types/component'\nimport {\n ResponsiveBoxProps,\n ResponsiveFlexItemProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps,\n} from '../types'\n\n/**\n * The props that `Box` adds on top of the element it renders as.\n *\n * @public\n */\nexport interface BoxOwnProps\n extends\n ResponsiveFlexItemProps,\n ResponsiveBoxProps,\n ResponsiveGridItemProps,\n ResponsiveMarginProps,\n ResponsivePaddingProps {\n forwardedAs?: ElementType\n}\n\n/**\n * @public\n */\nexport type BoxProps<E extends ElementType = 'div'> = Props<BoxOwnProps, E>\n\nconst StyledBox = styled.div<\n FlexItemStyleProps &\n ResponsiveBoxStyleProps &\n ResponsiveGridItemStyleProps &\n ResponsiveMarginStyleProps &\n ResponsivePaddingStyleProps\n>(\n boxStyle,\n flexItemStyle,\n responsiveBoxStyle,\n responsiveGridItemStyle,\n responsiveMarginStyle,\n responsivePaddingStyle,\n)\n\nconst BoxComponent = function Box(\n props: BoxOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n) {\n const {\n as: asProp = 'div',\n ref,\n gridColumn,\n gridColumnStart,\n gridColumnEnd,\n display = 'block',\n flex,\n height,\n margin = 0,\n marginX,\n marginY,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n overflow,\n padding = 0,\n paddingX,\n paddingY,\n paddingTop,\n paddingRight,\n paddingBottom,\n paddingLeft,\n gridRow,\n gridRowStart,\n gridRowEnd,\n sizing,\n ...restProps\n } = props\n\n return (\n <StyledBox\n data-as={typeof asProp === 'string' ? asProp : undefined}\n data-ui=\"Box\"\n {...restProps}\n $column={_getArrayProp(gridColumn)}\n $columnStart={_getArrayProp(gridColumnStart)}\n $columnEnd={_getArrayProp(gridColumnEnd)}\n $display={_getArrayProp(display)}\n $flex={_getArrayProp(flex)}\n $height={_getArrayProp(height)}\n $margin={_getArrayProp(margin)}\n $marginX={_getArrayProp(marginX)}\n $marginY={_getArrayProp(marginY)}\n $marginTop={_getArrayProp(marginTop)}\n $marginRight={_getArrayProp(marginRight)}\n $marginBottom={_getArrayProp(marginBottom)}\n $marginLeft={_getArrayProp(marginLeft)}\n $overflow={_getArrayProp(overflow)}\n $padding={_getArrayProp(padding)}\n $paddingX={_getArrayProp(paddingX)}\n $paddingY={_getArrayProp(paddingY)}\n $paddingTop={_getArrayProp(paddingTop)}\n $paddingRight={_getArrayProp(paddingRight)}\n $paddingBottom={_getArrayProp(paddingBottom)}\n $paddingLeft={_getArrayProp(paddingLeft)}\n $row={_getArrayProp(gridRow)}\n $rowStart={_getArrayProp(gridRowStart)}\n $rowEnd={_getArrayProp(gridRowEnd)}\n $sizing={_getArrayProp(sizing)}\n // styled-components 6.5 distributes PolymorphicCallProps over ElementType and\n // hits TS2589; narrow the call-site target while still passing the real value.\n // oxlint-disable-next-line no-unsafe-type-assertion\n as={asProp as 'div'}\n ref={ref}\n >\n {props.children}\n </StyledBox>\n )\n}\n\n/**\n * The `Box` component is a basic layout wrapper component which provides utility properties\n * for flex, margins and padding.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Box = BoxComponent as unknown as <E extends ElementType = 'div'>(\n props: BoxProps<E>,\n) => React.JSX.Element\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveRadiusStyleProps} from './types'\n\nexport function responsiveRadiusStyle(props: ResponsiveRadiusStyleProps & ThemeProps): CSSObject[] {\n const {media, radius} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$radius, (value) => {\n let borderRadius: string | 0 = 0\n\n if (typeof value === 'number') {\n borderRadius = rem(radius[value])\n }\n\n if (value === 'full') {\n borderRadius = '9999px'\n }\n\n return {borderRadius}\n })\n}\n","import {useTheme as useStyledTheme} from 'styled-components'\n\nimport {Theme, Theme_v2} from '../../theme/system/theme'\nimport {getTheme_v2} from '../../theme/versioning/getTheme_v2'\n\n/**\n * @public\n */\nexport function useTheme(): Theme {\n // oxlint-disable-next-line no-unnecessary-type-assertion\n return useStyledTheme() as Theme\n}\n\n/**\n * @public\n */\nexport function useTheme_v2(): Theme_v2 {\n // oxlint-disable-next-line no-unnecessary-type-assertion\n return getTheme_v2(useStyledTheme() as Theme)\n}\n","import {ThemeColorCard_v2} from '../../../theme/system/color/color'\nimport {ThemeColorState_v2} from '../../../theme/system/color/state'\nimport {CSSObject} from '../../../theme/system/css'\n\n/**\n * @internal\n */\nexport function _cardColorStyle(\n base: ThemeColorCard_v2,\n color: ThemeColorState_v2,\n checkered = false,\n): CSSObject {\n return {\n // from base\n\n '--card-backdrop-color': base.backdrop,\n\n '--card-focus-ring-color': base.focusRing,\n\n '--card-shadow-outline-color': base.shadow.outline,\n '--card-shadow-umbra-color': base.shadow.umbra,\n '--card-shadow-penumbra-color': base.shadow.penumbra,\n '--card-shadow-ambient-color': base.shadow.ambient,\n\n // from state\n\n '--card-accent-fg-color': color.accent.fg,\n\n '--card-avatar-gray-bg-color': color.avatar.gray.bg,\n '--card-avatar-gray-fg-color': color.avatar.gray.fg,\n '--card-avatar-blue-bg-color': color.avatar.blue.bg,\n '--card-avatar-blue-fg-color': color.avatar.blue.fg,\n '--card-avatar-purple-bg-color': color.avatar.purple.bg,\n '--card-avatar-purple-fg-color': color.avatar.purple.fg,\n '--card-avatar-magenta-bg-color': color.avatar.magenta.bg,\n '--card-avatar-magenta-fg-color': color.avatar.magenta.fg,\n '--card-avatar-red-bg-color': color.avatar.red.bg,\n '--card-avatar-red-fg-color': color.avatar.red.fg,\n '--card-avatar-orange-bg-color': color.avatar.orange.bg,\n '--card-avatar-orange-fg-color': color.avatar.orange.fg,\n '--card-avatar-yellow-bg-color': color.avatar.yellow.bg,\n '--card-avatar-yellow-fg-color': color.avatar.yellow.fg,\n '--card-avatar-green-bg-color': color.avatar.green.bg,\n '--card-avatar-green-fg-color': color.avatar.green.fg,\n '--card-avatar-cyan-bg-color': color.avatar.cyan.bg,\n '--card-avatar-cyan-fg-color': color.avatar.cyan.fg,\n\n '--card-bg-color': color.bg,\n '--card-bg-image': checkered\n ? `repeating-conic-gradient(${color.bg} 0% 25%, ${color.muted.bg} 0% 50%)`\n : undefined,\n\n '--card-border-color': color.border,\n\n '--card-badge-default-bg-color': color.badge.default.bg,\n '--card-badge-default-dot-color': color.badge.default.dot,\n '--card-badge-default-fg-color': color.badge.default.fg,\n '--card-badge-default-icon-color': color.badge.default.icon,\n '--card-badge-neutral-bg-color': color.badge.neutral?.bg,\n '--card-badge-neutral-dot-color': color.badge.neutral?.dot,\n '--card-badge-neutral-fg-color': color.badge.neutral?.fg,\n '--card-badge-neutral-icon-color': color.badge.neutral?.icon,\n '--card-badge-primary-bg-color': color.badge.primary.bg,\n '--card-badge-primary-dot-color': color.badge.primary.dot,\n '--card-badge-primary-fg-color': color.badge.primary.fg,\n '--card-badge-primary-icon-color': color.badge.primary.icon,\n '--card-badge-suggest-bg-color': color.badge.suggest?.bg,\n '--card-badge-suggest-dot-color': color.badge.suggest?.dot,\n '--card-badge-suggest-fg-color': color.badge.suggest?.fg,\n '--card-badge-suggest-icon-color': color.badge.suggest?.icon,\n '--card-badge-positive-bg-color': color.badge.positive.bg,\n '--card-badge-positive-dot-color': color.badge.positive.dot,\n '--card-badge-positive-fg-color': color.badge.positive.fg,\n '--card-badge-positive-icon-color': color.badge.positive.icon,\n '--card-badge-caution-bg-color': color.badge.caution.bg,\n '--card-badge-caution-dot-color': color.badge.caution.dot,\n '--card-badge-caution-fg-color': color.badge.caution.fg,\n '--card-badge-caution-icon-color': color.badge.caution.icon,\n '--card-badge-critical-bg-color': color.badge.critical.bg,\n '--card-badge-critical-dot-color': color.badge.critical.dot,\n '--card-badge-critical-fg-color': color.badge.critical.fg,\n '--card-badge-critical-icon-color': color.badge.critical.icon,\n\n '--card-code-bg-color': color.code.bg,\n '--card-code-fg-color': color.code.fg,\n\n '--card-fg-color': color.fg,\n\n '--card-icon-color': color.icon,\n\n '--card-kbd-bg-color': color.kbd.bg,\n '--card-kbd-border-color': color.kbd.border,\n '--card-kbd-fg-color': color.kbd.fg,\n\n '--card-link-fg-color': color.link.fg,\n\n '--card-muted-bg-color': color.muted.bg,\n '--card-muted-fg-color': color.muted.fg,\n\n '--card-skeleton-color-from': color.skeleton.from,\n '--card-skeleton-color-to': color.skeleton.to,\n\n // deprecated variables (kept for legacy)\n\n '--card-bg2-color': color.muted.bg,\n '--card-link-color': color.link.fg,\n '--card-hairline-soft-color': color.border,\n '--card-hairline-hard-color': color.border,\n }\n}\n","import {ThemeFocusRing} from '../../../theme/system/focusRing'\n\nexport function focusRingBorderStyle(border: {color: string; width: number}): string {\n return `inset 0 0 0 ${border.width}px ${border.color}`\n}\n\nexport function focusRingStyle(opts: {\n base?: {bg: string}\n border?: {color: string; width: number}\n focusRing: ThemeFocusRing\n}): string {\n const {base, border, focusRing} = opts\n const focusRingOutsetWidth = focusRing.offset + focusRing.width\n const focusRingInsetWidth = 0 - focusRing.offset\n const bgColor = base ? base.bg : 'var(--card-bg-color)'\n\n return [\n focusRingInsetWidth > 0 && `inset 0 0 0 ${focusRingInsetWidth}px var(--card-focus-ring-color)`,\n border && focusRingBorderStyle(border),\n focusRingInsetWidth < 0 && `0 0 0 ${0 - focusRingInsetWidth}px ${bgColor}`,\n focusRingOutsetWidth > 0 && `0 0 0 ${focusRingOutsetWidth}px var(--card-focus-ring-color)`,\n ]\n .filter(Boolean)\n .join(',')\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveBorderStyleProps} from './types'\n\nexport function responsiveBorderStyle(): Array<\n (props: ResponsiveBorderStyleProps & ThemeProps) => CSSObject[]\n> {\n return [border, borderTop, borderRight, borderBottom, borderLeft]\n}\n\nfunction border(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$border, (value) =>\n value ? {'&&': {border: borderStyle}} : {'&&': {border: 0}},\n )\n}\n\nfunction borderTop(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderTop, (value) =>\n value ? {'&&': {borderTop: borderStyle}} : {'&&': {borderTop: 0}},\n )\n}\n\nfunction borderRight(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderRight, (value) =>\n value ? {'&&': {borderRight: borderStyle}} : {'&&': {borderRight: 0}},\n )\n}\n\nfunction borderBottom(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderBottom, (value) =>\n value ? {'&&': {borderBottom: borderStyle}} : {'&&': {borderBottom: 0}},\n )\n}\n\nfunction borderLeft(props: ResponsiveBorderStyleProps & ThemeProps) {\n const {card, media} = getTheme_v2(props.theme)\n const borderStyle = `${card.border?.width ?? 1}px solid var(--card-border-color)`\n\n return _responsive(media, props.$borderLeft, (value) =>\n value ? {'&&': {borderLeft: borderStyle}} : {'&&': {borderLeft: 0}},\n )\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {ThemeBoxShadow, ThemeShadow} from '../../../theme/system/shadow'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {EMPTY_RECORD} from '../../constants'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveShadowStyleProps} from './types'\n\nfunction toBoxShadow(shadow: ThemeBoxShadow, color: string) {\n return `${shadow.map(rem).join(' ')} ${color}`\n}\n\nfunction shadowStyle(shadow: ThemeShadow | null, outlineWidth: number = 1): CSSObject {\n if (!shadow) return EMPTY_RECORD\n\n const outline = `0 0 0 ${rem(outlineWidth)} var(--card-shadow-outline-color)`\n const umbra = toBoxShadow(shadow.umbra, 'var(--card-shadow-umbra-color)')\n const penumbra = toBoxShadow(shadow.penumbra, 'var(--card-shadow-penumbra-color)')\n const ambient = toBoxShadow(shadow.ambient, 'var(--card-shadow-ambient-color)')\n\n return {boxShadow: `${outline}, ${umbra}, ${penumbra}, ${ambient}`}\n}\n\nexport function responsiveShadowStyle(props: ResponsiveShadowStyleProps & ThemeProps): CSSObject[] {\n const {card, media, shadow} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$shadow, (index) =>\n shadowStyle(shadow[index], card.shadow.outline),\n )\n}\n","/**\n * Gets the global scope instance in a given environment.\n *\n * The strategy is to return the most modern, and if not, the most common:\n * - The `globalThis` variable is the modern approach to accessing the global scope\n * - The `window` variable is the global scope in a web browser\n * - The `self` variable is the global scope in workers and others\n * - The `global` variable is the global scope in Node.js\n */\nfunction getGlobalScope() {\n if (typeof globalThis !== 'undefined') return globalThis\n if (typeof window !== 'undefined') return window\n if (typeof self !== 'undefined') return self\n if (typeof global !== 'undefined') return global\n\n throw new Error('@sanity/ui: could not locate global scope')\n}\n\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const globalScope = getGlobalScope() as any\n","/**\n * As `@sanity/ui` is declared as a dependency, and may be duplicated, sometimes across major versions\n * it's critical that vital react contexts are shared even when there is a duplicate.\n * If we used a model similar to `sanity` itself, or `styled-components`, this would be unnecessary as\n * those libraries enforce single instances.\n * Since we don't enforce it we have to support a sanity plugin being able to call hooks like `useToast`, and then\n * read the context setup by `sanity`, which calls `ToastProvider`, even if the provider and hook are different instances in memory.\n * It's also why it's vital that all changes to globally scoped providers remain fully backwards compatible to v1.\n */\n\nimport {type Context, createContext} from 'react'\n\nimport {globalScope} from './globalScope'\n\n// oxlint-disable-next-line no-unnecessary-type-parameters\nexport function createGlobalScopedContext<ContextType, const T extends ContextType = ContextType>(\n /**\n * Enforce that all Symbol.for keys used for globally scoped contexts have a predictable prefix\n */\n key: `@sanity/ui/context/${string}`,\n defaultValue: T,\n): Context<ContextType> {\n const symbol = Symbol.for(key)\n\n /**\n * Prevent errors about re-renders on React SSR on Next.js App Router\n */\n if (typeof document === 'undefined') {\n const context = createContext<ContextType>(defaultValue)\n context.displayName = key\n return context\n }\n\n globalScope[symbol] = globalScope[symbol] || createContext<T>(defaultValue)\n\n return globalScope[symbol]\n}\n","import {createGlobalScopedContext} from '../lib/createGlobalScopedContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @internal\n */\nexport const ThemeContext = createGlobalScopedContext<ThemeContextValue | null>(\n '@sanity/ui/context/theme',\n null,\n)\n","import {useContext, useMemo} from 'react'\nimport {ThemeProvider as StyledThemeProvider} from 'styled-components'\n\nimport {getScopedTheme} from '../../theme/getScopedTheme'\nimport {\n type ThemeColorCardToneKey,\n type ThemeColorSchemeKey,\n} from '../../theme/system/color/_system'\nimport {type RootTheme, type Theme} from '../../theme/system/theme'\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport interface ThemeProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n theme?: RootTheme\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * @public\n */\nexport function ThemeProvider(props: ThemeProviderProps): React.JSX.Element {\n const parentTheme = useContext(ThemeContext)\n const {children} = props\n const scheme = props.scheme ?? (parentTheme?.scheme || 'light')\n const rootTheme = props.theme ?? (parentTheme?.theme || null)\n const tone = props.tone ?? (parentTheme?.tone || 'default')\n\n const themeContext: ThemeContextValue | null = useMemo(() => {\n if (!rootTheme) return null\n\n return {\n version: 0.0,\n theme: rootTheme,\n scheme,\n tone,\n }\n }, [rootTheme, scheme, tone])\n\n const theme: Theme | null = useMemo(() => {\n if (!rootTheme) return null\n\n return getScopedTheme(rootTheme, scheme, tone)\n }, [scheme, rootTheme, tone])\n\n if (!theme) {\n return <pre>ThemeProvider: no \"theme\" property provided</pre>\n }\n\n return (\n <ThemeContext.Provider value={themeContext}>\n <StyledThemeProvider theme={theme}>{children}</StyledThemeProvider>\n </ThemeContext.Provider>\n )\n}\n","import {useContext} from 'react'\n\nimport {ThemeContext} from './themeContext'\nimport {ThemeContextValue} from './types'\n\n/**\n * @public\n */\nexport function useRootTheme(): ThemeContextValue {\n const value = useContext(ThemeContext)\n\n if (!value) {\n throw new Error('useRootTheme(): missing context value')\n }\n\n // oxlint-disable-next-line no-unnecessary-type-assertion, no-unsafe-type-assertion\n return value as unknown as ThemeContextValue\n}\n","import {ThemeColorCardToneKey, ThemeColorSchemeKey} from '../../theme/system/color/_system'\nimport {ThemeProvider} from './themeProvider'\nimport {useRootTheme} from './useRootTheme'\n\n/**\n * @public\n */\nexport interface ThemeColorProviderProps {\n children?: React.ReactNode\n scheme?: ThemeColorSchemeKey\n tone?: ThemeColorCardToneKey\n}\n\n/**\n * @public\n */\nexport function ThemeColorProvider(props: ThemeColorProviderProps): React.JSX.Element {\n const {children, scheme, tone} = props\n const root = useRootTheme()\n\n return (\n <ThemeProvider scheme={scheme || root.scheme} theme={root.theme} tone={tone}>\n {children}\n </ThemeProvider>\n )\n}\n","import {css} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_cardColorStyle} from '../../styles/card/_cardColorStyle'\nimport {focusRingStyle} from '../../styles/focusRing'\nimport {ThemeProps} from '../../styles/types'\nimport {CardStyleProps} from './types'\n\nexport function cardStyle(\n props: CardStyleProps & ThemeProps,\n): Array<ReturnType<typeof css> | (() => ReturnType<typeof css>)> {\n return [cardBaseStyle(props), cardColorStyle(props)]\n}\n\nfunction cardBaseStyle(props: CardStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$checkered} = props\n const {space} = getTheme_v2(props.theme)\n\n return css`\n ${\n $checkered &&\n css`\n background-size: ${space[3]}px ${space[3]}px;\n background-position: 50% 50%;\n background-image: var(--card-bg-image);\n `\n }\n\n &[data-as='button'] {\n -webkit-font-smoothing: inherit;\n appearance: none;\n outline: none;\n font: inherit;\n text-align: inherit;\n border: 0;\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n outline: none;\n text-decoration: none;\n }\n\n /* &:is(pre) */\n &[data-as='pre'] {\n font: inherit;\n }\n `\n}\n\nfunction cardColorStyle(props: CardStyleProps & ThemeProps): ReturnType<typeof css> {\n const {$checkered, $focusRing, $muted} = props\n const {card, color, style} = getTheme_v2(props.theme)\n const border = {width: card.border.width, color: 'var(--card-border-color)'}\n\n return css`\n color-scheme: ${color._dark ? 'dark' : 'light'};\n\n ${_cardColorStyle(color, color, $checkered)}\n\n background-color: ${$muted ? 'var(--card-muted-bg-color)' : 'var(--card-bg-color)'};\n color: var(--card-fg-color);\n\n /* &:is(button) */\n &[data-as='button'] {\n --card-focus-ring-box-shadow: none;\n\n cursor: default;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &:disabled {\n ${_cardColorStyle(color, color.selectable.default.disabled, $checkered)}\n }\n\n &:not(:disabled) {\n &[data-pressed] {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n\n &[data-selected] {\n ${_cardColorStyle(color, color.selectable.default.selected, $checkered)}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_cardColorStyle(color, color.selectable.default.hovered, $checkered)}\n }\n\n &:active {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n }\n }\n\n &:focus-visible {\n --card-focus-ring-box-shadow: ${\n $focusRing\n ? focusRingStyle({base: color, border, focusRing: card.focusRing})\n : undefined\n };\n }\n }\n }\n\n /* &:is(a) */\n &[data-as='a'] {\n cursor: pointer;\n box-shadow: var(--card-focus-ring-box-shadow);\n\n &[data-disabled] {\n ${_cardColorStyle(color, color.selectable.default.disabled, $checkered)}\n }\n\n &:not([data-disabled]) {\n &[data-pressed] {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n\n &[data-selected] {\n ${_cardColorStyle(color, color.selectable.default.selected, $checkered)}\n }\n\n @media (hover: hover) {\n &:not([data-pressed]):not([data-selected]) {\n &[data-hovered],\n &:hover {\n ${_cardColorStyle(color, color.selectable.default.hovered, $checkered)}\n }\n\n &:active {\n ${_cardColorStyle(color, color.selectable.default.pressed, $checkered)}\n }\n }\n }\n\n &:focus-visible {\n --card-focus-ring-box-shadow: ${\n $focusRing\n ? focusRingStyle({base: color, border, focusRing: card.focusRing})\n : undefined\n };\n }\n }\n }\n\n ${style?.card?.root}\n `\n}\n","import {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {ThemeColorSchemeKey} from '../../../theme/system/color/_system'\nimport {responsiveBorderStyle} from '../../styles/border/borderStyle'\nimport {ResponsiveBorderStyleProps} from '../../styles/border/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {responsiveShadowStyle} from '../../styles/shadow/shadowStyle'\nimport {ResponsiveShadowStyleProps} from '../../styles/shadow/types'\nimport {ThemeColorProvider} from '../../theme/themeColorProvider'\nimport {useRootTheme} from '../../theme/useRootTheme'\nimport {CardTone} from '../../types/card'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {ResponsiveBorderProps, ResponsiveRadiusProps, ResponsiveShadowProps} from '../types'\nimport {cardStyle} from './styles'\nimport {CardStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface CardOwnProps\n extends BoxOwnProps, ResponsiveBorderProps, ResponsiveRadiusProps, ResponsiveShadowProps {\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_checkered?: boolean\n /**\n * Do not use in production.\n * @beta\n */\n __unstable_focusRing?: boolean\n disabled?: boolean\n muted?: boolean\n pressed?: boolean\n scheme?: ThemeColorSchemeKey\n selected?: boolean\n tone?: CardTone\n}\n\n/**\n * @public\n */\nexport type CardProps<E extends ElementType = 'div'> = Props<CardOwnProps, E>\n\nconst StyledCard = styled(Box)<\n CardStyleProps &\n ResponsiveRadiusStyleProps &\n ResponsiveBorderStyleProps &\n ResponsiveShadowStyleProps\n>(responsiveBorderStyle, responsiveRadiusStyle, responsiveShadowStyle, cardStyle)\n\nfunction CardComponent(\n props: CardOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'height'>,\n) {\n const {\n __unstable_checkered: checkered = false,\n __unstable_focusRing: focusRing = false,\n as: asProp,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n muted,\n pressed,\n radius = 0,\n ref,\n scheme,\n selected,\n shadow,\n tone: toneProp = 'default',\n ...restProps\n } = props\n\n const as = isValidElementType(asProp) ? asProp : 'div'\n const rootTheme = useRootTheme()\n const tone = toneProp === 'inherit' ? rootTheme.tone : toneProp\n\n // todo: Consider adding the wrapper approach for nested cards in which the tones are not changing, avoid unnecessary ThemeColorProvider\n return (\n <ThemeColorProvider scheme={scheme} tone={tone}>\n <StyledCard\n data-as={typeof as === 'string' ? as : undefined}\n data-scheme={rootTheme.scheme}\n data-ui=\"Card\"\n data-tone={tone}\n {...restProps}\n $border={_getArrayProp(border)}\n $borderTop={_getArrayProp(borderTop)}\n $borderRight={_getArrayProp(borderRight)}\n $borderBottom={_getArrayProp(borderBottom)}\n $borderLeft={_getArrayProp(borderLeft)}\n $checkered={checkered}\n $focusRing={focusRing}\n $muted={muted ?? false}\n $radius={_getArrayProp(radius)}\n $shadow={_getArrayProp(shadow)}\n $tone={tone}\n data-checkered={checkered ? '' : undefined}\n data-pressed={pressed ? '' : undefined}\n data-selected={selected ? '' : undefined}\n forwardedAs={as}\n ref={ref}\n selected={selected}\n />\n </ThemeColorProvider>\n )\n}\n\n/**\n * The `Card` component acts much like a `Box`, but with a background and foreground color.\n * Components within a `Card` inherit its colors.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Card = CardComponent as unknown as <E extends ElementType = 'div'>(\n props: CardProps<E>,\n) => React.JSX.Element\n","import {useMemo, useSyncExternalStore} from 'react'\n\nimport {useTheme_v2} from '../../theme/useTheme'\n\n/**\n * @internal\n */\nexport interface _MediaStore {\n subscribe: (onStoreChange: () => void) => () => void\n getSnapshot: () => number\n}\n\ntype MediaQueryMinWidth = `(min-width: ${number}px)`\ntype MediaQueryMaxWidth = `(max-width: ${number}px)`\ntype MediaQueryMinMaxWidth = `${MediaQueryMinWidth} and ${MediaQueryMaxWidth}`\ntype MediaQuery = `screen and ${MediaQueryMinWidth | MediaQueryMaxWidth | MediaQueryMinMaxWidth}`\n\nfunction _getMediaQuery(media: number[], index: number): MediaQuery {\n if (index === 0) {\n return `screen and (max-width: ${media[index] - 1}px)`\n }\n\n if (index === media.length) {\n return `screen and (min-width: ${media[index - 1]}px)`\n }\n\n return `screen and (min-width: ${media[index - 1]}px) and (max-width: ${media[index] - 1}px)`\n}\n\nfunction _createMediaStore(media: number[]): _MediaStore {\n const mediaLen = media.length\n let sizes: {mq: MediaQueryList; index: number}[]\n\n // The _createMediaStore function is called in both server and client environments.\n // However since subscribe and getSnapshot are only called on the client we lazy init what we need for them\n // so that we don't need to run checks for wether it's safe to call `window.matchMedia`\n const getSizes = () => {\n if (!sizes) {\n sizes = []\n\n for (let index = mediaLen; index > -1; index -= 1) {\n const mediaQuery = _getMediaQuery(media, index)\n\n sizes.push({index, mq: window.matchMedia(mediaQuery)})\n }\n }\n\n return sizes\n }\n\n const getSnapshot = () => {\n for (const {index, mq} of getSizes()) {\n if (mq.matches) return index\n }\n\n return 0\n }\n\n const subscribe = (onStoreChange: () => void) => {\n const disposeFns: (() => void)[] = []\n\n for (const {mq} of getSizes()) {\n const handleChange = () => {\n if (mq.matches) onStoreChange()\n }\n\n mq.addEventListener('change', handleChange)\n\n disposeFns.push(() => mq.removeEventListener('change', handleChange))\n }\n\n return () => {\n for (const disposeFn of disposeFns) {\n disposeFn()\n }\n }\n }\n\n return {getSnapshot, subscribe}\n}\n\n/**\n * Only called during server-side rendering, and hydration if using hydrateRoot\n * Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query\n * and we assume `(prefers-color-scheme: light)` since it's the most common scheme\n *\n * @link https://beta.reactjs.org/apis/react/useSyncExternalStore#adding-support-for-server-rendering\n */\nfunction getServerSnapshot() {\n return 0\n}\n\n/**\n * This API might change. DO NOT USE IN PRODUCTION.\n * @beta\n */\nexport function useMediaIndex(): number {\n const {media} = useTheme_v2()\n const store = useMemo(() => _createMediaStore(media), [media])\n\n return useSyncExternalStore(store.subscribe, store.getSnapshot, getServerSnapshot)\n}\n","import {useCallback, useDebugValue, useSyncExternalStore} from 'react'\n\n/**\n * Efficiently subscribes to `window.matchMedia` queries\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Required if the hook is called during SSR (https://react.dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * @public\n */\nexport function useMatchMedia(\n mediaQueryString: `(${string})`,\n getServerSnapshot?: () => boolean,\n): boolean {\n useDebugValue(mediaQueryString)\n\n return useSyncExternalStore(\n useCallback(\n (onStoreChange) => {\n const media = window.matchMedia(mediaQueryString)\n media.addEventListener('change', onStoreChange)\n return () => media.removeEventListener('change', onStoreChange)\n },\n [mediaQueryString],\n ),\n () => window.matchMedia(mediaQueryString).matches,\n getServerSnapshot,\n )\n}\n","import {useMatchMedia} from './useMatchMedia'\n\n/**\n * Returns true if motion should be reduced\n *\n * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-reduced-motion: no-preference)` since it's the most common scheme (https://react.dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering)\n *\n * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it.\n * Chrome supports reading the `prefers-reduced-motion` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Reduced-Motion\n * @example https://gist.github.com/stipsan/0c0f839a27842249cada893e9fb7767b\n *\n * @public\n */\nexport function usePrefersReducedMotion(getServerSnapshot = () => false): boolean {\n return useMatchMedia('(prefers-reduced-motion: reduce)', getServerSnapshot)\n}\n","export function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value && typeof value === 'object' && !Array.isArray(value))\n}\n","import {isRecord} from '../../lib/isRecord'\nimport {LayerContextValue} from './types'\n\nexport function getLayerContext(contextValue: LayerContextValue): LayerContextValue {\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(contextValue) || contextValue.version !== 0.0) {\n throw new Error('the context value is not compatible')\n }\n\n if (!contextValue) {\n throw new Error('components using `useLayer()` should be wrapped in a <LayerProvider>.')\n }\n\n if (contextValue.version === 0.0) {\n return contextValue\n }\n\n throw new Error('could not get layer context')\n}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {LayerContextValue} from './types'\n\nexport const LayerContext = createGlobalScopedContext<LayerContextValue | null>(\n '@sanity/ui/context/layer',\n null,\n)\n","import {useCallback, useContext, useEffect, useMemo, useState} from 'react'\n\nimport {useMediaIndex} from '../../hooks/useMediaIndex/useMediaIndex'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport interface LayerProviderProps {\n children?: React.ReactNode\n zOffset?: number | number[]\n}\n\n/**\n * @public\n */\nexport function LayerProvider(props: LayerProviderProps): React.JSX.Element {\n const {children, zOffset: zOffsetProp = 0} = props\n\n // Get parent context values\n const parentContextValue = useContext(LayerContext)\n const parent = parentContextValue && getLayerContext(parentContextValue)\n const parentRegisterChild = parent?.registerChild\n const parentLevel = parent?.level ?? 0\n\n // Get level\n const level = parentLevel + 1\n\n // Get z-index offset\n const zOffset = _getArrayProp(zOffsetProp)\n\n // Get responsive z-index value\n const maxMediaIndex = zOffset.length - 1\n const mediaIndex = Math.min(useMediaIndex(), maxMediaIndex)\n const zIndex = parent ? parent.zIndex + zOffset[mediaIndex] : zOffset[mediaIndex]\n\n // A state value that is used to keep track of the number of child layers on each level\n const [, setChildLayers] = useState<Record<number, number>>({})\n\n // A state value that is used to keep track of the number of child levels\n const [size, setSize] = useState(0)\n\n const isTopLayer = size === 0\n\n const registerChild = useCallback(\n (childLevel?: number) => {\n // Register child layers to the parent layer\n const parentDispose = parentRegisterChild?.(childLevel)\n\n if (childLevel !== undefined) {\n setChildLayers((state) => {\n const prevLen = state[childLevel] ?? 0\n const nextState = {...state, [childLevel]: prevLen + 1}\n\n setSize(Object.keys(nextState).length)\n\n return nextState\n })\n } else {\n // Legacy behavior: if no child level is provided, increment the size by 1\n setSize((v) => v + 1)\n }\n\n return () => {\n if (childLevel !== undefined) {\n setChildLayers((state) => {\n const nextState = {...state}\n\n if (nextState[childLevel] === 1) {\n delete nextState[childLevel]\n\n setSize(Object.keys(nextState).length)\n } else {\n nextState[childLevel] -= 1\n }\n\n return nextState\n })\n } else {\n // Legacy behavior: if no child level is provided, decrement the size by 1\n setSize((v) => v - 1)\n }\n\n parentDispose?.()\n }\n },\n [parentRegisterChild, setSize, setChildLayers],\n )\n\n // Register this layer on mount\n useEffect(() => parentRegisterChild?.(level), [level, parentRegisterChild])\n\n const value: LayerContextValue = useMemo(\n () => ({\n version: 0.0,\n isTopLayer,\n level,\n registerChild,\n size,\n zIndex,\n }),\n [isTopLayer, level, registerChild, size, zIndex],\n )\n\n return <LayerContext.Provider value={value}>{children}</LayerContext.Provider>\n}\n","import {useContext} from 'react'\n\nimport {getLayerContext} from './getLayerContext'\nimport {LayerContext} from './layerContext'\nimport {LayerContextValue} from './types'\n\n/**\n * @public\n */\nexport function useLayer(): LayerContextValue {\n const value = useContext(LayerContext)\n\n if (!value) {\n throw new Error('useLayer(): missing context value')\n }\n\n try {\n return getLayerContext(value)\n } catch (err) {\n if (err instanceof Error) {\n // oxlint-disable-next-line preserve-caught-error\n throw new Error(`useLayer(): ${err.message}`)\n } else {\n // oxlint-disable-next-line preserve-caught-error, restrict-template-expressions\n throw new Error(`useLayer(): ${err}`)\n }\n }\n}\n"],"mappings":"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"}
|