@doist/reactist 14.1.1 → 15.0.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/dist/reactist.cjs.development.js +499 -232
- package/dist/reactist.cjs.development.js.map +1 -1
- package/dist/reactist.cjs.production.min.js +1 -1
- package/dist/reactist.cjs.production.min.js.map +1 -1
- package/es/components/menu/menu.js +5 -2
- package/es/components/menu/menu.js.map +1 -1
- package/es/index.js +3 -2
- package/es/index.js.map +1 -1
- package/es/new-components/deprecated-modal/modal.js +219 -0
- package/es/new-components/deprecated-modal/modal.js.map +1 -0
- package/es/new-components/deprecated-modal/modal.module.css.js +4 -0
- package/es/new-components/deprecated-modal/modal.module.css.js.map +1 -0
- package/es/new-components/modal/modal.js +64 -11
- package/es/new-components/modal/modal.js.map +1 -1
- package/es/new-components/modal/modal.module.css.js +1 -1
- package/lib/components/menu/menu.js +1 -1
- package/lib/components/menu/menu.js.map +1 -1
- package/lib/index.d.ts +3 -2
- package/lib/index.js +1 -1
- package/lib/new-components/deprecated-modal/index.d.ts +1 -0
- package/lib/new-components/deprecated-modal/modal-stories-components.d.ts +35 -0
- package/lib/new-components/deprecated-modal/modal.d.ts +157 -0
- package/lib/new-components/deprecated-modal/modal.js +2 -0
- package/lib/new-components/deprecated-modal/modal.js.map +1 -0
- package/lib/new-components/deprecated-modal/modal.module.css.js +2 -0
- package/lib/new-components/deprecated-modal/modal.module.css.js.map +1 -0
- package/lib/new-components/deprecated-modal/modal.test.d.ts +1 -0
- package/lib/new-components/modal/modal-stories-components.d.ts +2 -1
- package/lib/new-components/modal/modal.d.ts +1 -1
- package/lib/new-components/modal/modal.js +1 -1
- package/lib/new-components/modal/modal.js.map +1 -1
- package/lib/new-components/modal/modal.module.css.js +1 -1
- package/package.json +3 -2
- package/styles/menu.css +1 -1
- package/styles/reactist.css +5 -4
|
@@ -10,14 +10,16 @@ var classNames = _interopDefault(require('classnames'));
|
|
|
10
10
|
var flattenChildren = _interopDefault(require('react-keyed-flatten-children'));
|
|
11
11
|
var tooltip = require('ariakit/tooltip');
|
|
12
12
|
var ariakitUtils = require('ariakit-utils');
|
|
13
|
-
var tab = require('ariakit/tab');
|
|
14
|
-
var dialog = require('@reach/dialog');
|
|
15
13
|
var FocusLock = _interopDefault(require('react-focus-lock'));
|
|
14
|
+
var ariaHidden = require('aria-hidden');
|
|
15
|
+
var dialog = require('ariakit/dialog');
|
|
16
|
+
var portal = require('ariakit/portal');
|
|
17
|
+
var tab = require('ariakit/tab');
|
|
16
18
|
var ReactDOM = _interopDefault(require('react-dom'));
|
|
17
19
|
var dayjs = _interopDefault(require('dayjs'));
|
|
18
20
|
var LocalizedFormat = _interopDefault(require('dayjs/plugin/localizedFormat'));
|
|
19
21
|
var Ariakit = require('ariakit/menu');
|
|
20
|
-
var
|
|
22
|
+
var dialog$1 = require('@reach/dialog');
|
|
21
23
|
|
|
22
24
|
function ownKeys(object, enumerableOnly) {
|
|
23
25
|
var keys = Object.keys(object);
|
|
@@ -1536,194 +1538,72 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(_ref, ref) {
|
|
|
1536
1538
|
}))));
|
|
1537
1539
|
});
|
|
1538
1540
|
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
* when a given value has been changed from a previous call,
|
|
1542
|
-
* it will return the value prior to the change.
|
|
1543
|
-
*
|
|
1544
|
-
* Example:
|
|
1545
|
-
*
|
|
1546
|
-
* const [x, setX] = useState(1)
|
|
1547
|
-
* const prevX = usePrevious(x)
|
|
1548
|
-
*
|
|
1549
|
-
* Suppose `setX(2)` is called, then in the next component render
|
|
1550
|
-
* x = 2 and prevX = 1
|
|
1551
|
-
*/
|
|
1541
|
+
function getInitials(name) {
|
|
1542
|
+
var _initials;
|
|
1552
1543
|
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
ref.current = value;
|
|
1557
|
-
}, [value]);
|
|
1558
|
-
return ref.current;
|
|
1559
|
-
}
|
|
1544
|
+
if (!name) {
|
|
1545
|
+
return '';
|
|
1546
|
+
}
|
|
1560
1547
|
|
|
1561
|
-
|
|
1548
|
+
const seed = name.trim().split(' ');
|
|
1549
|
+
const firstInitial = seed[0];
|
|
1550
|
+
const lastInitial = seed[seed.length - 1];
|
|
1551
|
+
let initials = firstInitial == null ? void 0 : firstInitial[0];
|
|
1562
1552
|
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
* Used to group components that compose a set of tabs. There can only be one active tab within the same `<Tabs>` group.
|
|
1569
|
-
*/
|
|
1553
|
+
if (firstInitial != null && lastInitial != null && initials != null && // Better readable this way.
|
|
1554
|
+
// eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with
|
|
1555
|
+
firstInitial[0] !== lastInitial[0]) {
|
|
1556
|
+
initials += lastInitial[0];
|
|
1557
|
+
}
|
|
1570
1558
|
|
|
1571
|
-
|
|
1572
|
-
children,
|
|
1573
|
-
selectedId,
|
|
1574
|
-
defaultSelectedId,
|
|
1575
|
-
variant = 'neutral',
|
|
1576
|
-
onSelectedIdChange
|
|
1577
|
-
}) {
|
|
1578
|
-
const tabState = tab.useTabState({
|
|
1579
|
-
selectedId,
|
|
1580
|
-
setSelectedId: onSelectedIdChange
|
|
1581
|
-
});
|
|
1582
|
-
const previousDefaultSelectedId = usePrevious(defaultSelectedId);
|
|
1583
|
-
const {
|
|
1584
|
-
selectedId: actualSelectedId,
|
|
1585
|
-
select
|
|
1586
|
-
} = tabState;
|
|
1587
|
-
React.useEffect(function selectDefaultTab() {
|
|
1588
|
-
if (!selectedId && defaultSelectedId !== previousDefaultSelectedId && defaultSelectedId !== actualSelectedId && defaultSelectedId !== undefined) {
|
|
1589
|
-
select(defaultSelectedId);
|
|
1590
|
-
}
|
|
1591
|
-
}, [selectedId, defaultSelectedId, actualSelectedId, select, previousDefaultSelectedId]);
|
|
1592
|
-
const memoizedTabState = React.useMemo(function memoizeTabState() {
|
|
1593
|
-
return {
|
|
1594
|
-
tabState,
|
|
1595
|
-
variant
|
|
1596
|
-
};
|
|
1597
|
-
}, [variant, tabState]);
|
|
1598
|
-
return /*#__PURE__*/React.createElement(TabsContext.Provider, {
|
|
1599
|
-
value: memoizedTabState
|
|
1600
|
-
}, children);
|
|
1559
|
+
return (_initials = initials) == null ? void 0 : _initials.toUpperCase();
|
|
1601
1560
|
}
|
|
1602
|
-
/**
|
|
1603
|
-
* Represents the individual tab elements within the group. Each `<Tab>` must have a corresponding `<TabPanel>` component.
|
|
1604
|
-
*/
|
|
1605
|
-
|
|
1606
|
-
const Tab = /*#__PURE__*/polymorphicComponent(function Tab(_ref, ref) {
|
|
1607
|
-
let {
|
|
1608
|
-
as,
|
|
1609
|
-
children,
|
|
1610
|
-
id,
|
|
1611
|
-
exceptionallySetClassName
|
|
1612
|
-
} = _ref,
|
|
1613
|
-
props = _objectWithoutProperties(_ref, _excluded$m);
|
|
1614
1561
|
|
|
1615
|
-
|
|
1562
|
+
function emailToIndex(email, maxIndex) {
|
|
1563
|
+
const seed = email.split('@')[0];
|
|
1564
|
+
const hash = seed ? seed.charCodeAt(0) + seed.charCodeAt(seed.length - 1) || 0 : 0;
|
|
1565
|
+
return hash % maxIndex;
|
|
1566
|
+
}
|
|
1616
1567
|
|
|
1617
|
-
|
|
1618
|
-
return null;
|
|
1619
|
-
}
|
|
1568
|
+
var modules_08f3eeac = {"avatar":"_38a1be89","size-xxs":"d32e92ae","size-xs":"_0667d719","size-s":"cf529fcf","size-m":"_6e268eab","size-l":"d64c62cf","size-xl":"_44fb77de","size-xxl":"_01f85e0e","size-xxxl":"_41a5fe19","tablet-size-xxs":"_6ab1577d","tablet-size-xs":"b52a4963","tablet-size-s":"_714a8419","tablet-size-m":"_81cd4d51","tablet-size-l":"bf0a4edb","tablet-size-xl":"e4f0dabd","tablet-size-xxl":"_67ea065d","tablet-size-xxxl":"_2af7f76f","desktop-size-xxs":"_759081dc","desktop-size-xs":"_8290d1c1","desktop-size-s":"_48ea172d","desktop-size-m":"_758f6641","desktop-size-l":"f9ada088","desktop-size-xl":"d3bb7470","desktop-size-xxl":"_9a312ee3","desktop-size-xxxl":"a1d30c23"};
|
|
1620
1569
|
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
tabState
|
|
1624
|
-
} = tabContextValue;
|
|
1625
|
-
return /*#__PURE__*/React.createElement(tab.Tab, _objectSpread2(_objectSpread2({}, props), {}, {
|
|
1626
|
-
as: as,
|
|
1627
|
-
className: classNames(exceptionallySetClassName, modules_40c67f5b.tab, modules_40c67f5b["tab-" + variant]),
|
|
1628
|
-
id: id,
|
|
1629
|
-
state: tabState,
|
|
1630
|
-
ref: ref
|
|
1631
|
-
}), children);
|
|
1632
|
-
});
|
|
1633
|
-
/**
|
|
1634
|
-
* A component used to group `<Tab>` elements together.
|
|
1635
|
-
*/
|
|
1570
|
+
const _excluded$m = ["user", "avatarUrl", "size", "className", "colorList", "exceptionallySetClassName"];
|
|
1571
|
+
const AVATAR_COLORS = ['#fcc652', '#e9952c', '#e16b2d', '#d84b40', '#e8435a', '#e5198a', '#ad3889', '#86389c', '#a8a8a8', '#98be2f', '#5d9d50', '#5f9f85', '#5bbcb6', '#32a3bf', '#2bafeb', '#2d88c3', '#3863cc', '#5e5e5e'];
|
|
1636
1572
|
|
|
1637
|
-
function
|
|
1573
|
+
function Avatar(_ref) {
|
|
1638
1574
|
let {
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1575
|
+
user,
|
|
1576
|
+
avatarUrl,
|
|
1577
|
+
size = 'l',
|
|
1578
|
+
className,
|
|
1579
|
+
colorList = AVATAR_COLORS,
|
|
1580
|
+
exceptionallySetClassName
|
|
1581
|
+
} = _ref,
|
|
1582
|
+
props = _objectWithoutProperties(_ref, _excluded$m);
|
|
1645
1583
|
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1584
|
+
const userInitials = getInitials(user.name) || getInitials(user.email);
|
|
1585
|
+
const avatarSize = size ? size : 'l';
|
|
1586
|
+
const style = avatarUrl ? {
|
|
1587
|
+
backgroundImage: "url(" + avatarUrl + ")",
|
|
1588
|
+
textIndent: '-9999px' // hide the initials
|
|
1649
1589
|
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
return (
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
React.createElement(Box, null, /*#__PURE__*/React.createElement(tab.TabList, _objectSpread2({
|
|
1659
|
-
state: tabState,
|
|
1660
|
-
as: Box,
|
|
1661
|
-
position: "relative",
|
|
1662
|
-
width: "maxContent"
|
|
1663
|
-
}, props), /*#__PURE__*/React.createElement(Box, {
|
|
1664
|
-
className: classNames(modules_40c67f5b.track, modules_40c67f5b["track-" + space], modules_40c67f5b["track-" + variant])
|
|
1665
|
-
}), /*#__PURE__*/React.createElement(Inline, {
|
|
1666
|
-
space: space
|
|
1667
|
-
}, children)))
|
|
1668
|
-
);
|
|
1590
|
+
} : {
|
|
1591
|
+
backgroundColor: colorList[emailToIndex(user.email, colorList.length)]
|
|
1592
|
+
};
|
|
1593
|
+
const sizeClassName = getClassNames(modules_08f3eeac, 'size', avatarSize);
|
|
1594
|
+
return /*#__PURE__*/React__default.createElement(Box, _objectSpread2({
|
|
1595
|
+
className: [className, modules_08f3eeac.avatar, sizeClassName, exceptionallySetClassName],
|
|
1596
|
+
style: style
|
|
1597
|
+
}, props), userInitials);
|
|
1669
1598
|
}
|
|
1670
|
-
/**
|
|
1671
|
-
* Used to define the content to be rendered when a tab is active. Each `<TabPanel>` must have a corresponding `<Tab>` component.
|
|
1672
|
-
*/
|
|
1673
|
-
|
|
1674
|
-
const TabPanel = /*#__PURE__*/polymorphicComponent(function TabPanel(_ref3, ref) {
|
|
1675
|
-
let {
|
|
1676
|
-
children,
|
|
1677
|
-
id,
|
|
1678
|
-
as,
|
|
1679
|
-
render = 'always'
|
|
1680
|
-
} = _ref3,
|
|
1681
|
-
props = _objectWithoutProperties(_ref3, _excluded3);
|
|
1682
|
-
|
|
1683
|
-
const tabContextValue = React.useContext(TabsContext);
|
|
1684
|
-
const [tabRendered, setTabRendered] = React.useState(false);
|
|
1685
|
-
const tabIsActive = (tabContextValue == null ? void 0 : tabContextValue.tabState.selectedId) === id;
|
|
1686
|
-
React.useEffect(function trackTabRenderedState() {
|
|
1687
|
-
if (!tabRendered && tabIsActive) {
|
|
1688
|
-
setTabRendered(true);
|
|
1689
|
-
}
|
|
1690
|
-
}, [tabRendered, tabIsActive]);
|
|
1691
|
-
|
|
1692
|
-
if (!tabContextValue) {
|
|
1693
|
-
return null;
|
|
1694
|
-
}
|
|
1695
|
-
|
|
1696
|
-
const {
|
|
1697
|
-
tabState
|
|
1698
|
-
} = tabContextValue;
|
|
1699
|
-
const shouldRender = render === 'always' || render === 'active' && tabIsActive || render === 'lazy' && (tabIsActive || tabRendered);
|
|
1700
|
-
return shouldRender ? /*#__PURE__*/React.createElement(tab.TabPanel, _objectSpread2(_objectSpread2({
|
|
1701
|
-
tabId: id
|
|
1702
|
-
}, props), {}, {
|
|
1703
|
-
state: tabState,
|
|
1704
|
-
as: as,
|
|
1705
|
-
ref: ref
|
|
1706
|
-
}), children) : null;
|
|
1707
|
-
});
|
|
1708
|
-
/**
|
|
1709
|
-
* Allows content to be rendered based on the current tab being selected while outside of the TabPanel
|
|
1710
|
-
* component. Can be placed freely within the main `<Tabs>` component.
|
|
1711
|
-
*/
|
|
1712
1599
|
|
|
1713
|
-
|
|
1714
|
-
children
|
|
1715
|
-
}) {
|
|
1716
|
-
const tabContextValue = React.useContext(TabsContext);
|
|
1717
|
-
return tabContextValue ? children({
|
|
1718
|
-
selectedId: tabContextValue == null ? void 0 : tabContextValue.tabState.selectedId
|
|
1719
|
-
}) : null;
|
|
1720
|
-
}
|
|
1600
|
+
Avatar.displayName = 'Avatar';
|
|
1721
1601
|
|
|
1722
|
-
var modules_8f59d13b = {"
|
|
1602
|
+
var modules_8f59d13b = {"overlay":"_868392ae","fadein":"_63d7ee15","fitContent":"b8548bf2","container":"_31956461","full":"_1007df83","large":"_10c275aa","medium":"_0ac526b4","small":"_30f38fdb","xlarge":"_54868e8b","expand":"c0bc68bc","buttonContainer":"_6527332a","headerContent":"_4750dc1b"};
|
|
1723
1603
|
|
|
1724
1604
|
const _excluded$n = ["isOpen", "onDismiss", "height", "width", "exceptionallySetClassName", "autoFocus", "children"],
|
|
1725
|
-
_excluded2$
|
|
1726
|
-
_excluded3
|
|
1605
|
+
_excluded2$1 = ["children", "button", "withDivider", "exceptionallySetClassName"],
|
|
1606
|
+
_excluded3 = ["exceptionallySetClassName", "children"],
|
|
1727
1607
|
_excluded4 = ["exceptionallySetClassName", "withDivider"],
|
|
1728
1608
|
_excluded5 = ["children"];
|
|
1729
1609
|
const ModalContext = /*#__PURE__*/React.createContext({
|
|
@@ -1757,23 +1637,65 @@ function Modal(_ref) {
|
|
|
1757
1637
|
} = _ref,
|
|
1758
1638
|
props = _objectWithoutProperties(_ref, _excluded$n);
|
|
1759
1639
|
|
|
1640
|
+
const setVisible = React.useCallback(visible => {
|
|
1641
|
+
if (!visible) {
|
|
1642
|
+
onDismiss == null ? void 0 : onDismiss();
|
|
1643
|
+
}
|
|
1644
|
+
}, [onDismiss]);
|
|
1645
|
+
const state = dialog.useDialogState({
|
|
1646
|
+
visible: isOpen,
|
|
1647
|
+
setVisible
|
|
1648
|
+
});
|
|
1760
1649
|
const contextValue = React.useMemo(() => ({
|
|
1761
1650
|
onDismiss,
|
|
1762
1651
|
height
|
|
1763
1652
|
}), [onDismiss, height]);
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1653
|
+
const portalRef = React.useRef(null);
|
|
1654
|
+
const dialogRef = React.useRef(null);
|
|
1655
|
+
const backdropRef = React.useRef(null);
|
|
1656
|
+
const handleBackdropClick = React.useCallback(event => {
|
|
1657
|
+
var _dialogRef$current, _backdropRef$current;
|
|
1658
|
+
|
|
1659
|
+
if ( // The focus lock element takes up the same space as the backdrop and is where the event bubbles up from,
|
|
1660
|
+
// so instead of checking the backdrop as the event target, we need to make sure it's just above the dialog
|
|
1661
|
+
!((_dialogRef$current = dialogRef.current) != null && _dialogRef$current.contains(event.target)) && // Events fired from other portals will bubble up to the backdrop, even if it isn't a child in the DOM
|
|
1662
|
+
(_backdropRef$current = backdropRef.current) != null && _backdropRef$current.contains(event.target)) {
|
|
1663
|
+
event.stopPropagation();
|
|
1664
|
+
onDismiss == null ? void 0 : onDismiss();
|
|
1665
|
+
}
|
|
1666
|
+
}, [onDismiss]);
|
|
1667
|
+
React.useLayoutEffect(function disableAccessibilityTreeOutside() {
|
|
1668
|
+
if (!isOpen || !portalRef.current) {
|
|
1669
|
+
return;
|
|
1670
|
+
}
|
|
1671
|
+
|
|
1672
|
+
return ariaHidden.hideOthers(portalRef.current);
|
|
1673
|
+
}, [isOpen]);
|
|
1674
|
+
|
|
1675
|
+
if (!isOpen) {
|
|
1676
|
+
return null;
|
|
1677
|
+
}
|
|
1678
|
+
|
|
1679
|
+
return /*#__PURE__*/React.createElement(portal.Portal // @ts-expect-error `portalRef` doesn't accept MutableRefObject initialized as null
|
|
1680
|
+
, {
|
|
1681
|
+
// @ts-expect-error `portalRef` doesn't accept MutableRefObject initialized as null
|
|
1682
|
+
portalRef: portalRef
|
|
1683
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
1684
|
+
"data-testid": "modal-overlay",
|
|
1685
|
+
"data-overlay": true,
|
|
1769
1686
|
className: classNames(modules_8f59d13b.overlay, modules_8f59d13b[height], modules_8f59d13b[width]),
|
|
1770
|
-
|
|
1687
|
+
onClick: handleBackdropClick,
|
|
1688
|
+
ref: backdropRef
|
|
1771
1689
|
}, /*#__PURE__*/React.createElement(FocusLock, {
|
|
1772
1690
|
autoFocus: autoFocus,
|
|
1773
1691
|
whiteList: isNotInternalFrame,
|
|
1774
1692
|
returnFocus: true
|
|
1775
|
-
}, /*#__PURE__*/React.createElement(dialog.
|
|
1693
|
+
}, /*#__PURE__*/React.createElement(dialog.Dialog, _objectSpread2(_objectSpread2({}, props), {}, {
|
|
1694
|
+
ref: dialogRef,
|
|
1776
1695
|
as: Box,
|
|
1696
|
+
state: state,
|
|
1697
|
+
hideOnEscape: true,
|
|
1698
|
+
preventBodyScroll: true,
|
|
1777
1699
|
borderRadius: "full",
|
|
1778
1700
|
background: "default",
|
|
1779
1701
|
display: "flex",
|
|
@@ -1781,10 +1703,19 @@ function Modal(_ref) {
|
|
|
1781
1703
|
overflow: "hidden",
|
|
1782
1704
|
height: height === 'expand' ? 'full' : undefined,
|
|
1783
1705
|
flexGrow: height === 'expand' ? 1 : 0,
|
|
1784
|
-
className: [exceptionallySetClassName, modules_8f59d13b.container]
|
|
1706
|
+
className: [exceptionallySetClassName, modules_8f59d13b.container],
|
|
1707
|
+
// Disable focus lock as we set up our own using ReactFocusLock
|
|
1708
|
+
modal: false,
|
|
1709
|
+
autoFocus: false,
|
|
1710
|
+
autoFocusOnShow: false,
|
|
1711
|
+
autoFocusOnHide: false,
|
|
1712
|
+
// Disable portal and backdrop as we control their markup
|
|
1713
|
+
portal: false,
|
|
1714
|
+
backdrop: false,
|
|
1715
|
+
hideOnInteractOutside: false
|
|
1785
1716
|
}), /*#__PURE__*/React.createElement(ModalContext.Provider, {
|
|
1786
1717
|
value: contextValue
|
|
1787
|
-
}, children))));
|
|
1718
|
+
}, children)))));
|
|
1788
1719
|
}
|
|
1789
1720
|
/**
|
|
1790
1721
|
* The close button rendered by ModalHeader. Provided independently so that consumers can customize
|
|
@@ -1828,7 +1759,7 @@ function ModalHeader(_ref2) {
|
|
|
1828
1759
|
withDivider = false,
|
|
1829
1760
|
exceptionallySetClassName
|
|
1830
1761
|
} = _ref2,
|
|
1831
|
-
props = _objectWithoutProperties(_ref2, _excluded2$
|
|
1762
|
+
props = _objectWithoutProperties(_ref2, _excluded2$1);
|
|
1832
1763
|
|
|
1833
1764
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Box, _objectSpread2(_objectSpread2({}, props), {}, {
|
|
1834
1765
|
as: "header",
|
|
@@ -1870,7 +1801,7 @@ function ModalBody(_ref3) {
|
|
|
1870
1801
|
exceptionallySetClassName,
|
|
1871
1802
|
children
|
|
1872
1803
|
} = _ref3,
|
|
1873
|
-
props = _objectWithoutProperties(_ref3, _excluded3
|
|
1804
|
+
props = _objectWithoutProperties(_ref3, _excluded3);
|
|
1874
1805
|
|
|
1875
1806
|
const {
|
|
1876
1807
|
height
|
|
@@ -1924,66 +1855,188 @@ function ModalActions(_ref5) {
|
|
|
1924
1855
|
}, children));
|
|
1925
1856
|
}
|
|
1926
1857
|
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1858
|
+
/**
|
|
1859
|
+
* usePrevious tracks the change of the given value -
|
|
1860
|
+
* when a given value has been changed from a previous call,
|
|
1861
|
+
* it will return the value prior to the change.
|
|
1862
|
+
*
|
|
1863
|
+
* Example:
|
|
1864
|
+
*
|
|
1865
|
+
* const [x, setX] = useState(1)
|
|
1866
|
+
* const prevX = usePrevious(x)
|
|
1867
|
+
*
|
|
1868
|
+
* Suppose `setX(2)` is called, then in the next component render
|
|
1869
|
+
* x = 2 and prevX = 1
|
|
1870
|
+
*/
|
|
1933
1871
|
|
|
1934
|
-
|
|
1935
|
-
const
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
// eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with
|
|
1941
|
-
firstInitial[0] !== lastInitial[0]) {
|
|
1942
|
-
initials += lastInitial[0];
|
|
1943
|
-
}
|
|
1944
|
-
|
|
1945
|
-
return (_initials = initials) == null ? void 0 : _initials.toUpperCase();
|
|
1872
|
+
function usePrevious(value) {
|
|
1873
|
+
const ref = React.useRef(null);
|
|
1874
|
+
React.useEffect(() => {
|
|
1875
|
+
ref.current = value;
|
|
1876
|
+
}, [value]);
|
|
1877
|
+
return ref.current;
|
|
1946
1878
|
}
|
|
1947
1879
|
|
|
1948
|
-
|
|
1949
|
-
const seed = email.split('@')[0];
|
|
1950
|
-
const hash = seed ? seed.charCodeAt(0) + seed.charCodeAt(seed.length - 1) || 0 : 0;
|
|
1951
|
-
return hash % maxIndex;
|
|
1952
|
-
}
|
|
1880
|
+
var modules_40c67f5b = {"tab":"a1064a3b","track":"_06f1b8a1","tab-neutral":"dabbec7d","tab-themed":"e6f5ae4e","track-neutral":"_43913ce5","track-themed":"_39bdfdde","track-xsmall":"_1c148f4e","track-small":"_2a370df5","track-medium":"_77430437","track-large":"_33db5352","track-xlarge":"_60bf9564","track-xxlarge":"_29a35080"};
|
|
1953
1881
|
|
|
1954
|
-
|
|
1882
|
+
const _excluded$o = ["as", "children", "id", "exceptionallySetClassName"],
|
|
1883
|
+
_excluded2$2 = ["children", "space"],
|
|
1884
|
+
_excluded3$1 = ["children", "id", "as", "render"];
|
|
1885
|
+
const TabsContext = /*#__PURE__*/React.createContext(null);
|
|
1886
|
+
/**
|
|
1887
|
+
* Used to group components that compose a set of tabs. There can only be one active tab within the same `<Tabs>` group.
|
|
1888
|
+
*/
|
|
1955
1889
|
|
|
1956
|
-
|
|
1957
|
-
|
|
1890
|
+
function Tabs({
|
|
1891
|
+
children,
|
|
1892
|
+
selectedId,
|
|
1893
|
+
defaultSelectedId,
|
|
1894
|
+
variant = 'neutral',
|
|
1895
|
+
onSelectedIdChange
|
|
1896
|
+
}) {
|
|
1897
|
+
const tabState = tab.useTabState({
|
|
1898
|
+
selectedId,
|
|
1899
|
+
setSelectedId: onSelectedIdChange
|
|
1900
|
+
});
|
|
1901
|
+
const previousDefaultSelectedId = usePrevious(defaultSelectedId);
|
|
1902
|
+
const {
|
|
1903
|
+
selectedId: actualSelectedId,
|
|
1904
|
+
select
|
|
1905
|
+
} = tabState;
|
|
1906
|
+
React.useEffect(function selectDefaultTab() {
|
|
1907
|
+
if (!selectedId && defaultSelectedId !== previousDefaultSelectedId && defaultSelectedId !== actualSelectedId && defaultSelectedId !== undefined) {
|
|
1908
|
+
select(defaultSelectedId);
|
|
1909
|
+
}
|
|
1910
|
+
}, [selectedId, defaultSelectedId, actualSelectedId, select, previousDefaultSelectedId]);
|
|
1911
|
+
const memoizedTabState = React.useMemo(function memoizeTabState() {
|
|
1912
|
+
return {
|
|
1913
|
+
tabState,
|
|
1914
|
+
variant
|
|
1915
|
+
};
|
|
1916
|
+
}, [variant, tabState]);
|
|
1917
|
+
return /*#__PURE__*/React.createElement(TabsContext.Provider, {
|
|
1918
|
+
value: memoizedTabState
|
|
1919
|
+
}, children);
|
|
1920
|
+
}
|
|
1921
|
+
/**
|
|
1922
|
+
* Represents the individual tab elements within the group. Each `<Tab>` must have a corresponding `<TabPanel>` component.
|
|
1923
|
+
*/
|
|
1958
1924
|
|
|
1959
|
-
function
|
|
1925
|
+
const Tab = /*#__PURE__*/polymorphicComponent(function Tab(_ref, ref) {
|
|
1960
1926
|
let {
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
className,
|
|
1965
|
-
colorList = AVATAR_COLORS,
|
|
1927
|
+
as,
|
|
1928
|
+
children,
|
|
1929
|
+
id,
|
|
1966
1930
|
exceptionallySetClassName
|
|
1967
1931
|
} = _ref,
|
|
1968
1932
|
props = _objectWithoutProperties(_ref, _excluded$o);
|
|
1969
1933
|
|
|
1970
|
-
const
|
|
1971
|
-
const avatarSize = size ? size : 'l';
|
|
1972
|
-
const style = avatarUrl ? {
|
|
1973
|
-
backgroundImage: "url(" + avatarUrl + ")",
|
|
1974
|
-
textIndent: '-9999px' // hide the initials
|
|
1934
|
+
const tabContextValue = React.useContext(TabsContext);
|
|
1975
1935
|
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
}
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
}
|
|
1936
|
+
if (!tabContextValue) {
|
|
1937
|
+
return null;
|
|
1938
|
+
}
|
|
1939
|
+
|
|
1940
|
+
const {
|
|
1941
|
+
variant,
|
|
1942
|
+
tabState
|
|
1943
|
+
} = tabContextValue;
|
|
1944
|
+
return /*#__PURE__*/React.createElement(tab.Tab, _objectSpread2(_objectSpread2({}, props), {}, {
|
|
1945
|
+
as: as,
|
|
1946
|
+
className: classNames(exceptionallySetClassName, modules_40c67f5b.tab, modules_40c67f5b["tab-" + variant]),
|
|
1947
|
+
id: id,
|
|
1948
|
+
state: tabState,
|
|
1949
|
+
ref: ref
|
|
1950
|
+
}), children);
|
|
1951
|
+
});
|
|
1952
|
+
/**
|
|
1953
|
+
* A component used to group `<Tab>` elements together.
|
|
1954
|
+
*/
|
|
1955
|
+
|
|
1956
|
+
function TabList(_ref2) {
|
|
1957
|
+
let {
|
|
1958
|
+
children,
|
|
1959
|
+
space = 'xsmall'
|
|
1960
|
+
} = _ref2,
|
|
1961
|
+
props = _objectWithoutProperties(_ref2, _excluded2$2);
|
|
1962
|
+
|
|
1963
|
+
const tabContextValue = React.useContext(TabsContext);
|
|
1964
|
+
|
|
1965
|
+
if (!tabContextValue) {
|
|
1966
|
+
return null;
|
|
1967
|
+
}
|
|
1968
|
+
|
|
1969
|
+
const {
|
|
1970
|
+
tabState,
|
|
1971
|
+
variant
|
|
1972
|
+
} = tabContextValue;
|
|
1973
|
+
return (
|
|
1974
|
+
/*#__PURE__*/
|
|
1975
|
+
// The extra <Box> prevents <Inline>'s negative margins from collapsing when used in a flex container
|
|
1976
|
+
// which will render the track with the wrong height
|
|
1977
|
+
React.createElement(Box, null, /*#__PURE__*/React.createElement(tab.TabList, _objectSpread2({
|
|
1978
|
+
state: tabState,
|
|
1979
|
+
as: Box,
|
|
1980
|
+
position: "relative",
|
|
1981
|
+
width: "maxContent"
|
|
1982
|
+
}, props), /*#__PURE__*/React.createElement(Box, {
|
|
1983
|
+
className: classNames(modules_40c67f5b.track, modules_40c67f5b["track-" + space], modules_40c67f5b["track-" + variant])
|
|
1984
|
+
}), /*#__PURE__*/React.createElement(Inline, {
|
|
1985
|
+
space: space
|
|
1986
|
+
}, children)))
|
|
1987
|
+
);
|
|
1984
1988
|
}
|
|
1989
|
+
/**
|
|
1990
|
+
* Used to define the content to be rendered when a tab is active. Each `<TabPanel>` must have a corresponding `<Tab>` component.
|
|
1991
|
+
*/
|
|
1985
1992
|
|
|
1986
|
-
|
|
1993
|
+
const TabPanel = /*#__PURE__*/polymorphicComponent(function TabPanel(_ref3, ref) {
|
|
1994
|
+
let {
|
|
1995
|
+
children,
|
|
1996
|
+
id,
|
|
1997
|
+
as,
|
|
1998
|
+
render = 'always'
|
|
1999
|
+
} = _ref3,
|
|
2000
|
+
props = _objectWithoutProperties(_ref3, _excluded3$1);
|
|
2001
|
+
|
|
2002
|
+
const tabContextValue = React.useContext(TabsContext);
|
|
2003
|
+
const [tabRendered, setTabRendered] = React.useState(false);
|
|
2004
|
+
const tabIsActive = (tabContextValue == null ? void 0 : tabContextValue.tabState.selectedId) === id;
|
|
2005
|
+
React.useEffect(function trackTabRenderedState() {
|
|
2006
|
+
if (!tabRendered && tabIsActive) {
|
|
2007
|
+
setTabRendered(true);
|
|
2008
|
+
}
|
|
2009
|
+
}, [tabRendered, tabIsActive]);
|
|
2010
|
+
|
|
2011
|
+
if (!tabContextValue) {
|
|
2012
|
+
return null;
|
|
2013
|
+
}
|
|
2014
|
+
|
|
2015
|
+
const {
|
|
2016
|
+
tabState
|
|
2017
|
+
} = tabContextValue;
|
|
2018
|
+
const shouldRender = render === 'always' || render === 'active' && tabIsActive || render === 'lazy' && (tabIsActive || tabRendered);
|
|
2019
|
+
return shouldRender ? /*#__PURE__*/React.createElement(tab.TabPanel, _objectSpread2(_objectSpread2({
|
|
2020
|
+
tabId: id
|
|
2021
|
+
}, props), {}, {
|
|
2022
|
+
state: tabState,
|
|
2023
|
+
as: as,
|
|
2024
|
+
ref: ref
|
|
2025
|
+
}), children) : null;
|
|
2026
|
+
});
|
|
2027
|
+
/**
|
|
2028
|
+
* Allows content to be rendered based on the current tab being selected while outside of the TabPanel
|
|
2029
|
+
* component. Can be placed freely within the main `<Tabs>` component.
|
|
2030
|
+
*/
|
|
2031
|
+
|
|
2032
|
+
function TabAwareSlot({
|
|
2033
|
+
children
|
|
2034
|
+
}) {
|
|
2035
|
+
const tabContextValue = React.useContext(TabsContext);
|
|
2036
|
+
return tabContextValue ? children({
|
|
2037
|
+
selectedId: tabContextValue == null ? void 0 : tabContextValue.tabState.selectedId
|
|
2038
|
+
}) : null;
|
|
2039
|
+
}
|
|
1987
2040
|
|
|
1988
2041
|
const _excluded$p = ["type", "variant", "size", "loading", "disabled", "tooltip", "onClick", "children"];
|
|
1989
2042
|
/**
|
|
@@ -2943,11 +2996,13 @@ const MenuList = /*#__PURE__*/polymorphicComponent(function MenuList(_ref3, ref)
|
|
|
2943
2996
|
} = React.useContext(MenuContext);
|
|
2944
2997
|
return state.visible ? /*#__PURE__*/React.createElement(portal.Portal, {
|
|
2945
2998
|
preserveTabOrder: true
|
|
2999
|
+
}, /*#__PURE__*/React.createElement(FocusLock, {
|
|
3000
|
+
returnFocus: true
|
|
2946
3001
|
}, /*#__PURE__*/React.createElement(Ariakit.Menu, _objectSpread2(_objectSpread2({}, props), {}, {
|
|
2947
3002
|
state: state,
|
|
2948
3003
|
ref: ref,
|
|
2949
3004
|
className: classNames('reactist_menulist', exceptionallySetClassName)
|
|
2950
|
-
}))) : null;
|
|
3005
|
+
})))) : null;
|
|
2951
3006
|
});
|
|
2952
3007
|
/**
|
|
2953
3008
|
* A menu item inside a menu list. It can be selected by the user, triggering the `onSelect`
|
|
@@ -3110,6 +3165,212 @@ Select.defaultProps = {
|
|
|
3110
3165
|
disabled: false
|
|
3111
3166
|
};
|
|
3112
3167
|
|
|
3168
|
+
var modules_8f59d13b$1 = {"reach-portal":"_37bef8d8","fadein":"_77f9687f","fitContent":"bcc4e0a5","container":"d4832c2d","full":"b0c3b021","large":"_573d6aa5","medium":"_8550d996","small":"_43bb18f5","xlarge":"_57b4159d","overlay":"cb63f300","expand":"e741893e","buttonContainer":"bb1ce281","headerContent":"c5ef989c"};
|
|
3169
|
+
|
|
3170
|
+
const _excluded$v = ["isOpen", "onDismiss", "height", "width", "exceptionallySetClassName", "autoFocus", "children"],
|
|
3171
|
+
_excluded2$4 = ["children", "button", "withDivider", "exceptionallySetClassName"],
|
|
3172
|
+
_excluded3$3 = ["exceptionallySetClassName", "children"],
|
|
3173
|
+
_excluded4$2 = ["exceptionallySetClassName", "withDivider"],
|
|
3174
|
+
_excluded5$2 = ["children"];
|
|
3175
|
+
const ModalContext$1 = /*#__PURE__*/React.createContext({
|
|
3176
|
+
onDismiss: undefined,
|
|
3177
|
+
height: 'fitContent'
|
|
3178
|
+
});
|
|
3179
|
+
|
|
3180
|
+
function isNotInternalFrame$1(element) {
|
|
3181
|
+
return !(element.ownerDocument === document && element.tagName.toLowerCase() === 'iframe');
|
|
3182
|
+
}
|
|
3183
|
+
/**
|
|
3184
|
+
* Renders a modal that sits on top of the rest of the content in the entire page.
|
|
3185
|
+
*
|
|
3186
|
+
* Follows the WAI-ARIA Dialog (Modal) Pattern.
|
|
3187
|
+
*
|
|
3188
|
+
* @see DeprecatedModalHeader
|
|
3189
|
+
* @see DeprecatedModalFooter
|
|
3190
|
+
* @see DeprecatedModalBody
|
|
3191
|
+
* @deprecated
|
|
3192
|
+
*/
|
|
3193
|
+
|
|
3194
|
+
|
|
3195
|
+
function DeprecatedModal(_ref) {
|
|
3196
|
+
let {
|
|
3197
|
+
isOpen,
|
|
3198
|
+
onDismiss,
|
|
3199
|
+
height = 'fitContent',
|
|
3200
|
+
width = 'medium',
|
|
3201
|
+
exceptionallySetClassName,
|
|
3202
|
+
autoFocus = true,
|
|
3203
|
+
children
|
|
3204
|
+
} = _ref,
|
|
3205
|
+
props = _objectWithoutProperties(_ref, _excluded$v);
|
|
3206
|
+
|
|
3207
|
+
const contextValue = React.useMemo(() => ({
|
|
3208
|
+
onDismiss,
|
|
3209
|
+
height
|
|
3210
|
+
}), [onDismiss, height]);
|
|
3211
|
+
return /*#__PURE__*/React.createElement(dialog$1.DialogOverlay, {
|
|
3212
|
+
isOpen: isOpen,
|
|
3213
|
+
onDismiss: onDismiss,
|
|
3214
|
+
dangerouslyBypassFocusLock // We're setting up our own focus lock below
|
|
3215
|
+
: true,
|
|
3216
|
+
className: classNames(modules_8f59d13b$1.overlay, modules_8f59d13b$1[height], modules_8f59d13b$1[width]),
|
|
3217
|
+
"data-testid": "modal-overlay"
|
|
3218
|
+
}, /*#__PURE__*/React.createElement(FocusLock, {
|
|
3219
|
+
autoFocus: autoFocus,
|
|
3220
|
+
whiteList: isNotInternalFrame$1,
|
|
3221
|
+
returnFocus: true
|
|
3222
|
+
}, /*#__PURE__*/React.createElement(dialog$1.DialogContent, _objectSpread2(_objectSpread2({}, props), {}, {
|
|
3223
|
+
as: Box,
|
|
3224
|
+
borderRadius: "full",
|
|
3225
|
+
background: "default",
|
|
3226
|
+
display: "flex",
|
|
3227
|
+
flexDirection: "column",
|
|
3228
|
+
overflow: "hidden",
|
|
3229
|
+
height: height === 'expand' ? 'full' : undefined,
|
|
3230
|
+
flexGrow: height === 'expand' ? 1 : 0,
|
|
3231
|
+
className: [exceptionallySetClassName, modules_8f59d13b$1.container]
|
|
3232
|
+
}), /*#__PURE__*/React.createElement(ModalContext$1.Provider, {
|
|
3233
|
+
value: contextValue
|
|
3234
|
+
}, children))));
|
|
3235
|
+
}
|
|
3236
|
+
/**
|
|
3237
|
+
* The close button rendered by ModalHeader. Provided independently so that consumers can customize
|
|
3238
|
+
* the button's label.
|
|
3239
|
+
*
|
|
3240
|
+
* @see DeprecatedModalHeader
|
|
3241
|
+
*/
|
|
3242
|
+
|
|
3243
|
+
function DeprecatedModalCloseButton(props) {
|
|
3244
|
+
const {
|
|
3245
|
+
onDismiss
|
|
3246
|
+
} = React.useContext(ModalContext$1);
|
|
3247
|
+
const [includeInTabOrder, setIncludeInTabOrder] = React.useState(false);
|
|
3248
|
+
const [isMounted, setIsMounted] = React.useState(false);
|
|
3249
|
+
React.useEffect(function skipAutoFocus() {
|
|
3250
|
+
if (isMounted) {
|
|
3251
|
+
setIncludeInTabOrder(true);
|
|
3252
|
+
} else {
|
|
3253
|
+
setIsMounted(true);
|
|
3254
|
+
}
|
|
3255
|
+
}, [isMounted]);
|
|
3256
|
+
return /*#__PURE__*/React.createElement(Button, _objectSpread2(_objectSpread2({}, props), {}, {
|
|
3257
|
+
variant: "quaternary",
|
|
3258
|
+
onClick: onDismiss,
|
|
3259
|
+
icon: /*#__PURE__*/React.createElement(CloseIcon, null),
|
|
3260
|
+
tabIndex: includeInTabOrder ? 0 : -1
|
|
3261
|
+
}));
|
|
3262
|
+
}
|
|
3263
|
+
/**
|
|
3264
|
+
* Renders a standard modal header area with an optional close button.
|
|
3265
|
+
*
|
|
3266
|
+
* @see DeprecatedModal
|
|
3267
|
+
* @see DeprecatedModalFooter
|
|
3268
|
+
* @see DeprecatedModalBody
|
|
3269
|
+
*/
|
|
3270
|
+
|
|
3271
|
+
function DeprecatedModalHeader(_ref2) {
|
|
3272
|
+
let {
|
|
3273
|
+
children,
|
|
3274
|
+
button = true,
|
|
3275
|
+
withDivider = false,
|
|
3276
|
+
exceptionallySetClassName
|
|
3277
|
+
} = _ref2,
|
|
3278
|
+
props = _objectWithoutProperties(_ref2, _excluded2$4);
|
|
3279
|
+
|
|
3280
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Box, _objectSpread2(_objectSpread2({}, props), {}, {
|
|
3281
|
+
as: "header",
|
|
3282
|
+
paddingLeft: "large",
|
|
3283
|
+
paddingRight: button === false || button === null ? 'large' : 'small',
|
|
3284
|
+
paddingY: "small",
|
|
3285
|
+
className: exceptionallySetClassName
|
|
3286
|
+
}), /*#__PURE__*/React.createElement(Columns, {
|
|
3287
|
+
space: "large",
|
|
3288
|
+
alignY: "center"
|
|
3289
|
+
}, /*#__PURE__*/React.createElement(Column, {
|
|
3290
|
+
width: "auto"
|
|
3291
|
+
}, children), button === false || button === null ? /*#__PURE__*/React.createElement("div", {
|
|
3292
|
+
className: modules_8f59d13b$1.headerContent
|
|
3293
|
+
}) : /*#__PURE__*/React.createElement(Column, {
|
|
3294
|
+
width: "content",
|
|
3295
|
+
exceptionallySetClassName: modules_8f59d13b$1.buttonContainer,
|
|
3296
|
+
"data-testid": "button-container"
|
|
3297
|
+
}, typeof button === 'boolean' ? /*#__PURE__*/React.createElement(DeprecatedModalCloseButton, {
|
|
3298
|
+
"aria-label": "Close modal",
|
|
3299
|
+
autoFocus: false
|
|
3300
|
+
}) : button))), withDivider ? /*#__PURE__*/React.createElement(Divider, null) : null);
|
|
3301
|
+
}
|
|
3302
|
+
/**
|
|
3303
|
+
* Renders the body of a modal.
|
|
3304
|
+
*
|
|
3305
|
+
* Convenient to use alongside ModalHeader and/or ModalFooter as needed. It ensures, among other
|
|
3306
|
+
* things, that the contet of the modal body expands or contracts depending on the modal height
|
|
3307
|
+
* setting or the size of the content. The body content also automatically scrolls when it's too
|
|
3308
|
+
* large to fit the available space.
|
|
3309
|
+
*
|
|
3310
|
+
* @see DeprecatedModal
|
|
3311
|
+
* @see DeprecatedModalHeader
|
|
3312
|
+
* @see DeprecatedModalFooter
|
|
3313
|
+
*/
|
|
3314
|
+
|
|
3315
|
+
function DeprecatedModalBody(_ref3) {
|
|
3316
|
+
let {
|
|
3317
|
+
exceptionallySetClassName,
|
|
3318
|
+
children
|
|
3319
|
+
} = _ref3,
|
|
3320
|
+
props = _objectWithoutProperties(_ref3, _excluded3$3);
|
|
3321
|
+
|
|
3322
|
+
const {
|
|
3323
|
+
height
|
|
3324
|
+
} = React.useContext(ModalContext$1);
|
|
3325
|
+
return /*#__PURE__*/React.createElement(Box, _objectSpread2(_objectSpread2({}, props), {}, {
|
|
3326
|
+
className: exceptionallySetClassName,
|
|
3327
|
+
flexGrow: height === 'expand' ? 1 : 0,
|
|
3328
|
+
height: height === 'expand' ? 'full' : undefined,
|
|
3329
|
+
overflow: "auto"
|
|
3330
|
+
}), /*#__PURE__*/React.createElement(Box, {
|
|
3331
|
+
padding: "large",
|
|
3332
|
+
paddingBottom: "xxlarge"
|
|
3333
|
+
}, children));
|
|
3334
|
+
}
|
|
3335
|
+
/**
|
|
3336
|
+
* Renders a standard modal footer area.
|
|
3337
|
+
*
|
|
3338
|
+
* @see DeprecatedModal
|
|
3339
|
+
* @see DeprecatedModalHeader
|
|
3340
|
+
* @see DeprecatedModalBody
|
|
3341
|
+
*/
|
|
3342
|
+
|
|
3343
|
+
function DeprecatedModalFooter(_ref4) {
|
|
3344
|
+
let {
|
|
3345
|
+
exceptionallySetClassName,
|
|
3346
|
+
withDivider = false
|
|
3347
|
+
} = _ref4,
|
|
3348
|
+
props = _objectWithoutProperties(_ref4, _excluded4$2);
|
|
3349
|
+
|
|
3350
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, withDivider ? /*#__PURE__*/React.createElement(Divider, null) : null, /*#__PURE__*/React.createElement(Box, _objectSpread2(_objectSpread2({
|
|
3351
|
+
as: "footer"
|
|
3352
|
+
}, props), {}, {
|
|
3353
|
+
className: exceptionallySetClassName,
|
|
3354
|
+
padding: "large"
|
|
3355
|
+
})));
|
|
3356
|
+
}
|
|
3357
|
+
/**
|
|
3358
|
+
* A specific version of the ModalFooter, tailored to showing an inline list of actions (buttons).
|
|
3359
|
+
* @see DeprecatedModalFooter
|
|
3360
|
+
*/
|
|
3361
|
+
|
|
3362
|
+
function DeprecatedModalActions(_ref5) {
|
|
3363
|
+
let {
|
|
3364
|
+
children
|
|
3365
|
+
} = _ref5,
|
|
3366
|
+
props = _objectWithoutProperties(_ref5, _excluded5$2);
|
|
3367
|
+
|
|
3368
|
+
return /*#__PURE__*/React.createElement(DeprecatedModalFooter, _objectSpread2({}, props), /*#__PURE__*/React.createElement(Inline, {
|
|
3369
|
+
align: "right",
|
|
3370
|
+
space: "large"
|
|
3371
|
+
}, children));
|
|
3372
|
+
}
|
|
3373
|
+
|
|
3113
3374
|
exports.Alert = Alert;
|
|
3114
3375
|
exports.Avatar = Avatar;
|
|
3115
3376
|
exports.Box = Box;
|
|
@@ -3123,6 +3384,12 @@ exports.Columns = Columns;
|
|
|
3123
3384
|
exports.DeprecatedButton = Button$1;
|
|
3124
3385
|
exports.DeprecatedDropdown = Dropdown;
|
|
3125
3386
|
exports.DeprecatedInput = Input;
|
|
3387
|
+
exports.DeprecatedModal = DeprecatedModal;
|
|
3388
|
+
exports.DeprecatedModalActions = DeprecatedModalActions;
|
|
3389
|
+
exports.DeprecatedModalBody = DeprecatedModalBody;
|
|
3390
|
+
exports.DeprecatedModalCloseButton = DeprecatedModalCloseButton;
|
|
3391
|
+
exports.DeprecatedModalFooter = DeprecatedModalFooter;
|
|
3392
|
+
exports.DeprecatedModalHeader = DeprecatedModalHeader;
|
|
3126
3393
|
exports.DeprecatedSelect = Select;
|
|
3127
3394
|
exports.Divider = Divider;
|
|
3128
3395
|
exports.Heading = Heading;
|