@sanity/ui 4.0.2 → 4.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/{arrow-CHE8-_G7.js → arrow-D0mvjJMb.js} +2 -2
  2. package/dist/{arrow-CHE8-_G7.js.map → arrow-D0mvjJMb.js.map} +1 -1
  3. package/dist/autocomplete.js +6 -6
  4. package/dist/breadcrumbs.js +6 -6
  5. package/dist/{button-DXgc_BsT.js → button-QO2lWHVH.js} +5 -5
  6. package/dist/{button-DXgc_BsT.js.map → button-QO2lWHVH.js.map} +1 -1
  7. package/dist/code.js +3 -3
  8. package/dist/code.js.map +1 -1
  9. package/dist/{codeFontStyle-DYUujk7K.js → codeFontStyle-aWvllgWi.js} +2 -2
  10. package/dist/{codeFontStyle-DYUujk7K.js.map → codeFontStyle-aWvllgWi.js.map} +1 -1
  11. package/dist/{flex-C-5JHi1C.js → flex-C9NHtXFi.js} +3 -3
  12. package/dist/{flex-C-5JHi1C.js.map → flex-C9NHtXFi.js.map} +1 -1
  13. package/dist/{grid-BXHFJhf_.js → grid-Cr7qKmZQ.js} +3 -3
  14. package/dist/{grid-BXHFJhf_.js.map → grid-Cr7qKmZQ.js.map} +1 -1
  15. package/dist/{helpers-bwfx1e-Y.js → helpers-JV5y3U_M.js} +21 -7
  16. package/dist/helpers-JV5y3U_M.js.map +1 -0
  17. package/dist/{hotkeys-CmmTQZpn.js → hotkeys-DyrSy500.js} +4 -4
  18. package/dist/{hotkeys-CmmTQZpn.js.map → hotkeys-DyrSy500.js.map} +1 -1
  19. package/dist/index.js +15 -15
  20. package/dist/index.js.map +1 -1
  21. package/dist/{layer-B98ynOf2.js → layer-DcsNupeg.js} +3 -3
  22. package/dist/{layer-B98ynOf2.js.map → layer-DcsNupeg.js.map} +1 -1
  23. package/dist/menu.js +7 -7
  24. package/dist/{popover-PorX5Jv9.js → popover-5fEUllFf.js} +43 -41
  25. package/dist/popover-5fEUllFf.js.map +1 -0
  26. package/dist/popover.js +1 -1
  27. package/dist/{responsiveFont-hN1mZFjm.js → responsiveFont-BwYElGq4.js} +2 -2
  28. package/dist/{responsiveFont-hN1mZFjm.js.map → responsiveFont-BwYElGq4.js.map} +1 -1
  29. package/dist/{stack-iW9HuGLg.js → stack-B2zXPxzb.js} +5 -5
  30. package/dist/stack-B2zXPxzb.js.map +1 -0
  31. package/dist/{textInput-CtgXqhgw.js → textInput-CgNWWr7H.js} +5 -5
  32. package/dist/{textInput-CtgXqhgw.js.map → textInput-CgNWWr7H.js.map} +1 -1
  33. package/dist/toast.js +5 -5
  34. package/dist/tooltip.js +4 -4
  35. package/dist/{useClickOutsideEvent-lEVhDFCQ.js → useClickOutsideEvent-DbLUuPQ6.js} +2 -2
  36. package/dist/{useClickOutsideEvent-lEVhDFCQ.js.map → useClickOutsideEvent-DbLUuPQ6.js.map} +1 -1
  37. package/dist/{useLayer-BAVfmbNN.js → useLayer-UpfaKlm7.js} +2 -2
  38. package/dist/{useLayer-BAVfmbNN.js.map → useLayer-UpfaKlm7.js.map} +1 -1
  39. package/package.json +5 -5
  40. package/dist/helpers-bwfx1e-Y.js.map +0 -1
  41. package/dist/popover-PorX5Jv9.js.map +0 -1
  42. package/dist/stack-iW9HuGLg.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { _ as useTheme_v2, d as createGlobalScopedContext, f as globalScope, r as isRecord } from "./useLayer-BAVfmbNN.js";
1
+ import { _ as useTheme_v2, d as createGlobalScopedContext, f as globalScope, r as isRecord } from "./useLayer-UpfaKlm7.js";
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useContext } from "react";
4
4
  import { css, styled } from "styled-components";
@@ -158,4 +158,4 @@ function Arrow(props) {
158
158
  }
159
159
  export { useBoundaryElement as a, PortalContext as i, Portal as n, BoundaryElementContext as o, usePortal as r, Arrow as t };
160
160
 
161
- //# sourceMappingURL=arrow-CHE8-_G7.js.map
161
+ //# sourceMappingURL=arrow-D0mvjJMb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arrow-CHE8-_G7.js","names":["createGlobalScopedContext","BoundaryElementContextValue","BoundaryElementContext","useContext","isRecord","BoundaryElementContext","BoundaryElementContextValue","DEFAULT_VALUE","version","element","useBoundaryElement","value","Error","createGlobalScopedContext","globalScope","PortalContextValue","key","elementKey","Symbol","for","defaultContextValue","version","boundaryElement","element","document","createElement","setAttribute","body","appendChild","PortalContext","useContext","isRecord","PortalContext","PortalContextValue","usePortal","value","Error","version","createPortal","usePortal","PortalProps","children","React","ReactNode","__unstable_name","Portal","props","$","_c","name","portal","portalElement","elements","element","default","t0","PointCmd","type","x","y","radius","CurveCmd","startControl","Point","endControl","curveEnd","Cmd","moveTowardsLength","movingPoint","targetPoint","amount","width","height","distance","Math","sqrt","moveTowardsFractional","min","fraction","getRoundedCommands","points","len","length","cmds","i","point","prevPoint","nextPoint","curveStart","push","compileCommands","map","n","idx","join","HTMLProps","css","styled","useTheme_v2","compileCommands","getRoundedCommands","Point","StyledArrow","div","$w","w","StrokePath","path","ShapePath","Arrow","props","$","_c","h","ref","restProps","t0","width","height","radius","undefined","card","strokeWidth","shadow","outline","center","t1","points","x","y","cmds","strokePath","fillPath","t2","t3","t4","t5","t6","t7","t8"],"sources":["../src/core/utils/boundaryElement/boundaryElementContext.ts","../src/core/utils/boundaryElement/useBoundaryElement.ts","../src/core/utils/portal/portalContext.ts","../src/core/utils/portal/usePortal.ts","../src/core/utils/portal/portal.ts","../src/core/utils/arrow/cmds.ts","../src/core/utils/arrow/arrow.tsx"],"sourcesContent":["import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {BoundaryElementContextValue} from './types'\n\nexport const BoundaryElementContext = createGlobalScopedContext<BoundaryElementContextValue | null>(\n '@sanity/ui/context/boundaryElement',\n null,\n)\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\nconst DEFAULT_VALUE: BoundaryElementContextValue = {\n version: 0.0,\n element: null,\n}\n\n/**\n * @public\n */\nexport function useBoundaryElement(): BoundaryElementContextValue {\n const value = useContext(BoundaryElementContext)\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (value && (!isRecord(value) || value.version !== 0.0)) {\n throw new Error('useBoundaryElement(): the context value is not compatible')\n }\n\n return value || DEFAULT_VALUE\n}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {globalScope} from '../../lib/globalScope'\nimport {PortalContextValue} from './types'\n\nconst key = '@sanity/ui/context/portal'\nconst elementKey = Symbol.for(`${key}/element`)\n\nglobalScope[elementKey] = null\n\nconst defaultContextValue: PortalContextValue = {\n version: 0.0,\n boundaryElement: null,\n get element() {\n if (typeof document === 'undefined') {\n return null\n }\n\n if (globalScope[elementKey]) {\n return globalScope[elementKey]\n }\n\n globalScope[elementKey] = document.createElement('div')\n globalScope[elementKey].setAttribute('data-portal', '')\n\n document.body.appendChild(globalScope[elementKey])\n\n return globalScope[elementKey]\n },\n}\n\nexport const PortalContext = createGlobalScopedContext<PortalContextValue>(key, defaultContextValue)\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport function usePortal(): PortalContextValue {\n const value = useContext(PortalContext)\n\n if (!value) {\n throw new Error('usePortal(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('usePortal(): the context value is not compatible')\n }\n\n return value\n}\n","import {createPortal} from 'react-dom'\n\nimport {usePortal} from './usePortal'\n\n/**\n * @public\n */\nexport interface PortalProps {\n children: React.ReactNode\n /**\n * @beta This API might change. DO NOT USE IN PRODUCTION.\n */\n __unstable_name?: string\n}\n\n/**\n * @public\n */\nexport function Portal(props: PortalProps): React.ReactPortal | null {\n const {children, __unstable_name: name} = props\n const portal = usePortal()\n const portalElement =\n (name ? portal.elements && portal.elements[name] : portal.element) || portal.elements?.default\n\n if (!portalElement) {\n return null\n }\n\n return createPortal(children, portalElement)\n}\n","interface PointCmd {\n type: 'point'\n x: number\n y: number\n radius?: number\n}\n\ninterface CurveCmd {\n type: 'curve'\n startControl: Point\n endControl: Point\n curveEnd: Point\n}\n\nexport type Cmd = PointCmd | CurveCmd\n\nexport interface Point {\n x: number\n y: number\n radius?: number\n}\n\nfunction moveTowardsLength(movingPoint: Point, targetPoint: Point, amount: number) {\n const width = targetPoint.x - movingPoint.x\n const height = targetPoint.y - movingPoint.y\n\n const distance = Math.sqrt(width * width + height * height)\n\n return moveTowardsFractional(movingPoint, targetPoint, Math.min(1, amount / distance))\n}\n\nfunction moveTowardsFractional(movingPoint: Point, targetPoint: Point, fraction: number): Point {\n return {\n x: movingPoint.x + (targetPoint.x - movingPoint.x) * fraction,\n y: movingPoint.y + (targetPoint.y - movingPoint.y) * fraction,\n }\n}\n\nexport function getRoundedCommands(points: Point[]): Cmd[] {\n const len = points.length\n\n const cmds: Cmd[] = []\n\n for (let i = 0; i < len; i += 1) {\n const point = points[i]\n const prevPoint = points[i - 1]\n const nextPoint = points[i + 1]\n\n if (prevPoint && point.radius) {\n const curveStart = moveTowardsLength(point, prevPoint, point.radius)\n const curveEnd = moveTowardsLength(point, nextPoint, point.radius)\n const startControl = moveTowardsFractional(curveStart, point, 0.5)\n const endControl = moveTowardsFractional(point, curveEnd, 0.5)\n\n cmds.push({\n type: 'point',\n ...curveStart,\n })\n\n cmds.push({\n type: 'curve',\n curveEnd,\n startControl,\n endControl,\n })\n } else {\n cmds.push({\n type: 'point',\n ...point,\n })\n }\n }\n\n return cmds\n}\n\nexport function compileCommands(cmds: Cmd[]): string {\n return cmds\n .map((n, idx) => {\n if (n.type === 'point') {\n return `${idx === 0 ? 'M' : 'L'} ${n.x} ${n.y}`\n }\n\n if (n.type === 'curve') {\n return `C ${n.startControl.x} ${n.startControl.y} ${n.endControl.x} ${n.endControl.y} ${n.curveEnd.x} ${n.curveEnd.y}`\n }\n\n return ``\n })\n .join(' ')\n}\n","import {HTMLProps} from 'react'\nimport {css, styled} from 'styled-components'\n\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {compileCommands, getRoundedCommands, Point} from './cmds'\n\nconst StyledArrow = styled.div<{$w: number}>(\n ({$w: w}) => css`\n position: absolute;\n width: ${w}px;\n height: ${w}px;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n line-height: 0;\n transform-origin: ${w / 2}px ${w / 2}px;\n }\n\n [data-placement^='top'] > & {\n bottom: -${w}px;\n\n & > svg {\n transform: rotate(0);\n }\n }\n\n [data-placement^='right'] > & {\n left: -${w}px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -${w}px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -${w}px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n `,\n)\n\nconst StrokePath = styled.path`\n stroke: var(--card-shadow-outline-color);\n`\n\nconst ShapePath = styled.path`\n fill: var(--card-bg-color);\n`\n\n/** @internal */\nexport function Arrow(\n props: {width: number; height: number; radius?: number} & Omit<\n HTMLProps<HTMLDivElement>,\n 'width' | 'height'\n >,\n): React.JSX.Element {\n const {width: w, height: h, radius = 0, ref, ...restProps} = props\n const {card} = useTheme_v2()\n const strokeWidth = card.shadow.outline\n\n const center = w / 2\n\n const points: Point[] = [\n {\n x: 0,\n y: 0,\n },\n {\n x: radius,\n y: 0,\n radius,\n },\n {\n x: center,\n y: h - 1,\n radius,\n },\n {\n x: w - radius,\n y: 0,\n radius,\n },\n {\n x: w,\n y: 0,\n },\n ]\n\n const cmds = getRoundedCommands(points)\n const path = compileCommands(cmds)\n\n // oxlint-disable-next-line no-unnecessary-template-expression\n const strokePath = `${path}`\n const fillPath = `${path} M ${w} -1 M 0 -1 Z`\n\n return (\n <StyledArrow {...restProps} $w={w} ref={ref}>\n <svg width={w} height={w} viewBox={`0 0 ${w} ${w}`}>\n <mask id=\"stroke-mask\">\n <rect x={0} y={strokeWidth} width={w} height={w} fill=\"white\" />\n </mask>\n <StrokePath d={strokePath} mask=\"url(#stroke-mask)\" strokeWidth={strokeWidth * 2} />\n <ShapePath d={fillPath} />\n </svg>\n </StyledArrow>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"arrow-D0mvjJMb.js","names":["createGlobalScopedContext","BoundaryElementContextValue","BoundaryElementContext","useContext","isRecord","BoundaryElementContext","BoundaryElementContextValue","DEFAULT_VALUE","version","element","useBoundaryElement","value","Error","createGlobalScopedContext","globalScope","PortalContextValue","key","elementKey","Symbol","for","defaultContextValue","version","boundaryElement","element","document","createElement","setAttribute","body","appendChild","PortalContext","useContext","isRecord","PortalContext","PortalContextValue","usePortal","value","Error","version","createPortal","usePortal","PortalProps","children","React","ReactNode","__unstable_name","Portal","props","$","_c","name","portal","portalElement","elements","element","default","t0","PointCmd","type","x","y","radius","CurveCmd","startControl","Point","endControl","curveEnd","Cmd","moveTowardsLength","movingPoint","targetPoint","amount","width","height","distance","Math","sqrt","moveTowardsFractional","min","fraction","getRoundedCommands","points","len","length","cmds","i","point","prevPoint","nextPoint","curveStart","push","compileCommands","map","n","idx","join","HTMLProps","css","styled","useTheme_v2","compileCommands","getRoundedCommands","Point","StyledArrow","div","$w","w","StrokePath","path","ShapePath","Arrow","props","$","_c","h","ref","restProps","t0","width","height","radius","undefined","card","strokeWidth","shadow","outline","center","t1","points","x","y","cmds","strokePath","fillPath","t2","t3","t4","t5","t6","t7","t8"],"sources":["../src/core/utils/boundaryElement/boundaryElementContext.ts","../src/core/utils/boundaryElement/useBoundaryElement.ts","../src/core/utils/portal/portalContext.ts","../src/core/utils/portal/usePortal.ts","../src/core/utils/portal/portal.ts","../src/core/utils/arrow/cmds.ts","../src/core/utils/arrow/arrow.tsx"],"sourcesContent":["import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {BoundaryElementContextValue} from './types'\n\nexport const BoundaryElementContext = createGlobalScopedContext<BoundaryElementContextValue | null>(\n '@sanity/ui/context/boundaryElement',\n null,\n)\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {BoundaryElementContext} from './boundaryElementContext'\nimport {BoundaryElementContextValue} from './types'\n\nconst DEFAULT_VALUE: BoundaryElementContextValue = {\n version: 0.0,\n element: null,\n}\n\n/**\n * @public\n */\nexport function useBoundaryElement(): BoundaryElementContextValue {\n const value = useContext(BoundaryElementContext)\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (value && (!isRecord(value) || value.version !== 0.0)) {\n throw new Error('useBoundaryElement(): the context value is not compatible')\n }\n\n return value || DEFAULT_VALUE\n}\n","import {createGlobalScopedContext} from '../../lib/createGlobalScopedContext'\nimport {globalScope} from '../../lib/globalScope'\nimport {PortalContextValue} from './types'\n\nconst key = '@sanity/ui/context/portal'\nconst elementKey = Symbol.for(`${key}/element`)\n\nglobalScope[elementKey] = null\n\nconst defaultContextValue: PortalContextValue = {\n version: 0.0,\n boundaryElement: null,\n get element() {\n if (typeof document === 'undefined') {\n return null\n }\n\n if (globalScope[elementKey]) {\n return globalScope[elementKey]\n }\n\n globalScope[elementKey] = document.createElement('div')\n globalScope[elementKey].setAttribute('data-portal', '')\n\n document.body.appendChild(globalScope[elementKey])\n\n return globalScope[elementKey]\n },\n}\n\nexport const PortalContext = createGlobalScopedContext<PortalContextValue>(key, defaultContextValue)\n","import {useContext} from 'react'\n\nimport {isRecord} from '../../lib/isRecord'\nimport {PortalContext} from './portalContext'\nimport {PortalContextValue} from './types'\n\n/**\n * @public\n */\nexport function usePortal(): PortalContextValue {\n const value = useContext(PortalContext)\n\n if (!value) {\n throw new Error('usePortal(): missing context value')\n }\n\n // NOTE: This check is for future-compatiblity\n // - If the value is not an object, it’s not compatible with the current version\n // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version\n if (!isRecord(value) || value.version !== 0.0) {\n throw new Error('usePortal(): the context value is not compatible')\n }\n\n return value\n}\n","import {createPortal} from 'react-dom'\n\nimport {usePortal} from './usePortal'\n\n/**\n * @public\n */\nexport interface PortalProps {\n children: React.ReactNode\n /**\n * @beta This API might change. DO NOT USE IN PRODUCTION.\n */\n __unstable_name?: string\n}\n\n/**\n * @public\n */\nexport function Portal(props: PortalProps): React.ReactPortal | null {\n const {children, __unstable_name: name} = props\n const portal = usePortal()\n const portalElement =\n (name ? portal.elements && portal.elements[name] : portal.element) || portal.elements?.default\n\n if (!portalElement) {\n return null\n }\n\n return createPortal(children, portalElement)\n}\n","interface PointCmd {\n type: 'point'\n x: number\n y: number\n radius?: number\n}\n\ninterface CurveCmd {\n type: 'curve'\n startControl: Point\n endControl: Point\n curveEnd: Point\n}\n\nexport type Cmd = PointCmd | CurveCmd\n\nexport interface Point {\n x: number\n y: number\n radius?: number\n}\n\nfunction moveTowardsLength(movingPoint: Point, targetPoint: Point, amount: number) {\n const width = targetPoint.x - movingPoint.x\n const height = targetPoint.y - movingPoint.y\n\n const distance = Math.sqrt(width * width + height * height)\n\n return moveTowardsFractional(movingPoint, targetPoint, Math.min(1, amount / distance))\n}\n\nfunction moveTowardsFractional(movingPoint: Point, targetPoint: Point, fraction: number): Point {\n return {\n x: movingPoint.x + (targetPoint.x - movingPoint.x) * fraction,\n y: movingPoint.y + (targetPoint.y - movingPoint.y) * fraction,\n }\n}\n\nexport function getRoundedCommands(points: Point[]): Cmd[] {\n const len = points.length\n\n const cmds: Cmd[] = []\n\n for (let i = 0; i < len; i += 1) {\n const point = points[i]\n const prevPoint = points[i - 1]\n const nextPoint = points[i + 1]\n\n if (prevPoint && point.radius) {\n const curveStart = moveTowardsLength(point, prevPoint, point.radius)\n const curveEnd = moveTowardsLength(point, nextPoint, point.radius)\n const startControl = moveTowardsFractional(curveStart, point, 0.5)\n const endControl = moveTowardsFractional(point, curveEnd, 0.5)\n\n cmds.push({\n type: 'point',\n ...curveStart,\n })\n\n cmds.push({\n type: 'curve',\n curveEnd,\n startControl,\n endControl,\n })\n } else {\n cmds.push({\n type: 'point',\n ...point,\n })\n }\n }\n\n return cmds\n}\n\nexport function compileCommands(cmds: Cmd[]): string {\n return cmds\n .map((n, idx) => {\n if (n.type === 'point') {\n return `${idx === 0 ? 'M' : 'L'} ${n.x} ${n.y}`\n }\n\n if (n.type === 'curve') {\n return `C ${n.startControl.x} ${n.startControl.y} ${n.endControl.x} ${n.endControl.y} ${n.curveEnd.x} ${n.curveEnd.y}`\n }\n\n return ``\n })\n .join(' ')\n}\n","import {HTMLProps} from 'react'\nimport {css, styled} from 'styled-components'\n\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {compileCommands, getRoundedCommands, Point} from './cmds'\n\nconst StyledArrow = styled.div<{$w: number}>(\n ({$w: w}) => css`\n position: absolute;\n width: ${w}px;\n height: ${w}px;\n\n :empty + & {\n display: none;\n }\n\n & > svg {\n display: block;\n line-height: 0;\n transform-origin: ${w / 2}px ${w / 2}px;\n }\n\n [data-placement^='top'] > & {\n bottom: -${w}px;\n\n & > svg {\n transform: rotate(0);\n }\n }\n\n [data-placement^='right'] > & {\n left: -${w}px;\n\n & > svg {\n transform: rotate(90deg);\n }\n }\n\n [data-placement^='left'] > & {\n right: -${w}px;\n\n & > svg {\n transform: rotate(-90deg);\n }\n }\n\n [data-placement^='bottom'] > & {\n top: -${w}px;\n\n & > svg {\n transform: rotate(180deg);\n }\n }\n `,\n)\n\nconst StrokePath = styled.path`\n stroke: var(--card-shadow-outline-color);\n`\n\nconst ShapePath = styled.path`\n fill: var(--card-bg-color);\n`\n\n/** @internal */\nexport function Arrow(\n props: {width: number; height: number; radius?: number} & Omit<\n HTMLProps<HTMLDivElement>,\n 'width' | 'height'\n >,\n): React.JSX.Element {\n const {width: w, height: h, radius = 0, ref, ...restProps} = props\n const {card} = useTheme_v2()\n const strokeWidth = card.shadow.outline\n\n const center = w / 2\n\n const points: Point[] = [\n {\n x: 0,\n y: 0,\n },\n {\n x: radius,\n y: 0,\n radius,\n },\n {\n x: center,\n y: h - 1,\n radius,\n },\n {\n x: w - radius,\n y: 0,\n radius,\n },\n {\n x: w,\n y: 0,\n },\n ]\n\n const cmds = getRoundedCommands(points)\n const path = compileCommands(cmds)\n\n // oxlint-disable-next-line no-unnecessary-template-expression\n const strokePath = `${path}`\n const fillPath = `${path} M ${w} -1 M 0 -1 Z`\n\n return (\n <StyledArrow {...restProps} $w={w} ref={ref}>\n <svg width={w} height={w} viewBox={`0 0 ${w} ${w}`}>\n <mask id=\"stroke-mask\">\n <rect x={0} y={strokeWidth} width={w} height={w} fill=\"white\" />\n </mask>\n <StrokePath d={strokePath} mask=\"url(#stroke-mask)\" strokeWidth={strokeWidth * 2} />\n <ShapePath d={fillPath} />\n </svg>\n </StyledArrow>\n )\n}\n"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import { n as _getArrayProp, o as EMPTY_ARRAY, s as EMPTY_RECORD } from "./helpers-bwfx1e-Y.js";
3
- import { d as focusFirstDescendant, l as _hasFocus, m as _raf, t as TextInput } from "./textInput-CtgXqhgw.js";
2
+ import { n as _getArrayProp, o as EMPTY_ARRAY, s as EMPTY_RECORD } from "./helpers-JV5y3U_M.js";
3
+ import { d as focusFirstDescendant, l as _hasFocus, m as _raf, t as TextInput } from "./textInput-CgNWWr7H.js";
4
4
  import { t as _isEnterToClickElement } from "./element-BYgCE_iK.js";
5
- import { s as Card, y as Box } from "./useLayer-BAVfmbNN.js";
6
- import { n as Text, t as Stack } from "./stack-iW9HuGLg.js";
7
- import { t as Button } from "./button-DXgc_BsT.js";
8
- import { t as Popover } from "./popover-PorX5Jv9.js";
5
+ import { s as Card, y as Box } from "./useLayer-UpfaKlm7.js";
6
+ import { n as Text, t as Stack } from "./stack-B2zXPxzb.js";
7
+ import { t as Button } from "./button-QO2lWHVH.js";
8
+ import { t as Popover } from "./popover-5fEUllFf.js";
9
9
  import { c } from "react/compiler-runtime";
10
10
  import { ChevronDownIcon } from "@sanity/icons/ChevronDown";
11
11
  import { SpinnerIcon } from "@sanity/icons/Spinner";
@@ -1,10 +1,10 @@
1
1
  "use client";
2
- import { n as _getArrayProp } from "./helpers-bwfx1e-Y.js";
3
- import { y as Box } from "./useLayer-BAVfmbNN.js";
4
- import { n as Text, t as Stack } from "./stack-iW9HuGLg.js";
5
- import { t as Button } from "./button-DXgc_BsT.js";
6
- import { t as Popover } from "./popover-PorX5Jv9.js";
7
- import { t as useClickOutsideEvent } from "./useClickOutsideEvent-lEVhDFCQ.js";
2
+ import { n as _getArrayProp } from "./helpers-JV5y3U_M.js";
3
+ import { y as Box } from "./useLayer-UpfaKlm7.js";
4
+ import { n as Text, t as Stack } from "./stack-B2zXPxzb.js";
5
+ import { t as Button } from "./button-QO2lWHVH.js";
6
+ import { t as Popover } from "./popover-5fEUllFf.js";
7
+ import { t as useClickOutsideEvent } from "./useClickOutsideEvent-DbLUuPQ6.js";
8
8
  import { c } from "react/compiler-runtime";
9
9
  import { Children, Fragment, isValidElement, useRef, useState } from "react";
10
10
  import { styled } from "styled-components";
@@ -1,8 +1,8 @@
1
- import { n as _getArrayProp } from "./helpers-bwfx1e-Y.js";
1
+ import { n as _getArrayProp } from "./helpers-JV5y3U_M.js";
2
2
  import { t as getTheme_v2 } from "./getTheme_v2-y09KqtEb.js";
3
- import { _ as useTheme_v2, h as _cardColorStyle, m as focusRingStyle, p as focusRingBorderStyle, v as responsiveRadiusStyle, y as Box } from "./useLayer-BAVfmbNN.js";
4
- import { t as Flex } from "./flex-C-5JHi1C.js";
5
- import { n as Text } from "./stack-iW9HuGLg.js";
3
+ import { _ as useTheme_v2, h as _cardColorStyle, m as focusRingStyle, p as focusRingBorderStyle, v as responsiveRadiusStyle, y as Box } from "./useLayer-UpfaKlm7.js";
4
+ import { t as Flex } from "./flex-C9NHtXFi.js";
5
+ import { n as Text } from "./stack-B2zXPxzb.js";
6
6
  import { c } from "react/compiler-runtime";
7
7
  import { SpinnerIcon } from "@sanity/icons/Spinner";
8
8
  import { isValidElement } from "react";
@@ -176,4 +176,4 @@ function ButtonComponent(props) {
176
176
  const Button = ButtonComponent;
177
177
  export { Spinner as n, spinnerIcon as r, Button as t };
178
178
 
179
- //# sourceMappingURL=button-DXgc_BsT.js.map
179
+ //# sourceMappingURL=button-QO2lWHVH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-DXgc_BsT.js","names":["SpinnerIcon","Text","spinnerIcon","SpinnerProps","muted","size","Spinner","props","$","_c","t0","Symbol","for","t1","css","CSSObject","getTheme_v2","_cardColorStyle","focusRingBorderStyle","focusRingStyle","ThemeProps","ButtonMode","ButtonTone","ButtonWidth","buttonBaseStyles","props","$width","ReturnType","style","theme","button","combineBoxShadow","boxShadows","filter","Boolean","join","buttonColorStyles","$mode","$tone","color","baseColor","shadow","mode","default","border","width","defaultBoxShadow","undefined","enabled","disabled","boxShadow","base","bg","focusRing","hovered","pressed","root","isValidElement","useMemo","isValidElementType","styled","ThemeFontWeightKey","_getArrayProp","responsiveRadiusStyle","ResponsiveRadiusStyleProps","useTheme_v2","ButtonMode","ButtonTextAlign","ButtonTone","ButtonWidth","ElementType","Props","FlexJustify","Box","Flex","Spinner","Text","ResponsivePaddingProps","ResponsiveRadiusProps","buttonBaseStyles","buttonColorStyles","ButtonOwnProps","fontSize","mode","icon","React","ReactNode","iconRight","justify","loading","selected","space","gap","muted","text","textAlign","textWeight","tone","type","width","ButtonProps","E","StyledButton","button","$mode","$tone","$width","LoadingBox","div","ButtonComponent","props","$","_c","IconComponent","IconRightComponent","children","disabled","paddingBottomProp","paddingLeftProp","paddingRightProp","paddingTopProp","paddingXProp","paddingYProp","ref","restProps","t0","t1","t2","t3","t4","t5","t6","t7","t8","padding","paddingX","paddingY","paddingTop","paddingBottom","paddingLeft","paddingRight","radius","undefined","justifyProp","paddingProp","radiusProp","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","spacing","t19","boxProps","t20","Boolean","t21","t22","t23","t24","t25","t26","Button","JSX","Element"],"sources":["../src/core/primitives/spinner/spinner.css.ts","../src/core/primitives/spinner/spinner.tsx","../src/core/primitives/button/styles.ts","../src/core/primitives/button/button.tsx"],"sourcesContent":["import {keyframes, style} from '@vanilla-extract/css'\n\nconst rotate = keyframes({\n from: {transform: 'rotate(0deg)'},\n to: {transform: 'rotate(360deg)'},\n})\n\nexport const spinnerIcon = style({\n animation: `${rotate} 500ms linear infinite`,\n})\n","import {SpinnerIcon} from '@sanity/icons/Spinner'\n\nimport {Text} from '../text/text'\n\nimport {spinnerIcon} from './spinner.css'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: number | number[]\n}\n\n/**\n * Indicate that something is loading for an indeterminate amount of time.\n *\n * @public\n */\nexport function Spinner(\n props: SpinnerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n) {\n return (\n <Text data-ui=\"Spinner\" {...props}>\n <SpinnerIcon className={spinnerIcon} />\n </Text>\n )\n}\n","import {css} from 'styled-components'\n\nimport {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_cardColorStyle} from '../../styles/card/_cardColorStyle'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {ThemeProps} from '../../styles/types'\nimport {ButtonMode, ButtonTone, ButtonWidth} from '../../types/button'\n\n/**\n * @internal\n */\nexport function buttonBaseStyles(\n props: {$width?: ButtonWidth} & ThemeProps,\n): ReturnType<typeof css> {\n const {$width} = props\n const {style} = getTheme_v2(props.theme)\n\n return css`\n ${style?.button};\n\n -webkit-font-smoothing: inherit;\n appearance: none;\n display: inline-flex;\n align-items: center;\n font: inherit;\n border: 0;\n outline: none;\n user-select: none;\n text-decoration: none;\n border: 0;\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n white-space: nowrap;\n text-align: left;\n position: relative;\n vertical-align: top;\n\n ${\n $width === 'fill' &&\n css`\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n `\n }\n\n & > span {\n display: block;\n flex: 1;\n min-width: 0;\n border-radius: inherit;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n `\n}\n\nfunction combineBoxShadow(...boxShadows: (string | undefined)[]): string {\n return boxShadows.filter(Boolean).join(',')\n}\n\n/**\n * @internal\n */\nexport function buttonColorStyles(\n props: {$mode: ButtonMode; $tone: ButtonTone} & ThemeProps,\n): CSSObject[] {\n const {$mode} = props\n const {button, color: baseColor, style} = getTheme_v2(props.theme)\n const shadow = props.$mode === 'ghost'\n const mode = baseColor.button[$mode] || baseColor.button.default\n const color = mode[props.$tone] || mode.default\n const border = {\n width: button.border.width,\n color: 'var(--card-border-color)',\n }\n // const defaultBoxShadow = `inset 0px -1.5px 0px ${buttonTheme.border.width}px color-mix(in srgb, var(--card-border-color) 25%, var(--card-bg-color))`\n const defaultBoxShadow = undefined\n\n // oxlint-disable-next-line no-unsafe-type-assertion\n return [\n _cardColorStyle(baseColor, color.enabled),\n {\n 'backgroundColor': 'var(--card-bg-color)',\n 'color': 'var(--card-fg-color)',\n 'boxShadow': focusRingBorderStyle(border),\n '&:disabled, &[data-disabled=\"true\"]': _cardColorStyle(baseColor, color.disabled),\n \"&:not([data-disabled='true'])\": {\n 'boxShadow': combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n '&:focus': {\n boxShadow: focusRingStyle({\n base: baseColor,\n border: {width: 2, color: baseColor.bg},\n focusRing: button.focusRing,\n }),\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n },\n '@media (hover: hover)': {\n '&:hover': _cardColorStyle(baseColor, color.hovered),\n '&:active': _cardColorStyle(baseColor, color.pressed),\n '&[data-hovered]': _cardColorStyle(baseColor, color.hovered),\n },\n '&[data-selected]': _cardColorStyle(baseColor, color.pressed),\n },\n },\n style?.button?.root,\n ].filter(Boolean) as CSSObject[]\n}\n","import {isValidElement, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {ButtonMode, ButtonTextAlign, ButtonTone, ButtonWidth} from '../../types/button'\nimport {ElementType, Props} from '../../types/component'\nimport {FlexJustify} from '../../types/flex'\nimport {Box} from '../box/box'\nimport {Flex} from '../flex/flex'\nimport {Spinner} from '../spinner/spinner'\nimport {Text} from '../text/text'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../types'\nimport {buttonBaseStyles, buttonColorStyles} from './styles'\n\n/**\n * @public\n */\nexport interface ButtonOwnProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n fontSize?: number | number[]\n mode?: ButtonMode\n // oxlint-disable-next-line no-redundant-type-constituents\n icon?: React.ElementType | React.ReactNode\n // oxlint-disable-next-line no-redundant-type-constituents\n iconRight?: React.ElementType | React.ReactNode\n justify?: FlexJustify | FlexJustify[]\n /**\n * @beta Do not use in production, as this might change.\n */\n loading?: boolean\n selected?: boolean\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n gap?: number | number[]\n muted?: boolean\n text?: React.ReactNode\n textAlign?: ButtonTextAlign\n textWeight?: ThemeFontWeightKey\n tone?: ButtonTone\n type?: 'button' | 'reset' | 'submit'\n width?: ButtonWidth\n}\n\n/**\n * @public\n */\nexport type ButtonProps<E extends ElementType = 'button'> = Props<ButtonOwnProps, E>\n\nconst StyledButton = styled.button<\n {$mode: ButtonMode; $tone: ButtonTone; $width?: ButtonWidth} & ResponsiveRadiusStyleProps\n>(responsiveRadiusStyle, buttonBaseStyles, buttonColorStyles)\n\nconst LoadingBox = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--card-bg-color);\n border-radius: inherit;\n z-index: 1;\n box-shadow: inherit;\n`\n\nfunction ButtonComponent(\n props: ButtonOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLButtonElement>,\n 'as' | 'width'\n >,\n) {\n const {\n children,\n disabled,\n ref,\n fontSize = 1,\n icon: IconComponent,\n iconRight: IconRightComponent,\n justify: justifyProp = 'center',\n loading,\n mode = 'default',\n padding: paddingProp = 3,\n paddingX: paddingXProp,\n paddingY: paddingYProp,\n paddingTop: paddingTopProp,\n paddingBottom: paddingBottomProp,\n paddingLeft: paddingLeftProp,\n paddingRight: paddingRightProp,\n radius: radiusProp = 2,\n selected,\n gap = 3,\n text,\n textAlign,\n textWeight,\n tone = 'default',\n type = 'button',\n muted = false,\n width,\n ...restProps\n } = props\n const {button} = useTheme_v2()\n\n const justify = _getArrayProp(justifyProp)\n const padding = _getArrayProp(paddingProp)\n const paddingX = _getArrayProp(paddingXProp)\n const paddingY = _getArrayProp(paddingYProp)\n const paddingTop = _getArrayProp(paddingTopProp)\n const paddingBottom = _getArrayProp(paddingBottomProp)\n const paddingLeft = _getArrayProp(paddingLeftProp)\n const paddingRight = _getArrayProp(paddingRightProp)\n const radius = _getArrayProp(radiusProp)\n const spacing = _getArrayProp(gap)\n\n const boxProps = useMemo(\n () => ({\n // flex: 1,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingBottom, paddingLeft, paddingRight],\n )\n\n return (\n <StyledButton\n data-ui=\"Button\"\n {...restProps}\n $mode={mode}\n $radius={radius}\n $tone={tone}\n data-disabled={Boolean(loading || disabled)}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n ref={ref}\n type={type}\n $width={width}\n >\n {Boolean(loading) && (\n <LoadingBox>\n <Spinner />\n </LoadingBox>\n )}\n\n {(IconComponent || text || IconRightComponent) && (\n <Box as=\"span\" {...boxProps}>\n <Flex as=\"span\" justify={justify} gap={spacing}>\n {IconComponent && (\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n )}\n\n {text && (\n <Box>\n <Text\n muted={muted}\n align={textAlign}\n size={fontSize}\n textOverflow=\"ellipsis\"\n weight={textWeight ?? button.textWeight}\n >\n {text}\n </Text>\n </Box>\n )}\n\n {IconRightComponent && (\n <Text size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...boxProps}>\n {children}\n </Box>\n )}\n </StyledButton>\n )\n}\n\n/**\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Button = ButtonComponent as unknown as <E extends ElementType = 'button'>(\n props: ButtonProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
1
+ {"version":3,"file":"button-QO2lWHVH.js","names":["SpinnerIcon","Text","spinnerIcon","SpinnerProps","muted","size","Spinner","props","$","_c","t0","Symbol","for","t1","css","CSSObject","getTheme_v2","_cardColorStyle","focusRingBorderStyle","focusRingStyle","ThemeProps","ButtonMode","ButtonTone","ButtonWidth","buttonBaseStyles","props","$width","ReturnType","style","theme","button","combineBoxShadow","boxShadows","filter","Boolean","join","buttonColorStyles","$mode","$tone","color","baseColor","shadow","mode","default","border","width","defaultBoxShadow","undefined","enabled","disabled","boxShadow","base","bg","focusRing","hovered","pressed","root","isValidElement","useMemo","isValidElementType","styled","ThemeFontWeightKey","_getArrayProp","responsiveRadiusStyle","ResponsiveRadiusStyleProps","useTheme_v2","ButtonMode","ButtonTextAlign","ButtonTone","ButtonWidth","ElementType","Props","FlexJustify","Box","Flex","Spinner","Text","ResponsivePaddingProps","ResponsiveRadiusProps","buttonBaseStyles","buttonColorStyles","ButtonOwnProps","fontSize","mode","icon","React","ReactNode","iconRight","justify","loading","selected","space","gap","muted","text","textAlign","textWeight","tone","type","width","ButtonProps","E","StyledButton","button","$mode","$tone","$width","LoadingBox","div","ButtonComponent","props","$","_c","IconComponent","IconRightComponent","children","disabled","paddingBottomProp","paddingLeftProp","paddingRightProp","paddingTopProp","paddingXProp","paddingYProp","ref","restProps","t0","t1","t2","t3","t4","t5","t6","t7","t8","padding","paddingX","paddingY","paddingTop","paddingBottom","paddingLeft","paddingRight","radius","undefined","justifyProp","paddingProp","radiusProp","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","spacing","t19","boxProps","t20","Boolean","t21","t22","t23","t24","t25","t26","Button","JSX","Element"],"sources":["../src/core/primitives/spinner/spinner.css.ts","../src/core/primitives/spinner/spinner.tsx","../src/core/primitives/button/styles.ts","../src/core/primitives/button/button.tsx"],"sourcesContent":["import {keyframes, style} from '@vanilla-extract/css'\n\nconst rotate = keyframes({\n from: {transform: 'rotate(0deg)'},\n to: {transform: 'rotate(360deg)'},\n})\n\nexport const spinnerIcon = style({\n animation: `${rotate} 500ms linear infinite`,\n})\n","import {SpinnerIcon} from '@sanity/icons/Spinner'\n\nimport {Text} from '../text/text'\n\nimport {spinnerIcon} from './spinner.css'\n\n/**\n * @public\n */\nexport interface SpinnerProps {\n muted?: boolean\n size?: number | number[]\n}\n\n/**\n * Indicate that something is loading for an indeterminate amount of time.\n *\n * @public\n */\nexport function Spinner(\n props: SpinnerProps & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'size'>,\n) {\n return (\n <Text data-ui=\"Spinner\" {...props}>\n <SpinnerIcon className={spinnerIcon} />\n </Text>\n )\n}\n","import {css} from 'styled-components'\n\nimport {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_cardColorStyle} from '../../styles/card/_cardColorStyle'\nimport {focusRingBorderStyle, focusRingStyle} from '../../styles/focusRing'\nimport {ThemeProps} from '../../styles/types'\nimport {ButtonMode, ButtonTone, ButtonWidth} from '../../types/button'\n\n/**\n * @internal\n */\nexport function buttonBaseStyles(\n props: {$width?: ButtonWidth} & ThemeProps,\n): ReturnType<typeof css> {\n const {$width} = props\n const {style} = getTheme_v2(props.theme)\n\n return css`\n ${style?.button};\n\n -webkit-font-smoothing: inherit;\n appearance: none;\n display: inline-flex;\n align-items: center;\n font: inherit;\n border: 0;\n outline: none;\n user-select: none;\n text-decoration: none;\n border: 0;\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n white-space: nowrap;\n text-align: left;\n position: relative;\n vertical-align: top;\n\n ${\n $width === 'fill' &&\n css`\n width: -moz-available;\n width: -webkit-fill-available;\n width: stretch;\n `\n }\n\n & > span {\n display: block;\n flex: 1;\n min-width: 0;\n border-radius: inherit;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n `\n}\n\nfunction combineBoxShadow(...boxShadows: (string | undefined)[]): string {\n return boxShadows.filter(Boolean).join(',')\n}\n\n/**\n * @internal\n */\nexport function buttonColorStyles(\n props: {$mode: ButtonMode; $tone: ButtonTone} & ThemeProps,\n): CSSObject[] {\n const {$mode} = props\n const {button, color: baseColor, style} = getTheme_v2(props.theme)\n const shadow = props.$mode === 'ghost'\n const mode = baseColor.button[$mode] || baseColor.button.default\n const color = mode[props.$tone] || mode.default\n const border = {\n width: button.border.width,\n color: 'var(--card-border-color)',\n }\n // const defaultBoxShadow = `inset 0px -1.5px 0px ${buttonTheme.border.width}px color-mix(in srgb, var(--card-border-color) 25%, var(--card-bg-color))`\n const defaultBoxShadow = undefined\n\n // oxlint-disable-next-line no-unsafe-type-assertion\n return [\n _cardColorStyle(baseColor, color.enabled),\n {\n 'backgroundColor': 'var(--card-bg-color)',\n 'color': 'var(--card-fg-color)',\n 'boxShadow': focusRingBorderStyle(border),\n '&:disabled, &[data-disabled=\"true\"]': _cardColorStyle(baseColor, color.disabled),\n \"&:not([data-disabled='true'])\": {\n 'boxShadow': combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n '&:focus': {\n boxShadow: focusRingStyle({\n base: baseColor,\n border: {width: 2, color: baseColor.bg},\n focusRing: button.focusRing,\n }),\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: combineBoxShadow(\n focusRingBorderStyle(border),\n shadow ? defaultBoxShadow : undefined,\n ),\n },\n '@media (hover: hover)': {\n '&:hover': _cardColorStyle(baseColor, color.hovered),\n '&:active': _cardColorStyle(baseColor, color.pressed),\n '&[data-hovered]': _cardColorStyle(baseColor, color.hovered),\n },\n '&[data-selected]': _cardColorStyle(baseColor, color.pressed),\n },\n },\n style?.button?.root,\n ].filter(Boolean) as CSSObject[]\n}\n","import {isValidElement, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {useTheme_v2} from '../../theme/useTheme'\nimport {ButtonMode, ButtonTextAlign, ButtonTone, ButtonWidth} from '../../types/button'\nimport {ElementType, Props} from '../../types/component'\nimport {FlexJustify} from '../../types/flex'\nimport {Box} from '../box/box'\nimport {Flex} from '../flex/flex'\nimport {Spinner} from '../spinner/spinner'\nimport {Text} from '../text/text'\nimport {ResponsivePaddingProps, ResponsiveRadiusProps} from '../types'\nimport {buttonBaseStyles, buttonColorStyles} from './styles'\n\n/**\n * @public\n */\nexport interface ButtonOwnProps extends ResponsivePaddingProps, ResponsiveRadiusProps {\n fontSize?: number | number[]\n mode?: ButtonMode\n // oxlint-disable-next-line no-redundant-type-constituents\n icon?: React.ElementType | React.ReactNode\n // oxlint-disable-next-line no-redundant-type-constituents\n iconRight?: React.ElementType | React.ReactNode\n justify?: FlexJustify | FlexJustify[]\n /**\n * @beta Do not use in production, as this might change.\n */\n loading?: boolean\n selected?: boolean\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n gap?: number | number[]\n muted?: boolean\n text?: React.ReactNode\n textAlign?: ButtonTextAlign\n textWeight?: ThemeFontWeightKey\n tone?: ButtonTone\n type?: 'button' | 'reset' | 'submit'\n width?: ButtonWidth\n}\n\n/**\n * @public\n */\nexport type ButtonProps<E extends ElementType = 'button'> = Props<ButtonOwnProps, E>\n\nconst StyledButton = styled.button<\n {$mode: ButtonMode; $tone: ButtonTone; $width?: ButtonWidth} & ResponsiveRadiusStyleProps\n>(responsiveRadiusStyle, buttonBaseStyles, buttonColorStyles)\n\nconst LoadingBox = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--card-bg-color);\n border-radius: inherit;\n z-index: 1;\n box-shadow: inherit;\n`\n\nfunction ButtonComponent(\n props: ButtonOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLButtonElement>,\n 'as' | 'width'\n >,\n) {\n const {\n children,\n disabled,\n ref,\n fontSize = 1,\n icon: IconComponent,\n iconRight: IconRightComponent,\n justify: justifyProp = 'center',\n loading,\n mode = 'default',\n padding: paddingProp = 3,\n paddingX: paddingXProp,\n paddingY: paddingYProp,\n paddingTop: paddingTopProp,\n paddingBottom: paddingBottomProp,\n paddingLeft: paddingLeftProp,\n paddingRight: paddingRightProp,\n radius: radiusProp = 2,\n selected,\n gap = 3,\n text,\n textAlign,\n textWeight,\n tone = 'default',\n type = 'button',\n muted = false,\n width,\n ...restProps\n } = props\n const {button} = useTheme_v2()\n\n const justify = _getArrayProp(justifyProp)\n const padding = _getArrayProp(paddingProp)\n const paddingX = _getArrayProp(paddingXProp)\n const paddingY = _getArrayProp(paddingYProp)\n const paddingTop = _getArrayProp(paddingTopProp)\n const paddingBottom = _getArrayProp(paddingBottomProp)\n const paddingLeft = _getArrayProp(paddingLeftProp)\n const paddingRight = _getArrayProp(paddingRightProp)\n const radius = _getArrayProp(radiusProp)\n const spacing = _getArrayProp(gap)\n\n const boxProps = useMemo(\n () => ({\n // flex: 1,\n padding,\n paddingX,\n paddingY,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }),\n [padding, paddingX, paddingY, paddingTop, paddingBottom, paddingLeft, paddingRight],\n )\n\n return (\n <StyledButton\n data-ui=\"Button\"\n {...restProps}\n $mode={mode}\n $radius={radius}\n $tone={tone}\n data-disabled={Boolean(loading || disabled)}\n data-selected={selected ? '' : undefined}\n disabled={Boolean(loading || disabled)}\n ref={ref}\n type={type}\n $width={width}\n >\n {Boolean(loading) && (\n <LoadingBox>\n <Spinner />\n </LoadingBox>\n )}\n\n {(IconComponent || text || IconRightComponent) && (\n <Box as=\"span\" {...boxProps}>\n <Flex as=\"span\" justify={justify} gap={spacing}>\n {IconComponent && (\n <Text size={fontSize}>\n {isValidElement(IconComponent) && IconComponent}\n {isValidElementType(IconComponent) && <IconComponent />}\n </Text>\n )}\n\n {text && (\n <Box>\n <Text\n muted={muted}\n align={textAlign}\n size={fontSize}\n textOverflow=\"ellipsis\"\n weight={textWeight ?? button.textWeight}\n >\n {text}\n </Text>\n </Box>\n )}\n\n {IconRightComponent && (\n <Text size={fontSize}>\n {isValidElement(IconRightComponent) && IconRightComponent}\n {isValidElementType(IconRightComponent) && <IconRightComponent />}\n </Text>\n )}\n </Flex>\n </Box>\n )}\n\n {children && (\n <Box as=\"span\" {...boxProps}>\n {children}\n </Box>\n )}\n </StyledButton>\n )\n}\n\n/**\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Button = ButtonComponent as unknown as <E extends ElementType = 'button'>(\n props: ButtonProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
package/dist/code.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { n as _getArrayProp } from "./helpers-bwfx1e-Y.js";
2
+ import { n as _getArrayProp } from "./helpers-JV5y3U_M.js";
3
3
  import { t as getTheme_v2 } from "./getTheme_v2-y09KqtEb.js";
4
- import { t as responsiveCodeFontStyle } from "./codeFontStyle-DYUujk7K.js";
4
+ import { t as responsiveCodeFontStyle } from "./codeFontStyle-aWvllgWi.js";
5
5
  import { c } from "react/compiler-runtime";
6
6
  import { Suspense, lazy } from "react";
7
7
  import { css, styled } from "styled-components";
@@ -48,7 +48,7 @@ function codeSyntaxHighlightingStyle({ theme }) {
48
48
  };
49
49
  }
50
50
  function codeBaseStyle() {
51
- return css`color:var(--card-code-fg-color);& code{font-family:inherit;&.refractor .token{${codeSyntaxHighlightingStyle}}}& a{color:inherit;text-decoration:underline;border-radius:1px;}& svg{display:inline;}& [data-sanity-icon]{vertical-align:baseline;}`;
51
+ return css`color:var(--card-code-fg-color);& code{font-family:inherit;&.refractor .token{${codeSyntaxHighlightingStyle}}}& a{color:inherit;text-decoration:underline;border-radius:1px;}& svg{display:inline;max-width:unset;}& [data-sanity-icon]{vertical-align:baseline;}`;
52
52
  }
53
53
  const LazyRefractor = lazy(() => import("./refractor-CC48DwHi.js")), StyledCode = /* @__PURE__ */ styled.pre.withConfig({
54
54
  displayName: "StyledCode",
package/dist/code.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"code.js","names":["css","ExecutionContext","getTheme_v2","codeSyntaxHighlightingStyle","theme","color","syntax","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","doctype","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","codeBaseStyle","ReturnType","lazy","Suspense","styled","ThemeFontWeightKey","responsiveCodeFontStyle","FontWeightStyleProps","ResponsiveFontSizeStyleProps","_getArrayProp","ElementType","Props","codeBaseStyle","LazyRefractor","CodeOwnProps","language","size","weight","CodeProps","E","StyledCode","pre","CodeComponent","props","$","_c","children","ref","restProps","t0","undefined","t1","t2","t3","t4","t5","t6","Code","React","JSX","Element"],"sources":["../src/core/primitives/code/styles.ts","../src/core/primitives/code/code.tsx"],"sourcesContent":["import {css, ExecutionContext} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\n\nfunction codeSyntaxHighlightingStyle({theme}: ExecutionContext) {\n const {\n color: {syntax: color},\n } = getTheme_v2(theme)\n\n return {\n '&.atrule': {color: color.atrule},\n '&.attr-name': {color: color.attrName},\n '&.attr-value': {color: color.attrValue},\n '&.attribute': {color: color.attribute},\n '&.boolean': {color: color.boolean},\n '&.builtin': {color: color.builtin},\n '&.cdata': {color: color.cdata},\n '&.char': {color: color.char},\n '&.class': {color: color.class},\n '&.class-name': {color: color.className},\n '&.comment': {color: color.comment},\n '&.constant': {color: color.constant},\n '&.deleted': {color: color.deleted},\n '&.doctype': {color: color.doctype},\n '&.entity': {color: color.entity},\n '&.function': {color: color.function},\n '&.hexcode': {color: color.hexcode},\n '&.id': {color: color.id},\n '&.important': {color: color.important},\n '&.inserted': {color: color.inserted},\n '&.keyword': {color: color.keyword},\n '&.number': {color: color.number},\n '&.operator': {color: color.operator},\n '&.prolog': {color: color.prolog},\n '&.property': {color: color.property},\n '&.pseudo-class': {color: color.pseudoClass},\n '&.pseudo-element': {color: color.pseudoElement},\n '&.punctuation': {color: color.punctuation},\n '&.regex': {color: color.regex},\n '&.selector': {color: color.selector},\n '&.string': {color: color.string},\n '&.symbol': {color: color.symbol},\n '&.tag': {color: color.tag},\n '&.unit': {color: color.unit},\n '&.url': {color: color.url},\n '&.variable': {color: color.variable},\n }\n}\n\nexport function codeBaseStyle(): ReturnType<typeof css> {\n return css`\n color: var(--card-code-fg-color);\n\n & code {\n font-family: inherit;\n\n &.refractor .token {\n ${codeSyntaxHighlightingStyle}\n }\n }\n\n & a {\n color: inherit;\n text-decoration: underline;\n border-radius: 1px;\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {lazy, Suspense} from 'react'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {responsiveCodeFontStyle} from '../../styles/font/codeFontStyle'\nimport {FontWeightStyleProps, ResponsiveFontSizeStyleProps} from '../../styles/font/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {codeBaseStyle} from './styles'\n\nconst LazyRefractor = lazy(() => import('./refractor'))\n\n/**\n * @public\n */\nexport interface CodeOwnProps {\n /** Define the language to use for syntax highlighting. */\n language?: string\n size?: number | number[]\n weight?: string\n}\n\n/**\n * @public\n */\nexport type CodeProps<E extends ElementType = 'pre'> = Props<CodeOwnProps, E>\n\nconst StyledCode = styled.pre<FontWeightStyleProps & ResponsiveFontSizeStyleProps>(\n codeBaseStyle,\n responsiveCodeFontStyle,\n)\n\nfunction CodeComponent(\n props: CodeOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLPreElement>, 'as' | 'size'>,\n) {\n const {children, language, ref, size = 2, weight, ...restProps} = props\n\n return (\n <StyledCode\n data-ui=\"Code\"\n {...restProps}\n $size={_getArrayProp(size)}\n // oxlint-disable-next-line no-unsafe-type-assertion -- `weight` is typed as `string` in the public API; unknown weights fall back to `regular` at runtime\n $weight={weight as ThemeFontWeightKey | undefined}\n ref={ref}\n >\n <Suspense fallback={<code>{children}</code>}>\n <LazyRefractor language={language} value={children} />\n </Suspense>\n </StyledCode>\n )\n}\n\n/**\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Code = CodeComponent as unknown as <E extends ElementType = 'pre'>(\n props: CodeProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
1
+ {"version":3,"file":"code.js","names":["css","ExecutionContext","getTheme_v2","codeSyntaxHighlightingStyle","theme","color","syntax","atrule","attrName","attrValue","attribute","boolean","builtin","cdata","char","class","className","comment","constant","deleted","doctype","entity","function","hexcode","id","important","inserted","keyword","number","operator","prolog","property","pseudoClass","pseudoElement","punctuation","regex","selector","string","symbol","tag","unit","url","variable","codeBaseStyle","ReturnType","lazy","Suspense","styled","ThemeFontWeightKey","responsiveCodeFontStyle","FontWeightStyleProps","ResponsiveFontSizeStyleProps","_getArrayProp","ElementType","Props","codeBaseStyle","LazyRefractor","CodeOwnProps","language","size","weight","CodeProps","E","StyledCode","pre","CodeComponent","props","$","_c","children","ref","restProps","t0","undefined","t1","t2","t3","t4","t5","t6","Code","React","JSX","Element"],"sources":["../src/core/primitives/code/styles.ts","../src/core/primitives/code/code.tsx"],"sourcesContent":["import {css, ExecutionContext} from 'styled-components'\n\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\n\nfunction codeSyntaxHighlightingStyle({theme}: ExecutionContext) {\n const {\n color: {syntax: color},\n } = getTheme_v2(theme)\n\n return {\n '&.atrule': {color: color.atrule},\n '&.attr-name': {color: color.attrName},\n '&.attr-value': {color: color.attrValue},\n '&.attribute': {color: color.attribute},\n '&.boolean': {color: color.boolean},\n '&.builtin': {color: color.builtin},\n '&.cdata': {color: color.cdata},\n '&.char': {color: color.char},\n '&.class': {color: color.class},\n '&.class-name': {color: color.className},\n '&.comment': {color: color.comment},\n '&.constant': {color: color.constant},\n '&.deleted': {color: color.deleted},\n '&.doctype': {color: color.doctype},\n '&.entity': {color: color.entity},\n '&.function': {color: color.function},\n '&.hexcode': {color: color.hexcode},\n '&.id': {color: color.id},\n '&.important': {color: color.important},\n '&.inserted': {color: color.inserted},\n '&.keyword': {color: color.keyword},\n '&.number': {color: color.number},\n '&.operator': {color: color.operator},\n '&.prolog': {color: color.prolog},\n '&.property': {color: color.property},\n '&.pseudo-class': {color: color.pseudoClass},\n '&.pseudo-element': {color: color.pseudoElement},\n '&.punctuation': {color: color.punctuation},\n '&.regex': {color: color.regex},\n '&.selector': {color: color.selector},\n '&.string': {color: color.string},\n '&.symbol': {color: color.symbol},\n '&.tag': {color: color.tag},\n '&.unit': {color: color.unit},\n '&.url': {color: color.url},\n '&.variable': {color: color.variable},\n }\n}\n\nexport function codeBaseStyle(): ReturnType<typeof css> {\n return css`\n color: var(--card-code-fg-color);\n\n & code {\n font-family: inherit;\n\n &.refractor .token {\n ${codeSyntaxHighlightingStyle}\n }\n }\n\n & a {\n color: inherit;\n text-decoration: underline;\n border-radius: 1px;\n }\n\n & svg {\n /* Certain popular CSS libraries changes the defaults for SVG display */\n /* Make sure SVGs are rendered as inline elements */\n display: inline;\n /* ...and aren't squeezed by resets that set max-width: 100% */\n max-width: unset;\n }\n\n & [data-sanity-icon] {\n vertical-align: baseline;\n }\n `\n}\n","import {lazy, Suspense} from 'react'\nimport {styled} from 'styled-components'\n\nimport {ThemeFontWeightKey} from '../../../theme/system/font'\nimport {responsiveCodeFontStyle} from '../../styles/font/codeFontStyle'\nimport {FontWeightStyleProps, ResponsiveFontSizeStyleProps} from '../../styles/font/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {codeBaseStyle} from './styles'\n\nconst LazyRefractor = lazy(() => import('./refractor'))\n\n/**\n * @public\n */\nexport interface CodeOwnProps {\n /** Define the language to use for syntax highlighting. */\n language?: string\n size?: number | number[]\n weight?: string\n}\n\n/**\n * @public\n */\nexport type CodeProps<E extends ElementType = 'pre'> = Props<CodeOwnProps, E>\n\nconst StyledCode = styled.pre<FontWeightStyleProps & ResponsiveFontSizeStyleProps>(\n codeBaseStyle,\n responsiveCodeFontStyle,\n)\n\nfunction CodeComponent(\n props: CodeOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLPreElement>, 'as' | 'size'>,\n) {\n const {children, language, ref, size = 2, weight, ...restProps} = props\n\n return (\n <StyledCode\n data-ui=\"Code\"\n {...restProps}\n $size={_getArrayProp(size)}\n // oxlint-disable-next-line no-unsafe-type-assertion -- `weight` is typed as `string` in the public API; unknown weights fall back to `regular` at runtime\n $weight={weight as ThemeFontWeightKey | undefined}\n ref={ref}\n >\n <Suspense fallback={<code>{children}</code>}>\n <LazyRefractor language={language} value={children} />\n </Suspense>\n </StyledCode>\n )\n}\n\n/**\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Code = CodeComponent as unknown as <E extends ElementType = 'pre'>(\n props: CodeProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { t as responsiveFont } from "./responsiveFont-hN1mZFjm.js";
1
+ import { t as responsiveFont } from "./responsiveFont-BwYElGq4.js";
2
2
  /**
3
3
  * Get responsive CSS for the `code` font style.
4
4
  * @internal
@@ -8,4 +8,4 @@ function responsiveCodeFontStyle(props) {
8
8
  }
9
9
  export { responsiveCodeFontStyle as t };
10
10
 
11
- //# sourceMappingURL=codeFontStyle-DYUujk7K.js.map
11
+ //# sourceMappingURL=codeFontStyle-aWvllgWi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codeFontStyle-DYUujk7K.js","names":["CSSObject","ThemeProps","responsiveFont","FontWeightStyleProps","ResponsiveFontSizeStyleProps","responsiveCodeFontStyle","props"],"sources":["../src/core/styles/font/codeFontStyle.ts"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {FontWeightStyleProps, ResponsiveFontSizeStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `code` font style.\n * @internal\n */\nexport function responsiveCodeFontStyle(\n props: FontWeightStyleProps & ResponsiveFontSizeStyleProps & ThemeProps,\n): CSSObject[] {\n return responsiveFont('code', props)\n}\n"],"mappings":";;;;;AASA,SAAgBK,wBACdC,OACa;CACb,OAAOJ,eAAe,QAAQI,KAAK;AACrC"}
1
+ {"version":3,"file":"codeFontStyle-aWvllgWi.js","names":["CSSObject","ThemeProps","responsiveFont","FontWeightStyleProps","ResponsiveFontSizeStyleProps","responsiveCodeFontStyle","props"],"sources":["../src/core/styles/font/codeFontStyle.ts"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {ThemeProps} from '../types'\nimport {responsiveFont} from './responsiveFont'\nimport {FontWeightStyleProps, ResponsiveFontSizeStyleProps} from './types'\n\n/**\n * Get responsive CSS for the `code` font style.\n * @internal\n */\nexport function responsiveCodeFontStyle(\n props: FontWeightStyleProps & ResponsiveFontSizeStyleProps & ThemeProps,\n): CSSObject[] {\n return responsiveFont('code', props)\n}\n"],"mappings":";;;;;AASA,SAAgBK,wBACdC,OACa;CACb,OAAOJ,eAAe,QAAQI,KAAK;AACrC"}
@@ -1,6 +1,6 @@
1
- import { a as rem, i as _responsive, n as _getArrayProp } from "./helpers-bwfx1e-Y.js";
1
+ import { a as rem, i as _responsive, n as _getArrayProp } from "./helpers-JV5y3U_M.js";
2
2
  import { t as getTheme_v2 } from "./getTheme_v2-y09KqtEb.js";
3
- import { x as flexItemStyle, y as Box } from "./useLayer-BAVfmbNN.js";
3
+ import { x as flexItemStyle, y as Box } from "./useLayer-UpfaKlm7.js";
4
4
  import { c } from "react/compiler-runtime";
5
5
  import { styled } from "styled-components";
6
6
  import { jsx } from "react/jsx-runtime";
@@ -73,4 +73,4 @@ function FlexComponent(props) {
73
73
  const Flex = FlexComponent;
74
74
  export { Flex as t };
75
75
 
76
- //# sourceMappingURL=flex-C-5JHi1C.js.map
76
+ //# sourceMappingURL=flex-C9NHtXFi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flex-C-5JHi1C.js","names":["CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveFlexStyleProps","BASE_STYLE","display","responsiveFlexStyle","Array","props","responsiveFlexAlignStyle","responsiveFlexGapStyle","responsiveFlexWrapStyle","responsiveFlexJustifyStyle","responsiveFlexDirectionStyle","media","theme","$align","align","alignItems","space","$gap","gap","undefined","$wrap","wrap","flexWrap","$justify","justify","justifyContent","$direction","direction","flexDirection","styled","flexItemStyle","responsiveFlexStyle","FlexItemStyleProps","ResponsiveFlexStyleProps","_getArrayProp","ElementType","Props","Box","BoxOwnProps","ResponsiveFlexItemProps","ResponsiveFlexProps","FlexOwnProps","Omit","gap","FlexProps","E","StyledFlex","FlexComponent","props","$","_c","align","as","justify","ref","restProps","t0","wrap","direction","undefined","t1","t2","t3","t4","t5","t6","Flex","React","JSX","Element"],"sources":["../src/core/styles/flex/flexStyle.ts","../src/core/primitives/flex/flex.tsx"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'flex',\n },\n}\n\nexport function responsiveFlexStyle(): Array<\n CSSObject | ((props: ResponsiveFlexStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n BASE_STYLE,\n responsiveFlexAlignStyle,\n responsiveFlexGapStyle,\n responsiveFlexWrapStyle,\n responsiveFlexJustifyStyle,\n responsiveFlexDirectionStyle,\n ]\n}\n\nfunction responsiveFlexAlignStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$align, (align) => {\n return {alignItems: align}\n })\n}\n\nfunction responsiveFlexGapStyle(props: ResponsiveFlexStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gap, (gap) => ({\n gap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nfunction responsiveFlexWrapStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$wrap, (wrap) => {\n return {flexWrap: wrap}\n })\n}\n\nfunction responsiveFlexJustifyStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$justify, (justify) => {\n return {justifyContent: justify}\n })\n}\n\nfunction responsiveFlexDirectionStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$direction, (direction) => {\n return {flexDirection: direction}\n })\n}\n","import {styled} from 'styled-components'\n\nimport {flexItemStyle} from '../../styles/flex/flexItemStyle'\nimport {responsiveFlexStyle} from '../../styles/flex/flexStyle'\nimport {FlexItemStyleProps, ResponsiveFlexStyleProps} from '../../styles/flex/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {ResponsiveFlexItemProps, ResponsiveFlexProps} from '../types'\n\n/**\n * @public\n */\nexport interface FlexOwnProps\n extends Omit<BoxOwnProps, 'display'>, ResponsiveFlexProps, ResponsiveFlexItemProps {\n gap?: number | number[]\n}\n\n/**\n * @public\n */\nexport type FlexProps<E extends ElementType = 'div'> = Props<FlexOwnProps, E>\n\nconst StyledFlex = styled(Box)<FlexItemStyleProps & ResponsiveFlexStyleProps>(\n flexItemStyle,\n responsiveFlexStyle,\n)\n\nfunction FlexComponent(\n props: FlexOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'wrap'>,\n) {\n const {align, as, direction = 'row', gap, justify, ref, wrap, ...restProps} = props\n\n return (\n <StyledFlex\n data-ui=\"Flex\"\n {...restProps}\n $align={_getArrayProp(align)}\n $direction={_getArrayProp(direction)}\n $gap={_getArrayProp(gap)}\n $justify={_getArrayProp(justify)}\n $wrap={_getArrayProp(wrap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n}\n\n/**\n * The `Flex` component is a wrapper component for flexible elements (`Box`, `Card` and `Flex`).\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Flex = FlexComponent as unknown as <E extends ElementType = 'div'>(\n props: FlexProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
1
+ {"version":3,"file":"flex-C9NHtXFi.js","names":["CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveFlexStyleProps","BASE_STYLE","display","responsiveFlexStyle","Array","props","responsiveFlexAlignStyle","responsiveFlexGapStyle","responsiveFlexWrapStyle","responsiveFlexJustifyStyle","responsiveFlexDirectionStyle","media","theme","$align","align","alignItems","space","$gap","gap","undefined","$wrap","wrap","flexWrap","$justify","justify","justifyContent","$direction","direction","flexDirection","styled","flexItemStyle","responsiveFlexStyle","FlexItemStyleProps","ResponsiveFlexStyleProps","_getArrayProp","ElementType","Props","Box","BoxOwnProps","ResponsiveFlexItemProps","ResponsiveFlexProps","FlexOwnProps","Omit","gap","FlexProps","E","StyledFlex","FlexComponent","props","$","_c","align","as","justify","ref","restProps","t0","wrap","direction","undefined","t1","t2","t3","t4","t5","t6","Flex","React","JSX","Element"],"sources":["../src/core/styles/flex/flexStyle.ts","../src/core/primitives/flex/flex.tsx"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveFlexStyleProps} from './types'\n\nconst BASE_STYLE: CSSObject = {\n '&&:not([hidden])': {\n display: 'flex',\n },\n}\n\nexport function responsiveFlexStyle(): Array<\n CSSObject | ((props: ResponsiveFlexStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n BASE_STYLE,\n responsiveFlexAlignStyle,\n responsiveFlexGapStyle,\n responsiveFlexWrapStyle,\n responsiveFlexJustifyStyle,\n responsiveFlexDirectionStyle,\n ]\n}\n\nfunction responsiveFlexAlignStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$align, (align) => {\n return {alignItems: align}\n })\n}\n\nfunction responsiveFlexGapStyle(props: ResponsiveFlexStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gap, (gap) => ({\n gap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nfunction responsiveFlexWrapStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$wrap, (wrap) => {\n return {flexWrap: wrap}\n })\n}\n\nfunction responsiveFlexJustifyStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$justify, (justify) => {\n return {justifyContent: justify}\n })\n}\n\nfunction responsiveFlexDirectionStyle(props: ResponsiveFlexStyleProps & ThemeProps): CSSObject[] {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$direction, (direction) => {\n return {flexDirection: direction}\n })\n}\n","import {styled} from 'styled-components'\n\nimport {flexItemStyle} from '../../styles/flex/flexItemStyle'\nimport {responsiveFlexStyle} from '../../styles/flex/flexStyle'\nimport {FlexItemStyleProps, ResponsiveFlexStyleProps} from '../../styles/flex/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {ResponsiveFlexItemProps, ResponsiveFlexProps} from '../types'\n\n/**\n * @public\n */\nexport interface FlexOwnProps\n extends Omit<BoxOwnProps, 'display'>, ResponsiveFlexProps, ResponsiveFlexItemProps {\n gap?: number | number[]\n}\n\n/**\n * @public\n */\nexport type FlexProps<E extends ElementType = 'div'> = Props<FlexOwnProps, E>\n\nconst StyledFlex = styled(Box)<FlexItemStyleProps & ResponsiveFlexStyleProps>(\n flexItemStyle,\n responsiveFlexStyle,\n)\n\nfunction FlexComponent(\n props: FlexOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'wrap'>,\n) {\n const {align, as, direction = 'row', gap, justify, ref, wrap, ...restProps} = props\n\n return (\n <StyledFlex\n data-ui=\"Flex\"\n {...restProps}\n $align={_getArrayProp(align)}\n $direction={_getArrayProp(direction)}\n $gap={_getArrayProp(gap)}\n $justify={_getArrayProp(justify)}\n $wrap={_getArrayProp(wrap)}\n forwardedAs={as}\n ref={ref}\n />\n )\n}\n\n/**\n * The `Flex` component is a wrapper component for flexible elements (`Box`, `Card` and `Flex`).\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Flex = FlexComponent as unknown as <E extends ElementType = 'div'>(\n props: FlexProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { a as rem, i as _responsive, n as _getArrayProp } from "./helpers-bwfx1e-Y.js";
1
+ import { a as rem, i as _responsive, n as _getArrayProp } from "./helpers-JV5y3U_M.js";
2
2
  import { t as getTheme_v2 } from "./getTheme_v2-y09KqtEb.js";
3
- import { y as Box } from "./useLayer-BAVfmbNN.js";
3
+ import { y as Box } from "./useLayer-UpfaKlm7.js";
4
4
  import { c } from "react/compiler-runtime";
5
5
  import { styled } from "styled-components";
6
6
  import { jsx } from "react/jsx-runtime";
@@ -112,4 +112,4 @@ function GridComponent(props) {
112
112
  const Grid = GridComponent;
113
113
  export { Grid as t };
114
114
 
115
- //# sourceMappingURL=grid-BXHFJhf_.js.map
115
+ //# sourceMappingURL=grid-Cr7qKmZQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid-BXHFJhf_.js","names":["CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveGridStyleProps","GRID_CSS","display","listStyle","GRID_AUTO_COLUMS","auto","min","max","fr","GRID_AUTO_ROWS","responsiveGridStyle","Array","props","responsiveGridAutoFlowStyle","responsiveGridAutoRowsStyle","responsiveGridAutoColsStyle","responsiveGridColumnsStyle","responsiveGridRowsStyle","responsiveGridGapStyle","responsiveGridGapXStyle","responsiveGridGapYStyle","media","theme","$autoFlow","autoFlow","gridAutoFlow","$autoRows","autoRows","gridAutoRows","$autoCols","autoCols","gridAutoColumns","$columns","columns","gridTemplateColumns","$rows","rows","gridTemplateRows","space","$gap","gap","gridGap","undefined","$gapX","gapX","columnGap","$gapY","gapY","rowGap","styled","responsiveGridStyle","ResponsiveGridStyleProps","_getArrayProp","ElementType","Props","Box","BoxOwnProps","ResponsiveGridProps","GridOwnProps","Omit","GridProps","E","StyledGrid","GridComponent","props","$","_c","as","autoCols","autoFlow","autoRows","children","gap","gapX","gapY","gridTemplateColumns","gridTemplateRows","ref","restProps","t0","undefined","t1","t2","t3","t4","t5","t6","t7","t8","t9","Grid","React","JSX","Element"],"sources":["../src/core/styles/grid/gridStyle.ts","../src/core/primitives/grid/grid.tsx"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridStyleProps} from './types'\n\nconst GRID_CSS = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst GRID_AUTO_COLUMS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nconst GRID_AUTO_ROWS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nexport function responsiveGridStyle(): Array<\n CSSObject | ((props: ResponsiveGridStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n GRID_CSS,\n responsiveGridAutoFlowStyle,\n responsiveGridAutoRowsStyle,\n responsiveGridAutoColsStyle,\n responsiveGridColumnsStyle,\n responsiveGridRowsStyle,\n responsiveGridGapStyle,\n responsiveGridGapXStyle,\n responsiveGridGapYStyle,\n ]\n}\n\nfunction responsiveGridAutoFlowStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoFlow, (autoFlow) => ({\n gridAutoFlow: autoFlow,\n }))\n}\n\nfunction responsiveGridAutoRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoRows, (autoRows) => ({\n gridAutoRows: autoRows && GRID_AUTO_ROWS[autoRows],\n }))\n}\n\nfunction responsiveGridAutoColsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoCols, (autoCols) => ({\n gridAutoColumns: autoCols && GRID_AUTO_COLUMS[autoCols],\n }))\n}\n\nfunction responsiveGridColumnsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$columns, (columns) => ({\n gridTemplateColumns: columns && `repeat(${columns},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$rows, (rows) => ({\n gridTemplateRows: rows && `repeat(${rows},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridGapStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gap, (gap) => ({\n // oxlint-disable-next-line no-deprecated\n gridGap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nfunction responsiveGridGapXStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gapX, (gapX) => ({\n columnGap: gapX ? rem(space[gapX]) : undefined,\n }))\n}\n\nfunction responsiveGridGapYStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gapY, (gapY) => ({\n rowGap: gapY ? rem(space[gapY]) : undefined,\n }))\n}\n","import {styled} from 'styled-components'\n\nimport {responsiveGridStyle} from '../../styles/grid/gridStyle'\nimport {ResponsiveGridStyleProps} from '../../styles/grid/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {ResponsiveGridProps} from '../types'\n\n/**\n * @public\n */\nexport interface GridOwnProps extends Omit<BoxOwnProps, 'display'>, ResponsiveGridProps {}\n\n/**\n * @public\n */\nexport type GridProps<E extends ElementType = 'div'> = Props<GridOwnProps, E>\n\nconst StyledGrid = styled(Box)<ResponsiveGridStyleProps>(responsiveGridStyle)\n\nfunction GridComponent(\n props: GridOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLDivElement>,\n 'as' | 'height' | 'rows'\n >,\n) {\n const {\n as,\n autoRows,\n autoCols,\n autoFlow,\n gridTemplateColumns,\n gap,\n gapX,\n gapY,\n gridTemplateRows,\n children,\n ref,\n ...restProps\n } = props\n\n return (\n <StyledGrid\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Grid\"\n {...restProps}\n $autoRows={_getArrayProp(autoRows)}\n $autoCols={_getArrayProp(autoCols)}\n $autoFlow={_getArrayProp(autoFlow)}\n $columns={_getArrayProp(gridTemplateColumns)}\n $gap={_getArrayProp(gap)}\n $gapX={_getArrayProp(gapX)}\n $gapY={_getArrayProp(gapY)}\n $rows={_getArrayProp(gridTemplateRows)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </StyledGrid>\n )\n}\n\n/**\n * The `Grid` component is for building 2-dimensional layers (based on CSS grid).\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Grid = GridComponent as unknown as <E extends ElementType = 'div'>(\n props: GridProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
1
+ {"version":3,"file":"grid-Cr7qKmZQ.js","names":["CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveGridStyleProps","GRID_CSS","display","listStyle","GRID_AUTO_COLUMS","auto","min","max","fr","GRID_AUTO_ROWS","responsiveGridStyle","Array","props","responsiveGridAutoFlowStyle","responsiveGridAutoRowsStyle","responsiveGridAutoColsStyle","responsiveGridColumnsStyle","responsiveGridRowsStyle","responsiveGridGapStyle","responsiveGridGapXStyle","responsiveGridGapYStyle","media","theme","$autoFlow","autoFlow","gridAutoFlow","$autoRows","autoRows","gridAutoRows","$autoCols","autoCols","gridAutoColumns","$columns","columns","gridTemplateColumns","$rows","rows","gridTemplateRows","space","$gap","gap","gridGap","undefined","$gapX","gapX","columnGap","$gapY","gapY","rowGap","styled","responsiveGridStyle","ResponsiveGridStyleProps","_getArrayProp","ElementType","Props","Box","BoxOwnProps","ResponsiveGridProps","GridOwnProps","Omit","GridProps","E","StyledGrid","GridComponent","props","$","_c","as","autoCols","autoFlow","autoRows","children","gap","gapX","gapY","gridTemplateColumns","gridTemplateRows","ref","restProps","t0","undefined","t1","t2","t3","t4","t5","t6","t7","t8","t9","Grid","React","JSX","Element"],"sources":["../src/core/styles/grid/gridStyle.ts","../src/core/primitives/grid/grid.tsx"],"sourcesContent":["import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../helpers'\nimport {ThemeProps} from '../types'\nimport {ResponsiveGridStyleProps} from './types'\n\nconst GRID_CSS = {\n '&&:not([hidden])': {\n display: 'grid',\n },\n '&[data-as=\"ul\"],&[data-as=\"ol\"]': {\n listStyle: 'none',\n },\n}\n\nconst GRID_AUTO_COLUMS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nconst GRID_AUTO_ROWS = {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n}\n\nexport function responsiveGridStyle(): Array<\n CSSObject | ((props: ResponsiveGridStyleProps & ThemeProps) => CSSObject[])\n> {\n return [\n GRID_CSS,\n responsiveGridAutoFlowStyle,\n responsiveGridAutoRowsStyle,\n responsiveGridAutoColsStyle,\n responsiveGridColumnsStyle,\n responsiveGridRowsStyle,\n responsiveGridGapStyle,\n responsiveGridGapXStyle,\n responsiveGridGapYStyle,\n ]\n}\n\nfunction responsiveGridAutoFlowStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoFlow, (autoFlow) => ({\n gridAutoFlow: autoFlow,\n }))\n}\n\nfunction responsiveGridAutoRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoRows, (autoRows) => ({\n gridAutoRows: autoRows && GRID_AUTO_ROWS[autoRows],\n }))\n}\n\nfunction responsiveGridAutoColsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$autoCols, (autoCols) => ({\n gridAutoColumns: autoCols && GRID_AUTO_COLUMS[autoCols],\n }))\n}\n\nfunction responsiveGridColumnsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$columns, (columns) => ({\n gridTemplateColumns: columns && `repeat(${columns},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridRowsStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$rows, (rows) => ({\n gridTemplateRows: rows && `repeat(${rows},minmax(0,1fr));`,\n }))\n}\n\nfunction responsiveGridGapStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gap, (gap) => ({\n // oxlint-disable-next-line no-deprecated\n gridGap: gap ? rem(space[gap]) : undefined,\n }))\n}\n\nfunction responsiveGridGapXStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gapX, (gapX) => ({\n columnGap: gapX ? rem(space[gapX]) : undefined,\n }))\n}\n\nfunction responsiveGridGapYStyle(props: ResponsiveGridStyleProps & ThemeProps) {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$gapY, (gapY) => ({\n rowGap: gapY ? rem(space[gapY]) : undefined,\n }))\n}\n","import {styled} from 'styled-components'\n\nimport {responsiveGridStyle} from '../../styles/grid/gridStyle'\nimport {ResponsiveGridStyleProps} from '../../styles/grid/types'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {ResponsiveGridProps} from '../types'\n\n/**\n * @public\n */\nexport interface GridOwnProps extends Omit<BoxOwnProps, 'display'>, ResponsiveGridProps {}\n\n/**\n * @public\n */\nexport type GridProps<E extends ElementType = 'div'> = Props<GridOwnProps, E>\n\nconst StyledGrid = styled(Box)<ResponsiveGridStyleProps>(responsiveGridStyle)\n\nfunction GridComponent(\n props: GridOwnProps & {as?: ElementType} & Omit<\n React.HTMLProps<HTMLDivElement>,\n 'as' | 'height' | 'rows'\n >,\n) {\n const {\n as,\n autoRows,\n autoCols,\n autoFlow,\n gridTemplateColumns,\n gap,\n gapX,\n gapY,\n gridTemplateRows,\n children,\n ref,\n ...restProps\n } = props\n\n return (\n <StyledGrid\n data-as={typeof as === 'string' ? as : undefined}\n data-ui=\"Grid\"\n {...restProps}\n $autoRows={_getArrayProp(autoRows)}\n $autoCols={_getArrayProp(autoCols)}\n $autoFlow={_getArrayProp(autoFlow)}\n $columns={_getArrayProp(gridTemplateColumns)}\n $gap={_getArrayProp(gap)}\n $gapX={_getArrayProp(gapX)}\n $gapY={_getArrayProp(gapY)}\n $rows={_getArrayProp(gridTemplateRows)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </StyledGrid>\n )\n}\n\n/**\n * The `Grid` component is for building 2-dimensional layers (based on CSS grid).\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Grid = GridComponent as unknown as <E extends ElementType = 'div'>(\n props: GridProps<E>,\n) => React.JSX.Element\n"],"mappings":"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"}
@@ -11,17 +11,31 @@ const EMPTY_ARRAY = [], EMPTY_RECORD = {}, POPOVER_MOTION_DURATION = .2, POPOVER
11
11
  hidden: { opacity: 0 },
12
12
  visible: {
13
13
  opacity: 1,
14
- transition: {
15
- when: "beforeChildren",
16
- duration: POPOVER_MOTION_DURATION / 2
17
- }
14
+ transition: { duration: POPOVER_MOTION_DURATION / 2 }
18
15
  },
19
16
  scaleIn: { scale: 1 },
20
17
  scaleOut: { scale: .97 }
21
18
  },
22
- children: {
19
+ /**
20
+ * Crossfade targets for the popover content wrapper. These are plain
21
+ * animation targets (not variants): the content fade is driven directly by
22
+ * the `open` prop rather than by variant/exit propagation from the card,
23
+ * so that any open/close/open sequence converges to the correct opacity.
24
+ * On enter, the content starts fading in halfway through the card fade
25
+ * (which lasts `POPOVER_MOTION_DURATION / 2`); on exit, it fades out
26
+ * together with the card.
27
+ */
28
+ content: {
23
29
  hidden: { opacity: 0 },
24
- visible: { opacity: 1 }
30
+ visible: {
31
+ opacity: 1,
32
+ transition: {
33
+ type: "spring",
34
+ visualDuration: POPOVER_MOTION_DURATION,
35
+ bounce: .25,
36
+ delay: POPOVER_MOTION_DURATION / 4
37
+ }
38
+ }
25
39
  },
26
40
  transition: {
27
41
  type: "spring",
@@ -64,4 +78,4 @@ function _getResponsiveSpace(theme, props, spaceIndexes = EMPTY_ARRAY) {
64
78
  }
65
79
  export { rem as a, POPOVER_MOTION_PROPS as c, _responsive as i, _getArrayProp as n, EMPTY_ARRAY as o, _getResponsiveSpace as r, EMPTY_RECORD as s, _fillCSSObject as t };
66
80
 
67
- //# sourceMappingURL=helpers-bwfx1e-Y.js.map
81
+ //# sourceMappingURL=helpers-JV5y3U_M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers-JV5y3U_M.js","names":["TargetAndTransition","Transition","Variant","EMPTY_ARRAY","EMPTY_RECORD","Record","POPOVER_MOTION_DURATION","POPOVER_MOTION_PROPS","card","initial","hidden","visible","scaleIn","scaleOut","content","transition","scale","willChange","opacity","duration","type","visualDuration","bounce","delay","CSSObject","Theme","getTheme_v2","EMPTY_ARRAY","_fillCSSObject","keys","value","reduce","style","key","rem","pixelValue","_responsive","media","values","T","callback","index","array","statements","map","statement","mediaIndex","_getArrayProp","val","defaultVal","undefined","Array","isArray","_getResponsiveSpace","theme","props","spaceIndexes","Error","length","space","spaceIndex"],"sources":["../src/core/constants.ts","../src/core/styles/helpers.ts"],"sourcesContent":["import type {TargetAndTransition, Transition, Variant} from 'motion/react'\n\n/**\n * @internal\n */\nexport const EMPTY_ARRAY: never[] = []\n\n/**\n * @internal\n */\nexport const EMPTY_RECORD: Record<string, never> = {}\n\nconst POPOVER_MOTION_DURATION = 0.2\n\n/**\n * Shared `framer-motion` variants used by `Popover` and `Tooltip` components.\n * @internal\n */\nexport const POPOVER_MOTION_PROPS: {\n card: {\n initial: Variant\n hidden: Variant\n visible: Variant\n scaleIn: Variant\n scaleOut: Variant\n }\n content: {\n hidden: TargetAndTransition\n visible: TargetAndTransition\n }\n transition: Transition\n} = {\n card: {\n initial: {\n scale: 0.97,\n willChange: 'transform',\n },\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n transition: {\n duration: POPOVER_MOTION_DURATION / 2,\n },\n },\n scaleIn: {\n scale: 1,\n },\n scaleOut: {\n scale: 0.97,\n },\n },\n /**\n * Crossfade targets for the popover content wrapper. These are plain\n * animation targets (not variants): the content fade is driven directly by\n * the `open` prop rather than by variant/exit propagation from the card,\n * so that any open/close/open sequence converges to the correct opacity.\n * On enter, the content starts fading in halfway through the card fade\n * (which lasts `POPOVER_MOTION_DURATION / 2`); on exit, it fades out\n * together with the card.\n */\n content: {\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n transition: {\n type: 'spring',\n visualDuration: POPOVER_MOTION_DURATION,\n bounce: 0.25,\n delay: POPOVER_MOTION_DURATION / 4,\n },\n },\n },\n transition: {\n type: 'spring',\n visualDuration: POPOVER_MOTION_DURATION,\n bounce: 0.25,\n },\n}\n","import {CSSObject} from '../../theme/system/css'\nimport {Theme} from '../../theme/system/theme'\nimport {getTheme_v2} from '../../theme/versioning/getTheme_v2'\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @internal\n */\nexport function _fillCSSObject(keys: string[], value: string | number | CSSObject): CSSObject {\n return keys.reduce<CSSObject>((style, key) => {\n style[key] = value\n\n return style\n }, {})\n}\n\n/**\n * @public\n */\nexport function rem(pixelValue: number): string | 0 {\n if (pixelValue === 0) return 0\n\n return `${pixelValue / 16}rem`\n}\n\n/**\n * @internal\n */\nexport function _responsive<T>(\n media: number[],\n values: T[],\n callback: (value: T, index: number, array: T[]) => CSSObject,\n): CSSObject[] {\n const statements = values?.map(callback) || []\n\n return statements.map((statement, mediaIndex) => {\n if (mediaIndex === 0) return statement\n\n return {[`@media screen and (min-width: ${media[mediaIndex - 1]}px)`]: statement}\n })\n}\n\n/**\n * @internal\n */\nexport function _getArrayProp<T = number>(val: T | T[] | undefined, defaultVal?: T[]): T[] {\n if (val === undefined) return defaultVal || EMPTY_ARRAY\n\n return Array.isArray(val) ? val : [val]\n}\n\n/**\n * @internal\n */\nexport function _getResponsiveSpace(\n theme: Theme,\n props: string[],\n spaceIndexes: number[] = EMPTY_ARRAY,\n): CSSObject[] | null {\n if (!Array.isArray(spaceIndexes)) {\n throw new Error('the property must be array of numbers')\n }\n\n if (spaceIndexes.length === 0) {\n return null\n }\n\n const {media, space} = getTheme_v2(theme)\n\n return _responsive(media, spaceIndexes, (spaceIndex) =>\n _fillCSSObject(props, rem(space[spaceIndex])),\n )\n}\n"],"mappings":";;;;AAKA,MAAaG,cAAuB,CAAA,GAKvBC,eAAsC,CAAC,GAE9CE,0BAA0B,IAMnBC,uBAaT;CACFC,MAAM;EACJC,SAAS;GACPO,OAAO;GACPC,YAAY;EACd;EACAP,QAAQ,EACNQ,SAAS,EACX;EACAP,SAAS;GACPO,SAAS;GACTH,YAAY,EACVI,UAAUb,0BAA0B,EACtC;EACF;EACAM,SAAS,EACPI,OAAO,EACT;EACAH,UAAU,EACRG,OAAO,IACT;CACF;;;;;;;;;;CAUAF,SAAS;EACPJ,QAAQ,EACNQ,SAAS,EACX;EACAP,SAAS;GACPO,SAAS;GACTH,YAAY;IACVK,MAAM;IACNC,gBAAgBf;IAChBgB,QAAQ;IACRC,OAAOjB,0BAA0B;GACnC;EACF;CACF;CACAS,YAAY;EACVK,MAAM;EACNC,gBAAgBf;EAChBgB,QAAQ;CACV;AACF;;;;ACzEA,SAAgBM,eAAeC,MAAgBC,OAA+C;CAC5F,OAAOD,KAAKE,QAAmBC,OAAOC,SACpCD,MAAMC,OAAOH,OAENE,QACN,CAAC,CAAC;AACP;;;;AAKA,SAAgBE,IAAIC,YAAgC;CAGlD,OAFIA,eAAe,IAAU,IAEtB,GAAGA,aAAa,GAAE;AAC3B;;;;AAKA,SAAgBC,YACdC,OACAC,QACAE,UACa;CAGb,QAFmBF,QAAQM,IAAIJ,QAAQ,KAAK,CAAA,EAAA,CAE1BI,KAAKC,WAAWC,eAC5BA,eAAe,IAAUD,YAEtB,GAAE,iCAAiCR,MAAMS,aAAa,GAAE,OAAQD,UAAS,CACjF;AACH;;;;AAKA,SAAgBE,cAA0BC,KAA0BC,YAAuB;CAGzF,OAFID,QAAQE,KAAAA,IAAkBD,cAActB,cAErCwB,MAAMC,QAAQJ,GAAG,IAAIA,MAAM,CAACA,GAAG;AACxC;;;;AAKA,SAAgBK,oBACdC,OACAC,OACAC,eAAyB7B,aACL;CACpB,IAAI,CAACwB,MAAMC,QAAQI,YAAY,GAC7B,MAAUC,MAAM,uCAAuC;CAGzD,IAAID,aAAaE,WAAW,GAC1B,OAAO;CAGT,IAAM,EAACrB,OAAOsB,UAASjC,YAAY4B,KAAK;CAExC,OAAOlB,YAAYC,OAAOmB,eAAeI,eACvChC,eAAe2B,OAAOrB,IAAIyB,MAAMC,WAAW,CAAC,CAC9C;AACF"}
@@ -1,7 +1,7 @@
1
- import { a as rem, i as _responsive, n as _getArrayProp } from "./helpers-bwfx1e-Y.js";
1
+ import { a as rem, i as _responsive, n as _getArrayProp } from "./helpers-JV5y3U_M.js";
2
2
  import { t as getTheme_v2 } from "./getTheme_v2-y09KqtEb.js";
3
- import { v as responsiveRadiusStyle, y as Box } from "./useLayer-BAVfmbNN.js";
4
- import { n as Text } from "./stack-iW9HuGLg.js";
3
+ import { v as responsiveRadiusStyle, y as Box } from "./useLayer-UpfaKlm7.js";
4
+ import { n as Text } from "./stack-B2zXPxzb.js";
5
5
  import { c } from "react/compiler-runtime";
6
6
  import { Children, useEffect } from "react";
7
7
  import { css, styled } from "styled-components";
@@ -162,4 +162,4 @@ function Hotkeys(props) {
162
162
  }
163
163
  export { useGlobalKeyDown as i, KBD as n, Inline as r, Hotkeys as t };
164
164
 
165
- //# sourceMappingURL=hotkeys-CmmTQZpn.js.map
165
+ //# sourceMappingURL=hotkeys-DyrSy500.js.map