@react-spectrum/s2 3.0.0-nightly-5ed06068e-241105 → 3.0.0-nightly-09ccc53e7-241107
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/ActionButton.cjs +54 -11
- package/dist/ActionButton.cjs.map +1 -1
- package/dist/ActionButton.css +47 -3
- package/dist/ActionButton.css.map +1 -1
- package/dist/ActionButton.mjs +55 -12
- package/dist/ActionButton.mjs.map +1 -1
- package/dist/ActionButtonGroup.cjs +77 -0
- package/dist/ActionButtonGroup.cjs.map +1 -0
- package/dist/ActionButtonGroup.css +44 -0
- package/dist/ActionButtonGroup.css.map +1 -0
- package/dist/ActionButtonGroup.mjs +70 -0
- package/dist/ActionButtonGroup.mjs.map +1 -0
- package/dist/Badge.cjs +42 -42
- package/dist/Badge.css +35 -35
- package/dist/Badge.mjs +42 -42
- package/dist/Card.cjs +1 -1
- package/dist/Card.css +1 -1
- package/dist/Card.mjs +1 -1
- package/dist/Content.cjs +1 -0
- package/dist/Content.cjs.map +1 -1
- package/dist/Content.mjs +1 -0
- package/dist/Content.mjs.map +1 -1
- package/dist/ContextualHelp.cjs +1 -1
- package/dist/ContextualHelp.cjs.map +1 -1
- package/dist/ContextualHelp.css +32 -16
- package/dist/ContextualHelp.css.map +1 -1
- package/dist/ContextualHelp.mjs +1 -1
- package/dist/ContextualHelp.mjs.map +1 -1
- package/dist/IllustratedMessage.cjs +6 -2
- package/dist/IllustratedMessage.cjs.map +1 -1
- package/dist/IllustratedMessage.css +2 -2
- package/dist/IllustratedMessage.css.map +1 -1
- package/dist/IllustratedMessage.mjs +6 -2
- package/dist/IllustratedMessage.mjs.map +1 -1
- package/dist/InlineAlert.cjs +8 -8
- package/dist/InlineAlert.css +6 -6
- package/dist/InlineAlert.mjs +8 -8
- package/dist/Meter.cjs +4 -17
- package/dist/Meter.cjs.map +1 -1
- package/dist/Meter.css +7 -19
- package/dist/Meter.css.map +1 -1
- package/dist/Meter.mjs +4 -17
- package/dist/Meter.mjs.map +1 -1
- package/dist/Modal.cjs +1 -1
- package/dist/Modal.css +1 -1
- package/dist/Modal.mjs +1 -1
- package/dist/Picker.cjs +3 -0
- package/dist/Picker.cjs.map +1 -1
- package/dist/Picker.css +12 -0
- package/dist/Picker.css.map +1 -1
- package/dist/Picker.mjs +3 -0
- package/dist/Picker.mjs.map +1 -1
- package/dist/Popover.cjs +1 -1
- package/dist/Popover.css +1 -1
- package/dist/Popover.mjs +1 -1
- package/dist/ProgressBar.cjs +19 -3
- package/dist/ProgressBar.cjs.map +1 -1
- package/dist/ProgressBar.css +14 -0
- package/dist/ProgressBar.css.map +1 -1
- package/dist/ProgressBar.mjs +19 -3
- package/dist/ProgressBar.mjs.map +1 -1
- package/dist/Provider.cjs +1 -1
- package/dist/Provider.css +1 -1
- package/dist/Provider.mjs +1 -1
- package/dist/Radio.cjs +2 -2
- package/dist/Radio.cjs.map +1 -1
- package/dist/Radio.css +4 -8
- package/dist/Radio.css.map +1 -1
- package/dist/Radio.mjs +2 -2
- package/dist/Radio.mjs.map +1 -1
- package/dist/SegmentedControl.cjs +76 -62
- package/dist/SegmentedControl.cjs.map +1 -1
- package/dist/SegmentedControl.css +110 -69
- package/dist/SegmentedControl.css.map +1 -1
- package/dist/SegmentedControl.mjs +77 -63
- package/dist/SegmentedControl.mjs.map +1 -1
- package/dist/ToggleButton.cjs +13 -6
- package/dist/ToggleButton.cjs.map +1 -1
- package/dist/ToggleButton.css +16 -0
- package/dist/ToggleButton.css.map +1 -1
- package/dist/ToggleButton.mjs +14 -7
- package/dist/ToggleButton.mjs.map +1 -1
- package/dist/ToggleButtonGroup.cjs +54 -0
- package/dist/ToggleButtonGroup.cjs.map +1 -0
- package/dist/ToggleButtonGroup.mjs +48 -0
- package/dist/ToggleButtonGroup.mjs.map +1 -0
- package/dist/main.cjs +8 -0
- package/dist/main.cjs.map +1 -1
- package/dist/module.mjs +5 -1
- package/dist/module.mjs.map +1 -1
- package/dist/types.d.ts +57 -12
- package/dist/types.d.ts.map +1 -1
- package/package.json +17 -17
- package/src/ActionButton.tsx +88 -8
- package/src/ActionButtonGroup.tsx +106 -0
- package/src/Content.tsx +2 -1
- package/src/ContextualHelp.tsx +1 -1
- package/src/IllustratedMessage.tsx +1 -3
- package/src/Meter.tsx +4 -4
- package/src/Picker.tsx +10 -1
- package/src/ProgressBar.tsx +20 -3
- package/src/Radio.tsx +1 -3
- package/src/SegmentedControl.tsx +56 -45
- package/src/ToggleButton.tsx +23 -7
- package/src/ToggleButtonGroup.tsx +55 -0
- package/src/index.ts +4 -0
- package/style/dist/spectrum-theme.cjs +5 -0
- package/style/dist/spectrum-theme.cjs.map +1 -1
- package/style/dist/spectrum-theme.mjs +5 -0
- package/style/dist/spectrum-theme.mjs.map +1 -1
- package/style/dist/types.d.ts +2 -2
- package/style/dist/types.d.ts.map +1 -1
- package/style/spectrum-theme.ts +5 -0
package/src/ToggleButton.tsx
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
import {ActionButtonStyleProps, btnStyles} from './ActionButton';
|
|
14
14
|
import {centerBaseline} from './CenterBaseline';
|
|
15
|
-
import {ContextValue, Provider, ToggleButton as RACToggleButton, ToggleButtonProps as RACToggleButtonProps} from 'react-aria-components';
|
|
15
|
+
import {ContextValue, Provider, ToggleButton as RACToggleButton, ToggleButtonProps as RACToggleButtonProps, useSlottedContext} from 'react-aria-components';
|
|
16
16
|
import {createContext, forwardRef, ReactNode} from 'react';
|
|
17
17
|
import {FocusableRef, FocusableRefValue} from '@react-types/shared';
|
|
18
18
|
import {fontRelative, style} from '../style' with {type: 'macro'};
|
|
@@ -21,6 +21,7 @@ import {pressScale} from './pressScale';
|
|
|
21
21
|
import {SkeletonContext} from './Skeleton';
|
|
22
22
|
import {StyleProps} from './style-utils';
|
|
23
23
|
import {Text, TextContext} from './Content';
|
|
24
|
+
import {ToggleButtonGroupContext} from './ToggleButtonGroup';
|
|
24
25
|
import {useFocusableRef} from '@react-spectrum/utils';
|
|
25
26
|
import {useFormProps} from './Form';
|
|
26
27
|
import {useSpectrumContextProps} from './useSpectrumContextProps';
|
|
@@ -38,23 +39,38 @@ function ToggleButton(props: ToggleButtonProps, ref: FocusableRef<HTMLButtonElem
|
|
|
38
39
|
[props, ref] = useSpectrumContextProps(props, ref, ToggleButtonContext);
|
|
39
40
|
props = useFormProps(props as any);
|
|
40
41
|
let domRef = useFocusableRef(ref);
|
|
42
|
+
let {
|
|
43
|
+
density = 'regular',
|
|
44
|
+
isJustified,
|
|
45
|
+
orientation = 'horizontal',
|
|
46
|
+
staticColor = props.staticColor,
|
|
47
|
+
isQuiet = props.isQuiet,
|
|
48
|
+
isEmphasized = props.isEmphasized,
|
|
49
|
+
size = props.size || 'M',
|
|
50
|
+
isDisabled = props.isDisabled
|
|
51
|
+
} = useSlottedContext(ToggleButtonGroupContext) || {};
|
|
52
|
+
|
|
41
53
|
return (
|
|
42
54
|
<RACToggleButton
|
|
43
55
|
{...props}
|
|
56
|
+
isDisabled={isDisabled}
|
|
44
57
|
ref={domRef}
|
|
45
58
|
style={pressScale(domRef, props.UNSAFE_style)}
|
|
46
59
|
className={renderProps => (props.UNSAFE_className || '') + btnStyles({
|
|
47
60
|
...renderProps,
|
|
48
|
-
staticColor
|
|
49
|
-
size
|
|
50
|
-
isQuiet
|
|
51
|
-
isEmphasized
|
|
52
|
-
isPending: false
|
|
61
|
+
staticColor,
|
|
62
|
+
size,
|
|
63
|
+
isQuiet,
|
|
64
|
+
isEmphasized,
|
|
65
|
+
isPending: false,
|
|
66
|
+
density,
|
|
67
|
+
isJustified,
|
|
68
|
+
orientation
|
|
53
69
|
}, props.styles)}>
|
|
54
70
|
<Provider
|
|
55
71
|
values={[
|
|
56
72
|
[SkeletonContext, null],
|
|
57
|
-
[TextContext, {styles: style({paddingY: '--labelPadding', order: 1})}],
|
|
73
|
+
[TextContext, {styles: style({paddingY: '--labelPadding', order: 1, truncate: true})}],
|
|
58
74
|
[IconContext, {
|
|
59
75
|
render: centerBaseline({slot: 'icon', styles: style({order: 0})}),
|
|
60
76
|
styles: style({size: fontRelative(20), marginStart: '--iconMargin', flexShrink: 0})
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import {ActionButtonGroupProps, actionGroupStyle} from './ActionButtonGroup';
|
|
14
|
+
import {ContextValue, ToggleButtonGroup as RACToggleButtonGroup, ToggleButtonGroupProps as RACToggleButtonGroupProps} from 'react-aria-components';
|
|
15
|
+
import {createContext, ForwardedRef, forwardRef} from 'react';
|
|
16
|
+
import {useSpectrumContextProps} from './useSpectrumContextProps';
|
|
17
|
+
|
|
18
|
+
export interface ToggleButtonGroupProps extends ActionButtonGroupProps, Omit<RACToggleButtonGroupProps, 'children' | 'style' | 'className'> {
|
|
19
|
+
/** Whether the button should be displayed with an [emphasized style](https://spectrum.adobe.com/page/action-button/#Emphasis). */
|
|
20
|
+
isEmphasized?: boolean
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export const ToggleButtonGroupContext = createContext<ContextValue<ToggleButtonGroupProps, HTMLDivElement>>(null);
|
|
24
|
+
|
|
25
|
+
function ToggleButtonGroup(props: ToggleButtonGroupProps, ref: ForwardedRef<HTMLDivElement>) {
|
|
26
|
+
[props, ref] = useSpectrumContextProps(props, ref, ToggleButtonGroupContext);
|
|
27
|
+
let {
|
|
28
|
+
density = 'regular',
|
|
29
|
+
size = 'M',
|
|
30
|
+
orientation = 'horizontal',
|
|
31
|
+
isJustified,
|
|
32
|
+
children,
|
|
33
|
+
UNSAFE_className = '',
|
|
34
|
+
UNSAFE_style,
|
|
35
|
+
styles
|
|
36
|
+
} = props;
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<RACToggleButtonGroup
|
|
40
|
+
{...props}
|
|
41
|
+
ref={ref}
|
|
42
|
+
style={UNSAFE_style}
|
|
43
|
+
className={UNSAFE_className + actionGroupStyle({size, density, orientation, isJustified}, styles)}>
|
|
44
|
+
<ToggleButtonGroupContext.Provider value={props}>
|
|
45
|
+
{children}
|
|
46
|
+
</ToggleButtonGroupContext.Provider>
|
|
47
|
+
</RACToggleButtonGroup>
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* A ToggleButtonGroup is a grouping of related ToggleButtons, with single or multiple selection.
|
|
53
|
+
*/
|
|
54
|
+
const _ToggleButtonGroup = forwardRef(ToggleButtonGroup);
|
|
55
|
+
export {_ToggleButtonGroup as ToggleButtonGroup};
|
package/src/index.ts
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
export {Accordion, AccordionContext} from './Accordion';
|
|
14
14
|
export {ActionButton, ActionButtonContext} from './ActionButton';
|
|
15
|
+
export {ActionButtonGroup, ActionButtonGroupContext} from './ActionButtonGroup';
|
|
15
16
|
export {ActionMenu, ActionMenuContext} from './ActionMenu';
|
|
16
17
|
export {AlertDialog} from './AlertDialog';
|
|
17
18
|
export {Avatar, AvatarContext} from './Avatar';
|
|
@@ -68,6 +69,7 @@ export {Tabs, TabList, Tab, TabPanel, TabsContext} from './Tabs';
|
|
|
68
69
|
export {TagGroup, Tag, TagGroupContext} from './TagGroup';
|
|
69
70
|
export {TextArea, TextField, TextAreaContext, TextFieldContext} from './TextField';
|
|
70
71
|
export {ToggleButton, ToggleButtonContext} from './ToggleButton';
|
|
72
|
+
export {ToggleButtonGroup, ToggleButtonGroupContext} from './ToggleButtonGroup';
|
|
71
73
|
export {Tooltip, TooltipTrigger} from './Tooltip';
|
|
72
74
|
|
|
73
75
|
export {pressScale} from './pressScale';
|
|
@@ -77,6 +79,7 @@ export {FileTrigger} from 'react-aria-components';
|
|
|
77
79
|
|
|
78
80
|
export type {AccordionProps} from './Accordion';
|
|
79
81
|
export type {ActionButtonProps} from './ActionButton';
|
|
82
|
+
export type {ActionButtonGroupProps} from './ActionButtonGroup';
|
|
80
83
|
export type {ActionMenuProps} from './ActionMenu';
|
|
81
84
|
export type {AlertDialogProps} from './AlertDialog';
|
|
82
85
|
export type {AvatarProps} from './Avatar';
|
|
@@ -129,5 +132,6 @@ export type {TabsProps, TabProps, TabListProps, TabPanelProps} from './Tabs';
|
|
|
129
132
|
export type {TagGroupProps, TagProps} from './TagGroup';
|
|
130
133
|
export type {TextFieldProps, TextAreaProps} from './TextField';
|
|
131
134
|
export type {ToggleButtonProps} from './ToggleButton';
|
|
135
|
+
export type {ToggleButtonGroupProps} from './ToggleButtonGroup';
|
|
132
136
|
export type {TooltipProps} from './Tooltip';
|
|
133
137
|
export type {FileTriggerProps, TooltipTriggerComponentProps as TooltipTriggerProps} from 'react-aria-components';
|
|
@@ -906,6 +906,7 @@ const $7dddb03c6ef7d79c$export$1d567c320f4763bc = (0, $b3643cb9d2948e30$exports.
|
|
|
906
906
|
isFocusVisible: "light-dark(rgb(41, 41, 41), rgb(219, 219, 219))",
|
|
907
907
|
isPressed: "light-dark(rgb(41, 41, 41), rgb(219, 219, 219))"
|
|
908
908
|
},
|
|
909
|
+
'neutral-visual': "light-dark(rgb(143, 143, 143), rgb(138, 138, 138))",
|
|
909
910
|
negative: {
|
|
910
911
|
default: "light-dark(rgb(215, 50, 32), rgb(252, 67, 46))",
|
|
911
912
|
isHovered: "light-dark(rgb(183, 40, 24), rgb(255, 103, 86))",
|
|
@@ -949,6 +950,7 @@ const $7dddb03c6ef7d79c$export$1d567c320f4763bc = (0, $b3643cb9d2948e30$exports.
|
|
|
949
950
|
isFocusVisible: "light-dark(rgb(183, 40, 24), rgb(205, 46, 29))",
|
|
950
951
|
isPressed: "light-dark(rgb(183, 40, 24), rgb(205, 46, 29))"
|
|
951
952
|
},
|
|
953
|
+
'negative-visual': "light-dark(rgb(240, 56, 35), rgb(252, 67, 46))",
|
|
952
954
|
'negative-subtle': "light-dark(rgb(255, 235, 232), rgb(87, 17, 7))",
|
|
953
955
|
informative: {
|
|
954
956
|
default: "light-dark(rgb(59, 99, 251), rgb(64, 105, 253))",
|
|
@@ -956,6 +958,7 @@ const $7dddb03c6ef7d79c$export$1d567c320f4763bc = (0, $b3643cb9d2948e30$exports.
|
|
|
956
958
|
isFocusVisible: "light-dark(rgb(39, 77, 234), rgb(52, 91, 248))",
|
|
957
959
|
isPressed: "light-dark(rgb(39, 77, 234), rgb(52, 91, 248))"
|
|
958
960
|
},
|
|
961
|
+
'informative-visual': "light-dark(rgb(75, 117, 255), rgb(86, 129, 255))",
|
|
959
962
|
'informative-subtle': "light-dark(rgb(229, 240, 254), rgb(12, 33, 117))",
|
|
960
963
|
positive: {
|
|
961
964
|
default: "light-dark(rgb(5, 131, 78), rgb(6, 136, 80))",
|
|
@@ -963,8 +966,10 @@ const $7dddb03c6ef7d79c$export$1d567c320f4763bc = (0, $b3643cb9d2948e30$exports.
|
|
|
963
966
|
isFocusVisible: "light-dark(rgb(3, 110, 69), rgb(4, 124, 75))",
|
|
964
967
|
isPressed: "light-dark(rgb(3, 110, 69), rgb(4, 124, 75))"
|
|
965
968
|
},
|
|
969
|
+
'positive-visual': "light-dark(rgb(7, 147, 85), rgb(9, 157, 89))",
|
|
966
970
|
'positive-subtle': "light-dark(rgb(215, 247, 225), rgb(0, 51, 38))",
|
|
967
971
|
notice: "light-dark(rgb(252, 125, 0), rgb(224, 100, 0))",
|
|
972
|
+
'notice-visual': "light-dark(rgb(212, 91, 0), rgb(224, 100, 0))",
|
|
968
973
|
'notice-subtle': "light-dark(rgb(255, 236, 207), rgb(80, 27, 0))",
|
|
969
974
|
gray: "light-dark(rgb(80, 80, 80), rgb(109, 109, 109))",
|
|
970
975
|
'gray-subtle': "light-dark(rgb(233, 233, 233), rgb(57, 57, 57))",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;AAWD,SAAS,8BAAQ,EAAmB;IAClC,IAAI,OAAO,OAAO,UAChB,KAAK,WAAW;IAElB,OAAO,KAAK,KAAK;AACnB;AAEA,MAAM,8BAAQ;IACZ,aAAa;IACb,OAAO;IACP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+BP,sBAAsB;IACtB,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,OAAO;IACP,WAAW;IACX,eAAe;IACf,UAAU;IACV,MAAM;IACN,UAAU;AACZ;AAEO,SAAS,0CAAU,IAAwB;IAChD,IAAI,OAAO,OAAO,IAAI,CAAC;IACvB,IAAI,QAAQ,KAAK,OAAO,CAAC;IACzB,IAAI,UAAU,IACZ,MAAM,IAAI,MAAM,wBAAwB;IAG1C,OAAO;QACL,SAAS;QACT,WAAW,IAAI,CAAC,QAAQ,EAAE;QAC1B,gBAAgB,IAAI,CAAC,QAAQ,EAAE;QAC/B,WAAW,IAAI,CAAC,QAAQ,EAAE;IAC5B;AACF;AAGA,SAAS,iCAAW,KAAoB;IACtC,IAAI,YAAY,CAAA,GAAA,6CAAkB,EAAE;IACpC,IAAI,WACF,OAAO,SAAS,CAAC,EAAE;IAErB,IAAI,CAAC,YAAY,QAAQ,GAAG,MAAM,KAAK,CAAC;IACxC,aAAa,2BAAK,CAAC,WAAW;IAC9B,IAAI,SACF,aAAa,CAAC,SAAS,EAAE,WAAW,SAAS,EAAE,QAAQ,EAAE,CAAC;IAE5D,OAAO;AACT;AAEO,SAAS,0CAAU,KAAoB,EAAE,IAAmB;IACjE,OAAO,CAAC,YAAY,EAAE,iCAAW,OAAO,EAAE,EAAE,iCAAW,MAAM,EAAE,CAAC;AAClE;AAEO,SAAS,0CAAS,CAAgB,EAAE,CAAgB,EAAE,OAAe;IAC1E,OAAO,CAAC,oBAAoB,EAAE,iCAAW,GAAG,EAAE,EAAE,iCAAW,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC;AAC/E;AAEA,SAAS,sCAAoC,EAAK;IAChD,IAAI,MAAW,CAAC;IAChB,KAAK,IAAI,KAAK,GACZ,GAAG,CAAC,EAAE,GAAG,8BAAQ;IAEnB,OAAO;AACT;AAEA,MAAM,oCAAc,sCAAgB;IAClC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,+DAA+D;IAC/D;IACA;IACA;IACA,qEAAqE;IACrE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,+EAA+E;AAC/E,8DAA8D;AAC9D,MAAM,wCAAkB,sCAAgB;IACtC,qDAAqD;IACrD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,+DAA+D;IAC/D;IACA;IACA;IACA,qEAAqE;IACrE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,SAAS,gCAAU,GAAwB,EAAE,KAAa;IACxD,OAAO,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG;AAC9B;AAEO,SAAS,0CAAwC,IAAY,EAAE,eAAe,EAAE;IACrF,OAAO,gCAAU,IAAI,EAAE,AAAC,OAAO,eAAgB;AACjD;AAEO,SAAS,0CAAsC,MAAgC;IACpF,OAAO,CAAC,KAAK,EAAE,iCAAW,CAAC,OAAO,CAAC,SAAS,CAAC;AAC/C;AAEO,SAAS,0CAAiC,EAAU;IACzD,OAAO,gCAAU,IAAI,EAAE,8BAAQ;AACjC;AAEA,MAAM,gCAAU;IACd,GAAG,iCAAW;IAEd,4BAA4B;IAC5B,mBAAmB,0CAAa;IAChC,kBAAkB;QAChB,SAAS,0CAAa;QACtB,OAAO,0CAAa,GAAG,IAAI,kEAAkE;IAC/F;IACA,yBAAyB;IACzB,gBAAgB;IAChB,QAAQ;AACV;AAEO,SAAS,0CAAgC,EAAU;IACxD,OAAO,gCAAU,IAAI,EAAE,CAAC,KAAK,EAAE,8BAAQ,IAAI,mBAAmB,CAAC;AACjE;AAEA,MAAM,sCACJ,OAAO,WAAW,CAAC,OAAO,OAAO,CAAC,mCAAa,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GACxD;QAAC;QAAG,CAAC,KAAK,EAAE,EAAE,mBAAmB,CAAC;KAAC;AAGvC,MAAM,+BAAS;IACb,GAAG,mCAAa;IAChB,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IAEL,SAAS;QACP,SAAS,0CAAK;QACd,MAAM;YACJ,IAAI,0CAAK;YACT,GAAG,0CAAK;YACR,GAAG,0CAAK;YACR,IAAI,0CAAK;QACX;IACF;IACA,qDAAqD;IACrD,2CAA2C;IAC3C,cAAc;QACZ,SAAS,0CAAK;QACd,MAAM;YACJ,GAAG,0CAAK;YACR,GAAG,0CAAK;YACR,IAAI,0CAAK;QACX;IACF;AACF;AAEA,MAAM,+BAAS;IACb,GAAG,4BAAM;IACT,QAAQ;AACV;AAEA,MAAM,8BAAQ;IACZ,GAAG,4BAAM;IACT,QAAQ;AACV;AAEA,MAAM,+BAAS;IACb,GAAG,6BAAO;IACV,GAAG,qCAAe;IAClB,MAAM;AACR;AAEA,MAAM,8BAAQ;IACZ,GAAG,iCAAW;IACd,MAAM;IACN,MAAM;AACR;AAEA,MAAM,kCAAY;IAChB,GAAG,iCAAW;IACd,GAAG,qCAAe;IAClB,MAAM;AACR;AAEA,MAAM,oCAAc;IAClB,GAAG;IACH,CAAC;IACD,CAAC;IACD,CAAC;AACH;AAEA,MAAM,+BAAS;IACb,IAAI;IACJ,IAAI;IACJ,SAAS;IACT,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,MAAM;IACN,SAAS,0CAAa;IACtB,cAAc,0CAAa;AAC7B;AAKA,IAAI,kCAAY,CAAC;IACf,IAAI,OAAO,UAAU,UACnB,OAAO;IAET,OAAO,MAAM,GAAG,CAAC,CAAA,IAAK,oCAAc,IAAI,IAAI,CAAC;AAC/C;AAEA,IAAI,sCAAgB,CAAC;IACnB,aAAa;IACb,OAAO,SAAS,oCAAc,iCAAW,CAAC,MAAM,GAAG;AACrD;AAEA,MAAM,2CAAqB;IACzB,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,WAAW;IACX,KAAK;IACL,MAAM;AACR;AAEA,OAAO;AACP,MAAM,uCAAiB;IACrB,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,UAAU;AACZ;AAEA,yDAAyD;AACzD,IAAI,yCAAmB,CAAA,GAAA,iDAAsB,EAAE,CAAC,OAAwB,WAAc,CAAA;QAAC,CAAC,SAAS,EAAE,OAAO,UAAU,WAAW,QAAQ,OAAO;IAAK,CAAA;AAEnJ,qDAAqD;AAErD,MAAM,uCAAiB;IACrB,OAAO;IACP,oIAAoI;IACpI,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,cAAc;IACd,OAAO;AACT;AAEA,MAAM,kCAAY;IAChB,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,iEAAiE;IACjE,kBAAkB;IAClB,gCAAgC;AAClC;AAEA,MAAM,iCAAW;IACf,+DAA+D;IAC/D,OAAO;;;;IACP,OAAO;;;;IACP,EAAE;;;;IACF,OAAO;;;;IACP,OAAO;;;;IACP,QAAQ;;;;IACR,QAAQ;;;;IAER,SAAS;QACP,OAAO;;;;QACP,MAAM;YACJ,EAAE;;;;YACF,CAAC;;;;YACD,CAAC;;;;YACD,EAAE;;;;QACJ;IACF;IAEA,aAAa;;;;IACb,YAAY;;;;IACZ,YAAY;;;;IACZ,OAAO;;;;IACP,YAAY;;;;IACZ,YAAY;;;;IACZ,aAAa;;;;IACb,aAAa;;;;IAEb,UAAU;;;;IACV,UAAU;;;;IACV,KAAK;;;;IACL,UAAU;;;;IACV,UAAU;;;;IACV,WAAW;;;;IACX,WAAW;;;;IAEX,2EAA2E;IAC3E,UAAU;;;;IACV,SAAS;;;;IACT,SAAS;;;;IACT,IAAI;;;;IACJ,SAAS;;;;IACT,SAAS;;;;IACT,UAAU;;;;IACV,UAAU;;;;IAEV,WAAW;;;;IACX,MAAM;;;;IACN,WAAW;;;;IACX,WAAW;;;;IAEX,SAAS;;;;IACT,SAAS;;;;IACT,IAAI;;;;IACJ,SAAS;;;;IACT,SAAS;;;;AACX;AAEO,MAAM,4CAAQ,CAAA,GAAA,qCAAU,EAAE;IAC/B,YAAY;QACV,SAAS;QACT,OAAO,CAAA,GAAA,6CAAkB,EAAE;YACzB,GAAG,2BAAK;YACR,QAAQ;gBACN,OAAO;gBACP,SAAS;gBACT,cAAc;gBACd,SAAS;YAEX;YACA,SAAS;gBACP,OAAO;gBACP,SAAS;gBACT,cAAc;gBACd,SAAS;YAEX;YACA,mBAAmB;gBACjB,OAAO;gBACP,SAAS;gBACT,cAAc;gBACd,SAAS;YAEX;YACA,UAAU;gBACR,OAAO;gBACP,SAAS;gBACT,cAAc;gBACd,SAAS;YACX;YACA,UAAU;gBACR,OAAO;YAET;YACA,OAAO;YACP,KAAK;YACL,IAAI;YACJ,MAAM;YACN,IAAI;QACN;QACA,iBAAiB,CAAA,GAAA,6CAAkB,EAAE;YACnC,GAAG,2BAAK;YACR,QAAQ;gBACN,OAAO;gBACP,SAAS;gBACT,cAAc;gBACd,SAAS;YACX;YACA,eAAe;YACf,SAAS;gBACP,OAAO;gBACP,SAAS;gBACT,cAAc;gBACd,SAAS;YACX;YACA,mBAAmB;gBACjB,OAAO;gBACP,SAAS;gBACT,cAAc;gBACd,SAAS;YACX;YACA,gBAAgB;YAChB,UAAU;gBACR,OAAO;gBACP,SAAS;gBACT,cAAc;gBACd,SAAS;YACX;YACA,iBAAiB;YACjB,aAAa;gBACX,OAAO;gBACP,SAAS;gBACT,cAAc;gBACd,SAAS;YACX;YACA,oBAAoB;YACpB,UAAU;gBACR,OAAO;gBACP,SAAS;gBACT,cAAc;gBACd,SAAS;YACX;YACA,iBAAiB;YACjB,MAAM;YACN,eAAe;YACf,IAAI;YACJ,aAAa;YACb,GAAG;YACH,YAAY;YACZ,MAAM;YACN,eAAe;YACf,MAAM;YACN,eAAe;YACf,UAAU;YACV,mBAAmB;YACnB,MAAM;YACN,eAAe;YACf,KAAK;YACL,cAAc;YACd,OAAO;YACP,gBAAgB;YAChB,IAAI;YACJ,aAAa;YACb,IAAI;YACJ,aAAa;YACb,MAAM;YACN,eAAe;YACf,MAAM;YACN,eAAe;YACf,OAAO;YACP,gBAAgB;YAChB,OAAO;YACP,gBAAgB;YAChB,IAAI;YACJ,aAAa;YACb,SAAS;YACT,kBAAkB;YAClB,QAAQ;YACR,iBAAiB;YACjB,KAAK;YACL,cAAc;YACd,MAAM;YACN,eAAe;YACf,QAAQ;YACR,IAAI;YACJ,SAAS;YACT,SAAS;YACT,UAAU;YACV,QAAQ;QACV;QACA,aAAa,CAAA,GAAA,6CAAkB,EAAE;YAC/B,GAAG,2BAAK;YACR,UAAU;gBACR,OAAO;gBACP,SAAS;gBACT,cAAc;gBACd,SAAS;YACX;YACA,QAAQ;QAGV;QACA,cAAc,CAAA,GAAA,6CAAkB,EAAE;YAChC,GAAG,2BAAK;YACR,cAAc;gBACZ,OAAO;gBACP,cAAc;YAChB;QACF;QACA,uCAAuC;QACvC,+BAA+B;QAC/B,8BAA8B;QAC9B,MAAM,CAAA,GAAA,6CAAkB,EAAE;YACxB,MAAM;YACN,cAAc;YACd,MAAM;YACN,OAAO;YACP,QAAQ;YACR,WAAW;YACX,QAAQ;YACR,MAAM;YACN,IAAI;YACJ,GAAG;YACH,MAAM;YACN,MAAM;YACN,UAAU;YACV,MAAM;YACN,KAAK;YACL,OAAO;YACP,IAAI;YACJ,IAAI;YACJ,MAAM;YACN,MAAM;YACN,OAAO;YACP,OAAO;YACP,IAAI;YACJ,SAAS;YACT,QAAQ;YACR,KAAK;YACL,MAAM;YACN,GAAG,2BAAK;QACV;QACA,QAAQ,CAAA,GAAA,6CAAkB,EAAE;YAC1B,MAAM;YACN,cAAc;YACd,GAAG,2BAAK;QACV;QAEA,aAAa;QACb,eAAe;QACf,WAAW;YACT,MAAM;YACN,MAAM;YACN,GAAG,iCAAW;QAChB;QACA,QAAQ;QACR,WAAW;gBACX;eACA;QACA,uBAAuB;QACvB,wBAAwB;QACxB,WAAW;QACX,WAAW;YACT,GAAG,4BAAM;YACT,MAAM;QACR;QACA,UAAU;QACV,UAAU;YACR,GAAG,2BAAK;YACR,MAAM;QACR;QACA,kBAAkB,CAAA,GAAA,+CAAoB,EAAE,0BAA0B;QAClE,gBAAgB,CAAA,GAAA,+CAAoB,EAAE,wBAAwB;QAC9D,gBAAgB;QAChB,mBAAmB;QACnB,aAAa;YAAC;YAAS;YAAU;YAAU;YAAU;YAAU;SAAO;QACtE,aAAa;YACX,GAAG;YACH,GAAG;YACH,GAAG;QACL;QACA,aAAa,CAAA,GAAA,+CAAoB,EAAE,qBAAqB;QACxD,WAAW,CAAA,GAAA,+CAAoB,EAAE,mBAAmB;QACpD,WAAW;QACX,cAAc;QACd,cAAc,CAAA,GAAA,+CAAoB,EAAE,sBAAsB;QAC1D,YAAY,CAAA,GAAA,+CAAoB,EAAE,oBAAoB;QACtD,YAAY;QACZ,eAAe;QACf,mBAAmB,CAAA,GAAA,+CAAoB,EAAE,2BAA2B;QACpE,iBAAiB,CAAA,GAAA,+CAAoB,EAAE,yBAAyB;QAChE,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB,CAAA,GAAA,+CAAoB,EAAE,4BAA4B;QACtE,kBAAkB,CAAA,GAAA,+CAAoB,EAAE,0BAA0B;QAClE,kBAAkB;QAClB,qBAAqB;QACrB,YAAY;QACZ,YAAY,CAAA,GAAA,8CAAmB,EAAE,CAAA,QAAU,CAAA;gBACzC,gBAAgB;gBAChB,WAAW;YACb,CAAA,GAAI;QACJ,YAAY,CAAA,GAAA,8CAAmB,EAAE,CAAA,QAAU,CAAA;gBACzC,gBAAgB;gBAChB,WAAW;YACb,CAAA,GAAI;QACJ,QAAQ,CAAA,GAAA,iDAAsB,EAAE,CAAC,OAAqF,WAAc,CAAA;gBAAC,CAAC,SAAS,EAAE,OAAO,UAAU,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG;YAAK,CAAA;QAClM,OAAO,CAAA,GAAA,iDAAsB;QAC7B,WAAW,CAAA,GAAA,iDAAsB;QACjC,UAAU;YAAC;YAAY;YAAS;YAAY;YAAU;SAAS;QAC/D,YAAY,CAAA,GAAA,+CAAoB,EAAE,oBAAoB;QACtD,UAAU,CAAA,GAAA,+CAAoB,EAAE,kBAAkB;QAClD,KAAK;QACL,MAAM;QACN,QAAQ;QACR,OAAO;QACP,aAAa;YACX,MAAM;YACN,QAAQ;YACR,OAAO;QACT;QAEA,OAAO;QACP,YAAY;YACV,MAAM;gBACJ,SAAS;gBACT,GAAG,+BAAS;YACd;YACA,OAAO;gBACL,SAAS;gBACT,GAAG,+BAAS;YACd;YACA,MAAM;QACR;kBACA;QACA,YAAY,CAAA,GAAA,8CAAmB,EAAE,CAAC,OAAO;YACvC,IAAI,aAAa,cACf,OAAO;gBACL,uFAAuF;gBACvF,uBAAuB,UAAU,YAAY,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;gBAC1E,YAAY;gBACZ,qBAAqB;YACvB;YAGF,OAAO;gBAAC,CAAC,SAAS,EAAE;YAAK;QAC3B,GAAG;YACD,GAAG,oCAAc;YACjB,SAAS;gBACP,SAAS,oCAAc,cAA2E;gBAClG,uCAAuC,oCAAc,cAAoE;YAC3H;YACA,OAAO;gBACL,SAAS,oCAAc,QAAyE;gBAChG,uCAAuC,oCAAc,QAAkE;YACzH;YACA,QAAQ;gBACN,SAAS,oCAAc,UAA0E;gBACjG,uCAAuC,oCAAc,QAAmE;YAC1H;QACF;QACA,YAAY;YACV,mEAAmE;YACnE,IAAI;gBACF,OAAO;gBACP,qCAAqC;YACvC;YACA,SAAS;gBACP,OAAO;gBACP,qCAAqC;YACvC;YACA,OAAO;gBACL,OAAO;gBACP,qCAAqC;YACvC;YACA,MAAM;gBACJ,OAAO;gBACP,qCAAqC;YACvC;YACA,QAAQ;gBACN,OAAO;gBACP,qCAAqC;YACvC;YACA,MAAM;gBACJ,OAAO;gBACP,qCAAqC;YACvC;QACF;QACA,eAAe;YAAC;YAAQ;YAAQ;SAAU;QAC1C,mBAAmB;YAAC;YAAU;SAAU;QACxC,eAAe;YAAC;YAAa;YAAa;YAAc;SAAO;QAC/D,WAAW;YAAC;YAAS;YAAU;YAAO;SAAU;QAChD,eAAe;YAAC;YAAY;YAAO;YAAU;YAAU;YAAY;YAAe;YAAO;SAAQ;QACjG,gBAAgB,CAAA,GAAA,8CAAmB,EAAE,CAAC,QAAW,CAAA;gBAC/C,gBAAgB,UAAU,SAAS,SAAS,CAAC,EAAE,MAAM,CAAC,QAAuC,CAAC;gBAC9F,qBAAqB,UAAU,sBAA+C;YAChF,CAAA,GAAI;YAAC;YAAa;YAAY;YAAgB;SAAO;QACrD,cAAc;YAAC;YAAY;SAAO;QAClC,WAAW,CAAA,GAAA,iDAAsB,EAAE,CAAC,QAAmB,CAAA;gBACrD,UAAU;gBACV,SAAS;gBACT,sBAAsB;gBACtB,sBAAsB;YACxB,CAAA;QACA,SAAS;YAAC;YAAQ;YAAU;SAAO;QACnC,YAAY;YAAC;YAAU;YAAU;YAAO;YAAY;YAAY;SAAe;QAC/E,UAAU;YAAC;YAAQ;YAAU;YAAW;SAAS;QACjD,WAAW;YAAC;YAAU;YAAa;SAAW;QAC9C,oBAAoB;YAAC;YAAS;SAAQ;QAEtC,UAAU;QACV,WAAW;YACT,YAAY,CAAC,QAA+C,CAAC,QAA+C,CAAC,QAAkD,CAAC,yDAAqD,CAAC;YACtN,UAAU,CAAC,QAAqC,CAAC,QAAqC,CAAC,QAAwC,CAAC,yDAA2C,CAAC;YAC5K,SAAS,CAAC,QAAoC,CAAC,QAAoC,CAAC,SAAuC,CAAC,uDAA0C,CAAC;YACvK,MAAM;QACR;QACA,QAAQ;YACN,YAAY,CAAC,YAAY,QAA+C,CAAC,QAA+C,CAAC,QAAkD,CAAC,yDAAqD,CAAC,CAAC;YACnO,UAAU,CAAC,YAAY,QAAqC,CAAC,QAAqC,CAAC,QAAwC,CAAC,yDAA2C,CAAC,CAAC;YACzL,SAAS,CAAC,WAAW,QAAoC,CAAC,QAAoC,CAAC,SAAuC,CAAC,uDAA0C,CAAC;YAClL,MAAM;QACR;QACA,sBAAsB,CAAA,GAAA,+CAAoB,EAAE,0BAA0B;QACtE,oBAAoB,CAAA,GAAA,+CAAoB,EAAE,wBAAwB;QAClE,yBAAyB,CAAA,GAAA,+CAAoB,EAAE,wBAAwB;QACvE,uBAAuB,CAAA,GAAA,+CAAoB,EAAE,sBAAsB;QACnE,mBAAmB;YAAC;YAAQ;SAAO;QACnC,aAAa;YAAC;YAAS;YAAQ;SAAa;QAC5C,iBAAiB,CAAA,GAAA,iDAAsB;QACvC,gDAAgD;QAChD,oBAAoB;YAAC;YAAU;YAAU;YAAQ;YAAe;YAAY;YAAS;YAAgB;YAAa;SAAM;QACxH,gBAAgB;YAAC;YAAQ;YAAS;SAAU;QAC5C,sBAAsB;YAAC;YAAS;YAAS;SAAS;QAClD,gBAAgB;YAAC;YAAc;YAAe;YAAe;SAAO;QACpE,kBAAkB;YAAC;YAAU;YAAa;YAAY;YAAY;YAAS;SAAQ;QACnF,kBAAkB;YAAC;YAAc;YAAe;SAAc;QAC9D,qBAAqB;YAAC;YAAU;YAAY;YAAU;YAAW;YAAU;YAAW;YAAe;YAAc;YAAc;YAAc;YAAc;YAAa;YAAO;YAAc;YAAS;SAAa;QACrN,cAAc;YAAC;YAAU;YAAY;YAAU;YAAW;YAAU;YAAW;YAAe;YAAc;YAAc;YAAc;YAAc;YAAa;YAAO;YAAc;YAAS;YAAc;YAAe;SAAe;QAC7O,SAAS,CAAA,GAAA,iDAAsB;QAE/B,cAAc;YAAC;YAAQ;YAAS;YAAU;YAAU;YAAU;SAAQ;QACtE,eAAe,CAAA,GAAA,iDAAsB,EAAU,CAAC,GAAG,WAAc,CAAA;gBAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;YAAA,CAAA;QACtF,cAAc;QAEd,YAAY,CAAA,GAAA,+CAAoB,EAAE,sBAAsB;QACxD,iBAAiB;QACjB,oBAAoB;QACpB,0BAA0B;QAC1B,WAAW,CAAA,GAAA,iDAAsB,EAAE,CAAC,OAAe,WAAc,CAAA;gBAAC,CAAC,aAAa,cAAc,kBAAkB,SAAS,EAAE;YAAK,CAAA;QAChI,mBAAmB;QACnB,gBAAgB;QAChB,oBAAoB;YAAC;YAAU;YAAW;YAAa;SAAoB;QAC3E,mBAAmB;YAAC;YAAQ;YAAY;YAAa;SAAO;QAC5D,yBAAyB,CAAA,GAAA,iDAAsB;QAC/C,yBAAyB;QAEzB,SAAS;QACT,SAAS;YAAC;YAAS;YAAgB;YAAU;YAAQ;YAAe;YAAQ;YAAe;YAAY;YAAa;SAAO;QAC3H,cAAc;YAAC;YAAU;YAAU;YAAS;YAAO;YAAiB;YAAgB;YAAgB;YAAY;SAAU;QAC1H,YAAY;YAAC;YAAS;YAAO;YAAU;YAAY;SAAU;QAC7D,gBAAgB;YAAC;YAAU;YAAS;YAAO;YAAU;YAAiB;YAAgB;YAAgB;SAAU;QAChH,cAAc;YAAC;YAAS;YAAO;YAAU;SAAU;QACnD,WAAW;YAAC;YAAQ;YAAS;YAAO;YAAU;YAAW;SAAW;QACpE,aAAa;YAAC;YAAQ;YAAS;YAAO;YAAU;SAAU;QAC1D,eAAe;YAAC;YAAO;YAAU;YAAe;SAAiB;QACjE,UAAU;YAAC;YAAQ;YAAgB;SAAS;QAC5C,YAAY,CAAA,GAAA,iDAAsB;QAClC,UAAU,CAAA,GAAA,iDAAsB;QAChC,iBAAiB,CAAA,GAAA,iDAAsB;QACvC,eAAe,CAAA,GAAA,iDAAsB;QACrC,cAAc,CAAA,GAAA,iDAAsB;QACpC,YAAY,CAAA,GAAA,iDAAsB;QAClC,cAAc;YAAC;YAAO;YAAU;YAAS;YAAa;SAAe;QACrE,cAAc,CAAA,GAAA,iDAAsB,EAAE,CAAC,OAAsB,WAAc,CAAA;gBAAC,CAAC,SAAS,EAAE,oCAAc;YAAM,CAAA;QAC5G,iBAAiB,CAAA,GAAA,iDAAsB,EAAE,CAAC,OAAsB,WAAc,CAAA;gBAAC,CAAC,SAAS,EAAE,oCAAc;YAAM,CAAA;QAC/G,qBAAqB,CAAA,GAAA,iDAAsB,EAAE,CAAC,OAAkB,WAAc,CAAA;gBAAC,CAAC,SAAS,EAAE,gCAAU;YAAM,CAAA;QAC3G,kBAAkB,CAAA,GAAA,iDAAsB,EAAE,CAAC,OAAkB,WAAc,CAAA;gBAAC,CAAC,SAAS,EAAE,gCAAU;YAAM,CAAA;QACxG,mBAAmB,CAAA,GAAA,iDAAsB,EAAE,CAAC,OAA0B,WAAc,CAAA;gBAAC,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAA,IAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;YAAG,CAAA;QAClI,OAAO;YAAC;YAAgB;YAAc;YAAS;YAAQ;SAAO;QAC9D,OAAO;YAAC;YAAgB;YAAc;YAAQ;YAAS;YAAQ;SAAO;QACtE,SAAS;YAAC;YAAQ;YAAU;YAAW;YAAQ;YAAe;YAAU;YAAS;SAAQ;QACzF,WAAW;YAAC;YAAc;SAAc;QACxC,aAAa;YAAC;YAAQ;SAAQ;QAC9B,aAAa;YAAC;YAAO;SAAS;QAC9B,gBAAgB;YAAC;YAAY;SAAW;QACxC,SAAS;YACP,MAAM;YACN,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,oCAAoC;YACpC,OAAO;YACP,OAAO;YACP,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;QACT;QACA,aAAa;YAAC;YAAQ;YAAS;YAAO;YAAc;YAAQ;YAAQ;YAAS;SAAS;QACtF,aAAa;YAAC;YAAQ;YAAS;YAAc;SAAe;QAC5D,YAAY;YAAC;YAAQ;YAAS;YAAO;YAAc;YAAQ;YAAQ;YAAS;SAAS;QACrF,WAAW;YAAC;YAAQ;YAAU;YAAQ;YAAW;SAAS;QAC1D,WAAW;YAAC;YAAQ;YAAU;YAAQ;YAAW;SAAS;QAC1D,qBAAqB;YAAC;YAAQ;YAAW;SAAO;QAChD,qBAAqB;YAAC;YAAQ;YAAW;SAAO;QAChD,gBAAgB;YAAC;YAAQ;SAAS;QAClC,OAAO,CAAA,GAAA,iDAAsB;QAE7B,eAAe;YAAC;YAAQ;SAAO;QAC/B,aAAa;YAAC;YAAQ;YAAQ;YAAS;YAAS;YAAgB;SAAa;QAC7E,YAAY;YAAC;YAAQ;YAAQ;YAAO;SAAO;QAC3C,YAAY;YAAC;YAAW;YAAU;SAAW;QAC7C,WAAW;YAAC;YAAW;SAAO;QAC9B,iBAAiB;YAAC;YAAU;YAAO;YAAa;YAAS;YAAgB;YAAU;YAAe;YAAQ;SAAY;QACtH,QAAQ;YAAC;YAAQ;YAAW;YAAW;YAAQ;YAAQ;YAAQ;YAAQ;YAAe;YAAQ;YAAgB;YAAY;YAAQ;YAAa;YAAiB;YAAS;YAAQ;YAAW;YAAQ;YAAY;YAAc;YAAc;YAAc;YAAY;YAAY;YAAY;YAAY;YAAa;YAAa;YAAa;YAAa;YAAa;YAAe;YAAe;YAAW;SAAW;QAC/Z,QAAQ;YAAC;YAAQ;YAAY;YAAc;SAAO;QAClD,gBAAgB;YAAC;YAAK;YAAK;YAAQ;YAAe;YAAe;SAAiB;QAClF,iBAAiB;YAAC;YAAS;YAAO;YAAU;SAAO;QACnD,gBAAgB;YAAC;YAAU;SAAS;QACpC,YAAY;YAAC;YAAQ;SAAO;QAC5B,WAAW;YAAC;YAAW;YAAS;YAAQ;YAAQ;SAAa;QAC7D,gBAAgB;YAAC;YAAU;YAAU;YAAQ;YAAe;YAAY;YAAS;YAAgB;YAAa;SAAM;QACpH,YAAY;YAAC;YAAQ;YAAmB;YAAY;SAAY;QAChE,QAAQ,CAAA,GAAA,iDAAsB;QAC9B,6DAA6D;QAC7D,qBAAqB,CAAA,GAAA,iDAAsB,EAAE,CAAC,SAAkB,CAAA;gBAC9D,+BAA+B;YACjC,CAAA;IACF;IACA,YAAY;QACV,SAAS;YAAC;YAAc;YAAiB;YAAgB;SAAa;QACtE,UAAU;YAAC;YAAgB;SAAa;QACxC,UAAU;YAAC;YAAc;SAAgB;QACzC,QAAQ;YAAC;YAAa;YAAgB;YAAe;SAAY;QACjE,SAAS;YAAC;YAAe;SAAY;QACrC,SAAS;YAAC;YAAa;SAAe;QACtC,eAAe;YAAC;YAAoB;YAAuB;YAAsB;SAAmB;QACpG,gBAAgB;YAAC;YAAsB;SAAmB;QAC1D,gBAAgB;YAAC;YAAoB;SAAsB;QAC3D,cAAc;YAAC;YAAmB;YAAsB;YAAqB;SAAkB;QAC/F,eAAe;YAAC;YAAqB;SAAkB;QACvD,eAAe;YAAC;YAAmB;SAAqB;QACxD,aAAa;YAAC;YAAkB;YAAqB;YAAoB;SAAiB;QAC1F,cAAc;YAAC;YAAoB;SAAiB;QACpD,cAAc;YAAC;YAAkB;SAAoB;QACrD,cAAc;YAAC;YAAwB;YAAsB;YAA2B;SAAwB;QAChH,iBAAiB;YAAC;YAAwB;SAAqB;QAC/D,oBAAoB;YAAC;YAA2B;SAAwB;QACxE,mBAAmB;YAAC;YAAwB;SAA0B;QACtE,iBAAiB;YAAC;YAAsB;SAAwB;QAChE,WAAW;YAAC;YAAc;SAAa;QACvC,OAAO;YAAC;YAAO;YAAU;YAAc;SAAW;QAClD,QAAQ;YAAC;YAAc;SAAW;QAClC,QAAQ;YAAC;YAAO;SAAS;QACzB,YAAY;YAAC;YAAc;SAAe;QAC1C,cAAc;YAAC;YAAgB;SAAiB;QAChD,WAAW;YAAC;YAAa;SAAc;QACvC,KAAK;YAAC;YAAU;SAAY;QAC5B,MAAM;YAAC;YAAS;SAAS;QACzB,SAAS;YAAC;YAAY;SAAY;QAClC,SAAS;YAAC;YAAY;SAAY;QAClC,UAAU;YAAC;YAAa;SAAY;QACpC,oBAAoB;YAAC;YAAuB;SAAsB;QAClE,UAAU;YAAC;YAAmB;YAAiB;YAAgB;SAAa;QAC5E,YAAY,CAAC,QAA4C,CAAA;gBACvD,YAAY;gBACZ,oBAAoB;gBACpB,0BAA0B;YAC5B,CAAA;QACA,WAAW,CAAC,QAAmB,CAAA;gBAC7B,WAAW;gBACX,mBAAmB;gBACnB,yBAAyB;YAC3B,CAAA;QACA,6DAA6D;QAC7D,UAAU,CAAC,SAAkB,CAAA;gBAC3B,WAAW;gBACX,WAAW;gBACX,cAAc;gBACd,YAAY;YACd,CAAA;QACA,MAAM,CAAC;YACL,IAAI,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,SAAS,WACX,OAAO;YAET,OAAO;gBACL,YAAY,SAAS,SAAS,SAAS;gBACvC,UAAU;gBACV,YAAY,SAAS,aAAa,SAAS,WAAW,SAAS,WAAW,OAAO;gBACjF,YAAY;gBACZ,OAAO,SAAS,OAAO,SAAS;YAClC;QACF;IACF;IACA,YAAY;QACV,cAAc;QACd,wDAAwD;QACxD,iFAAiF;QACjF,uJAAuJ;QACvJ,yEAAyE;QACzE,2FAA2F;QAC3F,yHAAyH;QACzH,sFAAsF;QACtF,wHAAwH;QACxH,OAAO;QACP,OAAO;QACP,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,OAAO;IACT;AACF","sources":["packages/@react-spectrum/s2/style/spectrum-theme.ts"],"sourcesContent":["/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ArbitraryValue} from './types';\nimport {Color, createArbitraryProperty, createColorProperty, createMappedProperty, createRenamedProperty, createTheme, parseArbitraryValue} from './style-macro';\nimport {colorScale, colorToken, fontSizeToken, getToken, simpleColorScale, weirdColorToken} from './tokens' with {type: 'macro'};\nimport type * as CSS from 'csstype';\n\ninterface MacroContext {\n addAsset(asset: {type: string, content: string}): void\n}\n\nfunction pxToRem(px: string | number) {\n if (typeof px === 'string') {\n px = parseFloat(px);\n }\n return px / 16 + 'rem';\n}\n\nconst color = {\n transparent: 'transparent',\n black: 'black',\n white: 'white',\n\n ...colorScale('gray'),\n ...colorScale('blue'),\n ...colorScale('red'),\n ...colorScale('orange'),\n ...colorScale('yellow'),\n ...colorScale('chartreuse'),\n ...colorScale('celery'),\n ...colorScale('green'),\n ...colorScale('seafoam'),\n ...colorScale('cyan'),\n ...colorScale('indigo'),\n ...colorScale('purple'),\n ...colorScale('fuchsia'),\n ...colorScale('magenta'),\n ...colorScale('pink'),\n ...colorScale('turquoise'),\n ...colorScale('brown'),\n ...colorScale('silver'),\n ...colorScale('cinnamon'),\n\n ...colorScale('accent-color'),\n ...colorScale('informative-color'),\n ...colorScale('negative-color'),\n ...colorScale('notice-color'),\n ...colorScale('positive-color'),\n\n ...simpleColorScale('transparent-white'),\n ...simpleColorScale('transparent-black'),\n\n // High contrast mode.\n Background: 'Background',\n ButtonBorder: 'ButtonBorder',\n ButtonFace: 'ButtonFace',\n ButtonText: 'ButtonText',\n Field: 'Field',\n Highlight: 'Highlight',\n HighlightText: 'HighlightText',\n GrayText: 'GrayText',\n Mark: 'Mark',\n LinkText: 'LinkText'\n};\n\nexport function baseColor(base: keyof typeof color) {\n let keys = Object.keys(color) as (keyof typeof color)[];\n let index = keys.indexOf(base);\n if (index === -1) {\n throw new Error('Invalid base color ' + base);\n }\n\n return {\n default: base,\n isHovered: keys[index + 1],\n isFocusVisible: keys[index + 1],\n isPressed: keys[index + 1]\n };\n}\n\ntype SpectrumColor = Color<keyof typeof color> | ArbitraryValue;\nfunction parseColor(value: SpectrumColor) {\n let arbitrary = parseArbitraryValue(value);\n if (arbitrary) {\n return arbitrary[0];\n }\n let [colorValue, opacity] = value.split('/');\n colorValue = color[colorValue];\n if (opacity) {\n colorValue = `rgb(from ${colorValue} r g b / ${opacity}%)`;\n }\n return colorValue;\n}\n\nexport function lightDark(light: SpectrumColor, dark: SpectrumColor): `[${string}]` {\n return `[light-dark(${parseColor(light)}, ${parseColor(dark)})]`;\n}\n\nexport function colorMix(a: SpectrumColor, b: SpectrumColor, percent: number): `[${string}]` {\n return `[color-mix(in srgb, ${parseColor(a)}, ${parseColor(b)} ${percent}%)]`;\n}\n\nfunction generateSpacing<K extends number[]>(px: K): {[P in K[number]]: string} {\n let res: any = {};\n for (let p of px) {\n res[p] = pxToRem(p);\n }\n return res;\n}\n\nconst baseSpacing = generateSpacing([\n 0,\n 2, // spacing-50\n 4, // spacing-75\n 8, // spacing-100\n 12, // spacing-200\n 16, // spacing-300\n 20,\n 24, // spacing-400\n 28,\n 32, // spacing-500\n 36,\n 40, // spacing-600\n 44,\n 48, // spacing-700\n 56,\n // From here onward the values are mostly spaced by 1rem (16px)\n 64, // spacing-800\n 80, // spacing-900\n 96, // spacing-1000\n // TODO: should these only be available as sizes rather than spacing?\n 112,\n 128,\n 144,\n 160,\n 176,\n 192,\n 208,\n 224,\n 240,\n 256,\n 288,\n 320,\n 384\n] as const);\n\n// This should match the above, but negative. There's no way to negate a number\n// type in typescript so this has to be done manually for now.\nconst negativeSpacing = generateSpacing([\n // -2, // spacing-50 !! TODO: should we support this?\n -4, // spacing-75\n -8, // spacing-100\n -12, // spacing-200\n -16, // spacing-300\n -20,\n -24, // spacing-400\n -28,\n -32, // spacing-500\n -36,\n -40, // spacing-600\n -44,\n -48, // spacing-700\n -56,\n // From here onward the values are mostly spaced by 1rem (16px)\n -64, // spacing-800\n -80, // spacing-900\n -96, // spacing-1000\n // TODO: should these only be available as sizes rather than spacing?\n -112,\n -128,\n -144,\n -160,\n -176,\n -192,\n -208,\n -224,\n -240,\n -256,\n -288,\n -320,\n -384\n] as const);\n\nfunction arbitrary(ctx: MacroContext | void, value: string): `[${string}]` {\n return ctx ? `[${value}]` : value as any;\n}\n\nexport function fontRelative(this: MacroContext | void, base: number, baseFontSize = 14) {\n return arbitrary(this, (base / baseFontSize) + 'em');\n}\n\nexport function edgeToText(this: MacroContext | void, height: keyof typeof baseSpacing) {\n return `calc(${baseSpacing[height]} * 3 / 8)`;\n}\n\nexport function space(this: MacroContext | void, px: number) {\n return arbitrary(this, pxToRem(px));\n}\n\nconst spacing = {\n ...baseSpacing,\n\n // font-size relative values\n 'text-to-control': fontRelative(10),\n 'text-to-visual': {\n default: fontRelative(6), // -> 5px, 5px, 6px, 7px, 8px\n touch: fontRelative(8, 17) // -> 6px, 7px, 8px, 9px, 10px, should be 7px, 7px, 8px, 9px, 11px\n },\n // height relative values\n 'edge-to-text': 'calc(self(height, self(minHeight)) * 3 / 8)',\n 'pill': 'calc(self(height, self(minHeight)) / 2)'\n};\n\nexport function size(this: MacroContext | void, px: number) {\n return arbitrary(this, `calc(${pxToRem(px)} * var(--s2-scale))`);\n}\n\nconst scaledSpacing: {[key in keyof typeof baseSpacing]: string} =\n Object.fromEntries(Object.entries(baseSpacing).map(([k, v]) =>\n [k, `calc(${v} * var(--s2-scale))`]\n )) as any;\n\nconst sizing = {\n ...scaledSpacing,\n auto: 'auto',\n full: '100%',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n\n control: {\n default: size(32),\n size: {\n XS: size(20),\n S: size(24),\n L: size(40),\n XL: size(48)\n }\n },\n // With browser support for round() we could do this:\n // 'control-sm': `round(${16 / 14}em, 2px)`\n 'control-sm': {\n default: size(16),\n size: {\n S: size(14),\n L: size(18),\n XL: size(20)\n }\n }\n};\n\nconst height = {\n ...sizing,\n screen: '100vh'\n};\n\nconst width = {\n ...sizing,\n screen: '100vw'\n};\n\nconst margin = {\n ...spacing,\n ...negativeSpacing,\n auto: 'auto'\n};\n\nconst inset = {\n ...baseSpacing,\n auto: 'auto',\n full: '100%'\n};\n\nconst translate = {\n ...baseSpacing,\n ...negativeSpacing,\n full: '100%'\n};\n\nconst borderWidth = {\n 0: '0px',\n 1: getToken('border-width-100'),\n 2: getToken('border-width-200'),\n 4: getToken('border-width-400')\n};\n\nconst radius = {\n none: getToken('corner-radius-none'), // 0px\n sm: pxToRem(getToken('corner-radius-small-default')), // 4px\n default: pxToRem(getToken('corner-radius-medium-default')), // 8px\n lg: pxToRem(getToken('corner-radius-large-default')), // 10px\n xl: pxToRem(getToken('corner-radius-extra-large-default')), // 16px\n full: '9999px',\n pill: 'calc(self(height, self(minHeight, 9999px)) / 2)',\n control: fontRelative(8), // automatic based on font size (e.g. t-shirt size logarithmic scale)\n 'control-sm': fontRelative(4)\n};\n\ntype GridTrack = 'none' | 'subgrid' | (string & {}) | readonly GridTrackSize[];\ntype GridTrackSize = 'auto' | 'min-content' | 'max-content' | `${number}fr` | `minmax(${string}, ${string})` | keyof typeof baseSpacing | (string & {});\n\nlet gridTrack = (value: GridTrack) => {\n if (typeof value === 'string') {\n return value;\n }\n return value.map(v => gridTrackSize(v)).join(' ');\n};\n\nlet gridTrackSize = (value: GridTrackSize) => {\n // @ts-ignore\n return value in baseSpacing ? baseSpacing[value] : value;\n};\n\nconst transitionProperty = {\n default: 'color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter',\n colors: 'color, background-color, border-color, text-decoration-color, fill, stroke',\n opacity: 'opacity',\n shadow: 'box-shadow',\n transform: 'transform, translate, scale, rotate',\n all: 'all',\n none: 'none'\n};\n\n// TODO\nconst timingFunction = {\n default: 'cubic-bezier(0.45, 0, 0.4, 1)',\n linear: 'linear',\n in: 'cubic-bezier(0.5, 0, 1, 1)',\n out: 'cubic-bezier(0, 0, 0.40, 1)',\n 'in-out': 'cubic-bezier(0.45, 0, 0.4, 1)'\n};\n\n// TODO: do these need tokens or are arbitrary values ok?\nlet durationProperty = createArbitraryProperty((value: number | string, property) => ({[property]: typeof value === 'number' ? value + 'ms' : value}));\n\n// const colorWithAlpha = createColorProperty(color);\n\nconst fontWeightBase = {\n light: '300',\n // TODO: spectrum calls this \"regular\" but CSS calls it \"normal\". We also call other properties \"default\". What do we want to match?\n normal: '400',\n medium: '500',\n bold: '700',\n 'extra-bold': '800',\n black: '900'\n} as const;\n\nconst i18nFonts = {\n ':lang(ar)': 'myriad-arabic, ui-sans-serif, system-ui, sans-serif',\n ':lang(he)': 'myriad-hebrew, ui-sans-serif, system-ui, sans-serif',\n ':lang(ja)': \"adobe-clean-han-japanese, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Osaka, YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'MS Pゴシック', 'MS PGothic', sans-serif\",\n ':lang(ko)': \"adobe-clean-han-korean, source-han-korean, 'Malgun Gothic', 'Apple Gothic', sans-serif\",\n ':lang(zh)': \"adobe-clean-han-traditional, source-han-traditional, 'MingLiu', 'Heiti TC Light', sans-serif\",\n // TODO: are these fallbacks supposed to be different than above?\n ':lang(zh-hant)': \"adobe-clean-han-traditional, source-han-traditional, 'MingLiu', 'Microsoft JhengHei UI', 'Microsoft JhengHei', 'Heiti TC Light', sans-serif\",\n ':lang(zh-Hans, zh-CN, zh-SG)': \"adobe-clean-han-simplified-c, source-han-simplified-c, 'SimSun', 'Heiti SC Light', sans-serif\"\n} as const;\n\nconst fontSize = {\n // The default font size scale is for use within UI components.\n 'ui-xs': fontSizeToken('font-size-50'),\n 'ui-sm': fontSizeToken('font-size-75'),\n ui: fontSizeToken('font-size-100'),\n 'ui-lg': fontSizeToken('font-size-200'),\n 'ui-xl': fontSizeToken('font-size-300'),\n 'ui-2xl': fontSizeToken('font-size-400'),\n 'ui-3xl': fontSizeToken('font-size-500'),\n\n control: {\n default: fontSizeToken('font-size-100'),\n size: {\n XS: fontSizeToken('font-size-50'),\n S: fontSizeToken('font-size-75'),\n L: fontSizeToken('font-size-200'),\n XL: fontSizeToken('font-size-300')\n }\n },\n\n 'heading-2xs': fontSizeToken('heading-size-xxs'),\n 'heading-xs': fontSizeToken('heading-size-xs'),\n 'heading-sm': fontSizeToken('heading-size-s'),\n heading: fontSizeToken('heading-size-m'),\n 'heading-lg': fontSizeToken('heading-size-l'),\n 'heading-xl': fontSizeToken('heading-size-xl'),\n 'heading-2xl': fontSizeToken('heading-size-xxl'),\n 'heading-3xl': fontSizeToken('heading-size-xxxl'),\n\n 'title-xs': fontSizeToken('title-size-xs'),\n 'title-sm': fontSizeToken('title-size-s'),\n title: fontSizeToken('title-size-m'),\n 'title-lg': fontSizeToken('title-size-l'),\n 'title-xl': fontSizeToken('title-size-xl'),\n 'title-2xl': fontSizeToken('title-size-xxl'),\n 'title-3xl': fontSizeToken('title-size-xxxl'),\n\n // Body is for large blocks of text, e.g. paragraphs, not in UI components.\n 'body-2xs': fontSizeToken('font-size-50'), // TODO: seems like there is no token for this\n 'body-xs': fontSizeToken('body-size-xs'),\n 'body-sm': fontSizeToken('body-size-s'),\n body: fontSizeToken('body-size-m'),\n 'body-lg': fontSizeToken('body-size-l'),\n 'body-xl': fontSizeToken('body-size-xl'),\n 'body-2xl': fontSizeToken('body-size-xxl'),\n 'body-3xl': fontSizeToken('body-size-xxxl'),\n\n 'detail-sm': fontSizeToken('detail-size-s'),\n detail: fontSizeToken('detail-size-m'),\n 'detail-lg': fontSizeToken('detail-size-l'),\n 'detail-xl': fontSizeToken('detail-size-xl'),\n\n 'code-xs': fontSizeToken('code-size-xs'),\n 'code-sm': fontSizeToken('code-size-s'),\n code: fontSizeToken('code-size-m'),\n 'code-lg': fontSizeToken('code-size-l'),\n 'code-xl': fontSizeToken('code-size-xl')\n} as const;\n\nexport const style = createTheme({\n properties: {\n // colors\n color: createColorProperty({\n ...color,\n accent: {\n default: colorToken('accent-content-color-default'),\n isHovered: colorToken('accent-content-color-hover'),\n isFocusVisible: colorToken('accent-content-color-key-focus'),\n isPressed: colorToken('accent-content-color-down')\n // isSelected: colorToken('accent-content-color-selected'), // same as pressed\n },\n neutral: {\n default: colorToken('neutral-content-color-default'),\n isHovered: colorToken('neutral-content-color-hover'),\n isFocusVisible: colorToken('neutral-content-color-key-focus'),\n isPressed: colorToken('neutral-content-color-down')\n // isSelected: colorToken('neutral-subdued-content-color-selected'),\n },\n 'neutral-subdued': {\n default: colorToken('neutral-subdued-content-color-default'),\n isHovered: colorToken('neutral-subdued-content-color-hover'),\n isFocusVisible: colorToken('neutral-subdued-content-color-key-focus'),\n isPressed: colorToken('neutral-subdued-content-color-down')\n // isSelected: colorToken('neutral-subdued-content-color-selected'),\n },\n negative: {\n default: colorToken('negative-content-color-default'),\n isHovered: colorToken('negative-content-color-hover'),\n isFocusVisible: colorToken('negative-content-color-key-focus'),\n isPressed: colorToken('negative-content-color-down')\n },\n disabled: {\n default: colorToken('disabled-content-color')\n // forcedColors: 'GrayText'\n },\n heading: colorToken('heading-color'),\n title: colorToken('title-color'),\n body: colorToken('body-color'),\n detail: colorToken('detail-color'),\n code: colorToken('code-color')\n }),\n backgroundColor: createColorProperty({\n ...color,\n accent: {\n default: weirdColorToken('accent-background-color-default'),\n isHovered: weirdColorToken('accent-background-color-hover'),\n isFocusVisible: weirdColorToken('accent-background-color-key-focus'),\n isPressed: weirdColorToken('accent-background-color-down')\n },\n 'accent-subtle': weirdColorToken('accent-subtle-background-color-default'),\n neutral: {\n default: colorToken('neutral-background-color-default'),\n isHovered: colorToken('neutral-background-color-hover'),\n isFocusVisible: colorToken('neutral-background-color-key-focus'),\n isPressed: colorToken('neutral-background-color-down')\n },\n 'neutral-subdued': {\n default: weirdColorToken('neutral-subdued-background-color-default'),\n isHovered: weirdColorToken('neutral-subdued-background-color-hover'),\n isFocusVisible: weirdColorToken('neutral-subdued-background-color-key-focus'),\n isPressed: weirdColorToken('neutral-subdued-background-color-down')\n },\n 'neutral-subtle': weirdColorToken('neutral-subtle-background-color-default'),\n negative: {\n default: weirdColorToken('negative-background-color-default'),\n isHovered: weirdColorToken('negative-background-color-hover'),\n isFocusVisible: weirdColorToken('negative-background-color-key-focus'),\n isPressed: weirdColorToken('negative-background-color-down')\n },\n 'negative-subtle': weirdColorToken('negative-subtle-background-color-default'),\n informative: {\n default: weirdColorToken('informative-background-color-default'),\n isHovered: weirdColorToken('informative-background-color-hover'),\n isFocusVisible: weirdColorToken('informative-background-color-key-focus'),\n isPressed: weirdColorToken('informative-background-color-down')\n },\n 'informative-subtle': weirdColorToken('informative-subtle-background-color-default'),\n positive: {\n default: weirdColorToken('positive-background-color-default'),\n isHovered: weirdColorToken('positive-background-color-hover'),\n isFocusVisible: weirdColorToken('positive-background-color-key-focus'),\n isPressed: weirdColorToken('positive-background-color-down')\n },\n 'positive-subtle': weirdColorToken('positive-subtle-background-color-default'),\n notice: weirdColorToken('notice-background-color-default'),\n 'notice-subtle': weirdColorToken('notice-subtle-background-color-default'),\n gray: weirdColorToken('gray-background-color-default'),\n 'gray-subtle': weirdColorToken('gray-subtle-background-color-default'),\n red: weirdColorToken('red-background-color-default'),\n 'red-subtle': weirdColorToken('red-subtle-background-color-default'),\n orange: weirdColorToken('orange-background-color-default'),\n 'orange-subtle': weirdColorToken('orange-subtle-background-color-default'),\n yellow: weirdColorToken('yellow-background-color-default'),\n 'yellow-subtle': weirdColorToken('yellow-subtle-background-color-default'),\n chartreuse: weirdColorToken('chartreuse-background-color-default'),\n 'chartreuse-subtle': weirdColorToken('chartreuse-subtle-background-color-default'),\n celery: weirdColorToken('celery-background-color-default'),\n 'celery-subtle': weirdColorToken('celery-subtle-background-color-default'),\n green: weirdColorToken('green-background-color-default'),\n 'green-subtle': weirdColorToken('green-subtle-background-color-default'),\n seafoam: weirdColorToken('seafoam-background-color-default'),\n 'seafoam-subtle': weirdColorToken('seafoam-subtle-background-color-default'),\n cyan: weirdColorToken('cyan-background-color-default'),\n 'cyan-subtle': weirdColorToken('cyan-subtle-background-color-default'),\n blue: weirdColorToken('blue-background-color-default'),\n 'blue-subtle': weirdColorToken('blue-subtle-background-color-default'),\n indigo: weirdColorToken('indigo-background-color-default'),\n 'indigo-subtle': weirdColorToken('indigo-subtle-background-color-default'),\n purple: weirdColorToken('purple-background-color-default'),\n 'purple-subtle': weirdColorToken('purple-subtle-background-color-default'),\n fuchsia: weirdColorToken('fuchsia-background-color-default'),\n 'fuchsia-subtle': weirdColorToken('fuchsia-subtle-background-color-default'),\n magenta: weirdColorToken('magenta-background-color-default'),\n 'magenta-subtle': weirdColorToken('magenta-subtle-background-color-default'),\n pink: weirdColorToken('pink-background-color-default'),\n 'pink-subtle': weirdColorToken('pink-subtle-background-color-default'),\n turquoise: weirdColorToken('turquoise-background-color-default'),\n 'turquoise-subtle': weirdColorToken('turquoise-subtle-background-color-default'),\n cinnamon: weirdColorToken('cinnamon-background-color-default'),\n 'cinnamon-subtle': weirdColorToken('cinnamon-subtle-background-color-default'),\n brown: weirdColorToken('brown-background-color-default'),\n 'brown-subtle': weirdColorToken('brown-subtle-background-color-default'),\n silver: weirdColorToken('silver-background-color-default'),\n 'silver-subtle': weirdColorToken('silver-subtle-background-color-default'),\n disabled: colorToken('disabled-background-color'),\n base: colorToken('background-base-color'),\n 'layer-1': colorToken('background-layer-1-color'),\n 'layer-2': weirdColorToken('background-layer-2-color'),\n pasteboard: weirdColorToken('background-pasteboard-color'),\n elevated: weirdColorToken('background-elevated-color')\n }),\n borderColor: createColorProperty({\n ...color,\n negative: {\n default: colorToken('negative-border-color-default'),\n isHovered: colorToken('negative-border-color-hover'),\n isFocusVisible: colorToken('negative-border-color-key-focus'),\n isPressed: colorToken('negative-border-color-down')\n },\n disabled: colorToken('disabled-border-color')\n // forcedColors: 'GrayText'\n\n }),\n outlineColor: createColorProperty({\n ...color,\n 'focus-ring': {\n default: colorToken('focus-indicator-color'),\n forcedColors: 'Highlight'\n }\n }),\n // textDecorationColor: colorWithAlpha,\n // accentColor: colorWithAlpha,\n // caretColor: colorWithAlpha,\n fill: createColorProperty({\n none: 'none',\n currentColor: 'currentColor',\n accent: weirdColorToken('accent-visual-color'),\n neutral: weirdColorToken('neutral-visual-color'),\n negative: weirdColorToken('negative-visual-color'),\n informative: weirdColorToken('informative-visual-color'),\n positive: weirdColorToken('positive-visual-color'),\n notice: weirdColorToken('notice-visual-color'),\n gray: weirdColorToken('gray-visual-color'),\n red: weirdColorToken('red-visual-color'),\n orange: weirdColorToken('orange-visual-color'),\n yellow: weirdColorToken('yellow-visual-color'),\n chartreuse: weirdColorToken('chartreuse-visual-color'),\n celery: weirdColorToken('celery-visual-color'),\n green: weirdColorToken('green-visual-color'),\n seafoam: weirdColorToken('seafoam-visual-color'),\n cyan: weirdColorToken('cyan-visual-color'),\n blue: weirdColorToken('blue-visual-color'),\n indigo: weirdColorToken('indigo-visual-color'),\n purple: weirdColorToken('purple-visual-color'),\n fuchsia: weirdColorToken('fuchsia-visual-color'),\n magenta: weirdColorToken('magenta-visual-color'),\n pink: weirdColorToken('pink-visual-color'),\n turquoise: weirdColorToken('turquoise-visual-color'),\n cinnamon: weirdColorToken('cinnamon-visual-color'),\n brown: weirdColorToken('brown-visual-color'),\n silver: weirdColorToken('silver-visual-color'),\n ...color\n }),\n stroke: createColorProperty({\n none: 'none',\n currentColor: 'currentColor',\n ...color\n }),\n\n // dimensions\n borderSpacing: baseSpacing, // TODO: separate x and y\n flexBasis: {\n auto: 'auto',\n full: '100%',\n ...baseSpacing\n },\n rowGap: spacing,\n columnGap: spacing,\n height,\n width,\n containIntrinsicWidth: width,\n containIntrinsicHeight: height,\n minHeight: height,\n maxHeight: {\n ...height,\n none: 'none'\n },\n minWidth: width,\n maxWidth: {\n ...width,\n none: 'none'\n },\n borderStartWidth: createRenamedProperty('borderInlineStartWidth', borderWidth),\n borderEndWidth: createRenamedProperty('borderInlineEndWidth', borderWidth),\n borderTopWidth: borderWidth,\n borderBottomWidth: borderWidth,\n borderStyle: ['solid', 'dashed', 'dotted', 'double', 'hidden', 'none'] as const,\n strokeWidth: {\n 0: '0',\n 1: '1',\n 2: '2'\n },\n marginStart: createRenamedProperty('marginInlineStart', margin),\n marginEnd: createRenamedProperty('marginInlineEnd', margin),\n marginTop: margin,\n marginBottom: margin,\n paddingStart: createRenamedProperty('paddingInlineStart', spacing),\n paddingEnd: createRenamedProperty('paddingInlineEnd', spacing),\n paddingTop: spacing,\n paddingBottom: spacing,\n scrollMarginStart: createRenamedProperty('scrollMarginInlineStart', baseSpacing),\n scrollMarginEnd: createRenamedProperty('scrollMarginInlineEnd', baseSpacing),\n scrollMarginTop: baseSpacing,\n scrollMarginBottom: baseSpacing,\n scrollPaddingStart: createRenamedProperty('scrollPaddingInlineStart', baseSpacing),\n scrollPaddingEnd: createRenamedProperty('scrollPaddingInlineEnd', baseSpacing),\n scrollPaddingTop: baseSpacing,\n scrollPaddingBottom: baseSpacing,\n textIndent: baseSpacing,\n translateX: createMappedProperty(value => ({\n '--translateX': value,\n translate: 'var(--translateX, 0) var(--translateY, 0)'\n }), translate),\n translateY: createMappedProperty(value => ({\n '--translateY': value,\n translate: 'var(--translateX, 0) var(--translateY, 0)'\n }), translate),\n rotate: createArbitraryProperty((value: number | `${number}deg` | `${number}rad` | `${number}grad` | `${number}turn`, property) => ({[property]: typeof value === 'number' ? `${value}deg` : value})),\n scale: createArbitraryProperty<number>(),\n transform: createArbitraryProperty<string>(),\n position: ['absolute', 'fixed', 'relative', 'sticky', 'static'] as const,\n insetStart: createRenamedProperty('insetInlineStart', inset),\n insetEnd: createRenamedProperty('insetInlineEnd', inset),\n top: inset,\n left: inset,\n bottom: inset,\n right: inset,\n aspectRatio: {\n auto: 'auto',\n square: '1 / 1',\n video: '16 / 9'\n },\n\n // text\n fontFamily: {\n sans: {\n default: 'adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif',\n ...i18nFonts\n },\n serif: {\n default: 'adobe-clean-serif, \"Source Serif\", Georgia, serif',\n ...i18nFonts\n },\n code: 'source-code-pro, \"Source Code Pro\", Monaco, monospace'\n },\n fontSize,\n fontWeight: createMappedProperty((value, property) => {\n if (property === 'fontWeight') {\n return {\n // Set font-variation-settings in addition to font-weight to work around typekit issue.\n fontVariationSettings: value === 'inherit' ? 'inherit' : `\"wght\" ${value}`,\n fontWeight: value as any,\n fontSynthesisWeight: 'none'\n };\n }\n\n return {[property]: value};\n }, {\n ...fontWeightBase,\n heading: {\n default: fontWeightBase[getToken('heading-sans-serif-font-weight') as keyof typeof fontWeightBase],\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': fontWeightBase[getToken('heading-cjk-font-weight') as keyof typeof fontWeightBase]\n },\n title: {\n default: fontWeightBase[getToken('title-sans-serif-font-weight') as keyof typeof fontWeightBase],\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': fontWeightBase[getToken('title-cjk-font-weight') as keyof typeof fontWeightBase]\n },\n detail: {\n default: fontWeightBase[getToken('detail-sans-serif-font-weight') as keyof typeof fontWeightBase],\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': fontWeightBase[getToken('detail-cjk-font-weight') as keyof typeof fontWeightBase]\n }\n }),\n lineHeight: {\n // See https://spectrum.corp.adobe.com/page/typography/#Line-height\n ui: {\n default: getToken('line-height-100'),\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': getToken('line-height-200')\n },\n heading: {\n default: getToken('heading-line-height'),\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': getToken('heading-cjk-line-height')\n },\n title: {\n default: getToken('title-line-height'),\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': getToken('title-cjk-line-height')\n },\n body: {\n default: getToken('body-line-height'),\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': getToken('body-cjk-line-height')\n },\n detail: {\n default: getToken('detail-line-height'),\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': getToken('detail-cjk-line-height')\n },\n code: {\n default: getToken('code-line-height'),\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': getToken('code-cjk-line-height')\n }\n },\n listStyleType: ['none', 'dist', 'decimal'] as const,\n listStylePosition: ['inside', 'outside'] as const,\n textTransform: ['uppercase', 'lowercase', 'capitalize', 'none'] as const,\n textAlign: ['start', 'center', 'end', 'justify'] as const,\n verticalAlign: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super'] as const,\n textDecoration: createMappedProperty((value) => ({\n textDecoration: value === 'none' ? 'none' : `${value} ${getToken('text-underline-thickness')}`,\n textUnderlineOffset: value === 'underline' ? getToken('text-underline-gap') : undefined\n }), ['underline', 'overline', 'line-through', 'none'] as const),\n textOverflow: ['ellipsis', 'clip'] as const,\n lineClamp: createArbitraryProperty((value: number) => ({\n overflow: 'hidden',\n display: '-webkit-box',\n '-webkit-box-orient': 'vertical',\n '-webkit-line-clamp': value\n })),\n hyphens: ['none', 'manual', 'auto'] as const,\n whiteSpace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces'] as const,\n textWrap: ['wrap', 'nowrap', 'balance', 'pretty'] as const,\n wordBreak: ['normal', 'break-all', 'keep-all'] as const, // also overflowWrap??\n boxDecorationBreak: ['slice', 'clone'] as const,\n\n // effects\n boxShadow: {\n emphasized: `${getToken('drop-shadow-emphasized-default-x')} ${getToken('drop-shadow-emphasized-default-y')} ${getToken('drop-shadow-emphasized-default-blur')} ${colorToken('drop-shadow-emphasized-default-color')}`,\n elevated: `${getToken('drop-shadow-elevated-x')} ${getToken('drop-shadow-elevated-y')} ${getToken('drop-shadow-elevated-blur')} ${colorToken('drop-shadow-elevated-color')}`,\n dragged: `${getToken('drop-shadow-dragged-x')} ${getToken('drop-shadow-dragged-y')} ${getToken('drop-shadow-dragged-blur')} ${colorToken('drop-shadow-dragged-color')}`,\n none: 'none'\n },\n filter: {\n emphasized: `drop-shadow(${getToken('drop-shadow-emphasized-default-x')} ${getToken('drop-shadow-emphasized-default-y')} ${getToken('drop-shadow-emphasized-default-blur')} ${colorToken('drop-shadow-emphasized-default-color')})`,\n elevated: `drop-shadow(${getToken('drop-shadow-elevated-x')} ${getToken('drop-shadow-elevated-y')} ${getToken('drop-shadow-elevated-blur')} ${colorToken('drop-shadow-elevated-color')})`,\n dragged: `drop-shadow${getToken('drop-shadow-dragged-x')} ${getToken('drop-shadow-dragged-y')} ${getToken('drop-shadow-dragged-blur')} ${colorToken('drop-shadow-dragged-color')}`,\n none: 'none'\n },\n borderTopStartRadius: createRenamedProperty('borderStartStartRadius', radius),\n borderTopEndRadius: createRenamedProperty('borderStartEndRadius', radius),\n borderBottomStartRadius: createRenamedProperty('borderEndStartRadius', radius),\n borderBottomEndRadius: createRenamedProperty('borderEndEndRadius', radius),\n forcedColorAdjust: ['auto', 'none'] as const,\n colorScheme: ['light', 'dark', 'light dark'] as const,\n backgroundImage: createArbitraryProperty<string>(),\n // TODO: do we need separate x and y properties?\n backgroundPosition: ['bottom', 'center', 'left', 'left bottom', 'left top', 'right', 'right bottom', 'right top', 'top'] as const,\n backgroundSize: ['auto', 'cover', 'contain'] as const,\n backgroundAttachment: ['fixed', 'local', 'scroll'] as const,\n backgroundClip: ['border-box', 'padding-box', 'content-box', 'text'] as const,\n backgroundRepeat: ['repeat', 'no-repeat', 'repeat-x', 'repeat-y', 'round', 'space'] as const,\n backgroundOrigin: ['border-box', 'padding-box', 'content-box'] as const,\n backgroundBlendMode: ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'] as const,\n mixBlendMode: ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity', 'plus-darker', 'plus-lighter'] as const,\n opacity: createArbitraryProperty<number>(),\n\n outlineStyle: ['none', 'solid', 'dashed', 'dotted', 'double', 'inset'] as const,\n outlineOffset: createArbitraryProperty<number>((v, property) => ({[property]: `${v}px`})),\n outlineWidth: borderWidth,\n\n transition: createRenamedProperty('transitionProperty', transitionProperty),\n transitionDelay: durationProperty,\n transitionDuration: durationProperty,\n transitionTimingFunction: timingFunction,\n animation: createArbitraryProperty((value: string, property) => ({[property === 'animation' ? 'animationName' : property]: value})),\n animationDuration: durationProperty,\n animationDelay: durationProperty,\n animationDirection: ['normal', 'reverse', 'alternate', 'alternate-reverse'] as const,\n animationFillMode: ['none', 'forwards', 'backwards', 'both'] as const,\n animationIterationCount: createArbitraryProperty<string>(),\n animationTimingFunction: timingFunction,\n\n // layout\n display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'grid', 'inline-grid', 'contents', 'list-item', 'none'] as const, // tables?\n alignContent: ['normal', 'center', 'start', 'end', 'space-between', 'space-around', 'space-evenly', 'baseline', 'stretch'] as const,\n alignItems: ['start', 'end', 'center', 'baseline', 'stretch'] as const,\n justifyContent: ['normal', 'start', 'end', 'center', 'space-between', 'space-around', 'space-evenly', 'stretch'] as const,\n justifyItems: ['start', 'end', 'center', 'stretch'] as const,\n alignSelf: ['auto', 'start', 'end', 'center', 'stretch', 'baseline'] as const,\n justifySelf: ['auto', 'start', 'end', 'center', 'stretch'] as const,\n flexDirection: ['row', 'column', 'row-reverse', 'column-reverse'] as const,\n flexWrap: ['wrap', 'wrap-reverse', 'nowrap'] as const,\n flexShrink: createArbitraryProperty<CSS.Property.FlexShrink>(),\n flexGrow: createArbitraryProperty<CSS.Property.FlexGrow>(),\n gridColumnStart: createArbitraryProperty<CSS.Property.GridColumnStart>(),\n gridColumnEnd: createArbitraryProperty<CSS.Property.GridColumnEnd>(),\n gridRowStart: createArbitraryProperty<CSS.Property.GridRowStart>(),\n gridRowEnd: createArbitraryProperty<CSS.Property.GridRowEnd>(),\n gridAutoFlow: ['row', 'column', 'dense', 'row dense', 'column dense'] as const,\n gridAutoRows: createArbitraryProperty((value: GridTrackSize, property) => ({[property]: gridTrackSize(value)})),\n gridAutoColumns: createArbitraryProperty((value: GridTrackSize, property) => ({[property]: gridTrackSize(value)})),\n gridTemplateColumns: createArbitraryProperty((value: GridTrack, property) => ({[property]: gridTrack(value)})),\n gridTemplateRows: createArbitraryProperty((value: GridTrack, property) => ({[property]: gridTrack(value)})),\n gridTemplateAreas: createArbitraryProperty((value: readonly string[], property) => ({[property]: value.map(v => `\"${v}\"`).join('')})),\n float: ['inline-start', 'inline-end', 'right', 'left', 'none'] as const,\n clear: ['inline-start', 'inline-end', 'left', 'right', 'both', 'none'] as const,\n contain: ['none', 'strict', 'content', 'size', 'inline-size', 'layout', 'style', 'paint'] as const,\n boxSizing: ['border-box', 'content-box'] as const,\n tableLayout: ['auto', 'fixed'] as const,\n captionSide: ['top', 'bottom'] as const,\n borderCollapse: ['collapse', 'separate'] as const,\n columns: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n // TODO: what should these sizes be?\n '3xs': '16rem',\n '2xs': '18rem',\n xs: '20rem',\n sm: '24rem',\n md: '28rem',\n lg: '32rem',\n xl: '36rem',\n '2xl': '42rem',\n '3xl': '48rem',\n '4xl': '56rem',\n '5xl': '64rem',\n '6xl': '72rem',\n '7xl': '80rem'\n },\n breakBefore: ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'] as const,\n breakInside: ['auto', 'avoid', 'avoid-page', 'avoid-column'] as const,\n breakAfter: ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'] as const,\n overflowX: ['auto', 'hidden', 'clip', 'visible', 'scroll'] as const,\n overflowY: ['auto', 'hidden', 'clip', 'visible', 'scroll'] as const,\n overscrollBehaviorX: ['auto', 'contain', 'none'] as const,\n overscrollBehaviorY: ['auto', 'contain', 'none'] as const,\n scrollBehavior: ['auto', 'smooth'] as const,\n order: createArbitraryProperty<number>(),\n\n pointerEvents: ['none', 'auto'] as const,\n touchAction: ['auto', 'none', 'pan-x', 'pan-y', 'manipulation', 'pinch-zoom'] as const,\n userSelect: ['none', 'text', 'all', 'auto'] as const,\n visibility: ['visible', 'hidden', 'collapse'] as const,\n isolation: ['isolate', 'auto'] as const,\n transformOrigin: ['center', 'top', 'top right', 'right', 'bottom right', 'bottom', 'bottom left', 'left', 'top right'] as const,\n cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out'] as const,\n resize: ['none', 'vertical', 'horizontal', 'both'] as const,\n scrollSnapType: ['x', 'y', 'both', 'x mandatory', 'y mandatory', 'both mandatory'] as const,\n scrollSnapAlign: ['start', 'end', 'center', 'none'] as const,\n scrollSnapStop: ['normal', 'always'] as const,\n appearance: ['none', 'auto'] as const,\n objectFit: ['contain', 'cover', 'fill', 'none', 'scale-down'] as const,\n objectPosition: ['bottom', 'center', 'left', 'left bottom', 'left top', 'right', 'right bottom', 'right top', 'top'] as const,\n willChange: ['auto', 'scroll-position', 'contents', 'transform'] as const,\n zIndex: createArbitraryProperty<number>(),\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n disableTapHighlight: createArbitraryProperty((_value: true) => ({\n '-webkit-tap-highlight-color': 'rgba(0,0,0,0)'\n }))\n },\n shorthands: {\n padding: ['paddingTop', 'paddingBottom', 'paddingStart', 'paddingEnd'] as const,\n paddingX: ['paddingStart', 'paddingEnd'] as const,\n paddingY: ['paddingTop', 'paddingBottom'] as const,\n margin: ['marginTop', 'marginBottom', 'marginStart', 'marginEnd'] as const,\n marginX: ['marginStart', 'marginEnd'] as const,\n marginY: ['marginTop', 'marginBottom'] as const,\n scrollPadding: ['scrollPaddingTop', 'scrollPaddingBottom', 'scrollPaddingStart', 'scrollPaddingEnd'] as const,\n scrollPaddingX: ['scrollPaddingStart', 'scrollPaddingEnd'] as const,\n scrollPaddingY: ['scrollPaddingTop', 'scrollPaddingBottom'] as const,\n scrollMargin: ['scrollMarginTop', 'scrollMarginBottom', 'scrollMarginStart', 'scrollMarginEnd'] as const,\n scrollMarginX: ['scrollMarginStart', 'scrollMarginEnd'] as const,\n scrollMarginY: ['scrollMarginTop', 'scrollMarginBottom'] as const,\n borderWidth: ['borderTopWidth', 'borderBottomWidth', 'borderStartWidth', 'borderEndWidth'] as const,\n borderXWidth: ['borderStartWidth', 'borderEndWidth'] as const,\n borderYWidth: ['borderTopWidth', 'borderBottomWidth'] as const,\n borderRadius: ['borderTopStartRadius', 'borderTopEndRadius', 'borderBottomStartRadius', 'borderBottomEndRadius'] as const,\n borderTopRadius: ['borderTopStartRadius', 'borderTopEndRadius'] as const,\n borderBottomRadius: ['borderBottomStartRadius', 'borderBottomEndRadius'] as const,\n borderStartRadius: ['borderTopStartRadius', 'borderBottomStartRadius'] as const,\n borderEndRadius: ['borderTopEndRadius', 'borderBottomEndRadius'] as const,\n translate: ['translateX', 'translateY'] as const,\n inset: ['top', 'bottom', 'insetStart', 'insetEnd'] as const,\n insetX: ['insetStart', 'insetEnd'] as const,\n insetY: ['top', 'bottom'] as const,\n placeItems: ['alignItems', 'justifyItems'] as const,\n placeContent: ['alignContent', 'justifyContent'] as const,\n placeSelf: ['alignSelf', 'justifySelf'] as const,\n gap: ['rowGap', 'columnGap'] as const,\n size: ['width', 'height'] as const,\n minSize: ['minWidth', 'minHeight'] as const,\n maxSize: ['maxWidth', 'maxHeight'] as const,\n overflow: ['overflowX', 'overflowY'] as const,\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'] as const,\n gridArea: ['gridColumnStart', 'gridColumnEnd', 'gridRowStart', 'gridRowEnd'] as const,\n transition: (value: keyof typeof transitionProperty) => ({\n transition: value,\n transitionDuration: 150,\n transitionTimingFunction: 'default'\n }),\n animation: (value: string) => ({\n animation: value,\n animationDuration: 150,\n animationTimingFunction: 'default'\n }),\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n truncate: (_value: true) => ({\n overflowX: 'hidden',\n overflowY: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }),\n font: (value: keyof typeof fontSize) => {\n let type = value.split('-')[0];\n if (type === 'control') {\n type = 'ui';\n }\n return {\n fontFamily: type === 'code' ? 'code' : 'sans',\n fontSize: value,\n fontWeight: type === 'heading' || type === 'title' || type === 'detail' ? type : 'normal',\n lineHeight: type,\n color: type === 'ui' ? 'body' : type\n };\n }\n },\n conditions: {\n forcedColors: '@media (forced-colors: active)',\n // This detects touch primary devices as best as we can.\n // Ideally we'd use (pointer: course) but browser/device support is inconsistent.\n // Samsung Android devices claim to be mice at the hardware/OS level: (any-pointer: fine), (any-hover: hover), (hover: hover), and nothing for pointer.\n // More details: https://www.ctrl.blog/entry/css-media-hover-samsung.html\n // iPhone matches (any-hover: none), (hover: none), and nothing for any-pointer or pointer.\n // If a trackpad or Apple Pencil is connected to iPad, it matches (any-pointer: fine), (any-hover: hover), (hover: none).\n // Windows tablet matches the same as iPhone. No difference when a mouse is connected.\n // Windows touch laptop matches same as macOS: (any-pointer: fine), (pointer: fine), (any-hover: hover), (hover: hover).\n touch: '@media not ((hover: hover) and (pointer: fine))',\n // TODO\n sm: '@media (min-width: 640px)',\n md: '@media (min-width: 768px)',\n lg: '@media (min-width: 1024px)',\n xl: '@media (min-width: 1280px)',\n '2xl': '@media (min-width: 1536px)'\n }\n});\n"],"names":[],"version":3,"file":"spectrum-theme.cjs.map","sourceRoot":"../../../../../"}
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/s2/style/spectrum-theme.ts"],"sourcesContent":["/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ArbitraryValue} from './types';\nimport {Color, createArbitraryProperty, createColorProperty, createMappedProperty, createRenamedProperty, createTheme, parseArbitraryValue} from './style-macro';\nimport {colorScale, colorToken, fontSizeToken, getToken, simpleColorScale, weirdColorToken} from './tokens' with {type: 'macro'};\nimport type * as CSS from 'csstype';\n\ninterface MacroContext {\n addAsset(asset: {type: string, content: string}): void\n}\n\nfunction pxToRem(px: string | number) {\n if (typeof px === 'string') {\n px = parseFloat(px);\n }\n return px / 16 + 'rem';\n}\n\nconst color = {\n transparent: 'transparent',\n black: 'black',\n white: 'white',\n\n ...colorScale('gray'),\n ...colorScale('blue'),\n ...colorScale('red'),\n ...colorScale('orange'),\n ...colorScale('yellow'),\n ...colorScale('chartreuse'),\n ...colorScale('celery'),\n ...colorScale('green'),\n ...colorScale('seafoam'),\n ...colorScale('cyan'),\n ...colorScale('indigo'),\n ...colorScale('purple'),\n ...colorScale('fuchsia'),\n ...colorScale('magenta'),\n ...colorScale('pink'),\n ...colorScale('turquoise'),\n ...colorScale('brown'),\n ...colorScale('silver'),\n ...colorScale('cinnamon'),\n\n ...colorScale('accent-color'),\n ...colorScale('informative-color'),\n ...colorScale('negative-color'),\n ...colorScale('notice-color'),\n ...colorScale('positive-color'),\n\n ...simpleColorScale('transparent-white'),\n ...simpleColorScale('transparent-black'),\n\n // High contrast mode.\n Background: 'Background',\n ButtonBorder: 'ButtonBorder',\n ButtonFace: 'ButtonFace',\n ButtonText: 'ButtonText',\n Field: 'Field',\n Highlight: 'Highlight',\n HighlightText: 'HighlightText',\n GrayText: 'GrayText',\n Mark: 'Mark',\n LinkText: 'LinkText'\n};\n\nexport function baseColor(base: keyof typeof color) {\n let keys = Object.keys(color) as (keyof typeof color)[];\n let index = keys.indexOf(base);\n if (index === -1) {\n throw new Error('Invalid base color ' + base);\n }\n\n return {\n default: base,\n isHovered: keys[index + 1],\n isFocusVisible: keys[index + 1],\n isPressed: keys[index + 1]\n };\n}\n\ntype SpectrumColor = Color<keyof typeof color> | ArbitraryValue;\nfunction parseColor(value: SpectrumColor) {\n let arbitrary = parseArbitraryValue(value);\n if (arbitrary) {\n return arbitrary[0];\n }\n let [colorValue, opacity] = value.split('/');\n colorValue = color[colorValue];\n if (opacity) {\n colorValue = `rgb(from ${colorValue} r g b / ${opacity}%)`;\n }\n return colorValue;\n}\n\nexport function lightDark(light: SpectrumColor, dark: SpectrumColor): `[${string}]` {\n return `[light-dark(${parseColor(light)}, ${parseColor(dark)})]`;\n}\n\nexport function colorMix(a: SpectrumColor, b: SpectrumColor, percent: number): `[${string}]` {\n return `[color-mix(in srgb, ${parseColor(a)}, ${parseColor(b)} ${percent}%)]`;\n}\n\nfunction generateSpacing<K extends number[]>(px: K): {[P in K[number]]: string} {\n let res: any = {};\n for (let p of px) {\n res[p] = pxToRem(p);\n }\n return res;\n}\n\nconst baseSpacing = generateSpacing([\n 0,\n 2, // spacing-50\n 4, // spacing-75\n 8, // spacing-100\n 12, // spacing-200\n 16, // spacing-300\n 20,\n 24, // spacing-400\n 28,\n 32, // spacing-500\n 36,\n 40, // spacing-600\n 44,\n 48, // spacing-700\n 56,\n // From here onward the values are mostly spaced by 1rem (16px)\n 64, // spacing-800\n 80, // spacing-900\n 96, // spacing-1000\n // TODO: should these only be available as sizes rather than spacing?\n 112,\n 128,\n 144,\n 160,\n 176,\n 192,\n 208,\n 224,\n 240,\n 256,\n 288,\n 320,\n 384\n] as const);\n\n// This should match the above, but negative. There's no way to negate a number\n// type in typescript so this has to be done manually for now.\nconst negativeSpacing = generateSpacing([\n // -2, // spacing-50 !! TODO: should we support this?\n -4, // spacing-75\n -8, // spacing-100\n -12, // spacing-200\n -16, // spacing-300\n -20,\n -24, // spacing-400\n -28,\n -32, // spacing-500\n -36,\n -40, // spacing-600\n -44,\n -48, // spacing-700\n -56,\n // From here onward the values are mostly spaced by 1rem (16px)\n -64, // spacing-800\n -80, // spacing-900\n -96, // spacing-1000\n // TODO: should these only be available as sizes rather than spacing?\n -112,\n -128,\n -144,\n -160,\n -176,\n -192,\n -208,\n -224,\n -240,\n -256,\n -288,\n -320,\n -384\n] as const);\n\nfunction arbitrary(ctx: MacroContext | void, value: string): `[${string}]` {\n return ctx ? `[${value}]` : value as any;\n}\n\nexport function fontRelative(this: MacroContext | void, base: number, baseFontSize = 14) {\n return arbitrary(this, (base / baseFontSize) + 'em');\n}\n\nexport function edgeToText(this: MacroContext | void, height: keyof typeof baseSpacing) {\n return `calc(${baseSpacing[height]} * 3 / 8)`;\n}\n\nexport function space(this: MacroContext | void, px: number) {\n return arbitrary(this, pxToRem(px));\n}\n\nconst spacing = {\n ...baseSpacing,\n\n // font-size relative values\n 'text-to-control': fontRelative(10),\n 'text-to-visual': {\n default: fontRelative(6), // -> 5px, 5px, 6px, 7px, 8px\n touch: fontRelative(8, 17) // -> 6px, 7px, 8px, 9px, 10px, should be 7px, 7px, 8px, 9px, 11px\n },\n // height relative values\n 'edge-to-text': 'calc(self(height, self(minHeight)) * 3 / 8)',\n 'pill': 'calc(self(height, self(minHeight)) / 2)'\n};\n\nexport function size(this: MacroContext | void, px: number) {\n return arbitrary(this, `calc(${pxToRem(px)} * var(--s2-scale))`);\n}\n\nconst scaledSpacing: {[key in keyof typeof baseSpacing]: string} =\n Object.fromEntries(Object.entries(baseSpacing).map(([k, v]) =>\n [k, `calc(${v} * var(--s2-scale))`]\n )) as any;\n\nconst sizing = {\n ...scaledSpacing,\n auto: 'auto',\n full: '100%',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n\n control: {\n default: size(32),\n size: {\n XS: size(20),\n S: size(24),\n L: size(40),\n XL: size(48)\n }\n },\n // With browser support for round() we could do this:\n // 'control-sm': `round(${16 / 14}em, 2px)`\n 'control-sm': {\n default: size(16),\n size: {\n S: size(14),\n L: size(18),\n XL: size(20)\n }\n }\n};\n\nconst height = {\n ...sizing,\n screen: '100vh'\n};\n\nconst width = {\n ...sizing,\n screen: '100vw'\n};\n\nconst margin = {\n ...spacing,\n ...negativeSpacing,\n auto: 'auto'\n};\n\nconst inset = {\n ...baseSpacing,\n auto: 'auto',\n full: '100%'\n};\n\nconst translate = {\n ...baseSpacing,\n ...negativeSpacing,\n full: '100%'\n};\n\nconst borderWidth = {\n 0: '0px',\n 1: getToken('border-width-100'),\n 2: getToken('border-width-200'),\n 4: getToken('border-width-400')\n};\n\nconst radius = {\n none: getToken('corner-radius-none'), // 0px\n sm: pxToRem(getToken('corner-radius-small-default')), // 4px\n default: pxToRem(getToken('corner-radius-medium-default')), // 8px\n lg: pxToRem(getToken('corner-radius-large-default')), // 10px\n xl: pxToRem(getToken('corner-radius-extra-large-default')), // 16px\n full: '9999px',\n pill: 'calc(self(height, self(minHeight, 9999px)) / 2)',\n control: fontRelative(8), // automatic based on font size (e.g. t-shirt size logarithmic scale)\n 'control-sm': fontRelative(4)\n};\n\ntype GridTrack = 'none' | 'subgrid' | (string & {}) | readonly GridTrackSize[];\ntype GridTrackSize = 'auto' | 'min-content' | 'max-content' | `${number}fr` | `minmax(${string}, ${string})` | keyof typeof baseSpacing | (string & {});\n\nlet gridTrack = (value: GridTrack) => {\n if (typeof value === 'string') {\n return value;\n }\n return value.map(v => gridTrackSize(v)).join(' ');\n};\n\nlet gridTrackSize = (value: GridTrackSize) => {\n // @ts-ignore\n return value in baseSpacing ? baseSpacing[value] : value;\n};\n\nconst transitionProperty = {\n default: 'color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter',\n colors: 'color, background-color, border-color, text-decoration-color, fill, stroke',\n opacity: 'opacity',\n shadow: 'box-shadow',\n transform: 'transform, translate, scale, rotate',\n all: 'all',\n none: 'none'\n};\n\n// TODO\nconst timingFunction = {\n default: 'cubic-bezier(0.45, 0, 0.4, 1)',\n linear: 'linear',\n in: 'cubic-bezier(0.5, 0, 1, 1)',\n out: 'cubic-bezier(0, 0, 0.40, 1)',\n 'in-out': 'cubic-bezier(0.45, 0, 0.4, 1)'\n};\n\n// TODO: do these need tokens or are arbitrary values ok?\nlet durationProperty = createArbitraryProperty((value: number | string, property) => ({[property]: typeof value === 'number' ? value + 'ms' : value}));\n\n// const colorWithAlpha = createColorProperty(color);\n\nconst fontWeightBase = {\n light: '300',\n // TODO: spectrum calls this \"regular\" but CSS calls it \"normal\". We also call other properties \"default\". What do we want to match?\n normal: '400',\n medium: '500',\n bold: '700',\n 'extra-bold': '800',\n black: '900'\n} as const;\n\nconst i18nFonts = {\n ':lang(ar)': 'myriad-arabic, ui-sans-serif, system-ui, sans-serif',\n ':lang(he)': 'myriad-hebrew, ui-sans-serif, system-ui, sans-serif',\n ':lang(ja)': \"adobe-clean-han-japanese, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Osaka, YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'MS Pゴシック', 'MS PGothic', sans-serif\",\n ':lang(ko)': \"adobe-clean-han-korean, source-han-korean, 'Malgun Gothic', 'Apple Gothic', sans-serif\",\n ':lang(zh)': \"adobe-clean-han-traditional, source-han-traditional, 'MingLiu', 'Heiti TC Light', sans-serif\",\n // TODO: are these fallbacks supposed to be different than above?\n ':lang(zh-hant)': \"adobe-clean-han-traditional, source-han-traditional, 'MingLiu', 'Microsoft JhengHei UI', 'Microsoft JhengHei', 'Heiti TC Light', sans-serif\",\n ':lang(zh-Hans, zh-CN, zh-SG)': \"adobe-clean-han-simplified-c, source-han-simplified-c, 'SimSun', 'Heiti SC Light', sans-serif\"\n} as const;\n\nconst fontSize = {\n // The default font size scale is for use within UI components.\n 'ui-xs': fontSizeToken('font-size-50'),\n 'ui-sm': fontSizeToken('font-size-75'),\n ui: fontSizeToken('font-size-100'),\n 'ui-lg': fontSizeToken('font-size-200'),\n 'ui-xl': fontSizeToken('font-size-300'),\n 'ui-2xl': fontSizeToken('font-size-400'),\n 'ui-3xl': fontSizeToken('font-size-500'),\n\n control: {\n default: fontSizeToken('font-size-100'),\n size: {\n XS: fontSizeToken('font-size-50'),\n S: fontSizeToken('font-size-75'),\n L: fontSizeToken('font-size-200'),\n XL: fontSizeToken('font-size-300')\n }\n },\n\n 'heading-2xs': fontSizeToken('heading-size-xxs'),\n 'heading-xs': fontSizeToken('heading-size-xs'),\n 'heading-sm': fontSizeToken('heading-size-s'),\n heading: fontSizeToken('heading-size-m'),\n 'heading-lg': fontSizeToken('heading-size-l'),\n 'heading-xl': fontSizeToken('heading-size-xl'),\n 'heading-2xl': fontSizeToken('heading-size-xxl'),\n 'heading-3xl': fontSizeToken('heading-size-xxxl'),\n\n 'title-xs': fontSizeToken('title-size-xs'),\n 'title-sm': fontSizeToken('title-size-s'),\n title: fontSizeToken('title-size-m'),\n 'title-lg': fontSizeToken('title-size-l'),\n 'title-xl': fontSizeToken('title-size-xl'),\n 'title-2xl': fontSizeToken('title-size-xxl'),\n 'title-3xl': fontSizeToken('title-size-xxxl'),\n\n // Body is for large blocks of text, e.g. paragraphs, not in UI components.\n 'body-2xs': fontSizeToken('font-size-50'), // TODO: seems like there is no token for this\n 'body-xs': fontSizeToken('body-size-xs'),\n 'body-sm': fontSizeToken('body-size-s'),\n body: fontSizeToken('body-size-m'),\n 'body-lg': fontSizeToken('body-size-l'),\n 'body-xl': fontSizeToken('body-size-xl'),\n 'body-2xl': fontSizeToken('body-size-xxl'),\n 'body-3xl': fontSizeToken('body-size-xxxl'),\n\n 'detail-sm': fontSizeToken('detail-size-s'),\n detail: fontSizeToken('detail-size-m'),\n 'detail-lg': fontSizeToken('detail-size-l'),\n 'detail-xl': fontSizeToken('detail-size-xl'),\n\n 'code-xs': fontSizeToken('code-size-xs'),\n 'code-sm': fontSizeToken('code-size-s'),\n code: fontSizeToken('code-size-m'),\n 'code-lg': fontSizeToken('code-size-l'),\n 'code-xl': fontSizeToken('code-size-xl')\n} as const;\n\nexport const style = createTheme({\n properties: {\n // colors\n color: createColorProperty({\n ...color,\n accent: {\n default: colorToken('accent-content-color-default'),\n isHovered: colorToken('accent-content-color-hover'),\n isFocusVisible: colorToken('accent-content-color-key-focus'),\n isPressed: colorToken('accent-content-color-down')\n // isSelected: colorToken('accent-content-color-selected'), // same as pressed\n },\n neutral: {\n default: colorToken('neutral-content-color-default'),\n isHovered: colorToken('neutral-content-color-hover'),\n isFocusVisible: colorToken('neutral-content-color-key-focus'),\n isPressed: colorToken('neutral-content-color-down')\n // isSelected: colorToken('neutral-subdued-content-color-selected'),\n },\n 'neutral-subdued': {\n default: colorToken('neutral-subdued-content-color-default'),\n isHovered: colorToken('neutral-subdued-content-color-hover'),\n isFocusVisible: colorToken('neutral-subdued-content-color-key-focus'),\n isPressed: colorToken('neutral-subdued-content-color-down')\n // isSelected: colorToken('neutral-subdued-content-color-selected'),\n },\n 'neutral-visual': weirdColorToken('neutral-visual-color'),\n negative: {\n default: colorToken('negative-content-color-default'),\n isHovered: colorToken('negative-content-color-hover'),\n isFocusVisible: colorToken('negative-content-color-key-focus'),\n isPressed: colorToken('negative-content-color-down')\n },\n disabled: {\n default: colorToken('disabled-content-color')\n // forcedColors: 'GrayText'\n },\n heading: colorToken('heading-color'),\n title: colorToken('title-color'),\n body: colorToken('body-color'),\n detail: colorToken('detail-color'),\n code: colorToken('code-color')\n }),\n backgroundColor: createColorProperty({\n ...color,\n accent: {\n default: weirdColorToken('accent-background-color-default'),\n isHovered: weirdColorToken('accent-background-color-hover'),\n isFocusVisible: weirdColorToken('accent-background-color-key-focus'),\n isPressed: weirdColorToken('accent-background-color-down')\n },\n 'accent-subtle': weirdColorToken('accent-subtle-background-color-default'),\n neutral: {\n default: colorToken('neutral-background-color-default'),\n isHovered: colorToken('neutral-background-color-hover'),\n isFocusVisible: colorToken('neutral-background-color-key-focus'),\n isPressed: colorToken('neutral-background-color-down')\n },\n 'neutral-subdued': {\n default: weirdColorToken('neutral-subdued-background-color-default'),\n isHovered: weirdColorToken('neutral-subdued-background-color-hover'),\n isFocusVisible: weirdColorToken('neutral-subdued-background-color-key-focus'),\n isPressed: weirdColorToken('neutral-subdued-background-color-down')\n },\n 'neutral-subtle': weirdColorToken('neutral-subtle-background-color-default'),\n negative: {\n default: weirdColorToken('negative-background-color-default'),\n isHovered: weirdColorToken('negative-background-color-hover'),\n isFocusVisible: weirdColorToken('negative-background-color-key-focus'),\n isPressed: weirdColorToken('negative-background-color-down')\n },\n 'negative-visual': weirdColorToken('negative-visual-color'),\n 'negative-subtle': weirdColorToken('negative-subtle-background-color-default'),\n informative: {\n default: weirdColorToken('informative-background-color-default'),\n isHovered: weirdColorToken('informative-background-color-hover'),\n isFocusVisible: weirdColorToken('informative-background-color-key-focus'),\n isPressed: weirdColorToken('informative-background-color-down')\n },\n 'informative-visual': weirdColorToken('informative-visual-color'),\n 'informative-subtle': weirdColorToken('informative-subtle-background-color-default'),\n positive: {\n default: weirdColorToken('positive-background-color-default'),\n isHovered: weirdColorToken('positive-background-color-hover'),\n isFocusVisible: weirdColorToken('positive-background-color-key-focus'),\n isPressed: weirdColorToken('positive-background-color-down')\n },\n 'positive-visual': weirdColorToken('positive-visual-color'),\n 'positive-subtle': weirdColorToken('positive-subtle-background-color-default'),\n notice: weirdColorToken('notice-background-color-default'),\n 'notice-visual': weirdColorToken('notice-visual-color'),\n 'notice-subtle': weirdColorToken('notice-subtle-background-color-default'),\n gray: weirdColorToken('gray-background-color-default'),\n 'gray-subtle': weirdColorToken('gray-subtle-background-color-default'),\n red: weirdColorToken('red-background-color-default'),\n 'red-subtle': weirdColorToken('red-subtle-background-color-default'),\n orange: weirdColorToken('orange-background-color-default'),\n 'orange-subtle': weirdColorToken('orange-subtle-background-color-default'),\n yellow: weirdColorToken('yellow-background-color-default'),\n 'yellow-subtle': weirdColorToken('yellow-subtle-background-color-default'),\n chartreuse: weirdColorToken('chartreuse-background-color-default'),\n 'chartreuse-subtle': weirdColorToken('chartreuse-subtle-background-color-default'),\n celery: weirdColorToken('celery-background-color-default'),\n 'celery-subtle': weirdColorToken('celery-subtle-background-color-default'),\n green: weirdColorToken('green-background-color-default'),\n 'green-subtle': weirdColorToken('green-subtle-background-color-default'),\n seafoam: weirdColorToken('seafoam-background-color-default'),\n 'seafoam-subtle': weirdColorToken('seafoam-subtle-background-color-default'),\n cyan: weirdColorToken('cyan-background-color-default'),\n 'cyan-subtle': weirdColorToken('cyan-subtle-background-color-default'),\n blue: weirdColorToken('blue-background-color-default'),\n 'blue-subtle': weirdColorToken('blue-subtle-background-color-default'),\n indigo: weirdColorToken('indigo-background-color-default'),\n 'indigo-subtle': weirdColorToken('indigo-subtle-background-color-default'),\n purple: weirdColorToken('purple-background-color-default'),\n 'purple-subtle': weirdColorToken('purple-subtle-background-color-default'),\n fuchsia: weirdColorToken('fuchsia-background-color-default'),\n 'fuchsia-subtle': weirdColorToken('fuchsia-subtle-background-color-default'),\n magenta: weirdColorToken('magenta-background-color-default'),\n 'magenta-subtle': weirdColorToken('magenta-subtle-background-color-default'),\n pink: weirdColorToken('pink-background-color-default'),\n 'pink-subtle': weirdColorToken('pink-subtle-background-color-default'),\n turquoise: weirdColorToken('turquoise-background-color-default'),\n 'turquoise-subtle': weirdColorToken('turquoise-subtle-background-color-default'),\n cinnamon: weirdColorToken('cinnamon-background-color-default'),\n 'cinnamon-subtle': weirdColorToken('cinnamon-subtle-background-color-default'),\n brown: weirdColorToken('brown-background-color-default'),\n 'brown-subtle': weirdColorToken('brown-subtle-background-color-default'),\n silver: weirdColorToken('silver-background-color-default'),\n 'silver-subtle': weirdColorToken('silver-subtle-background-color-default'),\n disabled: colorToken('disabled-background-color'),\n base: colorToken('background-base-color'),\n 'layer-1': colorToken('background-layer-1-color'),\n 'layer-2': weirdColorToken('background-layer-2-color'),\n pasteboard: weirdColorToken('background-pasteboard-color'),\n elevated: weirdColorToken('background-elevated-color')\n }),\n borderColor: createColorProperty({\n ...color,\n negative: {\n default: colorToken('negative-border-color-default'),\n isHovered: colorToken('negative-border-color-hover'),\n isFocusVisible: colorToken('negative-border-color-key-focus'),\n isPressed: colorToken('negative-border-color-down')\n },\n disabled: colorToken('disabled-border-color')\n // forcedColors: 'GrayText'\n\n }),\n outlineColor: createColorProperty({\n ...color,\n 'focus-ring': {\n default: colorToken('focus-indicator-color'),\n forcedColors: 'Highlight'\n }\n }),\n // textDecorationColor: colorWithAlpha,\n // accentColor: colorWithAlpha,\n // caretColor: colorWithAlpha,\n fill: createColorProperty({\n none: 'none',\n currentColor: 'currentColor',\n accent: weirdColorToken('accent-visual-color'),\n neutral: weirdColorToken('neutral-visual-color'),\n negative: weirdColorToken('negative-visual-color'),\n informative: weirdColorToken('informative-visual-color'),\n positive: weirdColorToken('positive-visual-color'),\n notice: weirdColorToken('notice-visual-color'),\n gray: weirdColorToken('gray-visual-color'),\n red: weirdColorToken('red-visual-color'),\n orange: weirdColorToken('orange-visual-color'),\n yellow: weirdColorToken('yellow-visual-color'),\n chartreuse: weirdColorToken('chartreuse-visual-color'),\n celery: weirdColorToken('celery-visual-color'),\n green: weirdColorToken('green-visual-color'),\n seafoam: weirdColorToken('seafoam-visual-color'),\n cyan: weirdColorToken('cyan-visual-color'),\n blue: weirdColorToken('blue-visual-color'),\n indigo: weirdColorToken('indigo-visual-color'),\n purple: weirdColorToken('purple-visual-color'),\n fuchsia: weirdColorToken('fuchsia-visual-color'),\n magenta: weirdColorToken('magenta-visual-color'),\n pink: weirdColorToken('pink-visual-color'),\n turquoise: weirdColorToken('turquoise-visual-color'),\n cinnamon: weirdColorToken('cinnamon-visual-color'),\n brown: weirdColorToken('brown-visual-color'),\n silver: weirdColorToken('silver-visual-color'),\n ...color\n }),\n stroke: createColorProperty({\n none: 'none',\n currentColor: 'currentColor',\n ...color\n }),\n\n // dimensions\n borderSpacing: baseSpacing, // TODO: separate x and y\n flexBasis: {\n auto: 'auto',\n full: '100%',\n ...baseSpacing\n },\n rowGap: spacing,\n columnGap: spacing,\n height,\n width,\n containIntrinsicWidth: width,\n containIntrinsicHeight: height,\n minHeight: height,\n maxHeight: {\n ...height,\n none: 'none'\n },\n minWidth: width,\n maxWidth: {\n ...width,\n none: 'none'\n },\n borderStartWidth: createRenamedProperty('borderInlineStartWidth', borderWidth),\n borderEndWidth: createRenamedProperty('borderInlineEndWidth', borderWidth),\n borderTopWidth: borderWidth,\n borderBottomWidth: borderWidth,\n borderStyle: ['solid', 'dashed', 'dotted', 'double', 'hidden', 'none'] as const,\n strokeWidth: {\n 0: '0',\n 1: '1',\n 2: '2'\n },\n marginStart: createRenamedProperty('marginInlineStart', margin),\n marginEnd: createRenamedProperty('marginInlineEnd', margin),\n marginTop: margin,\n marginBottom: margin,\n paddingStart: createRenamedProperty('paddingInlineStart', spacing),\n paddingEnd: createRenamedProperty('paddingInlineEnd', spacing),\n paddingTop: spacing,\n paddingBottom: spacing,\n scrollMarginStart: createRenamedProperty('scrollMarginInlineStart', baseSpacing),\n scrollMarginEnd: createRenamedProperty('scrollMarginInlineEnd', baseSpacing),\n scrollMarginTop: baseSpacing,\n scrollMarginBottom: baseSpacing,\n scrollPaddingStart: createRenamedProperty('scrollPaddingInlineStart', baseSpacing),\n scrollPaddingEnd: createRenamedProperty('scrollPaddingInlineEnd', baseSpacing),\n scrollPaddingTop: baseSpacing,\n scrollPaddingBottom: baseSpacing,\n textIndent: baseSpacing,\n translateX: createMappedProperty(value => ({\n '--translateX': value,\n translate: 'var(--translateX, 0) var(--translateY, 0)'\n }), translate),\n translateY: createMappedProperty(value => ({\n '--translateY': value,\n translate: 'var(--translateX, 0) var(--translateY, 0)'\n }), translate),\n rotate: createArbitraryProperty((value: number | `${number}deg` | `${number}rad` | `${number}grad` | `${number}turn`, property) => ({[property]: typeof value === 'number' ? `${value}deg` : value})),\n scale: createArbitraryProperty<number>(),\n transform: createArbitraryProperty<string>(),\n position: ['absolute', 'fixed', 'relative', 'sticky', 'static'] as const,\n insetStart: createRenamedProperty('insetInlineStart', inset),\n insetEnd: createRenamedProperty('insetInlineEnd', inset),\n top: inset,\n left: inset,\n bottom: inset,\n right: inset,\n aspectRatio: {\n auto: 'auto',\n square: '1 / 1',\n video: '16 / 9'\n },\n\n // text\n fontFamily: {\n sans: {\n default: 'adobe-clean-variable, adobe-clean, ui-sans-serif, system-ui, sans-serif',\n ...i18nFonts\n },\n serif: {\n default: 'adobe-clean-serif, \"Source Serif\", Georgia, serif',\n ...i18nFonts\n },\n code: 'source-code-pro, \"Source Code Pro\", Monaco, monospace'\n },\n fontSize,\n fontWeight: createMappedProperty((value, property) => {\n if (property === 'fontWeight') {\n return {\n // Set font-variation-settings in addition to font-weight to work around typekit issue.\n fontVariationSettings: value === 'inherit' ? 'inherit' : `\"wght\" ${value}`,\n fontWeight: value as any,\n fontSynthesisWeight: 'none'\n };\n }\n\n return {[property]: value};\n }, {\n ...fontWeightBase,\n heading: {\n default: fontWeightBase[getToken('heading-sans-serif-font-weight') as keyof typeof fontWeightBase],\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': fontWeightBase[getToken('heading-cjk-font-weight') as keyof typeof fontWeightBase]\n },\n title: {\n default: fontWeightBase[getToken('title-sans-serif-font-weight') as keyof typeof fontWeightBase],\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': fontWeightBase[getToken('title-cjk-font-weight') as keyof typeof fontWeightBase]\n },\n detail: {\n default: fontWeightBase[getToken('detail-sans-serif-font-weight') as keyof typeof fontWeightBase],\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': fontWeightBase[getToken('detail-cjk-font-weight') as keyof typeof fontWeightBase]\n }\n }),\n lineHeight: {\n // See https://spectrum.corp.adobe.com/page/typography/#Line-height\n ui: {\n default: getToken('line-height-100'),\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': getToken('line-height-200')\n },\n heading: {\n default: getToken('heading-line-height'),\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': getToken('heading-cjk-line-height')\n },\n title: {\n default: getToken('title-line-height'),\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': getToken('title-cjk-line-height')\n },\n body: {\n default: getToken('body-line-height'),\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': getToken('body-cjk-line-height')\n },\n detail: {\n default: getToken('detail-line-height'),\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': getToken('detail-cjk-line-height')\n },\n code: {\n default: getToken('code-line-height'),\n ':lang(ja, ko, zh, zh-Hant, zh-Hans)': getToken('code-cjk-line-height')\n }\n },\n listStyleType: ['none', 'dist', 'decimal'] as const,\n listStylePosition: ['inside', 'outside'] as const,\n textTransform: ['uppercase', 'lowercase', 'capitalize', 'none'] as const,\n textAlign: ['start', 'center', 'end', 'justify'] as const,\n verticalAlign: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super'] as const,\n textDecoration: createMappedProperty((value) => ({\n textDecoration: value === 'none' ? 'none' : `${value} ${getToken('text-underline-thickness')}`,\n textUnderlineOffset: value === 'underline' ? getToken('text-underline-gap') : undefined\n }), ['underline', 'overline', 'line-through', 'none'] as const),\n textOverflow: ['ellipsis', 'clip'] as const,\n lineClamp: createArbitraryProperty((value: number) => ({\n overflow: 'hidden',\n display: '-webkit-box',\n '-webkit-box-orient': 'vertical',\n '-webkit-line-clamp': value\n })),\n hyphens: ['none', 'manual', 'auto'] as const,\n whiteSpace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces'] as const,\n textWrap: ['wrap', 'nowrap', 'balance', 'pretty'] as const,\n wordBreak: ['normal', 'break-all', 'keep-all'] as const, // also overflowWrap??\n boxDecorationBreak: ['slice', 'clone'] as const,\n\n // effects\n boxShadow: {\n emphasized: `${getToken('drop-shadow-emphasized-default-x')} ${getToken('drop-shadow-emphasized-default-y')} ${getToken('drop-shadow-emphasized-default-blur')} ${colorToken('drop-shadow-emphasized-default-color')}`,\n elevated: `${getToken('drop-shadow-elevated-x')} ${getToken('drop-shadow-elevated-y')} ${getToken('drop-shadow-elevated-blur')} ${colorToken('drop-shadow-elevated-color')}`,\n dragged: `${getToken('drop-shadow-dragged-x')} ${getToken('drop-shadow-dragged-y')} ${getToken('drop-shadow-dragged-blur')} ${colorToken('drop-shadow-dragged-color')}`,\n none: 'none'\n },\n filter: {\n emphasized: `drop-shadow(${getToken('drop-shadow-emphasized-default-x')} ${getToken('drop-shadow-emphasized-default-y')} ${getToken('drop-shadow-emphasized-default-blur')} ${colorToken('drop-shadow-emphasized-default-color')})`,\n elevated: `drop-shadow(${getToken('drop-shadow-elevated-x')} ${getToken('drop-shadow-elevated-y')} ${getToken('drop-shadow-elevated-blur')} ${colorToken('drop-shadow-elevated-color')})`,\n dragged: `drop-shadow${getToken('drop-shadow-dragged-x')} ${getToken('drop-shadow-dragged-y')} ${getToken('drop-shadow-dragged-blur')} ${colorToken('drop-shadow-dragged-color')}`,\n none: 'none'\n },\n borderTopStartRadius: createRenamedProperty('borderStartStartRadius', radius),\n borderTopEndRadius: createRenamedProperty('borderStartEndRadius', radius),\n borderBottomStartRadius: createRenamedProperty('borderEndStartRadius', radius),\n borderBottomEndRadius: createRenamedProperty('borderEndEndRadius', radius),\n forcedColorAdjust: ['auto', 'none'] as const,\n colorScheme: ['light', 'dark', 'light dark'] as const,\n backgroundImage: createArbitraryProperty<string>(),\n // TODO: do we need separate x and y properties?\n backgroundPosition: ['bottom', 'center', 'left', 'left bottom', 'left top', 'right', 'right bottom', 'right top', 'top'] as const,\n backgroundSize: ['auto', 'cover', 'contain'] as const,\n backgroundAttachment: ['fixed', 'local', 'scroll'] as const,\n backgroundClip: ['border-box', 'padding-box', 'content-box', 'text'] as const,\n backgroundRepeat: ['repeat', 'no-repeat', 'repeat-x', 'repeat-y', 'round', 'space'] as const,\n backgroundOrigin: ['border-box', 'padding-box', 'content-box'] as const,\n backgroundBlendMode: ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'] as const,\n mixBlendMode: ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity', 'plus-darker', 'plus-lighter'] as const,\n opacity: createArbitraryProperty<number>(),\n\n outlineStyle: ['none', 'solid', 'dashed', 'dotted', 'double', 'inset'] as const,\n outlineOffset: createArbitraryProperty<number>((v, property) => ({[property]: `${v}px`})),\n outlineWidth: borderWidth,\n\n transition: createRenamedProperty('transitionProperty', transitionProperty),\n transitionDelay: durationProperty,\n transitionDuration: durationProperty,\n transitionTimingFunction: timingFunction,\n animation: createArbitraryProperty((value: string, property) => ({[property === 'animation' ? 'animationName' : property]: value})),\n animationDuration: durationProperty,\n animationDelay: durationProperty,\n animationDirection: ['normal', 'reverse', 'alternate', 'alternate-reverse'] as const,\n animationFillMode: ['none', 'forwards', 'backwards', 'both'] as const,\n animationIterationCount: createArbitraryProperty<string>(),\n animationTimingFunction: timingFunction,\n\n // layout\n display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'grid', 'inline-grid', 'contents', 'list-item', 'none'] as const, // tables?\n alignContent: ['normal', 'center', 'start', 'end', 'space-between', 'space-around', 'space-evenly', 'baseline', 'stretch'] as const,\n alignItems: ['start', 'end', 'center', 'baseline', 'stretch'] as const,\n justifyContent: ['normal', 'start', 'end', 'center', 'space-between', 'space-around', 'space-evenly', 'stretch'] as const,\n justifyItems: ['start', 'end', 'center', 'stretch'] as const,\n alignSelf: ['auto', 'start', 'end', 'center', 'stretch', 'baseline'] as const,\n justifySelf: ['auto', 'start', 'end', 'center', 'stretch'] as const,\n flexDirection: ['row', 'column', 'row-reverse', 'column-reverse'] as const,\n flexWrap: ['wrap', 'wrap-reverse', 'nowrap'] as const,\n flexShrink: createArbitraryProperty<CSS.Property.FlexShrink>(),\n flexGrow: createArbitraryProperty<CSS.Property.FlexGrow>(),\n gridColumnStart: createArbitraryProperty<CSS.Property.GridColumnStart>(),\n gridColumnEnd: createArbitraryProperty<CSS.Property.GridColumnEnd>(),\n gridRowStart: createArbitraryProperty<CSS.Property.GridRowStart>(),\n gridRowEnd: createArbitraryProperty<CSS.Property.GridRowEnd>(),\n gridAutoFlow: ['row', 'column', 'dense', 'row dense', 'column dense'] as const,\n gridAutoRows: createArbitraryProperty((value: GridTrackSize, property) => ({[property]: gridTrackSize(value)})),\n gridAutoColumns: createArbitraryProperty((value: GridTrackSize, property) => ({[property]: gridTrackSize(value)})),\n gridTemplateColumns: createArbitraryProperty((value: GridTrack, property) => ({[property]: gridTrack(value)})),\n gridTemplateRows: createArbitraryProperty((value: GridTrack, property) => ({[property]: gridTrack(value)})),\n gridTemplateAreas: createArbitraryProperty((value: readonly string[], property) => ({[property]: value.map(v => `\"${v}\"`).join('')})),\n float: ['inline-start', 'inline-end', 'right', 'left', 'none'] as const,\n clear: ['inline-start', 'inline-end', 'left', 'right', 'both', 'none'] as const,\n contain: ['none', 'strict', 'content', 'size', 'inline-size', 'layout', 'style', 'paint'] as const,\n boxSizing: ['border-box', 'content-box'] as const,\n tableLayout: ['auto', 'fixed'] as const,\n captionSide: ['top', 'bottom'] as const,\n borderCollapse: ['collapse', 'separate'] as const,\n columns: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n // TODO: what should these sizes be?\n '3xs': '16rem',\n '2xs': '18rem',\n xs: '20rem',\n sm: '24rem',\n md: '28rem',\n lg: '32rem',\n xl: '36rem',\n '2xl': '42rem',\n '3xl': '48rem',\n '4xl': '56rem',\n '5xl': '64rem',\n '6xl': '72rem',\n '7xl': '80rem'\n },\n breakBefore: ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'] as const,\n breakInside: ['auto', 'avoid', 'avoid-page', 'avoid-column'] as const,\n breakAfter: ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'] as const,\n overflowX: ['auto', 'hidden', 'clip', 'visible', 'scroll'] as const,\n overflowY: ['auto', 'hidden', 'clip', 'visible', 'scroll'] as const,\n overscrollBehaviorX: ['auto', 'contain', 'none'] as const,\n overscrollBehaviorY: ['auto', 'contain', 'none'] as const,\n scrollBehavior: ['auto', 'smooth'] as const,\n order: createArbitraryProperty<number>(),\n\n pointerEvents: ['none', 'auto'] as const,\n touchAction: ['auto', 'none', 'pan-x', 'pan-y', 'manipulation', 'pinch-zoom'] as const,\n userSelect: ['none', 'text', 'all', 'auto'] as const,\n visibility: ['visible', 'hidden', 'collapse'] as const,\n isolation: ['isolate', 'auto'] as const,\n transformOrigin: ['center', 'top', 'top right', 'right', 'bottom right', 'bottom', 'bottom left', 'left', 'top right'] as const,\n cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out'] as const,\n resize: ['none', 'vertical', 'horizontal', 'both'] as const,\n scrollSnapType: ['x', 'y', 'both', 'x mandatory', 'y mandatory', 'both mandatory'] as const,\n scrollSnapAlign: ['start', 'end', 'center', 'none'] as const,\n scrollSnapStop: ['normal', 'always'] as const,\n appearance: ['none', 'auto'] as const,\n objectFit: ['contain', 'cover', 'fill', 'none', 'scale-down'] as const,\n objectPosition: ['bottom', 'center', 'left', 'left bottom', 'left top', 'right', 'right bottom', 'right top', 'top'] as const,\n willChange: ['auto', 'scroll-position', 'contents', 'transform'] as const,\n zIndex: createArbitraryProperty<number>(),\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n disableTapHighlight: createArbitraryProperty((_value: true) => ({\n '-webkit-tap-highlight-color': 'rgba(0,0,0,0)'\n }))\n },\n shorthands: {\n padding: ['paddingTop', 'paddingBottom', 'paddingStart', 'paddingEnd'] as const,\n paddingX: ['paddingStart', 'paddingEnd'] as const,\n paddingY: ['paddingTop', 'paddingBottom'] as const,\n margin: ['marginTop', 'marginBottom', 'marginStart', 'marginEnd'] as const,\n marginX: ['marginStart', 'marginEnd'] as const,\n marginY: ['marginTop', 'marginBottom'] as const,\n scrollPadding: ['scrollPaddingTop', 'scrollPaddingBottom', 'scrollPaddingStart', 'scrollPaddingEnd'] as const,\n scrollPaddingX: ['scrollPaddingStart', 'scrollPaddingEnd'] as const,\n scrollPaddingY: ['scrollPaddingTop', 'scrollPaddingBottom'] as const,\n scrollMargin: ['scrollMarginTop', 'scrollMarginBottom', 'scrollMarginStart', 'scrollMarginEnd'] as const,\n scrollMarginX: ['scrollMarginStart', 'scrollMarginEnd'] as const,\n scrollMarginY: ['scrollMarginTop', 'scrollMarginBottom'] as const,\n borderWidth: ['borderTopWidth', 'borderBottomWidth', 'borderStartWidth', 'borderEndWidth'] as const,\n borderXWidth: ['borderStartWidth', 'borderEndWidth'] as const,\n borderYWidth: ['borderTopWidth', 'borderBottomWidth'] as const,\n borderRadius: ['borderTopStartRadius', 'borderTopEndRadius', 'borderBottomStartRadius', 'borderBottomEndRadius'] as const,\n borderTopRadius: ['borderTopStartRadius', 'borderTopEndRadius'] as const,\n borderBottomRadius: ['borderBottomStartRadius', 'borderBottomEndRadius'] as const,\n borderStartRadius: ['borderTopStartRadius', 'borderBottomStartRadius'] as const,\n borderEndRadius: ['borderTopEndRadius', 'borderBottomEndRadius'] as const,\n translate: ['translateX', 'translateY'] as const,\n inset: ['top', 'bottom', 'insetStart', 'insetEnd'] as const,\n insetX: ['insetStart', 'insetEnd'] as const,\n insetY: ['top', 'bottom'] as const,\n placeItems: ['alignItems', 'justifyItems'] as const,\n placeContent: ['alignContent', 'justifyContent'] as const,\n placeSelf: ['alignSelf', 'justifySelf'] as const,\n gap: ['rowGap', 'columnGap'] as const,\n size: ['width', 'height'] as const,\n minSize: ['minWidth', 'minHeight'] as const,\n maxSize: ['maxWidth', 'maxHeight'] as const,\n overflow: ['overflowX', 'overflowY'] as const,\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'] as const,\n gridArea: ['gridColumnStart', 'gridColumnEnd', 'gridRowStart', 'gridRowEnd'] as const,\n transition: (value: keyof typeof transitionProperty) => ({\n transition: value,\n transitionDuration: 150,\n transitionTimingFunction: 'default'\n }),\n animation: (value: string) => ({\n animation: value,\n animationDuration: 150,\n animationTimingFunction: 'default'\n }),\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n truncate: (_value: true) => ({\n overflowX: 'hidden',\n overflowY: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }),\n font: (value: keyof typeof fontSize) => {\n let type = value.split('-')[0];\n if (type === 'control') {\n type = 'ui';\n }\n return {\n fontFamily: type === 'code' ? 'code' : 'sans',\n fontSize: value,\n fontWeight: type === 'heading' || type === 'title' || type === 'detail' ? type : 'normal',\n lineHeight: type,\n color: type === 'ui' ? 'body' : type\n };\n }\n },\n conditions: {\n forcedColors: '@media (forced-colors: active)',\n // This detects touch primary devices as best as we can.\n // Ideally we'd use (pointer: course) but browser/device support is inconsistent.\n // Samsung Android devices claim to be mice at the hardware/OS level: (any-pointer: fine), (any-hover: hover), (hover: hover), and nothing for pointer.\n // More details: https://www.ctrl.blog/entry/css-media-hover-samsung.html\n // iPhone matches (any-hover: none), (hover: none), and nothing for any-pointer or pointer.\n // If a trackpad or Apple Pencil is connected to iPad, it matches (any-pointer: fine), (any-hover: hover), (hover: none).\n // Windows tablet matches the same as iPhone. No difference when a mouse is connected.\n // Windows touch laptop matches same as macOS: (any-pointer: fine), (pointer: fine), (any-hover: hover), (hover: hover).\n touch: '@media not ((hover: hover) and (pointer: fine))',\n // TODO\n sm: '@media (min-width: 640px)',\n md: '@media (min-width: 768px)',\n lg: '@media (min-width: 1024px)',\n xl: '@media (min-width: 1280px)',\n '2xl': '@media (min-width: 1536px)'\n }\n});\n"],"names":[],"version":3,"file":"spectrum-theme.cjs.map","sourceRoot":"../../../../../"}
|
|
@@ -893,6 +893,7 @@ const $468034641bb536ce$export$1d567c320f4763bc = (0, $a42cf657cdea7060$export$2
|
|
|
893
893
|
isFocusVisible: "light-dark(rgb(41, 41, 41), rgb(219, 219, 219))",
|
|
894
894
|
isPressed: "light-dark(rgb(41, 41, 41), rgb(219, 219, 219))"
|
|
895
895
|
},
|
|
896
|
+
'neutral-visual': "light-dark(rgb(143, 143, 143), rgb(138, 138, 138))",
|
|
896
897
|
negative: {
|
|
897
898
|
default: "light-dark(rgb(215, 50, 32), rgb(252, 67, 46))",
|
|
898
899
|
isHovered: "light-dark(rgb(183, 40, 24), rgb(255, 103, 86))",
|
|
@@ -936,6 +937,7 @@ const $468034641bb536ce$export$1d567c320f4763bc = (0, $a42cf657cdea7060$export$2
|
|
|
936
937
|
isFocusVisible: "light-dark(rgb(183, 40, 24), rgb(205, 46, 29))",
|
|
937
938
|
isPressed: "light-dark(rgb(183, 40, 24), rgb(205, 46, 29))"
|
|
938
939
|
},
|
|
940
|
+
'negative-visual': "light-dark(rgb(240, 56, 35), rgb(252, 67, 46))",
|
|
939
941
|
'negative-subtle': "light-dark(rgb(255, 235, 232), rgb(87, 17, 7))",
|
|
940
942
|
informative: {
|
|
941
943
|
default: "light-dark(rgb(59, 99, 251), rgb(64, 105, 253))",
|
|
@@ -943,6 +945,7 @@ const $468034641bb536ce$export$1d567c320f4763bc = (0, $a42cf657cdea7060$export$2
|
|
|
943
945
|
isFocusVisible: "light-dark(rgb(39, 77, 234), rgb(52, 91, 248))",
|
|
944
946
|
isPressed: "light-dark(rgb(39, 77, 234), rgb(52, 91, 248))"
|
|
945
947
|
},
|
|
948
|
+
'informative-visual': "light-dark(rgb(75, 117, 255), rgb(86, 129, 255))",
|
|
946
949
|
'informative-subtle': "light-dark(rgb(229, 240, 254), rgb(12, 33, 117))",
|
|
947
950
|
positive: {
|
|
948
951
|
default: "light-dark(rgb(5, 131, 78), rgb(6, 136, 80))",
|
|
@@ -950,8 +953,10 @@ const $468034641bb536ce$export$1d567c320f4763bc = (0, $a42cf657cdea7060$export$2
|
|
|
950
953
|
isFocusVisible: "light-dark(rgb(3, 110, 69), rgb(4, 124, 75))",
|
|
951
954
|
isPressed: "light-dark(rgb(3, 110, 69), rgb(4, 124, 75))"
|
|
952
955
|
},
|
|
956
|
+
'positive-visual': "light-dark(rgb(7, 147, 85), rgb(9, 157, 89))",
|
|
953
957
|
'positive-subtle': "light-dark(rgb(215, 247, 225), rgb(0, 51, 38))",
|
|
954
958
|
notice: "light-dark(rgb(252, 125, 0), rgb(224, 100, 0))",
|
|
959
|
+
'notice-visual': "light-dark(rgb(212, 91, 0), rgb(224, 100, 0))",
|
|
955
960
|
'notice-subtle': "light-dark(rgb(255, 236, 207), rgb(80, 27, 0))",
|
|
956
961
|
gray: "light-dark(rgb(80, 80, 80), rgb(109, 109, 109))",
|
|
957
962
|
'gray-subtle': "light-dark(rgb(233, 233, 233), rgb(57, 57, 57))",
|