@auth0/quantum-product 1.6.7 → 1.7.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.
Files changed (90) hide show
  1. package/chip/chip-overrides.js +73 -43
  2. package/chip/chip.d.ts +2 -2
  3. package/chip/chip.js +22 -30
  4. package/esm/chip/chip-overrides.js +73 -43
  5. package/esm/chip/chip.js +22 -30
  6. package/esm/floating-panel/floating-panel.js +13 -8
  7. package/esm/index.js +1 -1
  8. package/esm/panel/index.js +6 -0
  9. package/esm/panel/panel/index.js +2 -0
  10. package/esm/panel/panel/panel-classes.js +20 -0
  11. package/esm/panel/panel/panel.js +106 -0
  12. package/esm/{panel-layout → panel}/panel-body/panel-body.js +7 -6
  13. package/esm/panel/panel-context.js +13 -0
  14. package/esm/panel/panel-footer/panel-footer.js +8 -9
  15. package/esm/panel/panel-header/panel-header-classes.js +11 -0
  16. package/esm/panel/panel-header/panel-header.js +22 -17
  17. package/esm/panel/panel-layout/index.js +1 -0
  18. package/esm/panel/panel-layout/panel-layout-classes.js +6 -0
  19. package/esm/{panel-layout → panel/panel-layout}/panel-layout.js +20 -17
  20. package/esm/paper/index.js +1 -1
  21. package/esm/sidebar/sidebar-new.js +1 -1
  22. package/esm/sidebar/sidebar-old.js +1 -1
  23. package/esm/theme/create-theme.js +2 -2
  24. package/esm/theme/default-theme.js +2 -2
  25. package/esm/utils/capitalize.js +1 -0
  26. package/esm/utils/index.js +1 -0
  27. package/floating-panel/floating-panel.d.ts +3 -7
  28. package/floating-panel/floating-panel.js +14 -9
  29. package/index.d.ts +1 -1
  30. package/index.js +1 -1
  31. package/package.json +1 -1
  32. package/panel/index.d.ts +7 -0
  33. package/panel/index.js +25 -0
  34. package/{panel-layout → panel}/panel/index.d.ts +1 -0
  35. package/panel/panel/index.js +7 -0
  36. package/panel/panel/panel-classes.d.ts +5 -0
  37. package/panel/panel/panel-classes.js +24 -0
  38. package/panel/panel/panel.d.ts +35 -0
  39. package/panel/panel/panel.js +132 -0
  40. package/panel/panel-body/panel-body.d.ts +12 -0
  41. package/{panel-layout → panel}/panel-body/panel-body.js +9 -8
  42. package/panel/panel-context.d.ts +35 -0
  43. package/panel/panel-context.js +40 -0
  44. package/panel/panel-footer/panel-footer.d.ts +11 -10
  45. package/panel/panel-footer/panel-footer.js +9 -10
  46. package/panel/panel-header/panel-header-classes.d.ts +5 -0
  47. package/panel/panel-header/panel-header-classes.js +15 -0
  48. package/panel/panel-header/panel-header.d.ts +21 -11
  49. package/panel/panel-header/panel-header.js +23 -18
  50. package/panel/panel-layout/index.d.ts +2 -0
  51. package/panel/panel-layout/index.js +5 -0
  52. package/panel/panel-layout/panel-layout-classes.d.ts +5 -0
  53. package/panel/panel-layout/panel-layout-classes.js +10 -0
  54. package/panel/panel-layout/panel-layout.d.ts +18 -0
  55. package/{panel-layout → panel/panel-layout}/panel-layout.js +20 -17
  56. package/paper/index.d.ts +1 -1
  57. package/paper/index.js +2 -1
  58. package/sidebar/sidebar-new.js +1 -1
  59. package/sidebar/sidebar-old.js +1 -1
  60. package/theme/create-theme.js +1 -1
  61. package/theme/default-theme.js +1 -1
  62. package/utils/capitalize.d.ts +1 -0
  63. package/utils/capitalize.js +5 -0
  64. package/utils/index.d.ts +1 -0
  65. package/utils/index.js +3 -1
  66. package/esm/panel/panel-content/index.js +0 -1
  67. package/esm/panel/panel-content/panel-content.js +0 -41
  68. package/esm/panel-layout/index.js +0 -4
  69. package/esm/panel-layout/panel/index.js +0 -1
  70. package/esm/panel-layout/panel/panel.js +0 -39
  71. package/esm/panel-layout/panel-title/index.js +0 -1
  72. package/esm/panel-layout/panel-title/panel-title.js +0 -36
  73. package/panel/panel-content/index.d.ts +0 -2
  74. package/panel/panel-content/index.js +0 -5
  75. package/panel/panel-content/panel-content.d.ts +0 -7
  76. package/panel/panel-content/panel-content.js +0 -67
  77. package/panel-layout/index.d.ts +0 -8
  78. package/panel-layout/index.js +0 -11
  79. package/panel-layout/panel/index.js +0 -5
  80. package/panel-layout/panel/panel.d.ts +0 -8
  81. package/panel-layout/panel/panel.js +0 -65
  82. package/panel-layout/panel-body/panel-body.d.ts +0 -6
  83. package/panel-layout/panel-layout.d.ts +0 -8
  84. package/panel-layout/panel-title/index.d.ts +0 -2
  85. package/panel-layout/panel-title/index.js +0 -5
  86. package/panel-layout/panel-title/panel-title.d.ts +0 -12
  87. package/panel-layout/panel-title/panel-title.js +0 -62
  88. /package/esm/{panel-layout → panel}/panel-body/index.js +0 -0
  89. /package/{panel-layout → panel}/panel-body/index.d.ts +0 -0
  90. /package/{panel-layout → panel}/panel-body/index.js +0 -0
@@ -0,0 +1,106 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import * as React from 'react';
24
+ import { styled } from '../../styled';
25
+ import { useMergedClasses } from '../../styles/classes';
26
+ import { capitalize, clsx } from '../../utils';
27
+ import { panelClasses, getPanelUtilityClass, panelComponentName } from './panel-classes';
28
+ import { IconButton } from '../../icon-button';
29
+ import { XIcon } from '../../icon';
30
+ import { PanelContext } from '../panel-context';
31
+ import { PanelHeader } from '../panel-header';
32
+ var widthBySize = {
33
+ small: 320,
34
+ medium: 360,
35
+ large: 440,
36
+ };
37
+ var Root = styled('div', {
38
+ name: panelComponentName,
39
+ slot: 'Root',
40
+ })(function (_a) {
41
+ var _b;
42
+ var ownerState = _a.ownerState, theme = _a.theme;
43
+ var width = widthBySize[ownerState.size];
44
+ var isOpen = ownerState.variant === 'permanent' || ownerState.isOpen;
45
+ var marginProp = ownerState.placement === 'start' ? 'marginRight' : 'marginLeft';
46
+ return __assign({ transition: theme.transitions.create(['margin'], {
47
+ duration: isOpen ? theme.transitions.duration.enteringScreen : theme.transitions.duration.leavingScreen,
48
+ }) }, (ownerState.variant !== 'floating'
49
+ ? (_b = {},
50
+ _b[marginProp] = isOpen ? width : 0,
51
+ _b) : {}));
52
+ });
53
+ var Content = styled('div', {
54
+ name: panelComponentName,
55
+ slot: 'Content',
56
+ })(function (_a) {
57
+ var ownerState = _a.ownerState, theme = _a.theme;
58
+ var width = widthBySize[ownerState.size];
59
+ var isOpen = ownerState.variant === 'permanent' || ownerState.isOpen;
60
+ return __assign({ position: ownerState.isFixed ? 'fixed' : 'absolute', zIndex: theme.zIndex.drawer - 1, top: ownerState.offsetTop === 'appbar' ? theme.layout.appTop + theme.layout.appBarHeight : ownerState.offsetTop || 0, bottom: 0, width: width, backgroundColor: ownerState.variant === 'floating' ? theme.tokens.color_bg_layer_elevated : theme.tokens.color_bg_layer, transition: theme.transitions.create(['transform'], {
61
+ duration: isOpen ? theme.transitions.duration.enteringScreen : theme.transitions.duration.leavingScreen,
62
+ }), display: 'flex', flexDirection: 'column', boxShadow: ownerState.variant === 'floating' ? theme.shadows[2] : undefined }, (ownerState.placement === 'start'
63
+ ? {
64
+ left: 0,
65
+ right: 'auto',
66
+ borderRight: '1px solid',
67
+ borderColor: theme.tokens.color_border_default,
68
+ transform: isOpen ? undefined : 'translate(-101%, 0)',
69
+ }
70
+ : {
71
+ right: 0,
72
+ left: 'auto',
73
+ borderLeft: '1px solid',
74
+ borderColor: theme.tokens.color_border_default,
75
+ transform: isOpen ? undefined : 'translate(101%, 0)',
76
+ }));
77
+ });
78
+ var CloseButton = styled(IconButton, {
79
+ name: panelComponentName,
80
+ slot: 'CloseButton',
81
+ })({
82
+ position: 'absolute',
83
+ top: 23,
84
+ right: 24,
85
+ });
86
+ export var Panel = React.forwardRef(function (props, ref) {
87
+ var title = props.title, isOpen = props.isOpen, _a = props.placement, placement = _a === void 0 ? 'end' : _a, _b = props.variant, variant = _b === void 0 ? 'permanent' : _b, _c = props.size, size = _c === void 0 ? 'medium' : _c, onClose = props.onClose, className = props.className, propClasses = props.classes, isFixed = props.isFixed, propOffsetTop = props.offsetTop, children = props.children, _d = props.closeIconButtonProps, closeIconButtonProps = _d === void 0 ? {} : _d, _e = props.PanelHeaderProps, PanelHeaderProps = _e === void 0 ? {} : _e, rootProps = __rest(props, ["title", "isOpen", "placement", "variant", "size", "onClose", "className", "classes", "isFixed", "offsetTop", "children", "closeIconButtonProps", "PanelHeaderProps"]);
88
+ var classes = useMergedClasses(panelClasses, getPanelUtilityClass, propClasses);
89
+ var offsetTop = propOffsetTop != null ? propOffsetTop : isFixed ? 'appbar' : 0;
90
+ var ownerState = {
91
+ isOpen: isOpen,
92
+ placement: placement,
93
+ variant: variant,
94
+ size: size,
95
+ isFixed: isFixed,
96
+ offsetTop: offsetTop,
97
+ };
98
+ var showCloseButton = variant !== 'permanent' && !!onClose;
99
+ return (React.createElement(Root, __assign({ ref: ref, ownerState: ownerState, className: clsx(classes.root, classes["size".concat(capitalize(size))], classes["variant".concat(capitalize(variant))], classes["placement".concat(capitalize(placement))], isFixed && classes.fixed, isOpen && classes.open, className) }, rootProps),
100
+ React.createElement(PanelContext.Provider, { value: __assign(__assign({}, ownerState), { isCloseButtonVisible: showCloseButton }) },
101
+ React.createElement(Content, { className: classes.content, ownerState: ownerState },
102
+ showCloseButton && (React.createElement(CloseButton, __assign({ "aria-label": "Close", className: classes.closeButton, onClick: function (e) { return onClose(e, 'closeButtonClick'); }, variant: "outlined", size: "small", shape: "circular" }, closeIconButtonProps),
103
+ React.createElement(XIcon, null))),
104
+ !!title && React.createElement(PanelHeader, __assign({ title: title }, PanelHeaderProps)),
105
+ children))));
106
+ });
@@ -22,13 +22,14 @@ var __rest = (this && this.__rest) || function (s, e) {
22
22
  };
23
23
  import * as React from 'react';
24
24
  import { styled } from '../../styled';
25
- var panelBodyComponentName = 'QuantumPanels';
26
- export var Root = styled('div', {
27
- name: panelBodyComponentName,
28
- slot: 'Root',
29
- })(function (_a) {
25
+ export var panelBodyComponentName = 'QuantumPanelBody';
26
+ var Root = styled('div', { name: panelBodyComponentName })(function (_a) {
30
27
  var theme = _a.theme;
31
- return { overflowY: 'auto', padding: theme.spacing(3), paddingTop: theme.spacing(0), marginTop: theme.spacing(1) };
28
+ return ({
29
+ flex: 1,
30
+ padding: theme.spacing(2, 3, 3),
31
+ overflowY: 'auto',
32
+ });
32
33
  });
33
34
  export var PanelBody = React.forwardRef(function (props, ref) {
34
35
  var children = props.children, rootProps = __rest(props, ["children"]);
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ export var defaultPanelSize = 'medium';
3
+ export var defaultPanelPlacement = 'end';
4
+ export var defaultPanelVariant = 'permanent';
5
+ export var PanelContext = React.createContext({
6
+ size: defaultPanelSize,
7
+ placement: defaultPanelPlacement,
8
+ variant: defaultPanelVariant,
9
+ isOpen: true,
10
+ isFixed: false,
11
+ isCloseButtonVisible: false,
12
+ });
13
+ export var usePanelContext = function () { return React.useContext(PanelContext); };
@@ -22,18 +22,17 @@ var __rest = (this && this.__rest) || function (s, e) {
22
22
  };
23
23
  import * as React from 'react';
24
24
  import { styled } from '../../styled';
25
- export var panelComponentName = 'QuantumPanelFooter';
26
- export var Root = styled('div', { name: panelComponentName, slot: 'Root' })(function (_a) {
25
+ export var panelFooterComponentName = 'QuantumPanelFooter';
26
+ var Root = styled('div', { name: panelFooterComponentName })(function (_a) {
27
27
  var theme = _a.theme;
28
28
  return ({
29
- display: 'flex',
30
- padding: theme.spacing(3),
31
- alignItems: 'flex-start',
29
+ flexGrow: 0,
30
+ flexShrink: 0,
31
+ padding: theme.spacing(3, 3),
32
32
  borderTop: "1px solid ".concat(theme.tokens.color_border_default),
33
- justifyContent: 'space-between',
34
33
  });
35
34
  });
36
- export var PanelFooter = React.forwardRef(function (_a) {
37
- var children = _a.children, ref = _a.ref, sx = _a.sx, rootProps = __rest(_a, ["children", "ref", "sx"]);
38
- return (React.createElement(Root, __assign({ ref: ref, sx: sx }, rootProps), children));
35
+ export var PanelFooter = React.forwardRef(function (props, ref) {
36
+ var children = props.children, rootProps = __rest(props, ["children"]);
37
+ return (React.createElement(Root, __assign({ ref: ref }, rootProps), children));
39
38
  });
@@ -0,0 +1,11 @@
1
+ import { generateUtilityClass, generateUtilityClasses } from '../../styles/classes';
2
+ export var panelHeaderComponentName = 'QuantumPanelHeader';
3
+ export function getPanelHeaderUtilityClass(slot) {
4
+ return generateUtilityClass(panelHeaderComponentName, slot);
5
+ }
6
+ export var panelHeaderClasses = generateUtilityClasses(panelHeaderComponentName, [
7
+ 'root',
8
+ 'content',
9
+ 'title',
10
+ 'endAdornment',
11
+ ]);
@@ -22,32 +22,37 @@ var __rest = (this && this.__rest) || function (s, e) {
22
22
  };
23
23
  import * as React from 'react';
24
24
  import { styled } from '../../styled';
25
+ import { useMergedClasses } from '../../styles/classes';
26
+ import { Text } from '../../text';
27
+ import { clsx } from '../../utils';
28
+ import { usePanelContext } from '../panel-context';
29
+ import { panelHeaderClasses, getPanelHeaderUtilityClass } from './panel-header-classes';
25
30
  export var panelHeaderComponentName = 'QuantumPanelHeader';
26
- export var Root = styled('div', { name: panelHeaderComponentName, slot: 'Root' })(function (_a) {
27
- var theme = _a.theme;
31
+ var Root = styled('div')(function (_a) {
32
+ var theme = _a.theme, ownerState = _a.ownerState;
28
33
  return ({
29
34
  display: 'flex',
30
- padding: theme.spacing(3),
31
- paddingBottom: theme.spacing(2),
32
- paddingRight: '70px',
33
- alignItems: 'flex-start',
34
- minHeight: theme.spacing(8.5),
35
- justifyContent: 'space-between',
35
+ padding: theme.spacing(3, ownerState.isCloseButtonVisible ? 9 : 3, 2, 3),
36
+ gap: theme.spacing(2),
37
+ flexGrow: 0,
38
+ flexShrink: 0,
36
39
  });
37
40
  });
38
- var PanelTitle = styled('div', { name: panelHeaderComponentName, slot: 'Title' })(function (_a) {
39
- var theme = _a.theme;
40
- return theme.tokens.type_heading_100;
41
- });
42
- var Container = styled('div', { name: panelHeaderComponentName, slot: 'Container' })(function (_a) {
41
+ var Content = styled('div')({});
42
+ var EndAdornment = styled('div')(function (_a) {
43
43
  var theme = _a.theme;
44
44
  return ({
45
45
  display: 'flex',
46
46
  alignItems: 'center',
47
- minHeight: theme.spacing(3.5),
47
+ gap: theme.spacing(1),
48
48
  });
49
49
  });
50
- export var PanelHeader = React.forwardRef(function (_a) {
51
- var children = _a.children, title = _a.title, sx = _a.sx, ref = _a.ref, rootProps = __rest(_a, ["children", "title", "sx", "ref"]);
52
- return (React.createElement(Root, __assign({ ref: ref, sx: sx }, rootProps), title ? React.createElement(PanelTitle, null, title) : React.createElement(Container, null, children)));
50
+ export var PanelHeader = React.forwardRef(function (props, ref) {
51
+ var title = props.title, className = props.className, propClasses = props.classes, endAdornment = props.endAdornment, titleTextProps = props.titleTextProps, titleComponent = props.titleComponent, rootProps = __rest(props, ["title", "className", "classes", "endAdornment", "titleTextProps", "titleComponent"]);
52
+ var classes = useMergedClasses(panelHeaderClasses, getPanelHeaderUtilityClass, propClasses);
53
+ var panelContext = usePanelContext();
54
+ return (React.createElement(Root, __assign({ className: clsx(classes.root, className), ownerState: { isCloseButtonVisible: panelContext.isCloseButtonVisible }, ref: ref }, rootProps),
55
+ React.createElement(Content, { className: classes.content },
56
+ React.createElement(Text, __assign({ className: classes.title, component: titleComponent, variant: "h5" }, titleTextProps), title)),
57
+ !!endAdornment && React.createElement(EndAdornment, { className: classes.endAdornment }, endAdornment)));
53
58
  });
@@ -0,0 +1 @@
1
+ export { PanelLayout } from './panel-layout';
@@ -0,0 +1,6 @@
1
+ import { generateUtilityClass, generateUtilityClasses } from '../../styles/classes';
2
+ export var panelLayoutComponentName = 'QuantumPanelLayout';
3
+ export function getPanelLayoutUtilityClass(slot) {
4
+ return generateUtilityClass(panelLayoutComponentName, slot);
5
+ }
6
+ export var panelLayoutClasses = generateUtilityClasses(panelLayoutComponentName, ['root', 'content']);
@@ -21,24 +21,27 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  return t;
22
22
  };
23
23
  import * as React from 'react';
24
- import { Grid } from '@mui/material';
25
- import { styled } from '../styled';
26
- import { Panel } from './panel';
27
- var panelsLayoutComponentName = 'QuantumPanelsLayout';
28
- var RightPanel = styled(Panel, { name: panelsLayoutComponentName, slot: 'RightPanel' })({
29
- width: '320px', // fixed width base on design requirements
30
- });
31
- var LeftPanel = styled(Panel, { name: panelsLayoutComponentName, slot: 'LeftPanel' })({
32
- width: '265px', // fixed width base on design requirements
33
- });
34
- var Root = styled(Grid, { name: panelsLayoutComponentName, slot: 'Root' })({
24
+ import { styled } from '../../styled';
25
+ import { useMergedClasses } from '../../styles/classes';
26
+ import { clsx } from '../../utils';
27
+ import { getPanelLayoutUtilityClass, panelLayoutClasses, panelLayoutComponentName, } from './panel-layout-classes';
28
+ var Root = styled('div', { name: panelLayoutComponentName })({
35
29
  display: 'flex',
36
- height: '-webkit-fill-available',
30
+ alignItems: 'stretch',
31
+ height: '100%',
32
+ flex: 1,
33
+ position: 'relative',
34
+ overflowX: 'hidden',
35
+ });
36
+ var Content = styled('div', { name: panelLayoutComponentName, slot: 'Content' })({
37
+ flex: 1,
38
+ overflow: 'auto',
37
39
  });
38
40
  export var PanelLayout = React.forwardRef(function (props, ref) {
39
- var startPanel = props.startPanel, endPanel = props.endPanel, children = props.children, rootProps = __rest(props, ["startPanel", "endPanel", "children"]);
40
- return (React.createElement(Root, __assign({ ref: ref }, rootProps),
41
- !!startPanel && React.createElement(LeftPanel, { position: "start" }, startPanel),
42
- React.createElement(Grid, { item: true, xs: true }, children),
43
- !!endPanel && React.createElement(RightPanel, { position: "end" }, endPanel)));
41
+ var startPanel = props.startPanel, endPanel = props.endPanel, children = props.children, className = props.className, propClasses = props.classes, rootProps = __rest(props, ["startPanel", "endPanel", "children", "className", "classes"]);
42
+ var classes = useMergedClasses(panelLayoutClasses, getPanelLayoutUtilityClass, propClasses);
43
+ return (React.createElement(Root, __assign({ ref: ref, className: clsx(classes.root, className) }, rootProps),
44
+ startPanel,
45
+ React.createElement(Content, { className: classes.content }, children),
46
+ endPanel));
44
47
  });
@@ -1 +1 @@
1
- export { default as Paper } from '@mui/material/Paper';
1
+ export { default as Paper, paperClasses } from '@mui/material/Paper';
@@ -60,7 +60,7 @@ var Root = styled(Drawer, { name: sidebarComponentName, slot: 'Root' })(function
60
60
  var top = theme.tokens.size_layout_app_top + theme.tokens.size_layout_app_bar_height;
61
61
  return _b = {
62
62
  top: top,
63
- zIndex: 20,
63
+ zIndex: theme.zIndex.drawer,
64
64
  marginRight: theme.layout.sidebarWidthCollapsed,
65
65
  transition: theme.transitions.create('margin', enterTransition),
66
66
  willChange: 'margin'
@@ -59,7 +59,7 @@ var Root = styled(Drawer, { name: sidebarComponentName, slot: 'Root' })(function
59
59
  var top = theme.tokens.size_layout_app_top + theme.tokens.size_layout_app_bar_height;
60
60
  return _b = {
61
61
  top: top,
62
- zIndex: 20,
62
+ zIndex: theme.zIndex.drawer,
63
63
  marginRight: theme.layout.sidebarWidthCollapsed,
64
64
  transition: theme.transitions.create('margin', enterTransition),
65
65
  willChange: 'margin'
@@ -52,8 +52,8 @@ import { createComponents } from './create-components';
52
52
  import { createMixins } from './create-mixins';
53
53
  import { createPalette } from './create-palette';
54
54
  import { createTypography } from './create-typography';
55
- import { auth0 } from '@auth0/quantum-tokens';
56
- var defaultThemeTokens = auth0;
55
+ import { okta } from '@auth0/quantum-tokens';
56
+ var defaultThemeTokens = okta;
57
57
  export var createTheme = function (_a) {
58
58
  if (_a === void 0) { _a = {}; }
59
59
  var layoutOptions = _a.layout, componentsOptions = _a.components, paletteOptions = _a.palette, typographyOptions = _a.typography, _b = _a.breakpoints, breakpointsOptions = _b === void 0 ? {} : _b, tokens = _a.tokens, options = __rest(_a, ["layout", "components", "palette", "typography", "breakpoints", "tokens"]);
@@ -1,7 +1,7 @@
1
- import { auth0 } from '@auth0/quantum-tokens';
1
+ import { okta } from '@auth0/quantum-tokens';
2
2
  import { createQuantumTheme } from './create-quantum-theme';
3
3
  import { createTheme } from './create-theme';
4
4
  export var defaultTheme = createTheme();
5
5
  export var defaultQuantumTheme = createQuantumTheme({
6
- tokens: auth0,
6
+ tokens: okta,
7
7
  });
@@ -0,0 +1 @@
1
+ export { capitalize } from '@mui/material';
@@ -1,3 +1,4 @@
1
1
  export { default as clsx } from './clsx';
2
2
  export { useControlled } from './use-controlled';
3
3
  export { useId } from './use-id';
4
+ export { capitalize } from './capitalize';
@@ -1,14 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { IStyledComponentProps } from '../styled';
3
- import { Drawer } from '@mui/material';
4
- import { SxProps } from '@mui/system';
5
- import { ITheme } from '../theme';
3
+ import { Drawer } from '../drawer';
6
4
  export declare const floatingPanelComponentName = "QuantumFloatingPanel";
7
5
  export interface IFloatingPanelOwnerState {
8
- ref?: React.Ref<HTMLDivElement>;
9
6
  panelWidth?: number;
10
7
  position: 'left' | 'right';
11
- sx?: SxProps<ITheme>;
12
8
  closeOnOutsideClick?: boolean;
13
9
  showCloseButton?: boolean;
14
10
  hideBackdrop?: boolean;
@@ -22,5 +18,5 @@ export declare type IFloatingPanelProps = IStyledComponentProps<{
22
18
  children: React.ReactNode;
23
19
  defaultComponent: 'div';
24
20
  }>;
25
- export declare const Root: import("styled-components").StyledComponent<typeof Drawer, ITheme, import("@mui/system").MUIStyledCommonProps<ITheme> & IFloatingPanelOwnerState & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof IFloatingPanelOwnerState> & import("../styled").IStyledCommonProps, never>;
26
- export declare const FloatingPanel: React.ForwardRefExoticComponent<Pick<IFloatingPanelProps, "slot" | "style" | "title" | "color" | "hidden" | "open" | "position" | "translate" | "className" | "children" | "sx" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "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" | "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" | "component" | "hideBackdrop" | "onClose" | "as" | "panelWidth" | "closeOnOutsideClick" | "showCloseButton" | "topOffset" | "elevated"> & React.RefAttributes<HTMLDivElement>>;
21
+ export declare const Root: import("styled-components").StyledComponent<typeof Drawer, import("..").ITheme, import("@mui/system").MUIStyledCommonProps<import("..").ITheme> & IFloatingPanelOwnerState & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref" | keyof IFloatingPanelOwnerState> & import("../styled").IStyledCommonProps, never>;
22
+ export declare const FloatingPanel: React.ForwardRefExoticComponent<IFloatingPanelOwnerState & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref" | keyof IFloatingPanelOwnerState> & import("../styled").IStyledCommonProps & React.RefAttributes<HTMLDivElement>>;
@@ -50,14 +50,15 @@ var React = __importStar(require("react"));
50
50
  var styled_1 = require("../styled");
51
51
  var icon_button_1 = require("../icon-button");
52
52
  var icon_1 = require("../icon");
53
- var material_1 = require("@mui/material");
53
+ var drawer_1 = require("../drawer");
54
+ var paper_1 = require("../paper");
54
55
  exports.floatingPanelComponentName = 'QuantumFloatingPanel';
55
56
  var CloseButton = function (_a) {
56
57
  var onCloseButtonClick = _a.onCloseButtonClick;
57
58
  return (React.createElement(StyledIconButton, { variant: "outlined", shape: "circular", size: "small", onClick: onCloseButtonClick },
58
59
  React.createElement(icon_1.XIcon, null)));
59
60
  };
60
- var StyledIconButton = (0, styled_1.styled)(icon_button_1.IconButton)(function (_a) {
61
+ var StyledIconButton = (0, styled_1.styled)(icon_button_1.IconButton, { name: exports.floatingPanelComponentName, slot: 'CloseButton' })(function (_a) {
61
62
  var theme = _a.theme;
62
63
  return ({
63
64
  position: 'absolute',
@@ -66,24 +67,28 @@ var StyledIconButton = (0, styled_1.styled)(icon_button_1.IconButton)(function (
66
67
  zIndex: theme.zIndex.drawer,
67
68
  });
68
69
  });
69
- var SubContainer = (0, styled_1.styled)('div')({
70
+ var SubContainer = (0, styled_1.styled)('div', { name: exports.floatingPanelComponentName, slot: 'SubContainer' })({
70
71
  display: 'flex',
71
72
  width: 0,
72
73
  });
73
- exports.Root = (0, styled_1.styled)(material_1.Drawer, { name: exports.floatingPanelComponentName, slot: 'Root' })(function (_a) {
74
+ exports.Root = (0, styled_1.styled)(drawer_1.Drawer, { name: exports.floatingPanelComponentName, slot: 'Root' })(function (_a) {
74
75
  var _b;
75
76
  var theme = _a.theme, panelWidth = _a.panelWidth, elevated = _a.elevated, topOffset = _a.topOffset, anchor = _a.anchor;
76
77
  var boxShadowStyle = elevated ? theme.shadows[2] : 'none';
77
- var topOffsetStyle = topOffset ? (topOffset === 'appbar' ? 56 : topOffset) : 0;
78
+ var topOffsetStyle = topOffset
79
+ ? topOffset === 'appbar'
80
+ ? theme.layout.appTop + theme.layout.appBarHeight
81
+ : topOffset
82
+ : 0;
78
83
  var borderStyle = "1px solid ".concat(theme.tokens.color_border_default);
79
84
  var borderPositionStyle = anchor === 'left' ? { borderRight: borderStyle } : { borderLeft: borderStyle };
80
85
  return _b = {},
81
- _b["& .MuiPaper-root"] = __assign({ width: "".concat(panelWidth, "px"), top: topOffsetStyle, bottom: 0, height: 'auto', boxShadow: boxShadowStyle, background: theme.tokens.color_bg_layer_elevated }, borderPositionStyle),
86
+ _b["& .".concat(paper_1.paperClasses.root)] = __assign({ width: panelWidth, top: topOffsetStyle, bottom: 0, height: 'auto', boxShadow: boxShadowStyle, background: theme.tokens.color_bg_layer_elevated }, borderPositionStyle),
82
87
  _b;
83
88
  });
84
- exports.FloatingPanel = React.forwardRef(function (_a) {
85
- var _b = _a.panelWidth, panelWidth = _b === void 0 ? 360 : _b, _c = _a.closeOnOutsideClick, closeOnOutsideClick = _c === void 0 ? true : _c, _d = _a.showCloseButton, showCloseButton = _d === void 0 ? true : _d, open = _a.open, _e = _a.elevated, elevated = _e === void 0 ? true : _e, topOffset = _a.topOffset, ref = _a.ref, position = _a.position, onClose = _a.onClose, children = _a.children, sx = _a.sx, rootProps = __rest(_a, ["panelWidth", "closeOnOutsideClick", "showCloseButton", "open", "elevated", "topOffset", "ref", "position", "onClose", "children", "sx"]);
86
- return (React.createElement(exports.Root, __assign({ ref: ref, panelWidth: panelWidth, open: open, anchor: position, onClose: onClose, elevated: elevated, topOffset: topOffset, hideBackdrop: !closeOnOutsideClick, sx: sx, BackdropProps: { invisible: true } }, rootProps),
89
+ exports.FloatingPanel = React.forwardRef(function (_a, ref) {
90
+ var _b = _a.panelWidth, panelWidth = _b === void 0 ? 360 : _b, _c = _a.closeOnOutsideClick, closeOnOutsideClick = _c === void 0 ? true : _c, _d = _a.showCloseButton, showCloseButton = _d === void 0 ? true : _d, open = _a.open, _e = _a.elevated, elevated = _e === void 0 ? true : _e, topOffset = _a.topOffset, position = _a.position, onClose = _a.onClose, children = _a.children, rootProps = __rest(_a, ["panelWidth", "closeOnOutsideClick", "showCloseButton", "open", "elevated", "topOffset", "position", "onClose", "children"]);
91
+ return (React.createElement(exports.Root, __assign({ ref: ref, panelWidth: panelWidth, open: open, anchor: position, onClose: onClose, elevated: elevated, topOffset: topOffset, hideBackdrop: !closeOnOutsideClick, BackdropProps: { invisible: true } }, rootProps),
87
92
  children,
88
93
  showCloseButton && (React.createElement(SubContainer, null,
89
94
  React.createElement(CloseButton, { onCloseButtonClick: onClose })))));
package/index.d.ts CHANGED
@@ -51,7 +51,7 @@ export * from './mobile-stepper';
51
51
  export * from './no-ssr';
52
52
  export * from './page';
53
53
  export * from './pagination';
54
- export * from './panel-layout';
54
+ export * from './panel';
55
55
  export * from './paper';
56
56
  export * from './popover';
57
57
  export * from './popper';
package/index.js CHANGED
@@ -67,7 +67,7 @@ __exportStar(require("./mobile-stepper"), exports);
67
67
  __exportStar(require("./no-ssr"), exports);
68
68
  __exportStar(require("./page"), exports);
69
69
  __exportStar(require("./pagination"), exports);
70
- __exportStar(require("./panel-layout"), exports);
70
+ __exportStar(require("./panel"), exports);
71
71
  __exportStar(require("./paper"), exports);
72
72
  __exportStar(require("./popover"), exports);
73
73
  __exportStar(require("./popper"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@auth0/quantum-product",
3
- "version": "1.6.7",
3
+ "version": "1.7.0",
4
4
  "sideEffects": false,
5
5
  "license": "Apache-2.0",
6
6
  "publishConfig": {
@@ -0,0 +1,7 @@
1
+ export * from './panel';
2
+ export * from './panel-body';
3
+ export * from './panel-footer';
4
+ export * from './panel-header';
5
+ export * from './panel-layout';
6
+ export { PanelContext, usePanelContext } from './panel-context';
7
+ export type { IPanelContextValue, PanelPlacement, PanelSize, PanelVariant } from './panel-context';
package/panel/index.js ADDED
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.usePanelContext = exports.PanelContext = void 0;
18
+ __exportStar(require("./panel"), exports);
19
+ __exportStar(require("./panel-body"), exports);
20
+ __exportStar(require("./panel-footer"), exports);
21
+ __exportStar(require("./panel-header"), exports);
22
+ __exportStar(require("./panel-layout"), exports);
23
+ var panel_context_1 = require("./panel-context");
24
+ Object.defineProperty(exports, "PanelContext", { enumerable: true, get: function () { return panel_context_1.PanelContext; } });
25
+ Object.defineProperty(exports, "usePanelContext", { enumerable: true, get: function () { return panel_context_1.usePanelContext; } });
@@ -1,2 +1,3 @@
1
1
  export { Panel } from './panel';
2
2
  export type { IPanelProps } from './panel';
3
+ export { panelClasses } from './panel-classes';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.panelClasses = exports.Panel = void 0;
4
+ var panel_1 = require("./panel");
5
+ Object.defineProperty(exports, "Panel", { enumerable: true, get: function () { return panel_1.Panel; } });
6
+ var panel_classes_1 = require("./panel-classes");
7
+ Object.defineProperty(exports, "panelClasses", { enumerable: true, get: function () { return panel_classes_1.panelClasses; } });
@@ -0,0 +1,5 @@
1
+ export declare const panelComponentName: "QuantumPanel";
2
+ export declare function getPanelUtilityClass(slot: string): string;
3
+ export declare const panelClasses: Record<"fixed" | "content" | "open" | "root" | "sizeSmall" | "sizeMedium" | "sizeLarge" | "closeButton" | "variantFloating" | "variantPersistent" | "variantPermanent" | "placementStart" | "placementEnd", string>;
4
+ export declare type PanelClasses = typeof panelClasses;
5
+ export declare type PanelClassKey = keyof PanelClasses;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.panelClasses = exports.getPanelUtilityClass = exports.panelComponentName = void 0;
4
+ var classes_1 = require("../../styles/classes");
5
+ exports.panelComponentName = 'QuantumPanel';
6
+ function getPanelUtilityClass(slot) {
7
+ return (0, classes_1.generateUtilityClass)(exports.panelComponentName, slot);
8
+ }
9
+ exports.getPanelUtilityClass = getPanelUtilityClass;
10
+ exports.panelClasses = (0, classes_1.generateUtilityClasses)(exports.panelComponentName, [
11
+ 'root',
12
+ 'content',
13
+ 'variantFloating',
14
+ 'variantPersistent',
15
+ 'variantPermanent',
16
+ 'sizeSmall',
17
+ 'sizeMedium',
18
+ 'sizeLarge',
19
+ 'placementStart',
20
+ 'placementEnd',
21
+ 'closeButton',
22
+ 'fixed',
23
+ 'open',
24
+ ]);
@@ -0,0 +1,35 @@
1
+ import * as React from 'react';
2
+ import { IStyledComponentProps } from '../../styled';
3
+ import { PanelClasses } from './panel-classes';
4
+ import { IIconButtonProps } from '../../icon-button';
5
+ import { IPanelContextValue } from '../panel-context';
6
+ import { IPanelHeaderProps } from '../panel-header';
7
+ export declare type IPanelOwnerState = Pick<IPanelContextValue, 'size' | 'variant' | 'placement' | 'isOpen' | 'isFixed'> & {
8
+ /** Sets top offset for panel. Defaults to appbar for fixed panels. All others default to 0. */
9
+ offsetTop?: 'appbar' | number;
10
+ };
11
+ export declare type IPanelProps = IStyledComponentProps<{
12
+ props: Partial<IPanelOwnerState> & {
13
+ /** Renders a title in the PanelHeader.*/
14
+ title?: React.ReactNode;
15
+ /** Main content. Recommended content is PanelHeader, PanelBody, and PanelFooter. */
16
+ children?: React.ReactNode;
17
+ /** Event fired when panel tries to close. */
18
+ onClose?(event: React.MouseEvent<HTMLButtonElement>, reason: 'closeButtonClick'): void;
19
+ classes?: Partial<PanelClasses>;
20
+ closeIconButtonProps?: Partial<IIconButtonProps>;
21
+ PanelHeaderProps?: Partial<IPanelHeaderProps>;
22
+ };
23
+ defaultComponent: 'div';
24
+ }>;
25
+ export declare const Panel: React.ForwardRefExoticComponent<Partial<IPanelOwnerState> & {
26
+ /** Renders a title in the PanelHeader.*/
27
+ title?: React.ReactNode;
28
+ /** Main content. Recommended content is PanelHeader, PanelBody, and PanelFooter. */
29
+ children?: React.ReactNode;
30
+ /** Event fired when panel tries to close. */
31
+ onClose?(event: React.MouseEvent<HTMLButtonElement>, reason: 'closeButtonClick'): void;
32
+ classes?: Partial<Record<"fixed" | "content" | "open" | "root" | "sizeSmall" | "sizeMedium" | "sizeLarge" | "closeButton" | "variantFloating" | "variantPersistent" | "variantPermanent" | "placementStart" | "placementEnd", string>> | undefined;
33
+ closeIconButtonProps?: Partial<IIconButtonProps<"button", {}>> | undefined;
34
+ PanelHeaderProps?: Partial<IPanelHeaderProps> | undefined;
35
+ } & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "title" | "ref" | "size" | "classes" | "children" | "variant" | "onClose" | "placement" | "isOpen" | "isFixed" | "offsetTop" | "closeIconButtonProps" | "PanelHeaderProps"> & import("../../styled").IStyledCommonProps & React.RefAttributes<HTMLDivElement>>;