@sanity/ui 1.1.0-beta.2 → 1.2.0
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/LICENSE +1 -1
- package/dist/index.cjs.mjs +120 -0
- package/dist/index.d.ts +26 -4
- package/dist/{index.cjs → index.esm.js} +1987 -1946
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +2114 -1819
- package/dist/index.js.map +1 -1
- package/package.json +47 -44
- package/src/components/dialog/__workshop__/activate.tsx +134 -0
- package/src/components/dialog/__workshop__/index.ts +3 -0
- package/src/components/dialog/__workshop__/nested.tsx +14 -3
- package/src/components/dialog/__workshop__/panes.tsx +86 -0
- package/src/components/dialog/__workshop__/wrapped.tsx +78 -0
- package/src/components/dialog/dialog.tsx +110 -25
- package/src/components/toast/toastProvider.tsx +55 -52
- package/src/constants.ts +2 -2
- package/src/helpers/element.ts +7 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useArrayProp.ts +2 -1
- package/src/hooks/useMediaIndex/useMediaIndex.test.tsx +31 -0
- package/src/hooks/useMediaIndex/useMediaIndex.ts +98 -6
- package/src/hooks/useMounted.ts +14 -0
- package/src/hooks/usePrefersDark.hydration.test.tsx +56 -0
- package/src/hooks/usePrefersDark.test.tsx +18 -0
- package/src/hooks/usePrefersDark.ts +51 -18
- package/src/hooks/usePrefersReducedMotion.hydration.test.tsx +56 -0
- package/src/hooks/usePrefersReducedMotion.test.tsx +18 -0
- package/src/hooks/usePrefersReducedMotion.ts +62 -0
- package/src/observers/resizeObserver.ts +1 -1
- package/src/primitives/code/styles.ts +6 -0
- package/src/primitives/heading/styles.ts +6 -0
- package/src/primitives/label/styles.ts +6 -0
- package/src/primitives/popover/__workshop__/OpenOnMountStory.tsx +11 -0
- package/src/primitives/popover/__workshop__/index.ts +5 -0
- package/src/primitives/text/styles.ts +6 -0
- package/src/utils/layer/__workshop__/_debug.tsx +9 -3
- package/src/utils/layer/__workshop__/index.ts +3 -3
- package/src/utils/layer/__workshop__/multipleRoots.tsx +2 -1
- package/src/utils/layer/__workshop__/{plain.tsx → nested.tsx} +14 -4
- package/src/utils/layer/getLayerContext.test.ts +30 -0
- package/src/utils/layer/getLayerContext.ts +21 -0
- package/src/utils/layer/layer.test.tsx +1 -0
- package/src/utils/layer/layer.tsx +49 -7
- package/src/utils/layer/layerContext.ts +2 -2
- package/src/utils/layer/layerProvider.tsx +73 -12
- package/src/utils/layer/types.ts +3 -4
- package/src/utils/layer/useLayer.ts +9 -8
- package/src/utils/portal/portalContext.ts +1 -1
- package/src/utils/portal/portalProvider.tsx +1 -1
- package/dist/index.cjs.map +0 -1
- package/src/hooks/useMediaIndex/lib/media.ts +0 -88
package/LICENSE
CHANGED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import cjs from './index.js';
|
|
2
|
+
|
|
3
|
+
export const Autocomplete = cjs.Autocomplete;
|
|
4
|
+
export const Avatar = cjs.Avatar;
|
|
5
|
+
export const AvatarCounter = cjs.AvatarCounter;
|
|
6
|
+
export const AvatarStack = cjs.AvatarStack;
|
|
7
|
+
export const Badge = cjs.Badge;
|
|
8
|
+
export const BoundaryElementProvider = cjs.BoundaryElementProvider;
|
|
9
|
+
export const Box = cjs.Box;
|
|
10
|
+
export const Breadcrumbs = cjs.Breadcrumbs;
|
|
11
|
+
export const Button = cjs.Button;
|
|
12
|
+
export const Card = cjs.Card;
|
|
13
|
+
export const Checkbox = cjs.Checkbox;
|
|
14
|
+
export const Code = cjs.Code;
|
|
15
|
+
export const CodeSkeleton = cjs.CodeSkeleton;
|
|
16
|
+
export const Container = cjs.Container;
|
|
17
|
+
export const Dialog = cjs.Dialog;
|
|
18
|
+
export const DialogContext = cjs.DialogContext;
|
|
19
|
+
export const DialogProvider = cjs.DialogProvider;
|
|
20
|
+
export const ElementQuery = cjs.ElementQuery;
|
|
21
|
+
export const ErrorBoundary = cjs.ErrorBoundary;
|
|
22
|
+
export const Flex = cjs.Flex;
|
|
23
|
+
export const Grid = cjs.Grid;
|
|
24
|
+
export const Heading = cjs.Heading;
|
|
25
|
+
export const HeadingSkeleton = cjs.HeadingSkeleton;
|
|
26
|
+
export const Hotkeys = cjs.Hotkeys;
|
|
27
|
+
export const Inline = cjs.Inline;
|
|
28
|
+
export const KBD = cjs.KBD;
|
|
29
|
+
export const Label = cjs.Label;
|
|
30
|
+
export const LabelSkeleton = cjs.LabelSkeleton;
|
|
31
|
+
export const Layer = cjs.Layer;
|
|
32
|
+
export const LayerProvider = cjs.LayerProvider;
|
|
33
|
+
export const Menu = cjs.Menu;
|
|
34
|
+
export const MenuButton = cjs.MenuButton;
|
|
35
|
+
export const MenuDivider = cjs.MenuDivider;
|
|
36
|
+
export const MenuGroup = cjs.MenuGroup;
|
|
37
|
+
export const MenuItem = cjs.MenuItem;
|
|
38
|
+
export const Popover = cjs.Popover;
|
|
39
|
+
export const Portal = cjs.Portal;
|
|
40
|
+
export const PortalProvider = cjs.PortalProvider;
|
|
41
|
+
export const Radio = cjs.Radio;
|
|
42
|
+
export const Select = cjs.Select;
|
|
43
|
+
export const Skeleton = cjs.Skeleton;
|
|
44
|
+
export const Spinner = cjs.Spinner;
|
|
45
|
+
export const SrOnly = cjs.SrOnly;
|
|
46
|
+
export const Stack = cjs.Stack;
|
|
47
|
+
export const Switch = cjs.Switch;
|
|
48
|
+
export const Tab = cjs.Tab;
|
|
49
|
+
export const TabList = cjs.TabList;
|
|
50
|
+
export const TabPanel = cjs.TabPanel;
|
|
51
|
+
export const Text = cjs.Text;
|
|
52
|
+
export const TextArea = cjs.TextArea;
|
|
53
|
+
export const TextInput = cjs.TextInput;
|
|
54
|
+
export const TextSkeleton = cjs.TextSkeleton;
|
|
55
|
+
export const ThemeColorProvider = cjs.ThemeColorProvider;
|
|
56
|
+
export const ThemeProvider = cjs.ThemeProvider;
|
|
57
|
+
export const Toast = cjs.Toast;
|
|
58
|
+
export const ToastProvider = cjs.ToastProvider;
|
|
59
|
+
export const Tooltip = cjs.Tooltip;
|
|
60
|
+
export const Tree = cjs.Tree;
|
|
61
|
+
export const TreeItem = cjs.TreeItem;
|
|
62
|
+
export const VirtualList = cjs.VirtualList;
|
|
63
|
+
export const _ResizeObserver = cjs._ResizeObserver;
|
|
64
|
+
export const _elementSizeObserver = cjs._elementSizeObserver;
|
|
65
|
+
export const _fillCSSObject = cjs._fillCSSObject;
|
|
66
|
+
export const _getArrayProp = cjs._getArrayProp;
|
|
67
|
+
export const _getResponsiveSpace = cjs._getResponsiveSpace;
|
|
68
|
+
export const _hasFocus = cjs._hasFocus;
|
|
69
|
+
export const _isEnterToClickElement = cjs._isEnterToClickElement;
|
|
70
|
+
export const _isScrollable = cjs._isScrollable;
|
|
71
|
+
export const _raf = cjs._raf;
|
|
72
|
+
export const _raf2 = cjs._raf2;
|
|
73
|
+
export const _responsive = cjs._responsive;
|
|
74
|
+
export const attemptFocus = cjs.attemptFocus;
|
|
75
|
+
export const containsOrEqualsElement = cjs.containsOrEqualsElement;
|
|
76
|
+
export const createColorTheme = cjs.createColorTheme;
|
|
77
|
+
export const focusFirstDescendant = cjs.focusFirstDescendant;
|
|
78
|
+
export const focusLastDescendant = cjs.focusLastDescendant;
|
|
79
|
+
export const hexToRgb = cjs.hexToRgb;
|
|
80
|
+
export const hslToRgb = cjs.hslToRgb;
|
|
81
|
+
export const isFocusable = cjs.isFocusable;
|
|
82
|
+
export const isHTMLAnchorElement = cjs.isHTMLAnchorElement;
|
|
83
|
+
export const isHTMLButtonElement = cjs.isHTMLButtonElement;
|
|
84
|
+
export const isHTMLElement = cjs.isHTMLElement;
|
|
85
|
+
export const isHTMLInputElement = cjs.isHTMLInputElement;
|
|
86
|
+
export const isHTMLSelectElement = cjs.isHTMLSelectElement;
|
|
87
|
+
export const isHTMLTextAreaElement = cjs.isHTMLTextAreaElement;
|
|
88
|
+
export const multiply = cjs.multiply;
|
|
89
|
+
export const parseColor = cjs.parseColor;
|
|
90
|
+
export const rem = cjs.rem;
|
|
91
|
+
export const responsiveCodeFontStyle = cjs.responsiveCodeFontStyle;
|
|
92
|
+
export const responsiveHeadingFont = cjs.responsiveHeadingFont;
|
|
93
|
+
export const responsiveLabelFont = cjs.responsiveLabelFont;
|
|
94
|
+
export const responsiveTextAlignStyle = cjs.responsiveTextAlignStyle;
|
|
95
|
+
export const responsiveTextFont = cjs.responsiveTextFont;
|
|
96
|
+
export const rgbToHex = cjs.rgbToHex;
|
|
97
|
+
export const rgbToHsl = cjs.rgbToHsl;
|
|
98
|
+
export const rgba = cjs.rgba;
|
|
99
|
+
export const screen = cjs.screen;
|
|
100
|
+
export const studioTheme = cjs.studioTheme;
|
|
101
|
+
export const useArrayProp = cjs.useArrayProp;
|
|
102
|
+
export const useBoundaryElement = cjs.useBoundaryElement;
|
|
103
|
+
export const useClickOutside = cjs.useClickOutside;
|
|
104
|
+
export const useCustomValidity = cjs.useCustomValidity;
|
|
105
|
+
export const useDialog = cjs.useDialog;
|
|
106
|
+
export const useElementRect = cjs.useElementRect;
|
|
107
|
+
export const useElementSize = cjs.useElementSize;
|
|
108
|
+
export const useForwardedRef = cjs.useForwardedRef;
|
|
109
|
+
export const useGlobalKeyDown = cjs.useGlobalKeyDown;
|
|
110
|
+
export const useLayer = cjs.useLayer;
|
|
111
|
+
export const useMediaIndex = cjs.useMediaIndex;
|
|
112
|
+
export const usePortal = cjs.usePortal;
|
|
113
|
+
export const usePrefersDark = cjs.usePrefersDark;
|
|
114
|
+
export const usePrefersReducedMotion = cjs.usePrefersReducedMotion;
|
|
115
|
+
export const useRootTheme = cjs.useRootTheme;
|
|
116
|
+
export const useTheme = cjs.useTheme;
|
|
117
|
+
export const useToast = cjs.useToast;
|
|
118
|
+
export const useTree = cjs.useTree;
|
|
119
|
+
|
|
120
|
+
export default cjs.default;
|
package/dist/index.d.ts
CHANGED
|
@@ -3519,6 +3519,11 @@ export declare const Container: ForwardRefExoticComponent<
|
|
|
3519
3519
|
*/
|
|
3520
3520
|
export declare interface ContainerProps extends BoxProps, ResponsiveWidthProps {}
|
|
3521
3521
|
|
|
3522
|
+
/**
|
|
3523
|
+
* @internal
|
|
3524
|
+
*/
|
|
3525
|
+
export declare function containsOrEqualsElement(element: HTMLElement, node: Node): boolean
|
|
3526
|
+
|
|
3522
3527
|
/**
|
|
3523
3528
|
* @public
|
|
3524
3529
|
*/
|
|
@@ -3934,6 +3939,8 @@ export declare interface DialogProps extends ResponsivePaddingProps, ResponsiveW
|
|
|
3934
3939
|
footer?: React.ReactNode
|
|
3935
3940
|
header?: React.ReactNode
|
|
3936
3941
|
id: string
|
|
3942
|
+
/** A callback that fires when the dialog becomes the top layer when it was not the top layer before. */
|
|
3943
|
+
onActivate?: LayerProps['onActivate']
|
|
3937
3944
|
onClickOutside?: () => void
|
|
3938
3945
|
onClose?: () => void
|
|
3939
3946
|
portal?: string
|
|
@@ -7680,13 +7687,12 @@ export declare const Layer: ForwardRefExoticComponent<
|
|
|
7680
7687
|
RefAttributes<HTMLDivElement>
|
|
7681
7688
|
>
|
|
7682
7689
|
|
|
7683
|
-
/**
|
|
7684
|
-
* @public
|
|
7685
|
-
*/
|
|
7690
|
+
/** @public */
|
|
7686
7691
|
export declare interface LayerContextValue {
|
|
7687
7692
|
version: 0.0
|
|
7688
7693
|
isTopLayer: boolean
|
|
7689
|
-
|
|
7694
|
+
level?: number
|
|
7695
|
+
registerChild: (childLevel?: number) => () => void
|
|
7690
7696
|
size: number
|
|
7691
7697
|
zIndex: number
|
|
7692
7698
|
}
|
|
@@ -7696,6 +7702,8 @@ export declare interface LayerContextValue {
|
|
|
7696
7702
|
*/
|
|
7697
7703
|
export declare interface LayerProps {
|
|
7698
7704
|
as?: React.ElementType | keyof JSX.IntrinsicElements
|
|
7705
|
+
/** A callback that fires when the layer becomes the top layer when it was not the top layer before. */
|
|
7706
|
+
onActivate?: (props: {activeElement: HTMLElement | null}) => void
|
|
7699
7707
|
zOffset?: number | number[]
|
|
7700
7708
|
}
|
|
7701
7709
|
|
|
@@ -7721,6 +7729,14 @@ export declare interface MediaQueryProps {
|
|
|
7721
7729
|
media?: number[]
|
|
7722
7730
|
}
|
|
7723
7731
|
|
|
7732
|
+
/**
|
|
7733
|
+
* @internal
|
|
7734
|
+
*/
|
|
7735
|
+
export declare interface _MediaStore {
|
|
7736
|
+
subscribe: (onStoreChange: () => void) => () => void
|
|
7737
|
+
getSnapshot: () => number
|
|
7738
|
+
}
|
|
7739
|
+
|
|
7724
7740
|
/**
|
|
7725
7741
|
* @public
|
|
7726
7742
|
*/
|
|
@@ -15176,6 +15192,12 @@ export declare function usePortal(): PortalContextValue
|
|
|
15176
15192
|
*/
|
|
15177
15193
|
export declare function usePrefersDark(): boolean
|
|
15178
15194
|
|
|
15195
|
+
/**
|
|
15196
|
+
* Returns true if motion should be reduced
|
|
15197
|
+
* @public
|
|
15198
|
+
*/
|
|
15199
|
+
export declare function usePrefersReducedMotion(): boolean
|
|
15200
|
+
|
|
15179
15201
|
/**
|
|
15180
15202
|
* @public
|
|
15181
15203
|
*/
|