@sanity/ui 4.0.0-static.2 → 4.0.0-static.21
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/css/index.css +2 -1
- package/dist/css/index.css.map +1 -0
- package/dist/css/index.d.ts +29 -1
- package/dist/css/index.js +17965 -50
- package/dist/css/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +14 -16
- package/dist/index.js.map +1 -1
- package/package.json +38 -48
- package/src/core/components/autocomplete/__workshop__/custom.tsx +14 -1
- package/src/core/components/autocomplete/__workshop__/example.tsx +12 -1
- package/src/core/components/dialog/__workshop__/position.tsx +9 -1
- package/src/core/components/dialog/__workshop__/props.tsx +2 -0
- package/src/core/components/menu/__workshop__/menuButton.tsx +6 -1
- package/src/core/components/menu/__workshop__/tones.tsx +7 -1
- package/src/core/components/menu/menu.tsx +1 -1
- package/src/core/components/menu/menuButton.tsx +10 -5
- package/src/core/components/menu/menuContext.ts +1 -1
- package/src/core/components/menu/menuGroup.tsx +7 -4
- package/src/core/components/menu/menuItem.tsx +1 -1
- package/src/core/components/toast/__workshop__/toast.tsx +2 -0
- package/src/core/primitives/avatar/__workshop__/asButton.tsx +8 -1
- package/src/core/primitives/avatar/__workshop__/stack.tsx +5 -1
- package/src/core/primitives/badge/__workshop__/props.tsx +12 -1
- package/src/core/primitives/box/__workshop__/props.tsx +6 -1
- package/src/core/primitives/button/__workshop__/props.tsx +22 -0
- package/src/core/primitives/button/__workshop__/stacked.tsx +16 -0
- package/src/core/primitives/card/__workshop__/props.tsx +10 -0
- package/src/core/primitives/card/__workshop__/selected.tsx +1 -1
- package/src/core/primitives/card/card.tsx +2 -2
- package/src/core/primitives/code/__workshop__/props.tsx +6 -1
- package/src/core/primitives/container/__workshop__/example.tsx +6 -1
- package/src/core/primitives/flex/__workshop__/example.tsx +7 -1
- package/src/core/primitives/heading/__workshop__/plain.tsx +12 -1
- package/src/core/primitives/inline/__workshop__/plain.tsx +5 -1
- package/src/core/primitives/label/__workshop__/plain.tsx +15 -1
- package/src/core/primitives/popover/__workshop__/AlignedStory.tsx +13 -1
- package/src/core/primitives/popover/__workshop__/MatchReferenceWidthStory.tsx +2 -0
- package/src/core/primitives/popover/__workshop__/PlainStory.tsx +8 -0
- package/src/core/primitives/popover/__workshop__/SidePanelStory.tsx +7 -1
- package/src/core/primitives/popover/__workshop__/TestStory.tsx +6 -0
- package/src/core/primitives/popover/popover.tsx +0 -1
- package/src/core/primitives/select/__workshop__/plain.tsx +4 -0
- package/src/core/primitives/skeleton/__workshop__/delay.tsx +9 -1
- package/src/core/primitives/skeleton/__workshop__/skeleton.tsx +9 -1
- package/src/core/primitives/spinner/__workshop__/Props.tsx +6 -1
- package/src/core/primitives/stack/__workshop__/plain.tsx +4 -1
- package/src/core/primitives/text/__workshop__/colored.tsx +8 -1
- package/src/core/primitives/text/__workshop__/example.tsx +15 -1
- package/src/core/primitives/textArea/__workshop__/plain.tsx +8 -0
- package/src/core/primitives/textInput/__workshop__/plain.tsx +34 -4
- package/src/core/primitives/textInput/__workshop__/typed.tsx +7 -1
- package/src/core/primitives/textInput/textInput.tsx +1 -1
- package/src/core/primitives/tooltip/__workshop__/customPortal.tsx +2 -0
- package/src/core/primitives/tooltip/__workshop__/overflowingBoundary.tsx +2 -0
- package/src/core/primitives/tooltip/__workshop__/props.tsx +12 -0
- package/src/core/primitives/tooltip/__workshop__/resizableBoundary.tsx +5 -0
- package/src/css/primitives/avatar/avatar.css.ts +9 -5
- package/src/css/primitives/card/__workshop__/color.tsx +9 -1
- package/src/css/primitives/card/card.css.ts +10 -0
- package/src/css/theme/buildCSSTheme.ts +4 -0
- package/src/css/types.ts +4 -0
- package/src/css/vars.css.ts +4 -0
- package/dist/_chunks-cjs/refractor.cjs +0 -22
- package/dist/_chunks-cjs/refractor.cjs.map +0 -1
- package/dist/css/index.cjs +0 -966
- package/dist/css/index.cjs.map +0 -1
- package/dist/css/index.d.cts +0 -1370
- package/dist/index.cjs +0 -4515
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -2521
- package/dist/theme.cjs +0 -870
- package/dist/theme.cjs.map +0 -1
- package/dist/theme.d.cts +0 -499
|
@@ -5,6 +5,7 @@ import {useCallback, useState} from 'react'
|
|
|
5
5
|
import {WORKSHOP_TEXT_INPUT_TYPE_OPTIONS} from '$workshop'
|
|
6
6
|
|
|
7
7
|
export default function TypedStory(): React.JSX.Element {
|
|
8
|
+
// @ts-expect-error - TODO: fix this
|
|
8
9
|
const type = useSelect('Type', WORKSHOP_TEXT_INPUT_TYPE_OPTIONS, 'text')
|
|
9
10
|
|
|
10
11
|
const [value, setValue] = useState('')
|
|
@@ -16,7 +17,12 @@ export default function TypedStory(): React.JSX.Element {
|
|
|
16
17
|
return (
|
|
17
18
|
<Box padding={4}>
|
|
18
19
|
<Container width={1}>
|
|
19
|
-
<TextInput
|
|
20
|
+
<TextInput
|
|
21
|
+
onChange={handleChange}
|
|
22
|
+
// @ts-expect-error - TODO: fix this
|
|
23
|
+
type={type}
|
|
24
|
+
value={value}
|
|
25
|
+
/>
|
|
20
26
|
</Container>
|
|
21
27
|
</Box>
|
|
22
28
|
)
|
|
@@ -99,7 +99,7 @@ export function TextInput<E extends TextInputElementType = typeof DEFAULT_TEXT_I
|
|
|
99
99
|
suffix,
|
|
100
100
|
customValidity,
|
|
101
101
|
type = 'text',
|
|
102
|
-
weight: _width,
|
|
102
|
+
weight: _width,
|
|
103
103
|
width,
|
|
104
104
|
...rest
|
|
105
105
|
} = props as TextInputProps<typeof DEFAULT_TEXT_INPUT_ELEMENT>
|
|
@@ -25,6 +25,7 @@ export default function CustomPortalStory(): React.JSX.Element {
|
|
|
25
25
|
'Content',
|
|
26
26
|
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mollis consectetur malesuada. Sed lobortis est dolor, eget imperdiet velit placerat et. Aenean posuere mi non aliquet iaculis. Donec fermentum pulvinar purus at sagittis. Ut tincidunt massa odio, sed finibus justo ullamcorper id. Nam venenatis justo non ligula elementum cursus. Pellentesque laoreet justo in mollis sagittis. In lacinia ornare ultrices. Suspendisse potenti.',
|
|
27
27
|
)
|
|
28
|
+
// @ts-expect-error - TODO: fix this
|
|
28
29
|
const placement = useSelect('Placement', WORKSHOP_PLACEMENT_OPTIONS, 'top')
|
|
29
30
|
const portal = useSelect('Portal', PORTAL_OPTIONS)
|
|
30
31
|
const useBoundaryElement = useBoolean('Use boundary element', true)
|
|
@@ -60,6 +61,7 @@ export default function CustomPortalStory(): React.JSX.Element {
|
|
|
60
61
|
boundaryElement={useBoundaryElement ? boundaryElement : null}
|
|
61
62
|
content={content ? <Text size={1}>{content}</Text> : undefined}
|
|
62
63
|
padding={2}
|
|
64
|
+
// @ts-expect-error - TODO: fix this
|
|
63
65
|
placement={placement}
|
|
64
66
|
portal={portal}
|
|
65
67
|
>
|
|
@@ -9,6 +9,7 @@ export default function OverflowingBoundaryStory(): React.JSX.Element {
|
|
|
9
9
|
'Content',
|
|
10
10
|
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mollis consectetur malesuada. Sed lobortis est dolor, eget imperdiet velit placerat et. Aenean posuere mi non aliquet iaculis. Donec fermentum pulvinar purus at sagittis. Ut tincidunt massa odio, sed finibus justo ullamcorper id. Nam venenatis justo non ligula elementum cursus. Pellentesque laoreet justo in mollis sagittis. In lacinia ornare ultrices. Suspendisse potenti.',
|
|
11
11
|
)
|
|
12
|
+
// @ts-expect-error - TODO: fix this
|
|
12
13
|
const placement = useSelect('Placement', WORKSHOP_PLACEMENT_OPTIONS, 'top')
|
|
13
14
|
const portal = useBoolean('Portal', false)
|
|
14
15
|
const useBoundaryElement = useBoolean('Use boundary element', true)
|
|
@@ -56,6 +57,7 @@ export default function OverflowingBoundaryStory(): React.JSX.Element {
|
|
|
56
57
|
<Tooltip
|
|
57
58
|
content={<Text size={1}>{content}</Text>}
|
|
58
59
|
padding={2}
|
|
60
|
+
// @ts-expect-error - TODO: fix this
|
|
59
61
|
placement={placement}
|
|
60
62
|
portal={portal}
|
|
61
63
|
>
|
|
@@ -11,11 +11,14 @@ import {
|
|
|
11
11
|
export default function PropsStory(): React.JSX.Element {
|
|
12
12
|
const arrow = useBoolean('Arrow', false)
|
|
13
13
|
const content = useText('Content', 'Tooltip content')
|
|
14
|
+
// @ts-expect-error - TODO: fix this
|
|
14
15
|
const padding = useSelect('Padding', WORKSHOP_SPACE_OPTIONS, 2)
|
|
16
|
+
// @ts-expect-error - TODO: fix this
|
|
15
17
|
const placement = useSelect('Placement', WORKSHOP_PLACEMENT_OPTIONS, 'top')
|
|
16
18
|
const portal = useBoolean('Portal', true)
|
|
17
19
|
const openDelay = useNumber('Open Delay', 200)
|
|
18
20
|
const closeDelay = useNumber('Close Delay', 200)
|
|
21
|
+
// @ts-expect-error - TODO: fix this
|
|
19
22
|
const shadow = useSelect('Shadow', WORKSHOP_SHADOW_OPTIONS, 2)
|
|
20
23
|
|
|
21
24
|
return (
|
|
@@ -41,9 +44,12 @@ export default function PropsStory(): React.JSX.Element {
|
|
|
41
44
|
<Tooltip
|
|
42
45
|
arrow={arrow}
|
|
43
46
|
content={<Text size={1}>{content}</Text>}
|
|
47
|
+
// @ts-expect-error - TODO: fix this
|
|
44
48
|
padding={padding}
|
|
49
|
+
// @ts-expect-error - TODO: fix this
|
|
45
50
|
placement={placement}
|
|
46
51
|
portal={portal}
|
|
52
|
+
// @ts-expect-error - TODO: fix this
|
|
47
53
|
shadow={shadow}
|
|
48
54
|
delay={{
|
|
49
55
|
open: openDelay,
|
|
@@ -81,9 +87,12 @@ export default function PropsStory(): React.JSX.Element {
|
|
|
81
87
|
close: 100,
|
|
82
88
|
}}
|
|
83
89
|
content={<Text size={1}>{content}</Text>}
|
|
90
|
+
// @ts-expect-error - TODO: fix this
|
|
84
91
|
padding={padding}
|
|
92
|
+
// @ts-expect-error - TODO: fix this
|
|
85
93
|
placement={placement}
|
|
86
94
|
portal={portal}
|
|
95
|
+
// @ts-expect-error - TODO: fix this
|
|
87
96
|
shadow={shadow}
|
|
88
97
|
>
|
|
89
98
|
<Button mode="bleed" text="Hover me" />
|
|
@@ -96,9 +105,12 @@ export default function PropsStory(): React.JSX.Element {
|
|
|
96
105
|
close: 100,
|
|
97
106
|
}}
|
|
98
107
|
content={<Text size={1}>{content}</Text>}
|
|
108
|
+
// @ts-expect-error - TODO: fix this
|
|
99
109
|
padding={padding}
|
|
110
|
+
// @ts-expect-error - TODO: fix this
|
|
100
111
|
placement={placement}
|
|
101
112
|
portal={portal}
|
|
113
|
+
// @ts-expect-error - TODO: fix this
|
|
102
114
|
shadow={shadow}
|
|
103
115
|
>
|
|
104
116
|
<Button mode="bleed" text="Or me" />
|
|
@@ -9,6 +9,7 @@ export default function ResizableBoundaryStory(): React.JSX.Element {
|
|
|
9
9
|
'Content',
|
|
10
10
|
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mollis consectetur malesuada. Sed lobortis est dolor, eget imperdiet velit placerat et. Aenean posuere mi non aliquet iaculis. Donec fermentum pulvinar purus at sagittis. Ut tincidunt massa odio, sed finibus justo ullamcorper id. Nam venenatis justo non ligula elementum cursus. Pellentesque laoreet justo in mollis sagittis. In lacinia ornare ultrices. Suspendisse potenti.',
|
|
11
11
|
)
|
|
12
|
+
// @ts-expect-error - TODO: fix this
|
|
12
13
|
const placement = useSelect('Placement', WORKSHOP_PLACEMENT_OPTIONS, 'right')
|
|
13
14
|
const portal = useBoolean('Portal', true)
|
|
14
15
|
const useBoundaryElement = useBoolean('Use boundary element', true)
|
|
@@ -38,6 +39,7 @@ export default function ResizableBoundaryStory(): React.JSX.Element {
|
|
|
38
39
|
<Tooltip
|
|
39
40
|
content={<Text size={1}>{content}</Text>}
|
|
40
41
|
padding={2}
|
|
42
|
+
// @ts-expect-error - TODO: fix this
|
|
41
43
|
placement={placement}
|
|
42
44
|
portal={portal}
|
|
43
45
|
>
|
|
@@ -46,6 +48,7 @@ export default function ResizableBoundaryStory(): React.JSX.Element {
|
|
|
46
48
|
<Tooltip
|
|
47
49
|
content={<Text size={1}>{content}</Text>}
|
|
48
50
|
padding={2}
|
|
51
|
+
// @ts-expect-error - TODO: fix this
|
|
49
52
|
placement={placement}
|
|
50
53
|
portal={portal}
|
|
51
54
|
>
|
|
@@ -58,6 +61,7 @@ export default function ResizableBoundaryStory(): React.JSX.Element {
|
|
|
58
61
|
<Tooltip
|
|
59
62
|
content={<Text size={1}>{content}</Text>}
|
|
60
63
|
padding={2}
|
|
64
|
+
// @ts-expect-error - TODO: fix this
|
|
61
65
|
placement={placement}
|
|
62
66
|
portal={portal}
|
|
63
67
|
>
|
|
@@ -70,6 +74,7 @@ export default function ResizableBoundaryStory(): React.JSX.Element {
|
|
|
70
74
|
<Tooltip
|
|
71
75
|
content={<Text size={1}>{content}</Text>}
|
|
72
76
|
padding={2}
|
|
77
|
+
// @ts-expect-error - TODO: fix this
|
|
73
78
|
placement={placement}
|
|
74
79
|
portal={portal}
|
|
75
80
|
>
|
|
@@ -137,11 +137,15 @@ export const image: string = _style(layers.primitives, {
|
|
|
137
137
|
})
|
|
138
138
|
|
|
139
139
|
globalStyle(`${image} img`, {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
140
|
+
'@layer': {
|
|
141
|
+
[layers.primitives]: {
|
|
142
|
+
display: 'block',
|
|
143
|
+
width: '100%',
|
|
144
|
+
height: '100%',
|
|
145
|
+
objectFit: 'cover',
|
|
146
|
+
borderRadius: 'inherit',
|
|
147
|
+
},
|
|
148
|
+
},
|
|
145
149
|
})
|
|
146
150
|
|
|
147
151
|
export const imageOutline: string = _style(layers.primitives, {
|
|
@@ -20,10 +20,18 @@ interface ColorRecordNode extends Record<string, ColorNode> {}
|
|
|
20
20
|
type ColorNode = string | ColorRecordNode
|
|
21
21
|
|
|
22
22
|
export default function ColorStory(): React.JSX.Element {
|
|
23
|
+
// @ts-expect-error - TODO: fix this
|
|
23
24
|
const tone = useSelect('Tone', WORKSHOP_CARD_TONE_OPTIONS, 'default')
|
|
24
25
|
|
|
25
26
|
return (
|
|
26
|
-
<Card
|
|
27
|
+
<Card
|
|
28
|
+
display="flex"
|
|
29
|
+
flexDirection="column"
|
|
30
|
+
gap={4}
|
|
31
|
+
padding={4}
|
|
32
|
+
// @ts-expect-error - TODO: fix this
|
|
33
|
+
tone={tone}
|
|
34
|
+
>
|
|
27
35
|
{Object.entries(vars.color).map(([key, value]) => {
|
|
28
36
|
if (key === 'palette') {
|
|
29
37
|
return null
|
|
@@ -134,6 +134,16 @@ export const root: string = _style(layers.primitives, {
|
|
|
134
134
|
[vars.color.muted.fg]: vars.color.tinted.default.border[2],
|
|
135
135
|
},
|
|
136
136
|
},
|
|
137
|
+
|
|
138
|
+
'a&[data-focus-ring]:focus, button&[data-focus-ring]:focus': {
|
|
139
|
+
outline: `${vars.card.focusRing.width} solid ${vars.color.focusRing}`,
|
|
140
|
+
outlineOffset: vars.card.focusRing.offset,
|
|
141
|
+
},
|
|
142
|
+
|
|
143
|
+
'a&[data-focus-ring]:focus:not(:focus-visible), button&[data-focus-ring]:focus:not(:focus-visible)':
|
|
144
|
+
{
|
|
145
|
+
outline: 'none',
|
|
146
|
+
},
|
|
137
147
|
},
|
|
138
148
|
})
|
|
139
149
|
|
|
@@ -79,6 +79,10 @@ export function buildCSSTheme(options?: CSSThemeOptions): ThemeTokens {
|
|
|
79
79
|
border: {
|
|
80
80
|
width: px(theme.card.border.width),
|
|
81
81
|
},
|
|
82
|
+
focusRing: {
|
|
83
|
+
offset: px(theme.card.focusRing.offset),
|
|
84
|
+
width: px(theme.card.focusRing.width),
|
|
85
|
+
},
|
|
82
86
|
shadow: {
|
|
83
87
|
outline: px(theme.card.shadow.outline),
|
|
84
88
|
},
|
package/src/css/types.ts
CHANGED
package/src/css/vars.css.ts
CHANGED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var jsxRuntime = require("react/jsx-runtime"), compilerRuntime = require("react/compiler-runtime"), reactRefractor = require("react-refractor");
|
|
3
|
-
function LazyRefractor(props) {
|
|
4
|
-
const $ = compilerRuntime.c(13), {
|
|
5
|
-
language: languageProp,
|
|
6
|
-
value
|
|
7
|
-
} = props, language = typeof languageProp == "string" ? languageProp : void 0;
|
|
8
|
-
let t0;
|
|
9
|
-
$[0] !== language ? (t0 = language ? reactRefractor.hasLanguage(language) : !1, $[0] = language, $[1] = t0) : t0 = $[1];
|
|
10
|
-
const registered = t0;
|
|
11
|
-
let t1;
|
|
12
|
-
$[2] !== language || $[3] !== registered || $[4] !== value ? (t1 = !(language && registered) && /* @__PURE__ */ jsxRuntime.jsx("code", { children: value }), $[2] = language, $[3] = registered, $[4] = value, $[5] = t1) : t1 = $[5];
|
|
13
|
-
let t2;
|
|
14
|
-
$[6] !== language || $[7] !== registered || $[8] !== value ? (t2 = language && registered && /* @__PURE__ */ jsxRuntime.jsx(reactRefractor.Refractor, { inline: !0, language, value: String(value) }), $[6] = language, $[7] = registered, $[8] = value, $[9] = t2) : t2 = $[9];
|
|
15
|
-
let t3;
|
|
16
|
-
return $[10] !== t1 || $[11] !== t2 ? (t3 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
17
|
-
t1,
|
|
18
|
-
t2
|
|
19
|
-
] }), $[10] = t1, $[11] = t2, $[12] = t3) : t3 = $[12], t3;
|
|
20
|
-
}
|
|
21
|
-
exports.default = LazyRefractor;
|
|
22
|
-
//# sourceMappingURL=refractor.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"refractor.cjs","sources":["../../src/core/primitives/code/refractor.tsx"],"sourcesContent":["import {hasLanguage, Refractor} from 'react-refractor'\n\nexport default function LazyRefractor(\n props: Partial<Pick<React.ComponentProps<typeof Refractor>, 'language'>> & {\n value: React.ReactNode\n },\n): React.JSX.Element {\n const {language: languageProp, value} = props\n const language = typeof languageProp === 'string' ? languageProp : undefined\n const registered = language ? hasLanguage(language) : false\n\n return (\n <>\n {!(language && registered) && <code>{value}</code>}\n {language && registered && <Refractor inline language={language} value={String(value)} />}\n </>\n )\n}\n"],"names":["LazyRefractor","props","$","_c","language","languageProp","value","undefined","t0","hasLanguage","registered","t1","t2","Refractor","String","t3"],"mappings":";;AAEA,SAAeA,cAAAC,OAAA;AAAA,QAAAC,IAAAC,kBAAA,EAAA,GAKb;AAAA,IAAAC,UAAAC;AAAAA,IAAAC;AAAAA,EAAAA,IAAwCL,OACxCG,WAAiB,OAAOC,gBAAiB,WAAWA,eAAYE;AAAY,MAAAC;AAAAN,WAAAE,YACzDI,KAAAJ,WAAWK,eAAAA,YAAYL,QAAQ,IAAC,IAAQF,OAAAE,UAAAF,OAAAM,MAAAA,KAAAN,EAAA,CAAA;AAA3D,QAAAQ,aAAmBF;AAAwC,MAAAG;AAAAT,IAAA,CAAA,MAAAE,YAAAF,SAAAQ,cAAAR,EAAA,CAAA,MAAAI,SAItDK,KAAA,EAAEP,YAAYM,wDAAsBJ,UAAAA,MAAAA,CAAM,GAAOJ,OAAAE,UAAAF,OAAAQ,YAAAR,OAAAI,OAAAJ,OAAAS,MAAAA,KAAAT,EAAA,CAAA;AAAA,MAAAU;AAAAV,IAAA,CAAA,MAAAE,YAAAF,SAAAQ,cAAAR,EAAA,CAAA,MAAAI,SACjDM,KAAAR,YAAYM,6CAAeG,eAAAA,WAAA,EAAU,QAAA,IAAiBT,UAAiB,OAAAU,OAAOR,KAAK,EAAA,CAAC,GAAIJ,OAAAE,UAAAF,OAAAQ,YAAAR,OAAAI,OAAAJ,OAAAU,MAAAA,KAAAV,EAAA,CAAA;AAAA,MAAAa;AAAA,SAAAb,EAAA,EAAA,MAAAS,MAAAT,UAAAU,MAF3FG,4DACGJ,UAAAA;AAAAA,IAAAA;AAAAA,IACAC;AAAAA,EAAAA,EAAAA,CAAwF,GACxFV,QAAAS,IAAAT,QAAAU,IAAAV,QAAAa,MAAAA,KAAAb,EAAA,EAAA,GAHHa;AAGG;;"}
|