@sanity/ui 4.0.3 → 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.
- package/dist/{arrow-CHE8-_G7.js → arrow-D0mvjJMb.js} +2 -2
- package/dist/{arrow-CHE8-_G7.js.map → arrow-D0mvjJMb.js.map} +1 -1
- package/dist/autocomplete.js +6 -6
- package/dist/breadcrumbs.js +6 -6
- package/dist/{button-D6Z-yLlP.js → button-QO2lWHVH.js} +5 -5
- package/dist/{button-D6Z-yLlP.js.map → button-QO2lWHVH.js.map} +1 -1
- package/dist/code.js +2 -2
- package/dist/{codeFontStyle-DYUujk7K.js → codeFontStyle-aWvllgWi.js} +2 -2
- package/dist/{codeFontStyle-DYUujk7K.js.map → codeFontStyle-aWvllgWi.js.map} +1 -1
- package/dist/{flex-C-5JHi1C.js → flex-C9NHtXFi.js} +3 -3
- package/dist/{flex-C-5JHi1C.js.map → flex-C9NHtXFi.js.map} +1 -1
- package/dist/{grid-BXHFJhf_.js → grid-Cr7qKmZQ.js} +3 -3
- package/dist/{grid-BXHFJhf_.js.map → grid-Cr7qKmZQ.js.map} +1 -1
- package/dist/{helpers-bwfx1e-Y.js → helpers-JV5y3U_M.js} +21 -7
- package/dist/helpers-JV5y3U_M.js.map +1 -0
- package/dist/{hotkeys-Bvex-n5O.js → hotkeys-DyrSy500.js} +4 -4
- package/dist/{hotkeys-Bvex-n5O.js.map → hotkeys-DyrSy500.js.map} +1 -1
- package/dist/index.js +13 -13
- package/dist/{layer-B98ynOf2.js → layer-DcsNupeg.js} +3 -3
- package/dist/{layer-B98ynOf2.js.map → layer-DcsNupeg.js.map} +1 -1
- package/dist/menu.js +7 -7
- package/dist/{popover-PorX5Jv9.js → popover-5fEUllFf.js} +43 -41
- package/dist/popover-5fEUllFf.js.map +1 -0
- package/dist/popover.js +1 -1
- package/dist/{responsiveFont-hN1mZFjm.js → responsiveFont-BwYElGq4.js} +2 -2
- package/dist/{responsiveFont-hN1mZFjm.js.map → responsiveFont-BwYElGq4.js.map} +1 -1
- package/dist/{stack-C2HKTF-l.js → stack-B2zXPxzb.js} +4 -4
- package/dist/{stack-C2HKTF-l.js.map → stack-B2zXPxzb.js.map} +1 -1
- package/dist/{textInput-VH0sQqrm.js → textInput-CgNWWr7H.js} +5 -5
- package/dist/{textInput-VH0sQqrm.js.map → textInput-CgNWWr7H.js.map} +1 -1
- package/dist/toast.js +5 -5
- package/dist/tooltip.js +4 -4
- package/dist/{useClickOutsideEvent-lEVhDFCQ.js → useClickOutsideEvent-DbLUuPQ6.js} +2 -2
- package/dist/{useClickOutsideEvent-lEVhDFCQ.js.map → useClickOutsideEvent-DbLUuPQ6.js.map} +1 -1
- package/dist/{useLayer-BAVfmbNN.js → useLayer-UpfaKlm7.js} +2 -2
- package/dist/{useLayer-BAVfmbNN.js.map → useLayer-UpfaKlm7.js.map} +1 -1
- package/package.json +5 -5
- package/dist/helpers-bwfx1e-Y.js.map +0 -1
- package/dist/popover-PorX5Jv9.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as useTheme_v2, d as createGlobalScopedContext, f as globalScope, r as isRecord } from "./useLayer-
|
|
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-
|
|
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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"}
|
package/dist/autocomplete.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { n as _getArrayProp, o as EMPTY_ARRAY, s as EMPTY_RECORD } from "./helpers-
|
|
3
|
-
import { d as focusFirstDescendant, l as _hasFocus, m as _raf, t as TextInput } from "./textInput-
|
|
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-
|
|
6
|
-
import { n as Text, t as Stack } from "./stack-
|
|
7
|
-
import { t as Button } from "./button-
|
|
8
|
-
import { t as Popover } from "./popover-
|
|
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";
|
package/dist/breadcrumbs.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { n as _getArrayProp } from "./helpers-
|
|
3
|
-
import { y as Box } from "./useLayer-
|
|
4
|
-
import { n as Text, t as Stack } from "./stack-
|
|
5
|
-
import { t as Button } from "./button-
|
|
6
|
-
import { t as Popover } from "./popover-
|
|
7
|
-
import { t as useClickOutsideEvent } from "./useClickOutsideEvent-
|
|
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-
|
|
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-
|
|
4
|
-
import { t as Flex } from "./flex-
|
|
5
|
-
import { n as Text } from "./stack-
|
|
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-
|
|
179
|
+
//# sourceMappingURL=button-QO2lWHVH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-D6Z-yLlP.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-
|
|
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-
|
|
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";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as responsiveFont } from "./responsiveFont-
|
|
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-
|
|
11
|
+
//# sourceMappingURL=codeFontStyle-aWvllgWi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeFontStyle-
|
|
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-
|
|
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-
|
|
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-
|
|
76
|
+
//# sourceMappingURL=flex-C9NHtXFi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flex-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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: {
|
|
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-
|
|
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-
|
|
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-
|
|
4
|
-
import { n as Text } from "./stack-
|
|
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-
|
|
165
|
+
//# sourceMappingURL=hotkeys-DyrSy500.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hotkeys-Bvex-n5O.js","names":["useEffect","useEffectEvent","useGlobalKeyDown","onKeyDown","options","$","_c","t0","event","handleKeyDown","t1","handler","event_0","window","addEventListener","removeEventListener","t2","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveInlineSpaceStyleProps","inlineBaseStyle","display","verticalAlign","inlineSpaceStyle","props","media","space","theme","$space","spaceIndex","_space","padding","Children","useMemo","styled","_getArrayProp","ElementType","Props","Box","BoxOwnProps","inlineBaseStyle","inlineSpaceStyle","ResponsiveInlineSpaceStyleProps","InlineOwnProps","Omit","space","gap","InlineProps","E","StyledInline","InlineComponent","props","$","_c","as","childrenProp","ref","restProps","children","t0","map","_temp","t1","t2","child","Inline","React","JSX","Element","css","styled","_getArrayProp","responsiveRadiusStyle","ResponsiveRadiusStyleProps","ElementType","Props","Radius","Box","Text","KBDOwnProps","fontSize","padding","radius","KBDProps","E","kbdStyle","StyledKBD","kbd","KBDComponent","props","$","_c","children","ref","restProps","t0","t1","t2","undefined","t3","t4","t5","t6","KBD","React","JSX","Element","styled","Inline","KBD","_getArrayProp","Radius","HotkeysProps","fontSize","gap","padding","radius","space","keys","StyledHotkeys","kbd","Key","Hotkeys","props","$","_c","ref","restProps","t0","undefined","t1","spacing","length","t2","Symbol","for","t3","key","i","map","t4"],"sources":["../src/core/hooks/useGlobalKeyDown.ts","../src/core/primitives/inline/styles.ts","../src/core/primitives/inline/inline.tsx","../src/core/primitives/kbd/kbd.tsx","../src/core/components/hotkeys/hotkeys.tsx"],"sourcesContent":["import {useEffect} from 'react'\n// TODO: switch to `useEffectEvent` from `react` once\n// https://github.com/facebook/react/issues/34818 is fixed in the lowest React\n// version we support: on React 19.2 the native hook never sees values past\n// the first render when the calling component is wrapped in `forwardRef` or\n// `memo`. This public hook runs in the fiber of whatever component calls it\n// (consumers may call it from `forwardRef` or `memo` components).\nimport {useEffectEvent} from 'use-effect-event'\n\n/**\n * Adds global keydown event listener to the window.\n *\n * @param onKeyDown - The function to call when a keydown event is triggered.\n * @param options - The options to pass to the addEventListener function (example, capture: true)\n * @beta\n */\nexport function useGlobalKeyDown(\n onKeyDown: (event: KeyboardEvent) => void,\n options?: AddEventListenerOptions,\n): void {\n const handleKeyDown = useEffectEvent((event: KeyboardEvent) => onKeyDown(event))\n\n useEffect(() => {\n const handler = (event: KeyboardEvent) => handleKeyDown(event)\n\n window.addEventListener('keydown', handler, options)\n\n return () => window.removeEventListener('keydown', handler, options)\n }, [options])\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\nexport function inlineBaseStyle(): CSSObject {\n return {\n 'lineHeight': '0',\n\n '&&:not([hidden])': {\n display: 'block',\n },\n\n '& > div': {\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n }\n}\n\nexport function inlineSpaceStyle(props: ResponsiveInlineSpaceStyleProps & ThemeProps): CSSObject[] {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$space, (spaceIndex) => {\n const _space = rem(spaceIndex === 0.5 ? space[1] / 2 : space[spaceIndex])\n\n return {\n 'margin': `-${_space} 0 0 -${_space}`,\n '& > div': {padding: `${_space} 0 0 ${_space}`},\n }\n })\n}\n","import {Children, useMemo} from 'react'\nimport {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {inlineBaseStyle, inlineSpaceStyle} from './styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface InlineOwnProps extends Omit<BoxOwnProps, 'display'> {\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n /** The spacing between children. */\n gap?: number | number[]\n}\n\n/**\n * @public\n */\nexport type InlineProps<E extends ElementType = 'div'> = Props<InlineOwnProps, E>\n\nconst StyledInline = styled(Box)<ResponsiveInlineSpaceStyleProps>(inlineBaseStyle, inlineSpaceStyle)\n\nfunction InlineComponent(\n props: InlineOwnProps & {as?: ElementType} & React.HTMLProps<HTMLDivElement>,\n) {\n const {as, children: childrenProp, gap, ref, ...restProps} = props\n\n const children = useMemo(\n () => Children.map(childrenProp, (child) => child && <div>{child}</div>),\n [childrenProp],\n )\n\n return (\n <StyledInline\n data-ui=\"Inline\"\n {...restProps}\n $space={_getArrayProp(gap)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </StyledInline>\n )\n}\n\n/**\n * The `Inline` component is a layout utility for aligning and spacing items horizontally.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Inline = InlineComponent as unknown as <E extends ElementType = 'div'>(\n props: InlineProps<E>,\n) => React.JSX.Element\n","import {css, styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {ElementType, Props} from '../../types/component'\nimport {Radius} from '../../types/radius'\nimport {Box} from '../box/box'\nimport {Text} from '../text/text'\n\n/**\n * @public\n */\nexport interface KBDOwnProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n}\n\n/**\n * @public\n */\nexport type KBDProps<E extends ElementType = 'kbd'> = Props<KBDOwnProps, E>\n\nfunction kbdStyle() {\n return css`\n --card-bg-color: var(--card-kbd-bg-color);\n --card-border-color: var(--card-kbd-border-color);\n --card-fg-color: var(--card-kbd-fg-color);\n\n box-shadow: inset 0 0 0 1px var(--card-border-color);\n background: var(--card-bg-color);\n font: inherit;\n\n vertical-align: top;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nconst StyledKBD = styled.kbd<ResponsiveRadiusStyleProps>(responsiveRadiusStyle, kbdStyle)\n\nfunction KBDComponent(\n props: KBDOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n) {\n const {children, fontSize = 0, padding = 1, radius = 2, ref, ...restProps} = props\n\n return (\n <StyledKBD data-ui=\"KBD\" {...restProps} $radius={_getArrayProp(radius)} ref={ref}>\n <Box as=\"span\" padding={padding}>\n <Text as=\"span\" size={fontSize} weight=\"semibold\">\n {children}\n </Text>\n </Box>\n </StyledKBD>\n )\n}\n\n/**\n * Used to define some text as keyboard input.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const KBD = KBDComponent as unknown as <E extends ElementType = 'kbd'>(\n props: KBDProps<E>,\n) => React.JSX.Element\n","import {styled} from 'styled-components'\n\nimport {Inline} from '../../primitives/inline/inline'\nimport {KBD} from '../../primitives/kbd/kbd'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {Radius} from '../../types/radius'\n\n/**\n * @public\n */\nexport interface HotkeysProps {\n fontSize?: number | number[]\n gap?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n keys?: string[]\n}\n\nconst StyledHotkeys = styled.kbd`\n font: inherit;\n padding: 1px;\n\n &:not([hidden]) {\n display: block;\n }\n`\n\nconst Key = styled(KBD)`\n &:not([hidden]) {\n display: block;\n }\n`\n\n/**\n * Represent hotkeys (a keyboard combination) with semantic `<kbd>` elements.\n *\n * @public\n */\nexport function Hotkeys(props: HotkeysProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>) {\n const {fontSize, gap = 0.5, keys, padding, radius, ref, ...restProps} = props\n const spacing = _getArrayProp(gap)\n\n if (!keys || keys.length === 0) {\n return <></>\n }\n\n return (\n <StyledHotkeys data-ui=\"Hotkeys\" {...restProps} ref={ref}>\n <Inline as=\"span\" gap={spacing}>\n {keys.map((key, i) => (\n // oxlint-disable-next-line no-array-index-key\n <Key fontSize={fontSize} key={i} padding={padding} radius={radius}>\n {key}\n </Key>\n ))}\n </Inline>\n </StyledHotkeys>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAgBA,SAAOE,iBAAAC,WAAAC,SAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAAAC;CAAA,AAAAF,EAAA,OAAAF,YAI0EI,KAAAF,EAAA,MAA1CE,MAAAC,UAA0BL,UAAUK,KAAK,GAACH,EAAA,KAAAF,WAAAE,EAAA,KAAAE;CAA/E,IAAAE,gBAAsBR,eAAeM,EAA0C,GAACG;CAAA,AAAAL,EAAA,OAAAI,iBAAAJ,EAAA,OAAAD,WAEtEM,WAAA;EACR,IAAAC,WAAgBC,YAA0BH,cAAcD,OAAK;EAET,OAApDK,OAAMC,iBAAkB,WAAWH,SAASP,OAAO,SAEtCS,OAAME,oBAAqB,WAAWJ,SAASP,OAAO;CAAC,GACrEC,EAAA,KAAAI,eAAAJ,EAAA,KAAAD,SAAAC,EAAA,KAAAK,MAAAA,KAAAL,EAAA;CAAA,IAAAW;CANDhB,AAMCK,EAAA,OAAAD,UAAWY,KAAAX,EAAA,MAATW,KAAA,CAACZ,OAAO,GAACC,EAAA,KAAAD,SAAAC,EAAA,KAAAW,KANZhB,UAAUU,IAMPM,EAAS;AAAC;ACtBf,SAAgBO,kBAA6B;CAC3C,OAAO;EACL,YAAc;EAEd,oBAAoB,EAClBC,SAAS,QACX;EAEA,WAAW;GACTA,SAAS;GACTC,eAAe;EACjB;CACF;AACF;AAEA,SAAgBC,iBAAiBC,OAAkE;CACjG,IAAM,EAACC,OAAOC,UAASX,YAAYS,MAAMG,KAAK;CAE9C,OAAOX,YAAYS,OAAOD,MAAMI,SAASC,eAAe;EACtD,IAAMC,SAASb,IAAIY,eAAe,KAAMH,MAAM,KAAK,IAAIA,MAAMG,WAAW;EAExE,OAAO;GACL,QAAU,IAAIC,OAAM,QAASA;GAC7B,WAAW,EAACC,SAAS,GAAGD,OAAM,OAAQA,SAAQ;EAChD;CACF,CAAC;AACH;ACNA,MAAMmB,eAAef,uBAAOI,GAAG,CAAC,CAAA,WAAA;;;AAAkCE,CAAAA,CAAAA,CAAAA,iBAAiBC,gBAAgB;AAEnG,SAAAS,gBAAAC,OAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAAAC,IAAAC,cAAAT,KAAAU,KAAAC;CAAA,AAAAL,EAAA,OAAAD,SAGoEG,KAAAF,EAAA,IAAAG,eAAAH,EAAA,IAAAN,MAAAM,EAAA,IAAAI,MAAAJ,EAAA,IAAAK,YAAAL,EAAA,OAAlE,CAAAE,IAAAI,UAAAH,cAAAT,KAAAU,QAAAC,aAA6DN,OAAKC,EAAA,KAAAD,OAAAC,EAAA,KAAAE,IAAAF,EAAA,KAAAG,cAAAH,EAAA,KAAAN,KAAAM,EAAA,KAAAI,KAAAJ,EAAA,KAAAK;CAAA,IAAAE;CAAA,AAAAP,EAAA,OAAAG,eAGQI,KAAAP,EAAA,MAAlEO,KAAA3B,SAAQ4B,IAAKL,cAAcM,KAAsC,GAACT,EAAA,KAAAG,cAAAH,EAAA,KAAAO;CAD1E,IAAAD,WACQC,IAEPG;CAAA,AAAAV,EAAA,OAAAN,MAM6BgB,KAAAV,EAAA,MAAlBU,KAAA3B,cAAcW,GAAG,GAACM,EAAA,KAAAN,KAAAM,EAAA,KAAAU;CAAA,IAAAC;CAKb,OALaX,EAAA,QAAAE,MAAAF,EAAA,QAAAM,YAAAN,EAAA,QAAAI,OAAAJ,EAAA,QAAAK,aAAAL,EAAA,QAAAU,MAH5BC,KAAA,oBAAC,cAAD;EACU,WAAA;EAAQ,GACZN;EACI,QAAAK;EACKR,aAAAA;EACRE;EAEJE;CAPU,CAAA,GAQEN,EAAA,MAAAE,IAAAF,EAAA,MAAAM,UAAAN,EAAA,MAAAI,KAAAJ,EAAA,MAAAK,WAAAL,EAAA,MAAAU,IAAAV,EAAA,MAAAW,MAAAA,KAAAX,EAAA,KARfW;AAQe;;;;;;AAnBnB,SAAAF,MAAAG,OAAA;CAAA,OAMgDA,SAAS,oBAAA,OAAA,EAAA,UAAMA,MAAY,CAAA;AAAA;AAuB3E,MAAaC,SAASf;ACjCtB,SAASmC,WAAW;CAClB,OAAOhB,GAAG;AAeZ;AAEA,MAAMiB,YAAYhB,uBAAOiB,IAAAA,WAAAA;;;AAAgCf,CAAAA,CAAAA,CAAAA,uBAAuBa,QAAQ;AAExF,SAAAG,aAAAC,OAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAAAC,UAAAC,KAAAC,WAAAC,IAAAC,IAAAC;CAAA,AAAAP,EAAA,OAAAD,SAGoFG,WAAAF,EAAA,IAAAG,MAAAH,EAAA,IAAAI,YAAAJ,EAAA,IAAAK,KAAAL,EAAA,IAAAM,KAAAN,EAAA,IAAAO,KAAAP,EAAA,OAAlF,CAAAE,UAAAZ,UAAAe,IAAAd,SAAAe,IAAAd,QAAAe,IAAAJ,QAAAC,aAA6EL,OAAKC,EAAA,KAAAD,OAAAC,EAAA,KAAAE,UAAAF,EAAA,KAAAG,KAAAH,EAAA,KAAAI,WAAAJ,EAAA,KAAAK,IAAAL,EAAA,KAAAM,IAAAN,EAAA,KAAAO;CAAjE,IAAAjB,WAAAe,OAAAG,KAAAA,IAAA,IAAAH,IAAcd,UAAAe,OAAAE,KAAAA,IAAA,IAAAF,IAAad,SAAAe,OAAAC,KAAAA,IAAA,IAAAD,IAAUE;CAAA,AAAAT,EAAA,OAAAR,SAGkBiB,KAAAT,EAAA,MAArBS,KAAA5B,cAAcW,MAAM,GAACQ,EAAA,KAAAR,QAAAQ,EAAA,KAAAS;CAAA,IAAAC;CAAA,AAAAV,EAAA,OAAAE,YAAAF,EAAA,QAAAV,YAElEoB,KAAA,oBAAC,MAAD;EAAS,IAAA;EAAapB,MAAAA;EAAiB,QAAA;EACpCY;CADE,CAAA,GAEEF,EAAA,KAAAE,UAAAF,EAAA,MAAAV,UAAAU,EAAA,MAAAU,MAAAA,KAAAV,EAAA;CAAA,IAAAW;CAAA,AAAAX,EAAA,QAAAT,WAAAS,EAAA,QAAAU,MAHTC,KAAA,oBAAC,KAAD;EAAQ,IAAA;EAAgBpB;EACtBmB,UAAAA;CADE,CAAA,GAIEV,EAAA,MAAAT,SAAAS,EAAA,MAAAU,IAAAV,EAAA,MAAAW,MAAAA,KAAAX,EAAA;CAAA,IAAAY;CACI,OADJZ,EAAA,QAAAG,OAAAH,EAAA,QAAAI,aAAAJ,EAAA,QAAAS,MAAAT,EAAA,QAAAW,MALRC,KAAA,oBAAC,WAAD;EAAmB,WAAA;EAAK,GAAKR;EAAoB,SAAAK;EAA4BN;EAC3EQ,UAAAA;CADQ,CAAA,GAMEX,EAAA,MAAAG,KAAAH,EAAA,MAAAI,WAAAJ,EAAA,MAAAS,IAAAT,EAAA,MAAAW,IAAAX,EAAA,MAAAY,MAAAA,KAAAZ,EAAA,KANZY;AAMY;;;;;;AAUhB,MAAaC,MAAMf,cC5Cb+B,gBAAgBZ,OAAOa,IAAAA,WAAAA;;;AAAG,CAAA,CAAA,4DAS1BC,MAAMd,OAAOE,GAAG,CAAC,CAAA,WAAA;;;;;;;;;AAWvB,SAAOa,QAAAC,OAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAAAZ,UAAAK,MAAAH,SAAAC,QAAAU,KAAAC,WAAAC;CAAA,AAAAJ,EAAA,OAAAD,SACwEV,WAAAW,EAAA,IAAAN,OAAAM,EAAA,IAAAT,UAAAS,EAAA,IAAAR,SAAAQ,EAAA,IAAAE,MAAAF,EAAA,IAAAG,YAAAH,EAAA,IAAAI,KAAAJ,EAAA,OAA7E,CAAAX,UAAAC,KAAAc,IAAAV,MAAAH,SAAAC,QAAAU,QAAAC,aAAwEJ,OAAKC,EAAA,KAAAD,OAAAC,EAAA,KAAAX,UAAAW,EAAA,KAAAN,MAAAM,EAAA,KAAAT,SAAAS,EAAA,KAAAR,QAAAQ,EAAA,KAAAE,KAAAF,EAAA,KAAAG,WAAAH,EAAA,KAAAI;CAA5D,IAAAd,MAAAc,OAAAC,KAAAA,IAAA,KAAAD,IAASE;CAAA,AAAAN,EAAA,OAAAV,MACQgB,KAAAN,EAAA,MAAlBM,KAAApB,cAAcI,GAAG,GAACU,EAAA,KAAAV,KAAAU,EAAA,KAAAM;CAAlC,IAAAC,UAAgBD;CAEhB,IAAI,CAACZ,QAAQA,KAAIc,WAAY,GAAC;EAAA,IAAAC;EAChB,OADgBT,EAAA,QAAAU,OAAAC,IAAA,2BAAA,KACrBF,KAAA,oBAAA,YAAA,CAAA,CAAA,GAAKT,EAAA,MAAAS,MAAAA,KAAAT,EAAA,KAALS;CAAK;CACb,IAAAA;CAAA,IAAAT,EAAA,QAAAX,YAAAW,EAAA,QAAAN,QAAAM,EAAA,QAAAT,WAAAS,EAAA,QAAAR,QAAA;EAAA,IAAAoB;EAUOZ,AAVPA,EAAA,QAAAX,YAAAW,EAAA,QAAAT,WAAAS,EAAA,QAAAR,UAKeoB,MAAAC,KAAAC,MAER,oBAAC,KAAD;GAAezB;GAA2BE;GAAiBC;GACxDqB,UAAAA;EADC,GAA0BC,CAA1B,GAGLd,EAAA,MAAAX,UAAAW,EAAA,MAAAT,SAAAS,EAAA,MAAAR,QAAAQ,EAAA,MAAAY,MAAAA,KAAAZ,EAAA,KALAS,KAAAf,KAAIqB,IAAKH,EAKT,GAACZ,EAAA,MAAAX,UAAAW,EAAA,MAAAN,MAAAM,EAAA,MAAAT,SAAAS,EAAA,MAAAR,QAAAQ,EAAA,MAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,IAAAY;CAAA,AAAAZ,EAAA,QAAAO,WAAAP,EAAA,QAAAS,MANJG,KAAA,oBAAC,QAAD;EAAW,IAAA;EAAYL,KAAAA;EACpBE,UAAAA;CADI,CAAA,GAOET,EAAA,MAAAO,SAAAP,EAAA,MAAAS,IAAAT,EAAA,MAAAY,MAAAA,KAAAZ,EAAA;CAAA,IAAAgB;CACK,OADLhB,EAAA,QAAAE,OAAAF,EAAA,QAAAG,aAAAH,EAAA,QAAAY,MARXI,KAAA,oBAAC,eAAD;EAAuB,WAAA;EAAS,GAAKb;EAAgBD;EACnDU,UAAAA;CADY,CAAA,GASEZ,EAAA,MAAAE,KAAAF,EAAA,MAAAG,WAAAH,EAAA,MAAAY,IAAAZ,EAAA,MAAAgB,MAAAA,KAAAhB,EAAA,KAThBgB;AASgB"}
|
|
1
|
+
{"version":3,"file":"hotkeys-DyrSy500.js","names":["useEffect","useEffectEvent","useGlobalKeyDown","onKeyDown","options","$","_c","t0","event","handleKeyDown","t1","handler","event_0","window","addEventListener","removeEventListener","t2","CSSObject","getTheme_v2","_responsive","rem","ThemeProps","ResponsiveInlineSpaceStyleProps","inlineBaseStyle","display","verticalAlign","inlineSpaceStyle","props","media","space","theme","$space","spaceIndex","_space","padding","Children","useMemo","styled","_getArrayProp","ElementType","Props","Box","BoxOwnProps","inlineBaseStyle","inlineSpaceStyle","ResponsiveInlineSpaceStyleProps","InlineOwnProps","Omit","space","gap","InlineProps","E","StyledInline","InlineComponent","props","$","_c","as","childrenProp","ref","restProps","children","t0","map","_temp","t1","t2","child","Inline","React","JSX","Element","css","styled","_getArrayProp","responsiveRadiusStyle","ResponsiveRadiusStyleProps","ElementType","Props","Radius","Box","Text","KBDOwnProps","fontSize","padding","radius","KBDProps","E","kbdStyle","StyledKBD","kbd","KBDComponent","props","$","_c","children","ref","restProps","t0","t1","t2","undefined","t3","t4","t5","t6","KBD","React","JSX","Element","styled","Inline","KBD","_getArrayProp","Radius","HotkeysProps","fontSize","gap","padding","radius","space","keys","StyledHotkeys","kbd","Key","Hotkeys","props","$","_c","ref","restProps","t0","undefined","t1","spacing","length","t2","Symbol","for","t3","key","i","map","t4"],"sources":["../src/core/hooks/useGlobalKeyDown.ts","../src/core/primitives/inline/styles.ts","../src/core/primitives/inline/inline.tsx","../src/core/primitives/kbd/kbd.tsx","../src/core/components/hotkeys/hotkeys.tsx"],"sourcesContent":["import {useEffect} from 'react'\n// TODO: switch to `useEffectEvent` from `react` once\n// https://github.com/facebook/react/issues/34818 is fixed in the lowest React\n// version we support: on React 19.2 the native hook never sees values past\n// the first render when the calling component is wrapped in `forwardRef` or\n// `memo`. This public hook runs in the fiber of whatever component calls it\n// (consumers may call it from `forwardRef` or `memo` components).\nimport {useEffectEvent} from 'use-effect-event'\n\n/**\n * Adds global keydown event listener to the window.\n *\n * @param onKeyDown - The function to call when a keydown event is triggered.\n * @param options - The options to pass to the addEventListener function (example, capture: true)\n * @beta\n */\nexport function useGlobalKeyDown(\n onKeyDown: (event: KeyboardEvent) => void,\n options?: AddEventListenerOptions,\n): void {\n const handleKeyDown = useEffectEvent((event: KeyboardEvent) => onKeyDown(event))\n\n useEffect(() => {\n const handler = (event: KeyboardEvent) => handleKeyDown(event)\n\n window.addEventListener('keydown', handler, options)\n\n return () => window.removeEventListener('keydown', handler, options)\n }, [options])\n}\n","import {CSSObject} from '../../../theme/system/css'\nimport {getTheme_v2} from '../../../theme/versioning/getTheme_v2'\nimport {_responsive, rem} from '../../styles/helpers'\nimport {ThemeProps} from '../../styles/types'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\nexport function inlineBaseStyle(): CSSObject {\n return {\n 'lineHeight': '0',\n\n '&&:not([hidden])': {\n display: 'block',\n },\n\n '& > div': {\n display: 'inline-block',\n verticalAlign: 'middle',\n },\n }\n}\n\nexport function inlineSpaceStyle(props: ResponsiveInlineSpaceStyleProps & ThemeProps): CSSObject[] {\n const {media, space} = getTheme_v2(props.theme)\n\n return _responsive(media, props.$space, (spaceIndex) => {\n const _space = rem(spaceIndex === 0.5 ? space[1] / 2 : space[spaceIndex])\n\n return {\n 'margin': `-${_space} 0 0 -${_space}`,\n '& > div': {padding: `${_space} 0 0 ${_space}`},\n }\n })\n}\n","import {Children, useMemo} from 'react'\nimport {styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles/helpers'\nimport {ElementType, Props} from '../../types/component'\nimport {Box, BoxOwnProps} from '../box/box'\nimport {inlineBaseStyle, inlineSpaceStyle} from './styles'\nimport {ResponsiveInlineSpaceStyleProps} from './types'\n\n/**\n * @public\n */\nexport interface InlineOwnProps extends Omit<BoxOwnProps, 'display'> {\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n /** The spacing between children. */\n gap?: number | number[]\n}\n\n/**\n * @public\n */\nexport type InlineProps<E extends ElementType = 'div'> = Props<InlineOwnProps, E>\n\nconst StyledInline = styled(Box)<ResponsiveInlineSpaceStyleProps>(inlineBaseStyle, inlineSpaceStyle)\n\nfunction InlineComponent(\n props: InlineOwnProps & {as?: ElementType} & React.HTMLProps<HTMLDivElement>,\n) {\n const {as, children: childrenProp, gap, ref, ...restProps} = props\n\n const children = useMemo(\n () => Children.map(childrenProp, (child) => child && <div>{child}</div>),\n [childrenProp],\n )\n\n return (\n <StyledInline\n data-ui=\"Inline\"\n {...restProps}\n $space={_getArrayProp(gap)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </StyledInline>\n )\n}\n\n/**\n * The `Inline` component is a layout utility for aligning and spacing items horizontally.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const Inline = InlineComponent as unknown as <E extends ElementType = 'div'>(\n props: InlineProps<E>,\n) => React.JSX.Element\n","import {css, styled} from 'styled-components'\n\nimport {_getArrayProp} from '../../styles/helpers'\nimport {responsiveRadiusStyle} from '../../styles/radius/radiusStyle'\nimport {ResponsiveRadiusStyleProps} from '../../styles/radius/types'\nimport {ElementType, Props} from '../../types/component'\nimport {Radius} from '../../types/radius'\nimport {Box} from '../box/box'\nimport {Text} from '../text/text'\n\n/**\n * @public\n */\nexport interface KBDOwnProps {\n fontSize?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n}\n\n/**\n * @public\n */\nexport type KBDProps<E extends ElementType = 'kbd'> = Props<KBDOwnProps, E>\n\nfunction kbdStyle() {\n return css`\n --card-bg-color: var(--card-kbd-bg-color);\n --card-border-color: var(--card-kbd-border-color);\n --card-fg-color: var(--card-kbd-fg-color);\n\n box-shadow: inset 0 0 0 1px var(--card-border-color);\n background: var(--card-bg-color);\n font: inherit;\n\n vertical-align: top;\n\n &:not([hidden]) {\n display: inline-block;\n }\n `\n}\n\nconst StyledKBD = styled.kbd<ResponsiveRadiusStyleProps>(responsiveRadiusStyle, kbdStyle)\n\nfunction KBDComponent(\n props: KBDOwnProps & {as?: ElementType} & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>,\n) {\n const {children, fontSize = 0, padding = 1, radius = 2, ref, ...restProps} = props\n\n return (\n <StyledKBD data-ui=\"KBD\" {...restProps} $radius={_getArrayProp(radius)} ref={ref}>\n <Box as=\"span\" padding={padding}>\n <Text as=\"span\" size={fontSize} weight=\"semibold\">\n {children}\n </Text>\n </Box>\n </StyledKBD>\n )\n}\n\n/**\n * Used to define some text as keyboard input.\n *\n * @public\n */\n// oxlint-disable-next-line no-unsafe-type-assertion\nexport const KBD = KBDComponent as unknown as <E extends ElementType = 'kbd'>(\n props: KBDProps<E>,\n) => React.JSX.Element\n","import {styled} from 'styled-components'\n\nimport {Inline} from '../../primitives/inline/inline'\nimport {KBD} from '../../primitives/kbd/kbd'\nimport {_getArrayProp} from '../../styles/helpers'\nimport {Radius} from '../../types/radius'\n\n/**\n * @public\n */\nexport interface HotkeysProps {\n fontSize?: number | number[]\n gap?: number | number[]\n padding?: number | number[]\n radius?: Radius | Radius[]\n /**\n * @deprecated Use `gap` instead.\n */\n space?: never\n keys?: string[]\n}\n\nconst StyledHotkeys = styled.kbd`\n font: inherit;\n padding: 1px;\n\n &:not([hidden]) {\n display: block;\n }\n`\n\nconst Key = styled(KBD)`\n &:not([hidden]) {\n display: block;\n }\n`\n\n/**\n * Represent hotkeys (a keyboard combination) with semantic `<kbd>` elements.\n *\n * @public\n */\nexport function Hotkeys(props: HotkeysProps & Omit<React.HTMLProps<HTMLElement>, 'as' | 'size'>) {\n const {fontSize, gap = 0.5, keys, padding, radius, ref, ...restProps} = props\n const spacing = _getArrayProp(gap)\n\n if (!keys || keys.length === 0) {\n return <></>\n }\n\n return (\n <StyledHotkeys data-ui=\"Hotkeys\" {...restProps} ref={ref}>\n <Inline as=\"span\" gap={spacing}>\n {keys.map((key, i) => (\n // oxlint-disable-next-line no-array-index-key\n <Key fontSize={fontSize} key={i} padding={padding} radius={radius}>\n {key}\n </Key>\n ))}\n </Inline>\n </StyledHotkeys>\n )\n}\n"],"mappings":"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"}
|