@sanity/ui 3.0.0-static.14 → 3.0.0-static.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/_chunks-cjs/_visual-editing.js +69 -72
  2. package/dist/_chunks-cjs/_visual-editing.js.map +1 -1
  3. package/dist/_chunks-es/_visual-editing.mjs +69 -72
  4. package/dist/_chunks-es/_visual-editing.mjs.map +1 -1
  5. package/dist/cli.js +1 -1
  6. package/dist/css.js.map +1 -1
  7. package/dist/css.mjs.map +1 -1
  8. package/dist/index.mjs +1 -1
  9. package/package.json +1 -1
  10. package/src/css/aspects/margin/margin.style.ts +0 -3
  11. package/src/ui/primitives/popover/popoverLayer.tsx +9 -20
  12. package/src/ui/primitives/tooltip/tooltip.tsx +1 -0
  13. package/src/ui/primitives/tooltip/tooltipLayer.tsx +11 -21
  14. package/src/css/aspects/height/rules.ts +0 -7
  15. package/src/css/aspects/width/rules.ts +0 -8
  16. package/src/css/components/menu/rules.ts +0 -15
  17. package/src/css/primitives/avatar/rules.ts +0 -176
  18. package/src/css/primitives/button/rules.ts +0 -302
  19. package/src/css/primitives/checkbox/rules.ts +0 -152
  20. package/src/css/primitives/code/rules.ts +0 -96
  21. package/src/css/primitives/container/rules.ts +0 -8
  22. package/src/css/primitives/heading/rules.ts +0 -155
  23. package/src/css/primitives/kbd/rules.ts +0 -20
  24. package/src/css/primitives/label/rules.ts +0 -137
  25. package/src/css/primitives/radio/rules.ts +0 -121
  26. package/src/css/primitives/select/rules.ts +0 -22
  27. package/src/css/primitives/switch/rules.ts +0 -340
  28. package/src/css/primitives/text/rules.ts +0 -164
  29. package/src/css/primitives/textArea/rules.ts +0 -7
  30. package/src/css/primitives/textInput/rules.ts +0 -224
  31. package/src/css/primitives/tooltip/rules.ts +0 -19
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createColorTheme as createColorTheme$1, hexToRgb as hexToRgb$1, hslToRgb as hslToRgb$1, multiply as multiply$1, parseColor as parseColor$1, rgbToHex as rgbToHex$1, rgbToHsl as rgbToHsl$1, rgba as rgba$1, screen as screen$1, buildTheme_v3 } from "@sanity/ui/theme";
2
- import { isHTMLAnchorElement, isHTMLInputElement, isHTMLButtonElement, isHTMLSelectElement, isHTMLTextAreaElement, isHTMLElement, EMPTY_ARRAY, useElementSize, Code, _isEnterToClickElement, Card, Text, useArrayProp, EMPTY_RECORD, Box, Button, Stack, Popover, TextInput, AnimatedSpinnerIcon, useClickOutsideEvent, Flex, containsOrEqualsElement, usePortal, useBoundaryElement, useLayer, useGlobalKeyDown, createGlobalScopedContext, usePrefersReducedMotion, Z_OFFSETS, Portal, Container, Layer, Grid, LayerProvider, isRecord, Selectable, useCard } from "./_chunks-es/_visual-editing.mjs";
2
+ import { isHTMLAnchorElement, isHTMLInputElement, isHTMLButtonElement, isHTMLSelectElement, isHTMLTextAreaElement, isHTMLElement, EMPTY_ARRAY, useElementSize, Code, _isEnterToClickElement, Card, Text, useArrayProp, EMPTY_RECORD, Box, Button, Stack, Popover, TextInput, AnimatedSpinnerIcon, useClickOutsideEvent, Flex, containsOrEqualsElement, usePortal, useBoundaryElement, useLayer, useGlobalKeyDown, createGlobalScopedContext, usePrefersReducedMotion, Portal, Z_OFFSETS, Container, Layer, Grid, LayerProvider, isRecord, Selectable, useCard } from "./_chunks-es/_visual-editing.mjs";
3
3
  import { Arrow, Avatar, AvatarCounter, AvatarStack, Badge, BoundaryElementProvider, CardProvider, Checkbox, DEFAULT_ARROW_ELEMENT, DEFAULT_AVATAR_COUNTER_ELEMENT, DEFAULT_AVATAR_ELEMENT, DEFAULT_AVATAR_STACK_ELEMENT, DEFAULT_BADGE_ELEMENT, DEFAULT_BOX_ELEMENT, DEFAULT_BUTTON_ELEMENT, DEFAULT_CARD_ELEMENT, DEFAULT_CHECKBOX_ELEMENT, DEFAULT_CODE_ELEMENT, DEFAULT_CONTAINER_ELEMENT, DEFAULT_ELEMENT_QUERY_ELEMENT, DEFAULT_FLEX_ELEMENT, DEFAULT_GRID_ELEMENT, DEFAULT_HEADING_ELEMENT, DEFAULT_HOTKEYS_ELEMENT, DEFAULT_INLINE_ELEMENT, DEFAULT_KBD_ELEMENT, DEFAULT_LABEL_ELEMENT, DEFAULT_LAYER_ELEMENT, DEFAULT_MENU_DIVIDER_ELEMENT, DEFAULT_MENU_ELEMENT, DEFAULT_MENU_GROUP_ELEMENT, DEFAULT_MENU_ITEM_ELEMENT, DEFAULT_POPOVER_ELEMENT, DEFAULT_RADIO_ELEMENT, DEFAULT_SELECT_ELEMENT, DEFAULT_SPINNER_ELEMENT, DEFAULT_SR_ONLY_ELEMENT, DEFAULT_STACK_ELEMENT, DEFAULT_SWITCH_ELEMENT, DEFAULT_TAB_ELEMENT, DEFAULT_TAB_LIST_ELEMENT, DEFAULT_TEXT_AREA_ELEMENT, DEFAULT_TEXT_ELEMENT, DEFAULT_TEXT_INPUT_ELEMENT, DEFAULT_TOOLTIP_ELEMENT, DEFAULT_VIRTUAL_LIST_ELEMENT, ElementQuery, Heading, Hotkeys, Inline, KBD, Label, Menu, MenuDivider, MenuGroup, MenuItem, PortalProvider, Radio, Select, Spinner, SrOnly, Switch, Tab, TabList, TextArea, ThemeColorProvider, ThemeProvider, Tooltip, TooltipDelayGroupContext, TooltipDelayGroupProvider, VirtualList, _ResizeObserver, _elementSizeObserver, _getArrayProp, _isScrollable, studioTheme, useCustomValidity, useMatchMedia, useMediaIndex, usePrefersDark, useRootTheme, useTheme, useTheme_v2, useTooltipDelayGroup } from "./_chunks-es/_visual-editing.mjs";
4
4
  import { jsx, jsxs, Fragment as Fragment$1 } from "react/jsx-runtime";
5
5
  import { ChevronDownIcon, CloseIcon, ToggleArrowRightIcon } from "@sanity/icons";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/ui",
3
- "version": "3.0.0-static.14",
3
+ "version": "3.0.0-static.15",
4
4
  "keywords": [
5
5
  "react",
6
6
  "ui",
@@ -1,6 +1,3 @@
1
- // import {type Style, type StyleRules, vars} from '@sanity/css'
2
- // import {SPACE} from '@sanity/theme'
3
-
4
1
  import {SPACE} from '@sanity/ui/theme'
5
2
 
6
3
  import {_responsiveRule} from '../../_responsiveRule'
@@ -4,9 +4,8 @@ import {motion} from 'framer-motion'
4
4
  import {CSSProperties, ForwardedRef, useMemo} from 'react'
5
5
 
6
6
  import {POPOVER_MOTION_PROPS} from '../../constants'
7
- import {Placement, PopoverMargins, Props} from '../../types'
8
- import {Arrow, Layer, LayerOwnProps} from '../../utils'
9
- import {CardElementType} from '../card'
7
+ import {Placement, PopoverMargins} from '../../types'
8
+ import {Arrow, Layer, LayerOwnProps, LayerProps} from '../../utils'
10
9
  import {Flex} from '../flex'
11
10
  import {
12
11
  DEFAULT_POPOVER_ARROW_HEIGHT,
@@ -37,20 +36,10 @@ export type PopoverLayerOwnProps = LayerOwnProps & {
37
36
  }
38
37
 
39
38
  /** @internal */
40
- export type PopoverLayerElementType = CardElementType
39
+ export type PopoverLayerProps = PopoverLayerOwnProps & LayerProps<'div'>
41
40
 
42
41
  /** @internal */
43
- export type PopoverLayerProps<E extends PopoverLayerElementType = PopoverLayerElementType> = Props<
44
- PopoverLayerOwnProps,
45
- E
46
- >
47
-
48
- const MotionLayer = motion.create(Layer)
49
-
50
- /** @internal */
51
- export function PopoverLayer<
52
- E extends PopoverLayerElementType = typeof DEFAULT_POPOVER_LAYER_ELEMENT,
53
- >(props: PopoverLayerProps<E>) {
42
+ export function PopoverLayer(props: PopoverLayerProps) {
54
43
  const {
55
44
  __unstable_margins: marginsProp,
56
45
  animate,
@@ -58,7 +47,6 @@ export function PopoverLayer<
58
47
  arrowRef,
59
48
  arrowX,
60
49
  arrowY,
61
- as = DEFAULT_POPOVER_LAYER_ELEMENT,
62
50
  children,
63
51
  maxWidth,
64
52
  padding,
@@ -75,7 +63,7 @@ export function PopoverLayer<
75
63
  x: xProp,
76
64
  y: yProp,
77
65
  ...rest
78
- } = props as PopoverLayerProps<typeof DEFAULT_POPOVER_LAYER_ELEMENT>
66
+ } = props
79
67
 
80
68
  // Get margins: [top, right, bottom, left]
81
69
  const margins: PopoverMargins = useMemo(
@@ -111,11 +99,12 @@ export function PopoverLayer<
111
99
  )
112
100
 
113
101
  return (
114
- <MotionLayer
102
+ // @ts-expect-error - TODO: fix this
103
+ <Layer
115
104
  className={popoverCard()}
116
105
  data-ui="Popover"
117
106
  {...rest}
118
- as={as}
107
+ as={motion.div}
119
108
  data-context-tone={tone}
120
109
  data-placement={placement}
121
110
  direction="column"
@@ -153,7 +142,7 @@ export function PopoverLayer<
153
142
  radius={DEFAULT_POPOVER_ARROW_RADIUS}
154
143
  />
155
144
  )}
156
- </MotionLayer>
145
+ </Layer>
157
146
  )
158
147
  }
159
148
 
@@ -190,6 +190,7 @@ export function Tooltip<E extends TooltipElementType = typeof DEFAULT_TOOLTIP_EL
190
190
  placement: placementProp,
191
191
  whileElementsMounted: autoUpdate,
192
192
  elements: {reference: referenceElement},
193
+ transform: false,
193
194
  })
194
195
 
195
196
  const arrowX = middlewareData.arrow?.x
@@ -1,10 +1,10 @@
1
1
  import {tooltipCard} from '@sanity/ui/css'
2
- import {motion} from 'framer-motion'
2
+ import {motion, MotionStyle} from 'framer-motion'
3
3
  import {type CSSProperties, ForwardedRef, useMemo} from 'react'
4
4
 
5
5
  import {POPOVER_MOTION_PROPS} from '../../constants'
6
- import {Placement, Props} from '../../types'
7
- import {Arrow, Layer, LayerOwnProps} from '../../utils'
6
+ import {Placement} from '../../types'
7
+ import {Arrow, Layer, LayerOwnProps, LayerProps} from '../../utils'
8
8
  import {
9
9
  DEFAULT_TOOLTIP_ARROW_HEIGHT,
10
10
  DEFAULT_TOOLTIP_ARROW_RADIUS,
@@ -27,27 +27,16 @@ export interface TooltipLayerOwnProps extends LayerOwnProps {
27
27
  }
28
28
 
29
29
  /** @internal */
30
- export type TooltipLayerElementType = 'div'
30
+ export type TooltipLayerProps = TooltipLayerOwnProps & LayerProps<'div'>
31
31
 
32
32
  /** @internal */
33
- export type TooltipLayerProps<E extends TooltipLayerElementType = TooltipLayerElementType> = Props<
34
- TooltipLayerOwnProps,
35
- E
36
- >
37
-
38
- const MotionLayer = motion.create(Layer)
39
-
40
- /** @internal */
41
- export function TooltipLayer<
42
- E extends TooltipLayerElementType = typeof DEFAULT_TOOLTIP_LAYER_ELEMENT,
43
- >(props: TooltipLayerProps<E>) {
33
+ export function TooltipLayer(props: TooltipLayerProps) {
44
34
  const {
45
35
  animate,
46
36
  arrow,
47
37
  arrowRef,
48
38
  arrowX,
49
39
  arrowY,
50
- as = DEFAULT_TOOLTIP_LAYER_ELEMENT,
51
40
  children,
52
41
  originX,
53
42
  originY,
@@ -59,9 +48,9 @@ export function TooltipLayer<
59
48
  style,
60
49
  tone = 'inherit',
61
50
  ...rest
62
- } = props as TooltipLayerProps<typeof DEFAULT_TOOLTIP_LAYER_ELEMENT>
51
+ } = props
63
52
 
64
- const rootStyle: CSSProperties = useMemo(
53
+ const rootStyle: MotionStyle = useMemo(
65
54
  () => ({
66
55
  originX,
67
56
  originY,
@@ -82,10 +71,11 @@ export function TooltipLayer<
82
71
  )
83
72
 
84
73
  return (
85
- <MotionLayer
74
+ // @ts-expect-error - TODO: fix this
75
+ <Layer
86
76
  data-ui="Tooltip__card"
87
77
  {...rest}
88
- as={as}
78
+ as={motion.div}
89
79
  className={tooltipCard()}
90
80
  data-animate={animate ? '' : undefined}
91
81
  data-placement={placement}
@@ -112,7 +102,7 @@ export function TooltipLayer<
112
102
  radius={DEFAULT_TOOLTIP_ARROW_RADIUS}
113
103
  />
114
104
  )}
115
- </MotionLayer>
105
+ </Layer>
116
106
  )
117
107
  }
118
108
 
@@ -1,7 +0,0 @@
1
- import {responsiveRules} from '../../responsiveRules'
2
- import {type Rules} from '../../types'
3
-
4
- export const heightRules: Rules = {
5
- ...responsiveRules('h-fill', {height: '100%'}),
6
- ...responsiveRules('h-stretch', {height: 'stretch'}),
7
- }
@@ -1,8 +0,0 @@
1
- import {Rules} from '../../types'
2
-
3
- export const widthRules: Rules = {
4
- 'w-fill': {
5
- // @ts-expect-error - TODO: fix this
6
- width: ['-moz-available', '-webkit-fill-available', 'stretch'],
7
- },
8
- }
@@ -1,15 +0,0 @@
1
- import {Rules} from '../../types'
2
- import {vars} from '../../vars'
3
-
4
- export const menuRules: Rules = {
5
- 'menu': {
6
- outline: 'none',
7
- },
8
-
9
- 'menu-divider': {
10
- height: `1px`,
11
- border: 0,
12
- backgroundColor: vars.color.border,
13
- margin: 0,
14
- },
15
- }
@@ -1,176 +0,0 @@
1
- import {AVATAR_SIZE, THEME_COLOR_AVATAR_COLORS} from '@sanity/ui/theme'
2
-
3
- import {responsiveRules} from '../../responsiveRules'
4
- import {Properties, Rules} from '../../types'
5
- import {varNames} from '../../varNames'
6
- import {vars} from '../../vars'
7
-
8
- export const avatarRules: Rules = {
9
- 'avatar': {
10
- 'backgroundColor': vars.color.avatar.bg,
11
- 'position': 'relative',
12
- 'boxSizing': 'border-box',
13
- 'userSelect': 'none',
14
- 'boxShadow': `0 0 0 1px ${vars.color.bg}`,
15
- 'lineHeight': 0,
16
-
17
- 'width': vars.avatar.size,
18
- 'height': vars.avatar.size,
19
- 'borderRadius': vars.avatar.size,
20
-
21
- '@nest': {
22
- '&[data-status="inactive"]': {
23
- opacity: 0.5,
24
- },
25
-
26
- // &:is(button)
27
- '&:is(button)': {
28
- WebkitFontSmoothing: 'inherit',
29
- appearance: 'none',
30
- margin: 0,
31
- padding: 0,
32
- border: 0,
33
- font: 'inherit',
34
- color: 'inherit',
35
- outline: 'none',
36
- },
37
-
38
- '&:is(button):focus': {
39
- outline: 'var(--avatar-focus-ring-width) solid var(--color-focus-ring)',
40
- outlineOffset: 'var(--avatar-focus-ring-offset)',
41
- },
42
-
43
- '&:is(button):focus:not(:focus-visible)': {
44
- boxShadow: 'none',
45
- },
46
-
47
- ':disabled &, [data-disabled] &': {
48
- [varNames.color.avatar.bg]: vars.color.border,
49
- [varNames.color.avatar.fg]: vars.color.bg,
50
- },
51
-
52
- ...THEME_COLOR_AVATAR_COLORS.reduce(
53
- (acc, color) => {
54
- return {
55
- ...acc,
56
- [`&.${color}`]: {
57
- [varNames.color.avatar.bg]: vars.color.avatar[color].bg,
58
- [varNames.color.avatar.fg]: vars.color.avatar[color].fg,
59
- },
60
- }
61
- },
62
- {} as Record<string, Properties>,
63
- ),
64
- },
65
- },
66
-
67
- ...(AVATAR_SIZE.reduce((acc, size) => {
68
- return {
69
- ...acc,
70
- ...responsiveRules(`avatar-${size}`, {
71
- [varNames.avatar.distance]: vars.avatar.sizes[size].distance,
72
- [varNames.avatar.size]: vars.avatar.sizes[size].size,
73
- }),
74
- }
75
- }, {} as Rules) as Rules),
76
-
77
- 'avatar-arrow': {
78
- 'position': 'absolute',
79
- 'boxSizing': 'border-box',
80
- 'zIndex': 0,
81
- 'opacity': 0,
82
- 'transition': 'all 0.2s linear',
83
- 'transform': 'rotate(-90deg) translate3d(0, 6px, 0)',
84
- 'left': 0,
85
- 'right': 0,
86
- 'top': 0,
87
- 'bottom': 0,
88
-
89
- '@nest': {
90
- '& > svg': {
91
- display: 'block',
92
- width: '11px',
93
- height: '7px',
94
- position: 'absolute',
95
- top: '-5px',
96
- left: '50%',
97
- transform: 'translateX(-6px)',
98
- },
99
-
100
- '[data-arrow-position="inside"] > &': {
101
- transform: 'rotate(-90deg) translate3d(0, 6px, 0)',
102
- opacity: 0,
103
- },
104
-
105
- '[data-arrow-position="top"] > &': {
106
- opacity: 1,
107
- transform: 'rotate(0deg)',
108
- },
109
-
110
- '[data-arrow-position="bottom"] > &': {
111
- opacity: 1,
112
- transform: 'rotate(-180deg)',
113
- },
114
- },
115
- },
116
-
117
- 'avatar-image': {
118
- '@nest': {
119
- '& > img': {
120
- display: 'block',
121
- position: 'absolute',
122
- width: vars.avatar.size,
123
- height: vars.avatar.size,
124
- borderRadius: vars.avatar.size,
125
- },
126
-
127
- '& > span': {
128
- display: 'block',
129
- position: 'absolute',
130
- width: vars.avatar.size,
131
- height: vars.avatar.size,
132
- borderRadius: vars.avatar.size,
133
- boxShadow: [
134
- `inset 0 0 0 1px ${vars.color.avatar.bg}`,
135
- `inset 0 0 0 1.75px ${vars.color.bg}`,
136
- ].join(', '),
137
- },
138
-
139
- '[data-image-error] &': {
140
- display: 'none',
141
- },
142
- },
143
- },
144
-
145
- 'avatar-initials': {
146
- color: vars.color.avatar.fg,
147
- borderRadius: vars.avatar.size,
148
- },
149
-
150
- 'avatar-counter': {
151
- 'color': vars.color.fg,
152
- 'backgroundColor': vars.color.bg,
153
- 'boxShadow': [`0 0 0 1px ${vars.color.bg}`, `inset 0 0 0 1px ${vars.color.border}`].join(', '),
154
- 'userSelect': 'none',
155
- 'borderRadius': vars.avatar.size,
156
- 'height': vars.avatar.size,
157
-
158
- '@nest': {
159
- '&&': {
160
- minWidth: vars.avatar.size,
161
- },
162
-
163
- '[data-hide-inner-stroke] &': {
164
- boxShadow: `0 0 0 1px ${vars.color.bg}`,
165
- },
166
- },
167
- },
168
-
169
- 'avatar-stack': {
170
- '@nest': {
171
- '& > div + div': {
172
- marginLeft: vars.avatar.distance,
173
- },
174
- },
175
- },
176
- }