@superdispatch/ui 0.15.0 → 0.16.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.
@@ -2,13 +2,15 @@ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  var _excluded = ["items"];
4
4
  import { ResizeObserver } from '@juggle/resize-observer';
5
- import { Grid, Menu, MenuItem, Toolbar, Typography } from '@material-ui/core';
5
+ import { Divider, Grid, Menu, MenuItem, Toolbar, Typography } from '@material-ui/core';
6
6
  import { MoreHoriz } from '@material-ui/icons';
7
7
  import { makeStyles } from '@material-ui/styles';
8
8
  import { useEventHandler } from '@superdispatch/hooks';
9
9
  import { forwardRef, useLayoutEffect, useRef, useState } from 'react';
10
10
  import { Button } from "../button/Button.js";
11
+ import { DropdownButton } from "../dropdown-button/DropdownButton.js";
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { Fragment as _Fragment } from "react/jsx-runtime";
12
14
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
15
 
14
16
  function useResizeObserver(node, observer) {
@@ -83,7 +85,6 @@ export var AdaptiveToolbar = /*#__PURE__*/forwardRef((_ref, ref) => {
83
85
  children: /*#__PURE__*/_jsxs(Grid, {
84
86
  container: true,
85
87
  spacing: 1,
86
- wrap: "nowrap",
87
88
  ref: setRootNode,
88
89
  children: [/*#__PURE__*/_jsx(Grid, {
89
90
  item: true,
@@ -98,7 +99,16 @@ export var AdaptiveToolbar = /*#__PURE__*/forwardRef((_ref, ref) => {
98
99
  ref: node => {
99
100
  itemNodes.current[idx] = node;
100
101
  },
101
- children: /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
102
+ children: item.dropdown ? /*#__PURE__*/_jsx(DropdownButton, _objectSpread(_objectSpread({
103
+ type: "button",
104
+ onClick: item.onClick,
105
+ label: item.label
106
+ }, item.ButtonProps), {}, {
107
+ children: item.dropdown.map(dropdownItem => /*#__PURE__*/_jsx(MenuItem, {
108
+ onClick: dropdownItem.onClick,
109
+ children: dropdownItem.label
110
+ }, dropdownItem.key))
111
+ })) : /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
102
112
  type: "button",
103
113
  onClick: item.onClick
104
114
  }, item.ButtonProps), {}, {
@@ -129,15 +139,30 @@ export var AdaptiveToolbar = /*#__PURE__*/forwardRef((_ref, ref) => {
129
139
  onClose: () => {
130
140
  setMenuButtonRef(undefined);
131
141
  },
132
- children: menuItems.map(item => /*#__PURE__*/_jsx(MenuItem, {
133
- onClick: event => {
134
- var _item$onClick;
142
+ children: menuItems.map((item, index, arr) => {
143
+ var _item$dropdown;
135
144
 
136
- (_item$onClick = item.onClick) === null || _item$onClick === void 0 ? void 0 : _item$onClick.call(item, event);
137
- setMenuButtonRef(undefined);
138
- },
139
- children: item.label
140
- }, item.key))
145
+ var next = arr[index + 1];
146
+ return /*#__PURE__*/_jsxs(_Fragment, {
147
+ children: [/*#__PURE__*/_jsx(MenuItem, {
148
+ onClick: event => {
149
+ var _item$onClick;
150
+
151
+ (_item$onClick = item.onClick) === null || _item$onClick === void 0 ? void 0 : _item$onClick.call(item, event);
152
+ setMenuButtonRef(undefined);
153
+ },
154
+ children: item.label
155
+ }, item.key), (_item$dropdown = item.dropdown) === null || _item$dropdown === void 0 ? void 0 : _item$dropdown.map(dropdownItem => /*#__PURE__*/_jsx(MenuItem, {
156
+ onClick: event => {
157
+ var _dropdownItem$onClick;
158
+
159
+ (_dropdownItem$onClick = dropdownItem.onClick) === null || _dropdownItem$onClick === void 0 ? void 0 : _dropdownItem$onClick.call(dropdownItem, event);
160
+ setMenuButtonRef(undefined);
161
+ },
162
+ children: dropdownItem.label
163
+ }, dropdownItem.key)), next && item.groupKey !== next.groupKey && /*#__PURE__*/_jsx(Divider, {})]
164
+ });
165
+ })
141
166
  })]
142
167
  })]
143
168
  })
@@ -0,0 +1,114 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["MenuListProps", "ButtonGroupProps", "children", "isLoading", "onClick", "label"];
4
+ import { ButtonGroup, MenuList, Popover } from '@material-ui/core';
5
+ import * as React from 'react';
6
+ import { forwardRef } from 'react';
7
+ import styled from 'styled-components';
8
+ import { Color, mergeRefs, useUID } from "../index.js";
9
+ import { Button } from "../button/Button.js";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ import { Fragment as _Fragment } from "react/jsx-runtime";
13
+
14
+ function CaretDownIcon() {
15
+ return /*#__PURE__*/_jsx("svg", {
16
+ viewBox: "0 0 8 4",
17
+ children: /*#__PURE__*/_jsx("path", {
18
+ fill: "currentColor",
19
+ d: "M0.666687 0.666656L4.00002 3.99999L7.33335 0.666656H0.666687Z"
20
+ })
21
+ });
22
+ }
23
+
24
+ var CaretButton = /*#__PURE__*/styled(Button).withConfig({
25
+ displayName: "DropdownButton__CaretButton",
26
+ componentId: "SD__sc-8l84jm-0"
27
+ })(["width:auto;", ";"], _ref => {
28
+ var {
29
+ variant
30
+ } = _ref;
31
+ return variant === 'contained' && "border-left: 1px solid ".concat(Color.Blue500);
32
+ });
33
+ export var DropdownButton = /*#__PURE__*/forwardRef((_ref2, ref) => {
34
+ var _anchorRef$current2;
35
+
36
+ var {
37
+ MenuListProps,
38
+ ButtonGroupProps,
39
+ children,
40
+ isLoading,
41
+ onClick,
42
+ label
43
+ } = _ref2,
44
+ buttonProps = _objectWithoutProperties(_ref2, _excluded);
45
+
46
+ var uid = useUID();
47
+ var [open, setOpen] = React.useState(false);
48
+ var anchorRef = React.useRef(null);
49
+
50
+ function handleClick(event) {
51
+ setOpen(false);
52
+ onClick === null || onClick === void 0 ? void 0 : onClick(event);
53
+ }
54
+
55
+ function handleToggle() {
56
+ setOpen(prevOpen => !prevOpen);
57
+ }
58
+
59
+ function handleClose(event) {
60
+ var _anchorRef$current;
61
+
62
+ if ((_anchorRef$current = anchorRef.current) !== null && _anchorRef$current !== void 0 && _anchorRef$current.contains(event.currentTarget)) {
63
+ return;
64
+ }
65
+
66
+ setOpen(false);
67
+ }
68
+
69
+ return /*#__PURE__*/_jsxs(_Fragment, {
70
+ children: [/*#__PURE__*/_jsxs(ButtonGroup, _objectSpread(_objectSpread({}, ButtonGroupProps), {}, {
71
+ ref: mergeRefs(ButtonGroupProps === null || ButtonGroupProps === void 0 ? void 0 : ButtonGroupProps.ref, anchorRef),
72
+ fullWidth: (ButtonGroupProps === null || ButtonGroupProps === void 0 ? void 0 : ButtonGroupProps.fullWidth) || buttonProps.fullWidth,
73
+ children: [/*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
74
+ ref: ref,
75
+ onClick: handleClick,
76
+ disabled: isLoading,
77
+ isLoading: isLoading
78
+ }, buttonProps), {}, {
79
+ children: label
80
+ })), /*#__PURE__*/_jsx(CaretButton, {
81
+ onClick: handleToggle,
82
+ disabled: isLoading,
83
+ color: buttonProps.color,
84
+ variant: buttonProps.variant,
85
+ "aria-haspopup": "menu",
86
+ "aria-controls": open ? uid : undefined,
87
+ "aria-expanded": open ? 'true' : undefined,
88
+ children: /*#__PURE__*/_jsx(CaretDownIcon, {})
89
+ })]
90
+ })), /*#__PURE__*/_jsx(Popover, {
91
+ open: open,
92
+ onClose: handleClose,
93
+ anchorEl: anchorRef.current,
94
+ anchorOrigin: {
95
+ vertical: 'bottom',
96
+ horizontal: 'left'
97
+ },
98
+ children: /*#__PURE__*/_jsx("div", {
99
+ style: {
100
+ minWidth: (_anchorRef$current2 = anchorRef.current) === null || _anchorRef$current2 === void 0 ? void 0 : _anchorRef$current2.clientWidth
101
+ },
102
+ children: /*#__PURE__*/_jsx(MenuList, _objectSpread(_objectSpread({}, MenuListProps), {}, {
103
+ id: uid,
104
+ onClick: () => {
105
+ setOpen(false);
106
+ },
107
+ children: children
108
+ }))
109
+ })
110
+ })]
111
+ });
112
+ });
113
+ if (process.env.NODE_ENV !== "production") DropdownButton.displayName = "DropdownButton";
114
+ export default DropdownButton;
package/dist-src/index.js CHANGED
@@ -11,6 +11,7 @@ export * from "./drawer/DrawerActions.js";
11
11
  export * from "./drawer/DrawerContent.js";
12
12
  export * from "./drawer/DrawerList.js";
13
13
  export * from "./drawer/DrawerTitle.js";
14
+ export * from "./dropdown-button/DropdownButton.js";
14
15
  export * from "./grid/GridStack.js";
15
16
  export * from "./grid/InlineGrid.js";
16
17
  export * from "./info-card/InfoCard.js";
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { ButtonProps as ButtonProps$1, ToolbarProps, AvatarClassKey, AvatarTypeMap, ButtonBaseProps, CheckboxProps, FormControlLabelProps, FormControlProps, FormGroupProps, FormLabelProps, FormHelperTextProps, TypographyProps, TooltipProps, ListProps, ListTypeMap, GridProps, CardClassKey, CardProps, CardContentProps, RadioProps, RadioGroupProps, SnackbarContentProps as SnackbarContentProps$1, SnackbarContentClassKey as SnackbarContentClassKey$1, SnackbarProps as SnackbarProps$1, Theme } from '@material-ui/core';
2
+ import { ButtonProps as ButtonProps$1, ToolbarProps, AvatarClassKey, AvatarTypeMap, ButtonBaseProps, CheckboxProps, FormControlLabelProps, FormControlProps, FormGroupProps, FormLabelProps, FormHelperTextProps, TypographyProps, TooltipProps, ListProps, ListTypeMap, MenuListProps, ButtonGroupProps, GridProps, CardClassKey, CardProps, CardContentProps, RadioProps, RadioGroupProps, SnackbarContentProps as SnackbarContentProps$1, SnackbarContentClassKey as SnackbarContentClassKey$1, SnackbarProps as SnackbarProps$1, Theme } from '@material-ui/core';
3
3
  import { RefAttributes, ForwardRefExoticComponent, Key, ReactNode, MouseEvent, ButtonHTMLAttributes, Ref, ElementType, HTMLAttributes, ReactElement, ConsumerProps } from 'react';
4
4
  import { ClassNameMap } from '@material-ui/styles';
5
5
  import { Property } from 'csstype';
@@ -15,9 +15,16 @@ interface ButtonProps extends RefAttributes<HTMLButtonElement>, Omit<ButtonProps
15
15
  }
16
16
  declare const Button: ForwardRefExoticComponent<ButtonProps>;
17
17
 
18
+ interface AdaptiveToolbarDropdownItem {
19
+ key: Key;
20
+ label: ReactNode;
21
+ onClick?: (event: MouseEvent<HTMLElement>) => void;
22
+ }
18
23
  interface AdaptiveToolbarItem {
19
24
  key: Key;
25
+ groupKey?: Key;
20
26
  label: ReactNode;
27
+ dropdown?: AdaptiveToolbarDropdownItem[];
21
28
  onClick?: (event: MouseEvent<HTMLElement>) => void;
22
29
  ButtonProps?: Omit<ButtonProps, 'type' | 'onClick'>;
23
30
  }
@@ -168,6 +175,14 @@ interface DrawerTitleProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'
168
175
  }
169
176
  declare const DrawerTitle: ForwardRefExoticComponent<DrawerTitleProps & RefAttributes<HTMLDivElement>>;
170
177
 
178
+ interface DropdownButtonProps extends Omit<ButtonProps, 'children'> {
179
+ label?: ReactNode;
180
+ children: ReactNode;
181
+ MenuListProps?: Omit<MenuListProps, 'id'>;
182
+ ButtonGroupProps?: ButtonGroupProps;
183
+ }
184
+ declare const DropdownButton: ForwardRefExoticComponent<Pick<DropdownButtonProps, "className" | "style" | "classes" | "innerRef" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "form" | "label" | "key" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "type" | "value" | "disableElevation" | "fullWidth" | "startIcon" | "endIcon" | "disableFocusRipple" | "href" | "size" | "variant" | "action" | "buttonRef" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "TouchRippleProps" | "rel" | "target" | "isActive" | "isLoading" | "MenuListProps" | "ButtonGroupProps"> & RefAttributes<HTMLButtonElement>>;
185
+
171
186
  interface GridStackProps extends RefAttributes<HTMLDivElement>, Pick<GridProps, 'style' | 'className' | 'children' | 'spacing' | 'alignItems'> {
172
187
  }
173
188
  /**
@@ -408,4 +423,4 @@ interface VisibilityObserverProps extends VisibilityObserverOptions {
408
423
  }
409
424
  declare function VisibilityObserver({ render, onChange, ...options }: VisibilityObserverProps): null | ReactElement;
410
425
 
411
- export { AdaptiveToolbar, AdaptiveToolbarItem, AdaptiveToolbarProps, AvatarButton, AvatarButtonClassKey, AvatarButtonProps, Button, ButtonProps, CardButton, CardButtonClassKey, CardButtonProps, CheckboxField, CheckboxFieldProps, CheckboxGroupField, CheckboxGroupFieldProps, CollapseBreakpoint, CollapseProp, Color, ColorProp, ColorVariant, Column, ColumnProps, ColumnWidth, Columns, ColumnsProps, DescriptionList, DescriptionListItem, DescriptionListItemProps, DescriptionListProps, DrawerActions, DrawerActionsProps, DrawerContent, DrawerContentProps, DrawerList, DrawerListProps, DrawerTitle, DrawerTitleProps, ElementVisibility, GridStack, GridStackProps, HorizontalAlign, InfoCard, InfoCardClassKey, InfoCardProps, Inline, InlineGrid, InlineGridProps, InlineProps, NegativeSpaceProp, OverflowText, OverflowTextProps, PartialResponsivePropRecord, RadioField, RadioFieldProps, RadioGroupField, RadioGroupFieldProps, ResponsiveContext, ResponsiveContextProvider, ResponsiveContextProviderProps, ResponsiveProp, ResponsivePropPrimitive, ResponsivePropRecord, ResponsivePropTuple, ResponsivePropTupleInit, Snackbar, SnackbarCloseReason, SnackbarContent, SnackbarContentProps, SnackbarProps, SnackbarStack, SnackbarStackConsumer, SnackbarStackOptions, SnackbarStackProvider, SnackbarStackProviderProps, SnackbarVariant, SpaceProp, Stack, StackProps, SuperDispatchTheme, Tag, TagClassKey, TagProps, ThemeProvider, ThemeProviderProps, Tiles, TilesColumns, TilesProps, TilesSpace, VerticalAlign, VisibilityObserver, VisibilityObserverOptions, VisibilityObserverProps, VisibilityObserverRenderProps, assignRef, isColorProp, isEmptyReactNode, mergeRefs, parseAlignProp, parseCollapsedBelow, parseResponsiveProp, parseSpaceProp, renderChildren, useCollapseBreakpoint, useResponsiveContext, useResponsiveProp, useResponsivePropRecord, useResponsiveValue, useSnackbarStack, useUID, useVisibilityObserver };
426
+ export { AdaptiveToolbar, AdaptiveToolbarDropdownItem, AdaptiveToolbarItem, AdaptiveToolbarProps, AvatarButton, AvatarButtonClassKey, AvatarButtonProps, Button, ButtonProps, CardButton, CardButtonClassKey, CardButtonProps, CheckboxField, CheckboxFieldProps, CheckboxGroupField, CheckboxGroupFieldProps, CollapseBreakpoint, CollapseProp, Color, ColorProp, ColorVariant, Column, ColumnProps, ColumnWidth, Columns, ColumnsProps, DescriptionList, DescriptionListItem, DescriptionListItemProps, DescriptionListProps, DrawerActions, DrawerActionsProps, DrawerContent, DrawerContentProps, DrawerList, DrawerListProps, DrawerTitle, DrawerTitleProps, DropdownButton, ElementVisibility, GridStack, GridStackProps, HorizontalAlign, InfoCard, InfoCardClassKey, InfoCardProps, Inline, InlineGrid, InlineGridProps, InlineProps, NegativeSpaceProp, OverflowText, OverflowTextProps, PartialResponsivePropRecord, RadioField, RadioFieldProps, RadioGroupField, RadioGroupFieldProps, ResponsiveContext, ResponsiveContextProvider, ResponsiveContextProviderProps, ResponsiveProp, ResponsivePropPrimitive, ResponsivePropRecord, ResponsivePropTuple, ResponsivePropTupleInit, Snackbar, SnackbarCloseReason, SnackbarContent, SnackbarContentProps, SnackbarProps, SnackbarStack, SnackbarStackConsumer, SnackbarStackOptions, SnackbarStackProvider, SnackbarStackProviderProps, SnackbarVariant, SpaceProp, Stack, StackProps, SuperDispatchTheme, Tag, TagClassKey, TagProps, ThemeProvider, ThemeProviderProps, Tiles, TilesColumns, TilesProps, TilesSpace, VerticalAlign, VisibilityObserver, VisibilityObserverOptions, VisibilityObserverProps, VisibilityObserverRenderProps, assignRef, isColorProp, isEmptyReactNode, mergeRefs, parseAlignProp, parseCollapsedBelow, parseResponsiveProp, parseSpaceProp, renderChildren, useCollapseBreakpoint, useResponsiveContext, useResponsiveProp, useResponsivePropRecord, useResponsiveValue, useSnackbarStack, useUID, useVisibilityObserver };