@sanity/ui 4.0.3 → 4.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{arrow-CHE8-_G7.js → arrow-BaqZdFUX.js} +5 -5
- package/dist/arrow-BaqZdFUX.js.map +1 -0
- package/dist/autocomplete.js +8 -8
- package/dist/autocomplete.js.map +1 -1
- package/dist/breadcrumbs.js +8 -8
- package/dist/breadcrumbs.js.map +1 -1
- package/dist/{button-D6Z-yLlP.js → button-DpAiERt1.js} +7 -7
- package/dist/button-DpAiERt1.js.map +1 -0
- package/dist/code.js +3 -3
- package/dist/code.js.map +1 -1
- package/dist/{codeFontStyle-DYUujk7K.js → codeFontStyle-aWvllgWi.js} +2 -2
- package/dist/codeFontStyle-aWvllgWi.js.map +1 -0
- package/dist/element-BYgCE_iK.js.map +1 -1
- package/dist/factory-BA3gEfyI.js.map +1 -1
- package/dist/{flex-C-5JHi1C.js → flex-C6SsHFy8.js} +4 -4
- package/dist/flex-C6SsHFy8.js.map +1 -0
- package/dist/getElementRef-5HZQ-Owu.js.map +1 -1
- package/dist/getScopedTheme-C-sZsyAz.js.map +1 -1
- package/dist/getTheme_v2-y09KqtEb.js.map +1 -1
- package/dist/{grid-BXHFJhf_.js → grid-3kBnMOwF.js} +4 -4
- package/dist/grid-3kBnMOwF.js.map +1 -0
- package/dist/{helpers-bwfx1e-Y.js → helpers-JV5y3U_M.js} +21 -7
- package/dist/helpers-JV5y3U_M.js.map +1 -0
- package/dist/{hotkeys-Bvex-n5O.js → hotkeys-BYRfM-HW.js} +11 -11
- package/dist/hotkeys-BYRfM-HW.js.map +1 -0
- package/dist/index.js +61 -61
- package/dist/index.js.map +1 -1
- package/dist/{layer-B98ynOf2.js → layer-DsScTlqC.js} +4 -4
- package/dist/layer-DsScTlqC.js.map +1 -0
- package/dist/menu.js +10 -10
- package/dist/menu.js.map +1 -1
- package/dist/{popover-PorX5Jv9.js → popover-C2DFbwZu.js} +43 -41
- package/dist/popover-C2DFbwZu.js.map +1 -0
- package/dist/popover.js +1 -1
- package/dist/refractor-CC48DwHi.js.map +1 -1
- package/dist/{responsiveFont-hN1mZFjm.js → responsiveFont-BwYElGq4.js} +2 -2
- package/dist/responsiveFont-BwYElGq4.js.map +1 -0
- package/dist/{stack-C2HKTF-l.js → stack-wyPeapSx.js} +6 -6
- package/dist/stack-wyPeapSx.js.map +1 -0
- package/dist/{textInput-VH0sQqrm.js → textInput-DW447nYT.js} +15 -15
- package/dist/textInput-DW447nYT.js.map +1 -0
- package/dist/theme.js.map +1 -1
- package/dist/toast.js +11 -11
- package/dist/toast.js.map +1 -1
- package/dist/tooltip.js +6 -6
- package/dist/tooltip.js.map +1 -1
- package/dist/{useClickOutsideEvent-lEVhDFCQ.js → useClickOutsideEvent-DbLUuPQ6.js} +2 -2
- package/dist/useClickOutsideEvent-DbLUuPQ6.js.map +1 -0
- package/dist/useElementSize-BJvbGHq8.js.map +1 -1
- package/dist/{useLayer-BAVfmbNN.js → useLayer-Dhme0dcp.js} +12 -12
- package/dist/useLayer-Dhme0dcp.js.map +1 -0
- package/package.json +6 -6
- package/dist/arrow-CHE8-_G7.js.map +0 -1
- package/dist/button-D6Z-yLlP.js.map +0 -1
- package/dist/codeFontStyle-DYUujk7K.js.map +0 -1
- package/dist/flex-C-5JHi1C.js.map +0 -1
- package/dist/grid-BXHFJhf_.js.map +0 -1
- package/dist/helpers-bwfx1e-Y.js.map +0 -1
- package/dist/hotkeys-Bvex-n5O.js.map +0 -1
- package/dist/layer-B98ynOf2.js.map +0 -1
- package/dist/popover-PorX5Jv9.js.map +0 -1
- package/dist/responsiveFont-hN1mZFjm.js.map +0 -1
- package/dist/stack-C2HKTF-l.js.map +0 -1
- package/dist/textInput-VH0sQqrm.js.map +0 -1
- package/dist/useClickOutsideEvent-lEVhDFCQ.js.map +0 -1
- package/dist/useLayer-BAVfmbNN.js.map +0 -1
|
@@ -1,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-Dhme0dcp.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
5
5
|
import { styled } from "styled-components";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -37,7 +37,7 @@ function responsiveFlexDirectionStyle(props) {
|
|
|
37
37
|
}
|
|
38
38
|
const StyledFlex = /* @__PURE__ */ styled(Box).withConfig({
|
|
39
39
|
displayName: "StyledFlex",
|
|
40
|
-
componentId: "sc-
|
|
40
|
+
componentId: "sc-f161j9-0"
|
|
41
41
|
})(flexItemStyle, responsiveFlexStyle);
|
|
42
42
|
function FlexComponent(props) {
|
|
43
43
|
let $ = c(28), align, as, gap, justify, ref, restProps, t0, wrap;
|
|
@@ -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-C6SsHFy8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flex-C6SsHFy8.js","names":["direction = 'row'","_getArrayProp(align)","_getArrayProp(direction)","_getArrayProp(gap)","_getArrayProp(justify)","_getArrayProp(wrap)","<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 />"],"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":";;;;;;AAMA,MAAM,aAAwB,EAC5B,oBAAoB,EAClB,SAAS,OACX,EACF;AAEA,SAAgB,sBAEd;CACA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;CACF;AACF;AAEA,SAAS,yBAAyB,OAA2D;CAC3F,IAAM,EAAC,UAAS,YAAY,MAAM,KAAK;CAEvC,OAAO,YAAY,OAAO,MAAM,SAAS,WAChC,EAAC,YAAY,MAAK,EAC1B;AACH;AAEA,SAAS,uBAAuB,OAA8C;CAC5E,IAAM,EAAC,OAAO,UAAS,YAAY,MAAM,KAAK;CAE9C,OAAO,YAAY,OAAO,MAAM,OAAO,SAAS,EAC9C,KAAK,MAAM,IAAI,MAAM,IAAI,IAAI,KAAA,EAC/B,EAAE;AACJ;AAEA,SAAS,wBAAwB,OAA2D;CAC1F,IAAM,EAAC,UAAS,YAAY,MAAM,KAAK;CAEvC,OAAO,YAAY,OAAO,MAAM,QAAQ,UAC/B,EAAC,UAAU,KAAI,EACvB;AACH;AAEA,SAAS,2BAA2B,OAA2D;CAC7F,IAAM,EAAC,UAAS,YAAY,MAAM,KAAK;CAEvC,OAAO,YAAY,OAAO,MAAM,WAAW,aAClC,EAAC,gBAAgB,QAAO,EAChC;AACH;AAEA,SAAS,6BAA6B,OAA2D;CAC/F,IAAM,EAAC,UAAS,YAAY,MAAM,KAAK;CAEvC,OAAO,YAAY,OAAO,MAAM,aAAa,eACpC,EAAC,eAAe,UAAS,EACjC;AACH;ACxCA,MAAM,aAAa,uBAAO,GAAG,CAAC,CAAA,WAAA;;;AAC5B,CAAA,CAAA,CAAA,eACA,mBACF;AAEA,SAAS,cACP,OACA;gBACO,OAAO,IAAuB,KAAK,SAAS,KAAc,WAA/CA,IAAsC;CAAsB,AAAA,EAAA,OAAA,uHAAxE,CAAC,OAAO,IAAI,WAAA,IAAmB,KAAK,SAAS,KAAK,SAAM,aAAgB;CAA5D,IAAA,YAAA,OAAA,KAAA,IAAY,QAAZA,IAMNC;CAAc,AAAA,EAAA,OAAA,sBAAd,KAAA,cAAc,KAAK,GAAL,EAAA,KAAA;CACVC,IAAAA;CAAc,AAAA,EAAA,QAAA,0BAAd,KAAA,cAAc,SAAS,GAAT,EAAA,MAAA;CACpBC,IAAAA;CAAc,AAAA,EAAA,QAAA,oBAAd,KAAA,cAAc,GAAG,GAAH,EAAA,MAAA;CACVC,IAAAA;CAAc,AAAA,EAAA,QAAA,wBAAd,KAAA,cAAc,OAAO,GAAP,EAAA,MAAA;CACjBC,IAAAA;CAAc,AAAA,EAAA,QAAA,qBAAd,KAAA,cAAc,IAAI,GAAJ,EAAA,MAAA;CAPvBC,IAAAA;CADF,OASiB,EAAA,QAAA,MAAA,EAAA,QACR,OAAA,EAAA,QAPD,aAAA,EAAA,QACIL,MAAAA,EAAAA,QACIC,MAAAA,EAAAA,QACNC,MAAAA,EAAAA,QACIC,MAAAA,EAAAA,QACHC,MAPT,KAAA,oBAAC,YAAD;EACE,WAAQ;EACR,GAAI;EACJ,QAAQJ;EACR,YAAYC;EACZ,MAAMC;EACN,UAAUC;EACV,OAAOC;EACP,aAAa;EACR;CACN,CAAA,GAFc,EAAA,MAAA,IACR,EAAA,MAAA,KAPD,EAAA,MAAA,WACIJ,EAAAA,MAAAA,IACIC,EAAAA,MAAAA,IACNC,EAAAA,MAAAA,IACIC,EAAAA,MAAAA,IACHC,EAAAA,MAAAA,8BAPTC;AAYJ;;;;;;AAQA,MAAa,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getElementRef-5HZQ-Owu.js","names":["
|
|
1
|
+
{"version":3,"file":"getElementRef-5HZQ-Owu.js","names":["{mode: modeFromProps, layoutMode, children}: AnimateActivityProps","() => setMode('hidden')","<PresenceChild\n isPresent={isPresent}\n onExitComplete={!isPresent ? onExitComplete : undefined}\n presenceAffectsLayout={false}\n mode={layoutMode === 'pop' ? 'popLayout' : 'sync'}\n >\n {/* oxlint-disable-next-line no-unsafe-type-assertion -- PresenceChild expects a single ReactElement */}\n {children as any}\n </PresenceChild>","!isPresent ? onExitComplete : undefined","layoutMode === 'pop' ? 'popLayout' : 'sync'","children as any","<Activity mode={mode}>\n <PresenceChild\n isPresent={isPresent}\n onExitComplete={!isPresent ? onExitComplete : undefined}\n presenceAffectsLayout={false}\n mode={layoutMode === 'pop' ? 'popLayout' : 'sync'}\n >\n {/* oxlint-disable-next-line no-unsafe-type-assertion -- PresenceChild expects a single ReactElement */}\n {children as any}\n </PresenceChild>\n </Activity>"],"sources":["../src/core/middleware/origin.ts","../src/core/utils/animateActivity.tsx","../src/core/utils/getElementRef.ts"],"sourcesContent":["import {Middleware} from '@floating-ui/react-dom'\n\n/**\n * Custom floating-ui middleware which calculates transform-origin X + Y offsets\n * based on the current floating rect's dimensions and shift offset.\n *\n * Scaling popovers with these transform-origin offsets will give the effect of\n * popvers slightly 'growing' from the origin/reference element.\n *\n * This middleware must be applied after both `@sanity/ui/size` and `shift` middlewares.\n */\nexport const origin: Middleware = {\n name: '@sanity/ui/origin',\n fn({middlewareData, placement, rects}) {\n const [side] = placement.split('-')\n\n const floatingWidth = rects.floating.width\n const floatingHeight = rects.floating.height\n\n const shiftX = middlewareData.shift?.x || 0\n const shiftY = middlewareData.shift?.y || 0\n\n if (floatingWidth <= 0 || floatingHeight <= 0) {\n return {}\n }\n\n const isVerticalPlacement = ['bottom', 'top'].includes(side)\n\n const {originX, originY}: {originX: number; originY: number} = isVerticalPlacement\n ? {\n originX: clamp(0.5 - shiftX / floatingWidth, 0, 1),\n originY: side === 'bottom' ? 0 : 1,\n }\n : {\n originX: side === 'left' ? 1 : 0,\n originY: clamp(0.5 - shiftY / floatingHeight, 0, 1),\n }\n\n return {\n data: {originX, originY},\n }\n },\n}\n\nfunction clamp(num: number, min: number, max: number) {\n return Math.min(Math.max(num, min), max)\n}\n","/**\n * MIT License\n *\n * Copyright (c) 2024 Motion One\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport {invariant, PresenceChild} from 'motion/react'\nimport {Activity, useState} from 'react'\n\ninterface AnimateActivityProps {\n mode: 'visible' | 'hidden'\n layoutMode: 'default' | 'pop'\n children: React.ReactNode\n}\n\n/**\n * Animated version of React's `Activity` that defers `mode=\"hidden\"` until\n * child exit animations have finished.\n *\n * @internal\n */\nexport function AnimateActivity({mode: modeFromProps, layoutMode, children}: AnimateActivityProps) {\n /**\n * This is the mode that we'll render.\n */\n const [mode, setMode] = useState(modeFromProps)\n\n /**\n * This is the goal state as defined by props.\n */\n const isPresent = modeFromProps === 'visible'\n\n /**\n * Immediately switch to mode=\"visible\" when the user\n * changes the mode prop.\n */\n if (isPresent && mode !== 'visible') {\n setMode('visible')\n return null\n }\n\n /**\n * Set mode to \"hidden\" only when the exit animation is complete.\n */\n const onExitComplete = () => setMode('hidden')\n\n invariant(Boolean(Activity), 'Activity component not found - upgrade to React 19.2.0 or higher')\n\n return (\n <Activity mode={mode}>\n <PresenceChild\n isPresent={isPresent}\n onExitComplete={!isPresent ? onExitComplete : undefined}\n presenceAffectsLayout={false}\n mode={layoutMode === 'pop' ? 'popLayout' : 'sync'}\n >\n {/* oxlint-disable-next-line no-unsafe-type-assertion -- PresenceChild expects a single ReactElement */}\n {children as any}\n </PresenceChild>\n </Activity>\n )\n}\n","// Based on https://github.com/radix-ui/primitives/blob/0bade6a704e5821b90a6da0f3d8cfa8a7711127d/packages/react/slot/src/Slot.tsx#L128-L150\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nexport function getElementRef(element: React.ReactElement) {\n // React <=18 in DEV\n // oxlint-disable-next-line unbound-method\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n // oxlint-disable-next-line no-unsafe-type-assertion\n return (element as any).ref\n }\n\n // React 19 in DEV\n // oxlint-disable-next-line unbound-method\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning\n\n if (mayWarn) {\n // oxlint-disable-next-line no-unsafe-type-assertion\n return (element.props as {ref?: React.Ref<unknown>}).ref\n }\n\n // Not DEV\n // oxlint-disable-next-line no-unsafe-type-assertion\n return (element.props as {ref?: React.Ref<unknown>}).ref || (element as any).ref\n}\n"],"mappings":";;;;;;;;;;;;;AAWA,MAAa,SAAqB;CAChC,MAAM;CACN,GAAG,EAAC,gBAAgB,WAAW,SAAQ;EACrC,IAAM,CAAC,QAAQ,UAAU,MAAM,GAAG,GAE5B,gBAAgB,MAAM,SAAS,OAC/B,iBAAiB,MAAM,SAAS,QAEhC,SAAS,eAAe,OAAO,KAAK,GACpC,SAAS,eAAe,OAAO,KAAK;EAE1C,IAAI,iBAAiB,KAAK,kBAAkB,GAC1C,OAAO,CAAC;EAKV,IAAM,EAAC,SAAS,YAFY,CAAC,UAAU,KAAK,CAAC,CAAC,SAAS,IAEQ,IAC3D;GACE,SAAS,MAAM,KAAM,SAAS,eAAe,GAAG,CAAC;GACjD,SAAS,SAAS,WAAW,IAAI;EACnC,IACA;GACE,SAAS,WAAS;GAClB,SAAS,MAAM,KAAM,SAAS,gBAAgB,GAAG,CAAC;EACpD;EAEJ,OAAO,EACL,MAAM;GAAC;GAAS;EAAO,EACzB;CACF;AACF;AAEA,SAAS,MAAM,KAAa,KAAa,KAAa;CACpD,OAAO,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG,GAAG,GAAG;AACzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPA,SAAgB,gBAAA,IAAmF;eAAnE,EAAC,MAAM,eAAe,YAAY,aAAlCA,IAIxB,CAAC,MAAM,WAAW,SAAS,aAAa,GAKxC,YAAY,kBAAkB;CAMpC,IAAI,aAAa,SAAS,WAExB,OADA,QAAQ,SAAS,GACV;CAMcC,IAAAA;qDAAM,WAAA,QAAQ,QAAQ;CAA7C,IAAM,iBAAiBA;CAEvB,UAAU,EAAQ,UAAW,kEAAkE;CAMzE,IAAA,KAAC,YAA6B,KAAA,IAAjB,gBAEvB,KAAA,eAAe,QAAQ,cAAc,QAG1C,KAAA,UAPHC;CACa,AAAA,EAAA,OAAA,aAAA,EAAA,OACKC,MAAAA,EAAAA,OAEVC,MAAAA,EAAAA,OAGLC,MAPH,KAAA,oBAAC,eAAD;EACa;EACX,gBAAgBF;EAChB,uBAAuB;EACvB,MAAMC;EAGLC,UAAAA;CACY,CAAA,GAPF,EAAA,KAAA,WACKF,EAAAA,KAAAA,IAEVC,EAAAA,KAAAA,IAGLC,EAAAA,KAAAA;CARLC,IAAAA;CADF,OACkB,EAAA,OAAA,QAAA,EAAA,OACdJ,MADF,KAAA,oBAAC,UAAD;EAAgB;EACdA,UAAAA;CASQ,CAAA,GAVM,EAAA,KAAA,MACdA,EAAAA,KAAAA,4BADFI;AAYJ;ACzEA,SAAgB,cAAc,SAA6B;CAGzD,IAAI,SAAS,OAAO,yBAAyB,QAAQ,OAAO,KAAK,CAAC,EAAE,KAChE,UAAU,UAAU,oBAAoB,UAAU,OAAO;CAmB7D,OAjBI,UAEM,QAAgB,OAK1B,SAAS,OAAO,yBAAyB,SAAS,KAAK,CAAC,EAAE,KAC1D,UAAU,UAAU,oBAAoB,UAAU,OAAO,gBAErD,UAEM,QAAQ,MAAqC,MAK/C,QAAQ,MAAqC,OAAQ,QAAgB;AAC/E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getScopedTheme-C-sZsyAz.js","names":["defineLazyProperty","T","obj","key","K","factory","Object","defineProperty","get","value","enumerable","writable","configurable","RootTheme","RootTheme_v2","is_v2","themeProp","_version","ThemeColorCard_v2","themeColor_v0_v2_9","color","badge","colors","neutral","default","suggest","primary","button","bleed","ghost","selectable","defaultThemeConfig","RootTheme","RootTheme_v2","themeColor_v0_v2","cache","WeakMap","v0_v2","v0","v2","cached_v2","get","avatar","button","color","container","focusRing","_unused_focusRing","fonts","font","input","layer","media","radius","shadows","shadow","space","styles","style","_version","card","light","transparent","default","neutral","primary","suggest","positive","caution","critical","dark","checkbox","radio","switch","set","defineLazyProperty","ThemeColorCard_v2","ThemeColorInputMode_v2","ThemeColorInputState_v2","RootTheme","RootTheme_v2","ThemeColor","ThemeColorScheme","ThemeColorInputState","ThemeColorInputStates","cache","WeakMap","V0_TONES","const","lazyV0Scheme","schemeKey","color","scheme","tone","themeColor_v2_v0","v2_v0","v2","cachedTheme","get","avatar","button","container","font","fonts","input","media","radius","shadow","shadows","space","style","styles","v0Color","theme","_version","focusRing","text","set","color_v2","base","bg","fg","border","card","selectable","default","dark","_dark","inputStatesThemeColor_v2_v0","invalid","muted","ghost","transparent","solid","spot","gray","blue","purple","magenta","red","orange","yellow","green","cyan","syntax","t","enabled","inputStateThemeColor_v2_v0","disabled","readOnly","hovered","bg2","placeholder","defineLazyProperty","defaultThemeConfig","ThemeColorCardToneKey","ThemeColorSchemeKey","RootTheme","RootTheme_v2","Theme","ThemeColor","is_v2","themeColor_v0_v2_9","v0_v2","v2_v0","cache","Map","WeakMap","getScopedTheme","themeProp","scheme","tone","cachedTheme","_getCachedTheme","v0","v2","layer_v0","layer","colorScheme_v2","color","light","color_v2","default","color_v2_9","layer_v2","_v0Color","v0Rest","sanity","_resolved","colorScheme_v0","Record","theme","_setCachedTheme","rootTheme","schemeCache","get","undefined","toneCache","has","set"],"sources":["../src/theme/build/lib/lazy.ts","../src/theme/versioning/is_v2.ts","../src/theme/versioning/themeColor_v2_v2_9.ts","../src/theme/versioning/v0_v2.ts","../src/theme/versioning/v2_v0.ts","../src/theme/getScopedTheme.ts"],"sourcesContent":["/**\n * Defines a lazy, self-replacing property on `obj`.\n *\n * On first access the `factory` is called and the getter is replaced with the\n * computed plain value — subsequent reads have zero overhead.\n *\n * The property is enumerable (visible in `Object.keys` / spread) in both states.\n *\n * @internal\n */\nexport function defineLazyProperty<T extends object, K extends keyof T>(\n obj: T,\n key: K,\n factory: () => T[K],\n): void {\n Object.defineProperty(obj, key, {\n get() {\n const value = factory()\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n writable: false,\n configurable: false,\n })\n return value\n },\n enumerable: true,\n configurable: true,\n })\n}\n","import {RootTheme, RootTheme_v2} from '../system/theme'\n\n/** @internal */\nexport function is_v2(themeProp: RootTheme | RootTheme_v2): themeProp is RootTheme_v2 {\n return themeProp._version === 2\n}\n","import type {ThemeColorCard_v2} from '../system/color/color'\n\n/**\n * Apply `neutral` and `suggest` if they're not already part of the color object,\n * as this was introduced in v2.9, but is not compatible with v2.0.\n *\n * @param color - The color object to upgrade\n * @returns The upgraded color object. Returns as-is if already upgraded.\n * @internal\n */\nexport function themeColor_v0_v2_9(color: ThemeColorCard_v2): ThemeColorCard_v2 {\n if ('neutral' in color.badge) {\n return color // Already at >= v2.9\n }\n\n // TypeScript narrows to `never` because the above should always be true\n // oxlint-disable-next-line no-unnecessary-type-assertion\n const colors = color as ThemeColorCard_v2\n\n return {\n ...colors,\n badge: {\n ...colors.badge,\n neutral: colors.badge.default,\n suggest: colors.badge.primary,\n },\n button: {\n bleed: {\n ...colors.button.bleed,\n neutral: colors.button.bleed.default,\n suggest: colors.button.bleed.primary,\n },\n default: {\n ...colors.button.default,\n neutral: colors.button.default.default,\n suggest: colors.button.default.primary,\n },\n ghost: {\n ...colors.button.ghost,\n neutral: colors.button.ghost.default,\n suggest: colors.button.ghost.primary,\n },\n },\n selectable: {\n ...colors.selectable,\n neutral: colors.selectable.default,\n suggest: colors.selectable.primary,\n },\n }\n}\n","import {defaultThemeConfig} from '../defaults/config'\nimport {RootTheme, RootTheme_v2} from '../system/theme'\nimport {themeColor_v0_v2} from './themeColor_v0_v2'\n\nconst cache = new WeakMap<RootTheme, RootTheme_v2>()\n\n/** @internal */\nexport function v0_v2(v0: RootTheme): RootTheme_v2 {\n if (v0.v2) return v0.v2\n\n const cached_v2 = cache.get(v0)\n\n if (cached_v2) return cached_v2\n\n const {\n // oxlint-disable-next-line no-deprecated\n avatar,\n // oxlint-disable-next-line no-deprecated\n button,\n // oxlint-disable-next-line no-deprecated\n color,\n // oxlint-disable-next-line no-deprecated\n container,\n // oxlint-disable-next-line no-deprecated\n focusRing: _unused_focusRing,\n // oxlint-disable-next-line no-deprecated\n fonts: font,\n // oxlint-disable-next-line no-deprecated\n input,\n // oxlint-disable-next-line no-deprecated\n layer,\n // oxlint-disable-next-line no-deprecated\n media,\n // oxlint-disable-next-line no-deprecated\n radius,\n // oxlint-disable-next-line no-deprecated\n shadows: shadow,\n // oxlint-disable-next-line no-deprecated\n space,\n // oxlint-disable-next-line no-deprecated\n styles: style,\n } = v0\n\n const v2: RootTheme_v2 = {\n _version: 2,\n avatar: {\n ...defaultThemeConfig.avatar,\n ...avatar,\n },\n button: {\n ...defaultThemeConfig.button,\n ...button,\n },\n card: defaultThemeConfig.card,\n color: {\n light: {\n transparent: themeColor_v0_v2(color.light.transparent),\n default: themeColor_v0_v2(color.light.default),\n neutral: themeColor_v0_v2(color.light.transparent),\n primary: themeColor_v0_v2(color.light.primary),\n suggest: themeColor_v0_v2(color.light.primary),\n positive: themeColor_v0_v2(color.light.positive),\n caution: themeColor_v0_v2(color.light.caution),\n critical: themeColor_v0_v2(color.light.critical),\n },\n dark: {\n transparent: themeColor_v0_v2(color.dark.transparent),\n default: themeColor_v0_v2(color.dark.default),\n neutral: themeColor_v0_v2(color.dark.transparent),\n primary: themeColor_v0_v2(color.dark.primary),\n suggest: themeColor_v0_v2(color.dark.primary),\n positive: themeColor_v0_v2(color.dark.positive),\n caution: themeColor_v0_v2(color.dark.caution),\n critical: themeColor_v0_v2(color.dark.critical),\n },\n },\n container,\n font,\n input: {\n ...defaultThemeConfig.input,\n ...input,\n checkbox: {\n ...defaultThemeConfig.input.checkbox,\n ...input.checkbox,\n },\n radio: {\n ...defaultThemeConfig.input.radio,\n ...input.radio,\n },\n switch: {\n ...defaultThemeConfig.input.switch,\n ...input.switch,\n },\n },\n layer: layer ?? defaultThemeConfig.layer,\n media,\n radius,\n shadow,\n space,\n style,\n }\n\n cache.set(v0, v2)\n\n return v2\n}\n","import {defineLazyProperty} from '../build/lib/lazy'\nimport {ThemeColorCard_v2} from '../system/color/color'\nimport {ThemeColorInputMode_v2, ThemeColorInputState_v2} from '../system/color/input'\nimport {RootTheme, RootTheme_v2} from '../system/theme'\nimport {ThemeColor, ThemeColorScheme} from '../system/v0/color/color'\nimport {ThemeColorInputState, ThemeColorInputStates} from '../system/v0/color/input'\n\nconst cache = new WeakMap<RootTheme_v2, RootTheme>()\n\nconst V0_TONES = ['transparent', 'default', 'primary', 'positive', 'caution', 'critical'] as const\n\n// oxlint-disable-next-line no-deprecated\nfunction lazyV0Scheme(schemeKey: 'light' | 'dark', color: RootTheme_v2['color']): ThemeColorScheme {\n // oxlint-disable-next-line no-deprecated, no-unsafe-type-assertion\n const scheme = {} as ThemeColorScheme\n\n for (const tone of V0_TONES) {\n defineLazyProperty(scheme, tone, () => themeColor_v2_v0(color[schemeKey][tone]))\n }\n\n return scheme\n}\n\n/** @internal */\nexport function v2_v0(v2: RootTheme_v2): RootTheme {\n const cachedTheme = cache.get(v2)\n\n if (cachedTheme) return cachedTheme\n\n const {\n avatar,\n button,\n color,\n container,\n font: fonts,\n input,\n media,\n radius,\n shadow: shadows,\n space,\n style: styles,\n } = v2\n\n // Lazy v0 color — two-level lazy structure so we don't force-evaluate\n // the v2 lazy getters until a v0 tone is actually accessed.\n // oxlint-disable-next-line no-unsafe-type-assertion\n const v0Color = {} as RootTheme['color']\n\n defineLazyProperty(v0Color, 'light', () => lazyV0Scheme('light', color))\n defineLazyProperty(v0Color, 'dark', () => lazyV0Scheme('dark', color))\n\n const theme: RootTheme = {\n _version: 0,\n // oxlint-disable-next-line no-deprecated\n avatar,\n // oxlint-disable-next-line no-deprecated\n button,\n // oxlint-disable-next-line no-deprecated\n container,\n // oxlint-disable-next-line no-deprecated\n color: v0Color,\n // oxlint-disable-next-line no-deprecated\n focusRing: input.text.focusRing,\n // oxlint-disable-next-line no-deprecated\n fonts,\n // oxlint-disable-next-line no-deprecated\n input,\n // oxlint-disable-next-line no-deprecated\n media,\n // oxlint-disable-next-line no-deprecated\n radius,\n // oxlint-disable-next-line no-deprecated\n shadows,\n // oxlint-disable-next-line no-deprecated\n space,\n // oxlint-disable-next-line no-deprecated\n styles,\n\n v2,\n }\n\n cache.set(v2, theme)\n\n return theme\n}\n\n// oxlint-disable-next-line no-deprecated\nfunction themeColor_v2_v0(color_v2: ThemeColorCard_v2): ThemeColor {\n return {\n base: {\n bg: color_v2.bg,\n fg: color_v2.fg,\n border: color_v2.border,\n focusRing: color_v2.focusRing,\n shadow: color_v2.shadow,\n },\n button: color_v2.button,\n card: color_v2.selectable.default,\n dark: color_v2._dark,\n input: {\n default: inputStatesThemeColor_v2_v0(color_v2.input.default),\n invalid: inputStatesThemeColor_v2_v0(color_v2.input.invalid),\n },\n muted: {\n ...color_v2.button.ghost,\n transparent: color_v2.button.ghost.default,\n },\n solid: {\n ...color_v2.button.default,\n transparent: color_v2.button.default.default,\n },\n selectable: color_v2.selectable,\n spot: {\n gray: color_v2.avatar.gray.bg,\n blue: color_v2.avatar.blue.bg,\n purple: color_v2.avatar.purple.bg,\n magenta: color_v2.avatar.magenta.bg,\n red: color_v2.avatar.red.bg,\n orange: color_v2.avatar.orange.bg,\n yellow: color_v2.avatar.yellow.bg,\n green: color_v2.avatar.green.bg,\n cyan: color_v2.avatar.cyan.bg,\n },\n syntax: color_v2.syntax,\n }\n}\n\n// oxlint-disable-next-line no-deprecated\nfunction inputStatesThemeColor_v2_v0(t: ThemeColorInputMode_v2): ThemeColorInputStates {\n return {\n enabled: inputStateThemeColor_v2_v0(t.enabled),\n disabled: inputStateThemeColor_v2_v0(t.disabled),\n readOnly: inputStateThemeColor_v2_v0(t.readOnly),\n hovered: inputStateThemeColor_v2_v0(t.hovered),\n }\n}\n\n// oxlint-disable-next-line no-deprecated\nfunction inputStateThemeColor_v2_v0(t: ThemeColorInputState_v2): ThemeColorInputState {\n return {\n bg: t.bg,\n bg2: t.muted.bg,\n border: t.border,\n fg: t.fg,\n placeholder: t.placeholder,\n }\n}\n","import {defineLazyProperty} from './build/lib/lazy'\nimport {defaultThemeConfig} from './defaults/config'\nimport {ThemeColorCardToneKey, ThemeColorSchemeKey} from './system/color/_system'\nimport {RootTheme, RootTheme_v2, Theme} from './system/theme'\nimport {ThemeColor} from './system/v0/color/color'\nimport {is_v2} from './versioning/is_v2'\nimport {themeColor_v0_v2_9} from './versioning/themeColor_v2_v2_9'\nimport {v0_v2} from './versioning/v0_v2'\nimport {v2_v0} from './versioning/v2_v0'\n\n// cache[scheme][tone][rootTheme] = theme\nconst cache = new Map<\n ThemeColorSchemeKey,\n Map<ThemeColorCardToneKey, WeakMap<RootTheme | RootTheme_v2, Theme>>\n>()\n\n/** @internal */\nexport function getScopedTheme(\n themeProp: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n): Theme {\n const cachedTheme = _getCachedTheme(themeProp, scheme, tone)\n\n if (cachedTheme) return cachedTheme\n\n const v0 = is_v2(themeProp) ? v2_v0(themeProp) : themeProp\n const v2 = is_v2(themeProp) ? themeProp : v0_v2(themeProp)\n\n // oxlint-disable-next-line no-deprecated\n const layer_v0 = v0.layer || defaultThemeConfig.layer\n\n const colorScheme_v2 = v2.color[scheme] || v2.color.light\n const color_v2 = colorScheme_v2[tone] || colorScheme_v2.default\n const color_v2_9 = themeColor_v0_v2_9(color_v2)\n const layer_v2 = v2.layer || defaultThemeConfig.layer\n\n // oxlint-disable-next-line no-deprecated\n const {color: _v0Color, ...v0Rest} = v0\n\n // oxlint-disable-next-line no-unsafe-type-assertion\n const sanity = {\n ...v0Rest,\n // oxlint-disable-next-line no-deprecated\n layer: layer_v0,\n v2: {\n ...v2,\n _resolved: true,\n color: color_v2_9,\n layer: layer_v2,\n },\n } as Theme['sanity']\n\n // Defer v0 color computation — only resolved if legacy code reads theme.sanity.color\n defineLazyProperty(sanity, 'color', () => {\n // oxlint-disable-next-line no-deprecated\n const colorScheme_v0 = v0.color[scheme] || v0.color.light\n // oxlint-disable-next-line no-deprecated\n return (colorScheme_v0 as Record<string, ThemeColor>)[tone] || colorScheme_v0.default\n })\n\n const theme: Theme = {sanity}\n\n _setCachedTheme(themeProp, scheme, tone, theme)\n\n return theme\n}\n\nfunction _getCachedTheme(\n rootTheme: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n) {\n const schemeCache = cache.get(scheme)\n\n if (!schemeCache) return undefined\n\n const toneCache = schemeCache.get(tone)\n\n if (!toneCache) return undefined\n\n return toneCache.get(rootTheme)\n}\n\nfunction _setCachedTheme(\n rootTheme: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n theme: Theme,\n) {\n if (!cache.has(scheme)) cache.set(scheme, new Map())\n\n const schemeCache = cache.get(scheme)!\n\n if (!schemeCache.has(tone)) schemeCache.set(tone, new WeakMap())\n\n const toneCache = schemeCache.get(tone)!\n\n toneCache.set(rootTheme, theme)\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getScopedTheme-C-sZsyAz.js","names":[],"sources":["../src/theme/build/lib/lazy.ts","../src/theme/versioning/is_v2.ts","../src/theme/versioning/themeColor_v2_v2_9.ts","../src/theme/versioning/v0_v2.ts","../src/theme/versioning/v2_v0.ts","../src/theme/getScopedTheme.ts"],"sourcesContent":["/**\n * Defines a lazy, self-replacing property on `obj`.\n *\n * On first access the `factory` is called and the getter is replaced with the\n * computed plain value — subsequent reads have zero overhead.\n *\n * The property is enumerable (visible in `Object.keys` / spread) in both states.\n *\n * @internal\n */\nexport function defineLazyProperty<T extends object, K extends keyof T>(\n obj: T,\n key: K,\n factory: () => T[K],\n): void {\n Object.defineProperty(obj, key, {\n get() {\n const value = factory()\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n writable: false,\n configurable: false,\n })\n return value\n },\n enumerable: true,\n configurable: true,\n })\n}\n","import {RootTheme, RootTheme_v2} from '../system/theme'\n\n/** @internal */\nexport function is_v2(themeProp: RootTheme | RootTheme_v2): themeProp is RootTheme_v2 {\n return themeProp._version === 2\n}\n","import type {ThemeColorCard_v2} from '../system/color/color'\n\n/**\n * Apply `neutral` and `suggest` if they're not already part of the color object,\n * as this was introduced in v2.9, but is not compatible with v2.0.\n *\n * @param color - The color object to upgrade\n * @returns The upgraded color object. Returns as-is if already upgraded.\n * @internal\n */\nexport function themeColor_v0_v2_9(color: ThemeColorCard_v2): ThemeColorCard_v2 {\n if ('neutral' in color.badge) {\n return color // Already at >= v2.9\n }\n\n // TypeScript narrows to `never` because the above should always be true\n // oxlint-disable-next-line no-unnecessary-type-assertion\n const colors = color as ThemeColorCard_v2\n\n return {\n ...colors,\n badge: {\n ...colors.badge,\n neutral: colors.badge.default,\n suggest: colors.badge.primary,\n },\n button: {\n bleed: {\n ...colors.button.bleed,\n neutral: colors.button.bleed.default,\n suggest: colors.button.bleed.primary,\n },\n default: {\n ...colors.button.default,\n neutral: colors.button.default.default,\n suggest: colors.button.default.primary,\n },\n ghost: {\n ...colors.button.ghost,\n neutral: colors.button.ghost.default,\n suggest: colors.button.ghost.primary,\n },\n },\n selectable: {\n ...colors.selectable,\n neutral: colors.selectable.default,\n suggest: colors.selectable.primary,\n },\n }\n}\n","import {defaultThemeConfig} from '../defaults/config'\nimport {RootTheme, RootTheme_v2} from '../system/theme'\nimport {themeColor_v0_v2} from './themeColor_v0_v2'\n\nconst cache = new WeakMap<RootTheme, RootTheme_v2>()\n\n/** @internal */\nexport function v0_v2(v0: RootTheme): RootTheme_v2 {\n if (v0.v2) return v0.v2\n\n const cached_v2 = cache.get(v0)\n\n if (cached_v2) return cached_v2\n\n const {\n // oxlint-disable-next-line no-deprecated\n avatar,\n // oxlint-disable-next-line no-deprecated\n button,\n // oxlint-disable-next-line no-deprecated\n color,\n // oxlint-disable-next-line no-deprecated\n container,\n // oxlint-disable-next-line no-deprecated\n focusRing: _unused_focusRing,\n // oxlint-disable-next-line no-deprecated\n fonts: font,\n // oxlint-disable-next-line no-deprecated\n input,\n // oxlint-disable-next-line no-deprecated\n layer,\n // oxlint-disable-next-line no-deprecated\n media,\n // oxlint-disable-next-line no-deprecated\n radius,\n // oxlint-disable-next-line no-deprecated\n shadows: shadow,\n // oxlint-disable-next-line no-deprecated\n space,\n // oxlint-disable-next-line no-deprecated\n styles: style,\n } = v0\n\n const v2: RootTheme_v2 = {\n _version: 2,\n avatar: {\n ...defaultThemeConfig.avatar,\n ...avatar,\n },\n button: {\n ...defaultThemeConfig.button,\n ...button,\n },\n card: defaultThemeConfig.card,\n color: {\n light: {\n transparent: themeColor_v0_v2(color.light.transparent),\n default: themeColor_v0_v2(color.light.default),\n neutral: themeColor_v0_v2(color.light.transparent),\n primary: themeColor_v0_v2(color.light.primary),\n suggest: themeColor_v0_v2(color.light.primary),\n positive: themeColor_v0_v2(color.light.positive),\n caution: themeColor_v0_v2(color.light.caution),\n critical: themeColor_v0_v2(color.light.critical),\n },\n dark: {\n transparent: themeColor_v0_v2(color.dark.transparent),\n default: themeColor_v0_v2(color.dark.default),\n neutral: themeColor_v0_v2(color.dark.transparent),\n primary: themeColor_v0_v2(color.dark.primary),\n suggest: themeColor_v0_v2(color.dark.primary),\n positive: themeColor_v0_v2(color.dark.positive),\n caution: themeColor_v0_v2(color.dark.caution),\n critical: themeColor_v0_v2(color.dark.critical),\n },\n },\n container,\n font,\n input: {\n ...defaultThemeConfig.input,\n ...input,\n checkbox: {\n ...defaultThemeConfig.input.checkbox,\n ...input.checkbox,\n },\n radio: {\n ...defaultThemeConfig.input.radio,\n ...input.radio,\n },\n switch: {\n ...defaultThemeConfig.input.switch,\n ...input.switch,\n },\n },\n layer: layer ?? defaultThemeConfig.layer,\n media,\n radius,\n shadow,\n space,\n style,\n }\n\n cache.set(v0, v2)\n\n return v2\n}\n","import {defineLazyProperty} from '../build/lib/lazy'\nimport {ThemeColorCard_v2} from '../system/color/color'\nimport {ThemeColorInputMode_v2, ThemeColorInputState_v2} from '../system/color/input'\nimport {RootTheme, RootTheme_v2} from '../system/theme'\nimport {ThemeColor, ThemeColorScheme} from '../system/v0/color/color'\nimport {ThemeColorInputState, ThemeColorInputStates} from '../system/v0/color/input'\n\nconst cache = new WeakMap<RootTheme_v2, RootTheme>()\n\nconst V0_TONES = ['transparent', 'default', 'primary', 'positive', 'caution', 'critical'] as const\n\n// oxlint-disable-next-line no-deprecated\nfunction lazyV0Scheme(schemeKey: 'light' | 'dark', color: RootTheme_v2['color']): ThemeColorScheme {\n // oxlint-disable-next-line no-deprecated, no-unsafe-type-assertion\n const scheme = {} as ThemeColorScheme\n\n for (const tone of V0_TONES) {\n defineLazyProperty(scheme, tone, () => themeColor_v2_v0(color[schemeKey][tone]))\n }\n\n return scheme\n}\n\n/** @internal */\nexport function v2_v0(v2: RootTheme_v2): RootTheme {\n const cachedTheme = cache.get(v2)\n\n if (cachedTheme) return cachedTheme\n\n const {\n avatar,\n button,\n color,\n container,\n font: fonts,\n input,\n media,\n radius,\n shadow: shadows,\n space,\n style: styles,\n } = v2\n\n // Lazy v0 color — two-level lazy structure so we don't force-evaluate\n // the v2 lazy getters until a v0 tone is actually accessed.\n // oxlint-disable-next-line no-unsafe-type-assertion\n const v0Color = {} as RootTheme['color']\n\n defineLazyProperty(v0Color, 'light', () => lazyV0Scheme('light', color))\n defineLazyProperty(v0Color, 'dark', () => lazyV0Scheme('dark', color))\n\n const theme: RootTheme = {\n _version: 0,\n // oxlint-disable-next-line no-deprecated\n avatar,\n // oxlint-disable-next-line no-deprecated\n button,\n // oxlint-disable-next-line no-deprecated\n container,\n // oxlint-disable-next-line no-deprecated\n color: v0Color,\n // oxlint-disable-next-line no-deprecated\n focusRing: input.text.focusRing,\n // oxlint-disable-next-line no-deprecated\n fonts,\n // oxlint-disable-next-line no-deprecated\n input,\n // oxlint-disable-next-line no-deprecated\n media,\n // oxlint-disable-next-line no-deprecated\n radius,\n // oxlint-disable-next-line no-deprecated\n shadows,\n // oxlint-disable-next-line no-deprecated\n space,\n // oxlint-disable-next-line no-deprecated\n styles,\n\n v2,\n }\n\n cache.set(v2, theme)\n\n return theme\n}\n\n// oxlint-disable-next-line no-deprecated\nfunction themeColor_v2_v0(color_v2: ThemeColorCard_v2): ThemeColor {\n return {\n base: {\n bg: color_v2.bg,\n fg: color_v2.fg,\n border: color_v2.border,\n focusRing: color_v2.focusRing,\n shadow: color_v2.shadow,\n },\n button: color_v2.button,\n card: color_v2.selectable.default,\n dark: color_v2._dark,\n input: {\n default: inputStatesThemeColor_v2_v0(color_v2.input.default),\n invalid: inputStatesThemeColor_v2_v0(color_v2.input.invalid),\n },\n muted: {\n ...color_v2.button.ghost,\n transparent: color_v2.button.ghost.default,\n },\n solid: {\n ...color_v2.button.default,\n transparent: color_v2.button.default.default,\n },\n selectable: color_v2.selectable,\n spot: {\n gray: color_v2.avatar.gray.bg,\n blue: color_v2.avatar.blue.bg,\n purple: color_v2.avatar.purple.bg,\n magenta: color_v2.avatar.magenta.bg,\n red: color_v2.avatar.red.bg,\n orange: color_v2.avatar.orange.bg,\n yellow: color_v2.avatar.yellow.bg,\n green: color_v2.avatar.green.bg,\n cyan: color_v2.avatar.cyan.bg,\n },\n syntax: color_v2.syntax,\n }\n}\n\n// oxlint-disable-next-line no-deprecated\nfunction inputStatesThemeColor_v2_v0(t: ThemeColorInputMode_v2): ThemeColorInputStates {\n return {\n enabled: inputStateThemeColor_v2_v0(t.enabled),\n disabled: inputStateThemeColor_v2_v0(t.disabled),\n readOnly: inputStateThemeColor_v2_v0(t.readOnly),\n hovered: inputStateThemeColor_v2_v0(t.hovered),\n }\n}\n\n// oxlint-disable-next-line no-deprecated\nfunction inputStateThemeColor_v2_v0(t: ThemeColorInputState_v2): ThemeColorInputState {\n return {\n bg: t.bg,\n bg2: t.muted.bg,\n border: t.border,\n fg: t.fg,\n placeholder: t.placeholder,\n }\n}\n","import {defineLazyProperty} from './build/lib/lazy'\nimport {defaultThemeConfig} from './defaults/config'\nimport {ThemeColorCardToneKey, ThemeColorSchemeKey} from './system/color/_system'\nimport {RootTheme, RootTheme_v2, Theme} from './system/theme'\nimport {ThemeColor} from './system/v0/color/color'\nimport {is_v2} from './versioning/is_v2'\nimport {themeColor_v0_v2_9} from './versioning/themeColor_v2_v2_9'\nimport {v0_v2} from './versioning/v0_v2'\nimport {v2_v0} from './versioning/v2_v0'\n\n// cache[scheme][tone][rootTheme] = theme\nconst cache = new Map<\n ThemeColorSchemeKey,\n Map<ThemeColorCardToneKey, WeakMap<RootTheme | RootTheme_v2, Theme>>\n>()\n\n/** @internal */\nexport function getScopedTheme(\n themeProp: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n): Theme {\n const cachedTheme = _getCachedTheme(themeProp, scheme, tone)\n\n if (cachedTheme) return cachedTheme\n\n const v0 = is_v2(themeProp) ? v2_v0(themeProp) : themeProp\n const v2 = is_v2(themeProp) ? themeProp : v0_v2(themeProp)\n\n // oxlint-disable-next-line no-deprecated\n const layer_v0 = v0.layer || defaultThemeConfig.layer\n\n const colorScheme_v2 = v2.color[scheme] || v2.color.light\n const color_v2 = colorScheme_v2[tone] || colorScheme_v2.default\n const color_v2_9 = themeColor_v0_v2_9(color_v2)\n const layer_v2 = v2.layer || defaultThemeConfig.layer\n\n // oxlint-disable-next-line no-deprecated\n const {color: _v0Color, ...v0Rest} = v0\n\n // oxlint-disable-next-line no-unsafe-type-assertion\n const sanity = {\n ...v0Rest,\n // oxlint-disable-next-line no-deprecated\n layer: layer_v0,\n v2: {\n ...v2,\n _resolved: true,\n color: color_v2_9,\n layer: layer_v2,\n },\n } as Theme['sanity']\n\n // Defer v0 color computation — only resolved if legacy code reads theme.sanity.color\n defineLazyProperty(sanity, 'color', () => {\n // oxlint-disable-next-line no-deprecated\n const colorScheme_v0 = v0.color[scheme] || v0.color.light\n // oxlint-disable-next-line no-deprecated\n return (colorScheme_v0 as Record<string, ThemeColor>)[tone] || colorScheme_v0.default\n })\n\n const theme: Theme = {sanity}\n\n _setCachedTheme(themeProp, scheme, tone, theme)\n\n return theme\n}\n\nfunction _getCachedTheme(\n rootTheme: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n) {\n const schemeCache = cache.get(scheme)\n\n if (!schemeCache) return undefined\n\n const toneCache = schemeCache.get(tone)\n\n if (!toneCache) return undefined\n\n return toneCache.get(rootTheme)\n}\n\nfunction _setCachedTheme(\n rootTheme: RootTheme | RootTheme_v2,\n scheme: ThemeColorSchemeKey,\n tone: ThemeColorCardToneKey,\n theme: Theme,\n) {\n if (!cache.has(scheme)) cache.set(scheme, new Map())\n\n const schemeCache = cache.get(scheme)!\n\n if (!schemeCache.has(tone)) schemeCache.set(tone, new WeakMap())\n\n const toneCache = schemeCache.get(tone)!\n\n toneCache.set(rootTheme, theme)\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTheme_v2-y09KqtEb.js","names":["RootTheme_v2","BORDER_WIDTH","OUTLINE_WIDTH","defaultThemeConfig","Omit","_version","avatar","sizes","distance","size","focusRing","offset","width","button","textWeight","border","card","shadow","outline","container","media","layer","dialog","zOffset","popover","tooltip","radius","umbra","penumbra","ambient","space","input","checkbox","radio","markSize","switch","height","padding","transitionDurationMs","transitionTimingFunction","select","text","style","root","transition","ThemeColorCard_v2","ThemeColorInputMode_v2","ThemeColorInputState_v2","ThemeColorSelectable_v2","ThemeColorState_v2","ThemeColorGenericState","ThemeColor","ThemeColorInputState","ThemeColorInputStates","ThemeColorMuted","cache","WeakMap","themeColor_v0_v2","color_v0","cached_v2","get","base","stateThemeColor_v0_v2","card","enabled","color_v2","_blend","dark","_dark","accent","avatar","backdrop","shadow","ambient","badge","bg","border","button","default","stateTonesThemeColor_v0_v2","ghost","bleed","code","fg","focusRing","icon","muted","input","inputStatesThemeColor_v0_v2","invalid","kbd","link","selectable","bg2","skeleton","from","to","syntax","set","v0","t","Omit","hovered","pressed","selected","disabled","neutral","primary","suggest","positive","caution","critical","state","gray","spot","blue","purple","magenta","red","orange","yellow","green","cyan","dot","transparent","states","inputStateThemeColor_v0_v2","readOnly","placeholder","defaultThemeConfig","Theme","Theme_v2","themeColor_v0_v2","cache","WeakMap","getTheme_v2","theme","sanity","v2","_resolved","cached_v2","get","_version","avatar","button","card","color","container","font","fonts","input","checkbox","radio","switch","layer","media","radius","shadow","shadows","space","style","styles","set"],"sources":["../src/theme/defaults/config.ts","../src/theme/versioning/themeColor_v0_v2.ts","../src/theme/versioning/getTheme_v2.ts"],"sourcesContent":["import {RootTheme_v2} from '../system/theme'\n\nconst BORDER_WIDTH = 1\nconst OUTLINE_WIDTH = 0.5\n\nexport const defaultThemeConfig: Omit<RootTheme_v2, 'color' | 'font'> = {\n _version: 2,\n avatar: {\n sizes: [\n {distance: -4, size: 19},\n {distance: -4, size: 25},\n {distance: -8, size: 33},\n {distance: -12, size: 49},\n ],\n focusRing: {offset: 1, width: 1},\n },\n button: {\n textWeight: 'medium',\n border: {width: BORDER_WIDTH},\n focusRing: {offset: -1, width: 1},\n },\n card: {\n border: {width: BORDER_WIDTH},\n focusRing: {offset: -1, width: 1},\n shadow: {outline: OUTLINE_WIDTH},\n },\n container: [320, 640, 960, 1280, 1600, 1920],\n media: [360, 600, 900, 1200, 1800, 2400],\n layer: {\n dialog: {zOffset: 600},\n popover: {zOffset: 400},\n tooltip: {zOffset: 200},\n },\n radius: [0, 1, 3, 6, 9, 12, 21],\n shadow: [\n null,\n {umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0]},\n {umbra: [0, 3, 5, -2], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 1]},\n {umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4]},\n {umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6]},\n {umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8]},\n ],\n space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],\n input: {\n border: {\n width: BORDER_WIDTH,\n },\n checkbox: {\n size: 17,\n focusRing: {offset: -1, width: 1},\n },\n radio: {\n size: 17,\n markSize: 9,\n focusRing: {offset: -1, width: 1},\n },\n switch: {\n width: 25,\n height: 17,\n padding: 5,\n transitionDurationMs: 150,\n transitionTimingFunction: 'ease-out',\n focusRing: {offset: 1, width: 1},\n },\n select: {\n focusRing: {offset: -1, width: 1},\n },\n text: {\n focusRing: {offset: -1, width: 1},\n },\n },\n style: {\n button: {\n root: {\n transition: 'background-color 100ms,border-color 100ms,color 100ms',\n },\n },\n // card: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n },\n}\n","import {ThemeColorCard_v2} from '../system/color/color'\nimport {ThemeColorInputMode_v2, ThemeColorInputState_v2} from '../system/color/input'\nimport {ThemeColorSelectable_v2} from '../system/color/selectable'\nimport {ThemeColorState_v2} from '../system/color/state'\nimport {ThemeColorGenericState} from '../system/v0/color/_generic'\nimport {ThemeColor} from '../system/v0/color/color'\nimport {ThemeColorInputState, ThemeColorInputStates} from '../system/v0/color/input'\nimport {ThemeColorMuted} from '../system/v0/color/muted'\n\n// oxlint-disable-next-line no-deprecated\nconst cache = new WeakMap<ThemeColor, ThemeColorCard_v2>()\n\n/** @internal */\n// oxlint-disable-next-line no-deprecated\nexport function themeColor_v0_v2(color_v0: ThemeColor): ThemeColorCard_v2 {\n const cached_v2 = cache.get(color_v0)\n\n if (cached_v2) return cached_v2\n\n const base = stateThemeColor_v0_v2(color_v0, color_v0.card.enabled)\n\n const color_v2: ThemeColorCard_v2 = {\n _blend: color_v0._blend || (color_v0.dark ? 'screen' : 'multiply'),\n _dark: color_v0.dark,\n accent: base.accent,\n avatar: base.avatar,\n backdrop: color_v0.base.shadow.ambient,\n badge: base.badge,\n bg: color_v0.base.bg,\n border: color_v0.base.border,\n button: {\n default: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.default),\n ghost: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.ghost),\n bleed: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.bleed),\n },\n code: base.code,\n fg: color_v0.base.fg,\n focusRing: color_v0.base.focusRing,\n icon: base.muted.fg,\n input: {\n default: inputStatesThemeColor_v0_v2(color_v0.input.default),\n invalid: inputStatesThemeColor_v0_v2(color_v0.input.invalid),\n },\n kbd: base.kbd,\n link: base.link,\n muted: {\n ...base.muted,\n bg: color_v0.selectable?.default.enabled.bg2 || color_v0.base.bg,\n },\n selectable: stateTonesThemeColor_v0_v2(color_v0, color_v0.selectable || color_v0.muted),\n shadow: color_v0.base.shadow,\n skeleton: {\n from: color_v0.skeleton?.from || color_v0.base.border,\n to: color_v0.skeleton?.to || color_v0.base.border,\n },\n syntax: color_v0.syntax,\n }\n\n cache.set(color_v0, color_v2)\n\n return color_v2\n}\n\nfunction stateTonesThemeColor_v0_v2(\n // oxlint-disable-next-line no-deprecated\n v0: ThemeColor,\n // oxlint-disable-next-line no-deprecated\n t: Omit<ThemeColorMuted, 'transparent'>,\n): ThemeColorSelectable_v2 {\n return {\n default: {\n enabled: stateThemeColor_v0_v2(v0, t.default.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.default.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.default.pressed),\n selected: stateThemeColor_v0_v2(v0, t.default.selected),\n disabled: stateThemeColor_v0_v2(v0, t.default.disabled),\n },\n neutral: {\n enabled: stateThemeColor_v0_v2(v0, t.default.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.default.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.default.pressed),\n selected: stateThemeColor_v0_v2(v0, t.default.selected),\n disabled: stateThemeColor_v0_v2(v0, t.default.disabled),\n },\n primary: {\n enabled: stateThemeColor_v0_v2(v0, t.primary.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.primary.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.primary.pressed),\n selected: stateThemeColor_v0_v2(v0, t.primary.selected),\n disabled: stateThemeColor_v0_v2(v0, t.primary.disabled),\n },\n suggest: {\n enabled: stateThemeColor_v0_v2(v0, t.primary.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.primary.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.primary.pressed),\n selected: stateThemeColor_v0_v2(v0, t.primary.selected),\n disabled: stateThemeColor_v0_v2(v0, t.primary.disabled),\n },\n positive: {\n enabled: stateThemeColor_v0_v2(v0, t.positive.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.positive.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.positive.pressed),\n selected: stateThemeColor_v0_v2(v0, t.positive.selected),\n disabled: stateThemeColor_v0_v2(v0, t.positive.disabled),\n },\n caution: {\n enabled: stateThemeColor_v0_v2(v0, t.caution.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.caution.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.caution.pressed),\n selected: stateThemeColor_v0_v2(v0, t.caution.selected),\n disabled: stateThemeColor_v0_v2(v0, t.caution.disabled),\n },\n critical: {\n enabled: stateThemeColor_v0_v2(v0, t.critical.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.critical.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.critical.pressed),\n selected: stateThemeColor_v0_v2(v0, t.critical.selected),\n disabled: stateThemeColor_v0_v2(v0, t.critical.disabled),\n },\n }\n}\n\n// oxlint-disable-next-line no-deprecated\nfunction stateThemeColor_v0_v2(v0: ThemeColor, state: ThemeColorGenericState): ThemeColorState_v2 {\n return {\n ...state,\n avatar: {\n gray: {\n bg: v0.spot.gray,\n fg: v0.base.bg,\n },\n blue: {\n bg: v0.spot.blue,\n fg: v0.base.bg,\n },\n purple: {\n bg: v0.spot.purple,\n fg: v0.base.bg,\n },\n magenta: {\n bg: v0.spot.magenta,\n fg: v0.base.bg,\n },\n red: {\n bg: v0.spot.red,\n fg: v0.base.bg,\n },\n orange: {\n bg: v0.spot.orange,\n fg: v0.base.bg,\n },\n yellow: {\n bg: v0.spot.yellow,\n fg: v0.base.bg,\n },\n green: {\n bg: v0.spot.green,\n fg: v0.base.bg,\n },\n cyan: {\n bg: v0.spot.cyan,\n fg: v0.base.bg,\n },\n },\n badge: {\n default: {\n bg: v0.muted.default.enabled.bg,\n fg: v0.muted.default.enabled.fg,\n dot: v0.muted.default.enabled.muted.fg,\n icon: v0.muted.default.enabled.muted.fg,\n },\n neutral: {\n bg: v0.muted.transparent.enabled.bg,\n fg: v0.muted.transparent.enabled.fg,\n dot: v0.muted.transparent.enabled.muted.fg,\n icon: v0.muted.transparent.enabled.muted.fg,\n },\n primary: {\n bg: v0.muted.primary.enabled.bg,\n fg: v0.muted.primary.enabled.fg,\n dot: v0.muted.primary.enabled.muted.fg,\n icon: v0.muted.primary.enabled.muted.fg,\n },\n suggest: {\n bg: v0.muted.primary.enabled.bg,\n fg: v0.muted.primary.enabled.fg,\n dot: v0.muted.primary.enabled.muted.fg,\n icon: v0.muted.primary.enabled.muted.fg,\n },\n positive: {\n bg: v0.muted.positive.enabled.bg,\n fg: v0.muted.positive.enabled.fg,\n dot: v0.muted.positive.enabled.muted.fg,\n icon: v0.muted.positive.enabled.muted.fg,\n },\n caution: {\n bg: v0.muted.caution.enabled.bg,\n fg: v0.muted.caution.enabled.fg,\n dot: v0.muted.caution.enabled.muted.fg,\n icon: v0.muted.caution.enabled.muted.fg,\n },\n critical: {\n bg: v0.muted.critical.enabled.bg,\n fg: v0.muted.critical.enabled.fg,\n dot: v0.muted.critical.enabled.muted.fg,\n icon: v0.muted.critical.enabled.muted.fg,\n },\n },\n kbd: {\n bg: v0.muted.default.enabled.bg,\n fg: v0.muted.default.enabled.fg,\n border: v0.muted.default.enabled.border,\n },\n muted: {\n ...v0.muted.default.enabled.muted,\n bg: state.bg2 || state.bg,\n },\n skeleton: {\n from: state.skeleton?.from || state.border,\n to: state.skeleton?.to || state.border,\n },\n }\n}\n\n// oxlint-disable-next-line no-deprecated\nfunction inputStatesThemeColor_v0_v2(states: ThemeColorInputStates): ThemeColorInputMode_v2 {\n return {\n enabled: inputStateThemeColor_v0_v2(states.enabled),\n disabled: inputStateThemeColor_v0_v2(states.disabled),\n readOnly: inputStateThemeColor_v0_v2(states.readOnly),\n hovered: inputStateThemeColor_v0_v2(states.hovered),\n }\n}\n\n// oxlint-disable-next-line no-deprecated\nfunction inputStateThemeColor_v0_v2(state: ThemeColorInputState): ThemeColorInputState_v2 {\n return {\n bg: state.bg,\n border: state.border,\n fg: state.fg,\n muted: {\n bg: state.bg2,\n },\n placeholder: state.placeholder,\n }\n}\n","import {defaultThemeConfig} from '../defaults/config'\nimport {Theme, Theme_v2} from '../system/theme'\nimport {themeColor_v0_v2} from './themeColor_v0_v2'\n\nconst cache = new WeakMap<Theme, Theme_v2>()\n\n/** @public */\nexport function getTheme_v2(theme: Theme): Theme_v2 {\n if (theme.sanity.v2?._resolved) return theme.sanity.v2\n\n const cached_v2 = cache.get(theme)\n\n if (cached_v2) return cached_v2\n\n const v2: Theme_v2 = {\n _version: 2,\n _resolved: true,\n avatar: {\n ...defaultThemeConfig.avatar,\n // oxlint-disable-next-line no-deprecated\n ...theme.sanity.avatar,\n },\n button: {\n ...defaultThemeConfig.button,\n // oxlint-disable-next-line no-deprecated\n ...theme.sanity.button,\n },\n card: defaultThemeConfig.card,\n // oxlint-disable-next-line no-deprecated\n color: themeColor_v0_v2(theme.sanity.color),\n // oxlint-disable-next-line no-deprecated\n container: theme.sanity.container,\n // oxlint-disable-next-line no-deprecated\n font: theme.sanity.fonts,\n input: {\n ...defaultThemeConfig.input,\n // oxlint-disable-next-line no-deprecated\n ...theme.sanity.input,\n checkbox: {\n ...defaultThemeConfig.input.checkbox,\n // oxlint-disable-next-line no-deprecated\n ...theme.sanity.input.checkbox,\n },\n radio: {\n ...defaultThemeConfig.input.radio,\n // oxlint-disable-next-line no-deprecated\n ...theme.sanity.input.radio,\n },\n switch: {\n ...defaultThemeConfig.input.switch,\n // oxlint-disable-next-line no-deprecated\n ...theme.sanity.input.switch,\n },\n },\n // oxlint-disable-next-line no-deprecated\n layer: theme.sanity.layer ?? defaultThemeConfig.layer,\n // oxlint-disable-next-line no-deprecated\n media: theme.sanity.media,\n // oxlint-disable-next-line no-deprecated\n radius: theme.sanity.radius,\n // oxlint-disable-next-line no-deprecated\n shadow: theme.sanity.shadows,\n // oxlint-disable-next-line no-deprecated\n space: theme.sanity.space,\n // oxlint-disable-next-line no-deprecated\n style: theme.sanity.styles,\n }\n\n cache.set(theme, v2)\n\n return v2\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getTheme_v2-y09KqtEb.js","names":[],"sources":["../src/theme/defaults/config.ts","../src/theme/versioning/themeColor_v0_v2.ts","../src/theme/versioning/getTheme_v2.ts"],"sourcesContent":["import {RootTheme_v2} from '../system/theme'\n\nconst BORDER_WIDTH = 1\nconst OUTLINE_WIDTH = 0.5\n\nexport const defaultThemeConfig: Omit<RootTheme_v2, 'color' | 'font'> = {\n _version: 2,\n avatar: {\n sizes: [\n {distance: -4, size: 19},\n {distance: -4, size: 25},\n {distance: -8, size: 33},\n {distance: -12, size: 49},\n ],\n focusRing: {offset: 1, width: 1},\n },\n button: {\n textWeight: 'medium',\n border: {width: BORDER_WIDTH},\n focusRing: {offset: -1, width: 1},\n },\n card: {\n border: {width: BORDER_WIDTH},\n focusRing: {offset: -1, width: 1},\n shadow: {outline: OUTLINE_WIDTH},\n },\n container: [320, 640, 960, 1280, 1600, 1920],\n media: [360, 600, 900, 1200, 1800, 2400],\n layer: {\n dialog: {zOffset: 600},\n popover: {zOffset: 400},\n tooltip: {zOffset: 200},\n },\n radius: [0, 1, 3, 6, 9, 12, 21],\n shadow: [\n null,\n {umbra: [0, 0, 0, 0], penumbra: [0, 0, 0, 0], ambient: [0, 0, 0, 0]},\n {umbra: [0, 3, 5, -2], penumbra: [0, 6, 10, 0], ambient: [0, 1, 18, 1]},\n {umbra: [0, 7, 8, -4], penumbra: [0, 12, 17, 2], ambient: [0, 5, 22, 4]},\n {umbra: [0, 9, 11, -5], penumbra: [0, 18, 28, 2], ambient: [0, 7, 34, 6]},\n {umbra: [0, 11, 15, -7], penumbra: [0, 24, 38, 3], ambient: [0, 9, 46, 8]},\n ],\n space: [0, 4, 8, 12, 20, 32, 52, 84, 136, 220],\n input: {\n border: {\n width: BORDER_WIDTH,\n },\n checkbox: {\n size: 17,\n focusRing: {offset: -1, width: 1},\n },\n radio: {\n size: 17,\n markSize: 9,\n focusRing: {offset: -1, width: 1},\n },\n switch: {\n width: 25,\n height: 17,\n padding: 5,\n transitionDurationMs: 150,\n transitionTimingFunction: 'ease-out',\n focusRing: {offset: 1, width: 1},\n },\n select: {\n focusRing: {offset: -1, width: 1},\n },\n text: {\n focusRing: {offset: -1, width: 1},\n },\n },\n style: {\n button: {\n root: {\n transition: 'background-color 100ms,border-color 100ms,color 100ms',\n },\n },\n // card: {\n // root: {\n // transition: 'background-color 100ms,border-color 100ms,color 100ms',\n // },\n // },\n },\n}\n","import {ThemeColorCard_v2} from '../system/color/color'\nimport {ThemeColorInputMode_v2, ThemeColorInputState_v2} from '../system/color/input'\nimport {ThemeColorSelectable_v2} from '../system/color/selectable'\nimport {ThemeColorState_v2} from '../system/color/state'\nimport {ThemeColorGenericState} from '../system/v0/color/_generic'\nimport {ThemeColor} from '../system/v0/color/color'\nimport {ThemeColorInputState, ThemeColorInputStates} from '../system/v0/color/input'\nimport {ThemeColorMuted} from '../system/v0/color/muted'\n\n// oxlint-disable-next-line no-deprecated\nconst cache = new WeakMap<ThemeColor, ThemeColorCard_v2>()\n\n/** @internal */\n// oxlint-disable-next-line no-deprecated\nexport function themeColor_v0_v2(color_v0: ThemeColor): ThemeColorCard_v2 {\n const cached_v2 = cache.get(color_v0)\n\n if (cached_v2) return cached_v2\n\n const base = stateThemeColor_v0_v2(color_v0, color_v0.card.enabled)\n\n const color_v2: ThemeColorCard_v2 = {\n _blend: color_v0._blend || (color_v0.dark ? 'screen' : 'multiply'),\n _dark: color_v0.dark,\n accent: base.accent,\n avatar: base.avatar,\n backdrop: color_v0.base.shadow.ambient,\n badge: base.badge,\n bg: color_v0.base.bg,\n border: color_v0.base.border,\n button: {\n default: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.default),\n ghost: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.ghost),\n bleed: stateTonesThemeColor_v0_v2(color_v0, color_v0.button.bleed),\n },\n code: base.code,\n fg: color_v0.base.fg,\n focusRing: color_v0.base.focusRing,\n icon: base.muted.fg,\n input: {\n default: inputStatesThemeColor_v0_v2(color_v0.input.default),\n invalid: inputStatesThemeColor_v0_v2(color_v0.input.invalid),\n },\n kbd: base.kbd,\n link: base.link,\n muted: {\n ...base.muted,\n bg: color_v0.selectable?.default.enabled.bg2 || color_v0.base.bg,\n },\n selectable: stateTonesThemeColor_v0_v2(color_v0, color_v0.selectable || color_v0.muted),\n shadow: color_v0.base.shadow,\n skeleton: {\n from: color_v0.skeleton?.from || color_v0.base.border,\n to: color_v0.skeleton?.to || color_v0.base.border,\n },\n syntax: color_v0.syntax,\n }\n\n cache.set(color_v0, color_v2)\n\n return color_v2\n}\n\nfunction stateTonesThemeColor_v0_v2(\n // oxlint-disable-next-line no-deprecated\n v0: ThemeColor,\n // oxlint-disable-next-line no-deprecated\n t: Omit<ThemeColorMuted, 'transparent'>,\n): ThemeColorSelectable_v2 {\n return {\n default: {\n enabled: stateThemeColor_v0_v2(v0, t.default.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.default.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.default.pressed),\n selected: stateThemeColor_v0_v2(v0, t.default.selected),\n disabled: stateThemeColor_v0_v2(v0, t.default.disabled),\n },\n neutral: {\n enabled: stateThemeColor_v0_v2(v0, t.default.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.default.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.default.pressed),\n selected: stateThemeColor_v0_v2(v0, t.default.selected),\n disabled: stateThemeColor_v0_v2(v0, t.default.disabled),\n },\n primary: {\n enabled: stateThemeColor_v0_v2(v0, t.primary.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.primary.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.primary.pressed),\n selected: stateThemeColor_v0_v2(v0, t.primary.selected),\n disabled: stateThemeColor_v0_v2(v0, t.primary.disabled),\n },\n suggest: {\n enabled: stateThemeColor_v0_v2(v0, t.primary.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.primary.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.primary.pressed),\n selected: stateThemeColor_v0_v2(v0, t.primary.selected),\n disabled: stateThemeColor_v0_v2(v0, t.primary.disabled),\n },\n positive: {\n enabled: stateThemeColor_v0_v2(v0, t.positive.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.positive.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.positive.pressed),\n selected: stateThemeColor_v0_v2(v0, t.positive.selected),\n disabled: stateThemeColor_v0_v2(v0, t.positive.disabled),\n },\n caution: {\n enabled: stateThemeColor_v0_v2(v0, t.caution.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.caution.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.caution.pressed),\n selected: stateThemeColor_v0_v2(v0, t.caution.selected),\n disabled: stateThemeColor_v0_v2(v0, t.caution.disabled),\n },\n critical: {\n enabled: stateThemeColor_v0_v2(v0, t.critical.enabled),\n hovered: stateThemeColor_v0_v2(v0, t.critical.hovered),\n pressed: stateThemeColor_v0_v2(v0, t.critical.pressed),\n selected: stateThemeColor_v0_v2(v0, t.critical.selected),\n disabled: stateThemeColor_v0_v2(v0, t.critical.disabled),\n },\n }\n}\n\n// oxlint-disable-next-line no-deprecated\nfunction stateThemeColor_v0_v2(v0: ThemeColor, state: ThemeColorGenericState): ThemeColorState_v2 {\n return {\n ...state,\n avatar: {\n gray: {\n bg: v0.spot.gray,\n fg: v0.base.bg,\n },\n blue: {\n bg: v0.spot.blue,\n fg: v0.base.bg,\n },\n purple: {\n bg: v0.spot.purple,\n fg: v0.base.bg,\n },\n magenta: {\n bg: v0.spot.magenta,\n fg: v0.base.bg,\n },\n red: {\n bg: v0.spot.red,\n fg: v0.base.bg,\n },\n orange: {\n bg: v0.spot.orange,\n fg: v0.base.bg,\n },\n yellow: {\n bg: v0.spot.yellow,\n fg: v0.base.bg,\n },\n green: {\n bg: v0.spot.green,\n fg: v0.base.bg,\n },\n cyan: {\n bg: v0.spot.cyan,\n fg: v0.base.bg,\n },\n },\n badge: {\n default: {\n bg: v0.muted.default.enabled.bg,\n fg: v0.muted.default.enabled.fg,\n dot: v0.muted.default.enabled.muted.fg,\n icon: v0.muted.default.enabled.muted.fg,\n },\n neutral: {\n bg: v0.muted.transparent.enabled.bg,\n fg: v0.muted.transparent.enabled.fg,\n dot: v0.muted.transparent.enabled.muted.fg,\n icon: v0.muted.transparent.enabled.muted.fg,\n },\n primary: {\n bg: v0.muted.primary.enabled.bg,\n fg: v0.muted.primary.enabled.fg,\n dot: v0.muted.primary.enabled.muted.fg,\n icon: v0.muted.primary.enabled.muted.fg,\n },\n suggest: {\n bg: v0.muted.primary.enabled.bg,\n fg: v0.muted.primary.enabled.fg,\n dot: v0.muted.primary.enabled.muted.fg,\n icon: v0.muted.primary.enabled.muted.fg,\n },\n positive: {\n bg: v0.muted.positive.enabled.bg,\n fg: v0.muted.positive.enabled.fg,\n dot: v0.muted.positive.enabled.muted.fg,\n icon: v0.muted.positive.enabled.muted.fg,\n },\n caution: {\n bg: v0.muted.caution.enabled.bg,\n fg: v0.muted.caution.enabled.fg,\n dot: v0.muted.caution.enabled.muted.fg,\n icon: v0.muted.caution.enabled.muted.fg,\n },\n critical: {\n bg: v0.muted.critical.enabled.bg,\n fg: v0.muted.critical.enabled.fg,\n dot: v0.muted.critical.enabled.muted.fg,\n icon: v0.muted.critical.enabled.muted.fg,\n },\n },\n kbd: {\n bg: v0.muted.default.enabled.bg,\n fg: v0.muted.default.enabled.fg,\n border: v0.muted.default.enabled.border,\n },\n muted: {\n ...v0.muted.default.enabled.muted,\n bg: state.bg2 || state.bg,\n },\n skeleton: {\n from: state.skeleton?.from || state.border,\n to: state.skeleton?.to || state.border,\n },\n }\n}\n\n// oxlint-disable-next-line no-deprecated\nfunction inputStatesThemeColor_v0_v2(states: ThemeColorInputStates): ThemeColorInputMode_v2 {\n return {\n enabled: inputStateThemeColor_v0_v2(states.enabled),\n disabled: inputStateThemeColor_v0_v2(states.disabled),\n readOnly: inputStateThemeColor_v0_v2(states.readOnly),\n hovered: inputStateThemeColor_v0_v2(states.hovered),\n }\n}\n\n// oxlint-disable-next-line no-deprecated\nfunction inputStateThemeColor_v0_v2(state: ThemeColorInputState): ThemeColorInputState_v2 {\n return {\n bg: state.bg,\n border: state.border,\n fg: state.fg,\n muted: {\n bg: state.bg2,\n },\n placeholder: state.placeholder,\n }\n}\n","import {defaultThemeConfig} from '../defaults/config'\nimport {Theme, Theme_v2} from '../system/theme'\nimport {themeColor_v0_v2} from './themeColor_v0_v2'\n\nconst cache = new WeakMap<Theme, Theme_v2>()\n\n/** @public */\nexport function getTheme_v2(theme: Theme): Theme_v2 {\n if (theme.sanity.v2?._resolved) return theme.sanity.v2\n\n const cached_v2 = cache.get(theme)\n\n if (cached_v2) return cached_v2\n\n const v2: Theme_v2 = {\n _version: 2,\n _resolved: true,\n avatar: {\n ...defaultThemeConfig.avatar,\n // oxlint-disable-next-line no-deprecated\n ...theme.sanity.avatar,\n },\n button: {\n ...defaultThemeConfig.button,\n // oxlint-disable-next-line no-deprecated\n ...theme.sanity.button,\n },\n card: defaultThemeConfig.card,\n // oxlint-disable-next-line no-deprecated\n color: themeColor_v0_v2(theme.sanity.color),\n // oxlint-disable-next-line no-deprecated\n container: theme.sanity.container,\n // oxlint-disable-next-line no-deprecated\n font: theme.sanity.fonts,\n input: {\n ...defaultThemeConfig.input,\n // oxlint-disable-next-line no-deprecated\n ...theme.sanity.input,\n checkbox: {\n ...defaultThemeConfig.input.checkbox,\n // oxlint-disable-next-line no-deprecated\n ...theme.sanity.input.checkbox,\n },\n radio: {\n ...defaultThemeConfig.input.radio,\n // oxlint-disable-next-line no-deprecated\n ...theme.sanity.input.radio,\n },\n switch: {\n ...defaultThemeConfig.input.switch,\n // oxlint-disable-next-line no-deprecated\n ...theme.sanity.input.switch,\n },\n },\n // oxlint-disable-next-line no-deprecated\n layer: theme.sanity.layer ?? defaultThemeConfig.layer,\n // oxlint-disable-next-line no-deprecated\n media: theme.sanity.media,\n // oxlint-disable-next-line no-deprecated\n radius: theme.sanity.radius,\n // oxlint-disable-next-line no-deprecated\n shadow: theme.sanity.shadows,\n // oxlint-disable-next-line no-deprecated\n space: theme.sanity.space,\n // oxlint-disable-next-line no-deprecated\n style: theme.sanity.styles,\n }\n\n cache.set(theme, v2)\n\n return v2\n}\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-Dhme0dcp.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
5
5
|
import { styled } from "styled-components";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -65,7 +65,7 @@ function responsiveGridGapYStyle(props) {
|
|
|
65
65
|
}
|
|
66
66
|
const StyledGrid = /* @__PURE__ */ styled(Box).withConfig({
|
|
67
67
|
displayName: "StyledGrid",
|
|
68
|
-
componentId: "sc-
|
|
68
|
+
componentId: "sc-uknjwi-0"
|
|
69
69
|
})(responsiveGridStyle);
|
|
70
70
|
function GridComponent(props) {
|
|
71
71
|
let $ = c(43), as, autoCols, autoFlow, autoRows, children, gap, gapX, gapY, gridTemplateColumns, gridTemplateRows, ref, restProps;
|
|
@@ -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-3kBnMOwF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-3kBnMOwF.js","names":["_getArrayProp(autoRows)","_getArrayProp(autoCols)","_getArrayProp(autoFlow)","_getArrayProp(gridTemplateColumns)","_getArrayProp(gap)","_getArrayProp(gapX)","_getArrayProp(gapY)","_getArrayProp(gridTemplateRows)","<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>","typeof as === 'string' ? as : undefined"],"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":[],"sources":["../src/core/constants.ts","../src/core/styles/helpers.ts"],"sourcesContent":["import type {TargetAndTransition, Transition, Variant} from 'motion/react'\n\n/**\n * @internal\n */\nexport const EMPTY_ARRAY: never[] = []\n\n/**\n * @internal\n */\nexport const EMPTY_RECORD: Record<string, never> = {}\n\nconst POPOVER_MOTION_DURATION = 0.2\n\n/**\n * Shared `framer-motion` variants used by `Popover` and `Tooltip` components.\n * @internal\n */\nexport const POPOVER_MOTION_PROPS: {\n card: {\n initial: Variant\n hidden: Variant\n visible: Variant\n scaleIn: Variant\n scaleOut: Variant\n }\n content: {\n hidden: TargetAndTransition\n visible: TargetAndTransition\n }\n transition: Transition\n} = {\n card: {\n initial: {\n scale: 0.97,\n willChange: 'transform',\n },\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n transition: {\n duration: POPOVER_MOTION_DURATION / 2,\n },\n },\n scaleIn: {\n scale: 1,\n },\n scaleOut: {\n scale: 0.97,\n },\n },\n /**\n * Crossfade targets for the popover content wrapper. These are plain\n * animation targets (not variants): the content fade is driven directly by\n * the `open` prop rather than by variant/exit propagation from the card,\n * so that any open/close/open sequence converges to the correct opacity.\n * On enter, the content starts fading in halfway through the card fade\n * (which lasts `POPOVER_MOTION_DURATION / 2`); on exit, it fades out\n * together with the card.\n */\n content: {\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n transition: {\n type: 'spring',\n visualDuration: POPOVER_MOTION_DURATION,\n bounce: 0.25,\n delay: POPOVER_MOTION_DURATION / 4,\n },\n },\n },\n transition: {\n type: 'spring',\n visualDuration: POPOVER_MOTION_DURATION,\n bounce: 0.25,\n },\n}\n","import {CSSObject} from '../../theme/system/css'\nimport {Theme} from '../../theme/system/theme'\nimport {getTheme_v2} from '../../theme/versioning/getTheme_v2'\nimport {EMPTY_ARRAY} from '../constants'\n\n/**\n * @internal\n */\nexport function _fillCSSObject(keys: string[], value: string | number | CSSObject): CSSObject {\n return keys.reduce<CSSObject>((style, key) => {\n style[key] = value\n\n return style\n }, {})\n}\n\n/**\n * @public\n */\nexport function rem(pixelValue: number): string | 0 {\n if (pixelValue === 0) return 0\n\n return `${pixelValue / 16}rem`\n}\n\n/**\n * @internal\n */\nexport function _responsive<T>(\n media: number[],\n values: T[],\n callback: (value: T, index: number, array: T[]) => CSSObject,\n): CSSObject[] {\n const statements = values?.map(callback) || []\n\n return statements.map((statement, mediaIndex) => {\n if (mediaIndex === 0) return statement\n\n return {[`@media screen and (min-width: ${media[mediaIndex - 1]}px)`]: statement}\n })\n}\n\n/**\n * @internal\n */\nexport function _getArrayProp<T = number>(val: T | T[] | undefined, defaultVal?: T[]): T[] {\n if (val === undefined) return defaultVal || EMPTY_ARRAY\n\n return Array.isArray(val) ? val : [val]\n}\n\n/**\n * @internal\n */\nexport function _getResponsiveSpace(\n theme: Theme,\n props: string[],\n spaceIndexes: number[] = EMPTY_ARRAY,\n): CSSObject[] | null {\n if (!Array.isArray(spaceIndexes)) {\n throw new Error('the property must be array of numbers')\n }\n\n if (spaceIndexes.length === 0) {\n return null\n }\n\n const {media, space} = getTheme_v2(theme)\n\n return _responsive(media, spaceIndexes, (spaceIndex) =>\n _fillCSSObject(props, rem(space[spaceIndex])),\n )\n}\n"],"mappings":";;;;AAKA,MAAa,cAAuB,CAAC,GAKxB,eAAsC,CAAC,GAE9C,0BAA0B,IAMnB,uBAaT;CACF,MAAM;EACJ,SAAS;GACP,OAAO;GACP,YAAY;EACd;EACA,QAAQ,EACN,SAAS,EACX;EACA,SAAS;GACP,SAAS;GACT,YAAY,EACV,UAAU,0BAA0B,EACtC;EACF;EACA,SAAS,EACP,OAAO,EACT;EACA,UAAU,EACR,OAAO,IACT;CACF;;;;;;;;;;CAUA,SAAS;EACP,QAAQ,EACN,SAAS,EACX;EACA,SAAS;GACP,SAAS;GACT,YAAY;IACV,MAAM;IACN,gBAAgB;IAChB,QAAQ;IACR,OAAO,0BAA0B;GACnC;EACF;CACF;CACA,YAAY;EACV,MAAM;EACN,gBAAgB;EAChB,QAAQ;CACV;AACF;;;;ACzEA,SAAgB,eAAe,MAAgB,OAA+C;CAC5F,OAAO,KAAK,QAAmB,OAAO,SACpC,MAAM,OAAO,OAEN,QACN,CAAC,CAAC;AACP;;;;AAKA,SAAgB,IAAI,YAAgC;CAGlD,OAFI,eAAe,IAAU,IAEtB,GAAG,aAAa,GAAG;AAC5B;;;;AAKA,SAAgB,YACd,OACA,QACA,UACa;CAGb,QAFmB,QAAQ,IAAI,QAAQ,KAAK,CAAC,EAAA,CAE3B,KAAK,WAAW,eAC5B,eAAe,IAAU,YAEtB,GAAE,iCAAiC,MAAM,aAAa,GAAG,OAAO,UAAS,CACjF;AACH;;;;AAKA,SAAgB,cAA0B,KAA0B,YAAuB;CAGzF,OAFI,QAAQ,KAAA,IAAkB,cAAc,cAErC,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,GAAG;AACxC;;;;AAKA,SAAgB,oBACd,OACA,OACA,eAAyB,aACL;CACpB,IAAI,CAAC,MAAM,QAAQ,YAAY,GAC7B,MAAU,MAAM,uCAAuC;CAGzD,IAAI,aAAa,WAAW,GAC1B,OAAO;CAGT,IAAM,EAAC,OAAO,UAAS,YAAY,KAAK;CAExC,OAAO,YAAY,OAAO,eAAe,eACvC,eAAe,OAAO,IAAI,MAAM,WAAW,CAAC,CAC9C;AACF"}
|
|
@@ -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-Dhme0dcp.js";
|
|
4
|
+
import { n as Text } from "./stack-wyPeapSx.js";
|
|
5
5
|
import { c } from "react/compiler-runtime";
|
|
6
6
|
import { Children, useEffect } from "react";
|
|
7
7
|
import { css, styled } from "styled-components";
|
|
@@ -47,7 +47,7 @@ function inlineSpaceStyle(props) {
|
|
|
47
47
|
}
|
|
48
48
|
const StyledInline = /* @__PURE__ */ styled(Box).withConfig({
|
|
49
49
|
displayName: "StyledInline",
|
|
50
|
-
componentId: "sc-
|
|
50
|
+
componentId: "sc-ntfhm-0"
|
|
51
51
|
})(inlineBaseStyle, inlineSpaceStyle);
|
|
52
52
|
function InlineComponent(props) {
|
|
53
53
|
let $ = c(16), as, childrenProp, gap, ref, restProps;
|
|
@@ -66,21 +66,21 @@ function InlineComponent(props) {
|
|
|
66
66
|
children
|
|
67
67
|
}), $[10] = as, $[11] = children, $[12] = ref, $[13] = restProps, $[14] = t1, $[15] = t2) : t2 = $[15], t2;
|
|
68
68
|
}
|
|
69
|
+
function _temp(child) {
|
|
70
|
+
return child && /* @__PURE__ */ jsx("div", { children: child });
|
|
71
|
+
}
|
|
69
72
|
/**
|
|
70
73
|
* The `Inline` component is a layout utility for aligning and spacing items horizontally.
|
|
71
74
|
*
|
|
72
75
|
* @public
|
|
73
76
|
*/
|
|
74
|
-
function _temp(child) {
|
|
75
|
-
return child && /* @__PURE__ */ jsx("div", { children: child });
|
|
76
|
-
}
|
|
77
77
|
const Inline = InlineComponent;
|
|
78
78
|
function kbdStyle() {
|
|
79
79
|
return css`--card-bg-color:var(--card-kbd-bg-color);--card-border-color:var(--card-kbd-border-color);--card-fg-color:var(--card-kbd-fg-color);box-shadow:inset 0 0 0 1px var(--card-border-color);background:var(--card-bg-color);font:inherit;vertical-align:top;&:not([hidden]){display:inline-block;}`;
|
|
80
80
|
}
|
|
81
81
|
const StyledKBD = /* @__PURE__ */ styled.kbd.withConfig({
|
|
82
82
|
displayName: "StyledKBD",
|
|
83
|
-
componentId: "sc-
|
|
83
|
+
componentId: "sc-d2v61l-0"
|
|
84
84
|
})(responsiveRadiusStyle, kbdStyle);
|
|
85
85
|
function KBDComponent(props) {
|
|
86
86
|
let $ = c(20), children, ref, restProps, t0, t1, t2;
|
|
@@ -116,10 +116,10 @@ function KBDComponent(props) {
|
|
|
116
116
|
*/
|
|
117
117
|
const KBD = KBDComponent, StyledHotkeys = styled.kbd.withConfig({
|
|
118
118
|
displayName: "StyledHotkeys",
|
|
119
|
-
componentId: "sc-
|
|
119
|
+
componentId: "sc-kbw663-0"
|
|
120
120
|
})`font:inherit;padding:1px;&:not([hidden]){display:block;}`, Key = styled(KBD).withConfig({
|
|
121
121
|
displayName: "Key",
|
|
122
|
-
componentId: "sc-
|
|
122
|
+
componentId: "sc-kbw663-1"
|
|
123
123
|
})`&:not([hidden]){display:block;}`;
|
|
124
124
|
/**
|
|
125
125
|
* Represent hotkeys (a keyboard combination) with semantic `<kbd>` elements.
|
|
@@ -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-BYRfM-HW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hotkeys-BYRfM-HW.js","names":["(event: KeyboardEvent) => onKeyDown(event)","() => {\n const handler = (event: KeyboardEvent) => handleKeyDown(event)\n\n window.addEventListener('keydown', handler, options)\n\n return () => window.removeEventListener('keydown', handler, options)\n // oxlint-disable-next-line react/exhaustive-effect-dependencies\n }","event","[options]","Children.map(childrenProp, (child) => child && <div>{child}</div>)","(child) => child && <div>{child}</div>","useMemo(\n () => Children.map(childrenProp, (child) => child && <div>{child}</div>),\n [childrenProp],\n )","_getArrayProp(gap)","<StyledInline\n data-ui=\"Inline\"\n {...restProps}\n $space={_getArrayProp(gap)}\n forwardedAs={as}\n ref={ref}\n >\n {children}\n </StyledInline>","fontSize = 0","padding = 1","radius = 2","_getArrayProp(radius)","<Text as=\"span\" size={fontSize} weight=\"semibold\">\n {children}\n </Text>","<Box as=\"span\" padding={padding}>\n <Text as=\"span\" size={fontSize} weight=\"semibold\">\n {children}\n </Text>\n </Box>","<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>","gap = 0.5","_getArrayProp(gap)","<></>","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 ))","(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 )","<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>","<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>"],"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 // oxlint-disable-next-line react/exhaustive-effect-dependencies\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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"}
|