@aivenio/aquarium 2.0.0 → 2.1.1
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/README.md +10 -2
- package/dist/atoms.cjs +144 -38
- package/dist/atoms.mjs +143 -38
- package/dist/charts.cjs +47 -21
- package/dist/charts.mjs +44 -21
- package/dist/src/atoms/Modal/Modal.d.ts +287 -3
- package/dist/src/atoms/Modal/Modal.js +121 -31
- package/dist/src/atoms/Select/Select.js +3 -2
- package/dist/src/charts/Axis/Axis.d.ts +11 -1
- package/dist/src/charts/Axis/Axis.js +15 -8
- package/dist/src/charts/lib/utils.d.ts +7 -2
- package/dist/src/charts/lib/utils.js +37 -13
- package/dist/src/icons/disasterRecovery.d.ts +9 -0
- package/dist/src/icons/disasterRecovery.js +11 -0
- package/dist/src/icons/index.d.ts +1 -0
- package/dist/src/icons/index.js +2 -1
- package/dist/src/molecules/Drawer/Drawer.d.ts +1 -1
- package/dist/src/molecules/Drawer/Drawer.js +37 -53
- package/dist/src/molecules/Modal/Modal.d.ts +3 -8
- package/dist/src/molecules/Modal/Modal.js +31 -50
- package/dist/src/molecules/Modal/ModalTitle.d.ts +5 -0
- package/dist/src/molecules/Modal/ModalTitle.js +20 -0
- package/dist/src/molecules/Pagination/Pagination.js +2 -2
- package/dist/styles.css +17 -3
- package/dist/system.cjs +658 -592
- package/dist/system.mjs +623 -557
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/dist/types/tailwindGenerated.d.ts +1 -1
- package/package.json +1 -1
@@ -10,18 +10,16 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
10
10
|
return t;
|
11
11
|
};
|
12
12
|
import React from 'react';
|
13
|
-
import {
|
14
|
-
import { useDialog } from '@react-aria/dialog';
|
15
|
-
import { Overlay, useModalOverlay } from '@react-aria/overlays';
|
16
|
-
import { useId } from '@react-aria/utils';
|
13
|
+
import { Dialog as AriaDialog, Modal as AriaModal, ModalOverlay as AriaModalOverlay } from 'react-aria-components';
|
17
14
|
import { animated, useSpring } from '@react-spring/web';
|
18
15
|
import castArray from 'lodash/castArray';
|
19
16
|
import omit from 'lodash/omit';
|
20
17
|
import { Box } from '../../../src/molecules/Box/Box';
|
21
18
|
import { Button } from '../../../src/molecules/Button/Button';
|
22
19
|
import { DropdownMenu } from '../../../src/molecules/DropdownMenu/DropdownMenu';
|
20
|
+
import { ModalTitle } from '../../../src/molecules/Modal/ModalTitle';
|
23
21
|
import { createTabsComponent, ModalTab, ModalTabContainer, TabItem, Tabs, } from '../../../src/molecules/Tabs/Tabs';
|
24
|
-
import { Modal as BaseModal } from '../../../src/atoms/Modal/Modal';
|
22
|
+
import { Modal as BaseModal, modalStyles } from '../../../src/atoms/Modal/Modal';
|
25
23
|
import { tw } from '../../../src/utils/tailwind';
|
26
24
|
import { isComponentType } from '../../../types/utils';
|
27
25
|
import cross from '../../../src/icons/cross';
|
@@ -33,22 +31,17 @@ const WIDTHS = {
|
|
33
31
|
md: 560,
|
34
32
|
lg: 1080,
|
35
33
|
};
|
36
|
-
export const Drawer = (
|
37
|
-
var { open, closeOnEsc = true } = _a, props = __rest(_a, ["open", "closeOnEsc"]);
|
38
|
-
const { onClose, size = 'sm', portalContainer } = props;
|
34
|
+
export const Drawer = ({ open, onClose, size = 'sm', children, title, menu, menuAriaLabel, menuLabel, onMenuOpenChange, onAction, primaryAction, secondaryActions, closeOnEsc = true, }) => {
|
39
35
|
/*
|
40
36
|
* We need a local state to keep track of the drawer being open or not. This is needed
|
41
37
|
* because the drawer is animated and we need to wait for the animation to finish before
|
42
38
|
* removing it from the DOM.
|
43
39
|
*/
|
44
40
|
const [hidden, setHidden] = React.useState(!open);
|
45
|
-
const ref = React.useRef(null);
|
46
|
-
const state = useOverlayTriggerState({ isOpen: !hidden, onOpenChange: (isOpen) => !isOpen && onClose() });
|
47
41
|
// Check if drawer was opened and our local state is still false. If so, set it to true.
|
48
42
|
if (open && hidden) {
|
49
43
|
setHidden(!open);
|
50
44
|
}
|
51
|
-
const { modalProps, underlayProps } = useModalOverlay({ isDismissable: false, isKeyboardDismissDisabled: !closeOnEsc }, state, ref);
|
52
45
|
const { opacity, right } = useSpring({
|
53
46
|
right: open ? '0px' : `-${WIDTHS[size]}px`,
|
54
47
|
opacity: open ? 0.6 : 0,
|
@@ -63,54 +56,45 @@ export const Drawer = (_a) => {
|
|
63
56
|
}
|
64
57
|
},
|
65
58
|
});
|
66
|
-
if (
|
59
|
+
if (hidden) {
|
67
60
|
return null;
|
68
61
|
}
|
69
|
-
return (React.createElement(Overlay, { portalContainer: portalContainer },
|
70
|
-
React.createElement(BaseModal, { kind: "drawer", className: "Aquarium-Drawer overflow-x-hidden", open: true },
|
71
|
-
React.createElement(AnimatedBackDrop, Object.assign({ style: { opacity } }, underlayProps)),
|
72
|
-
React.createElement(DrawerWrapper, Object.assign({ ref: ref }, props, modalProps, { spring: { right } })))));
|
73
|
-
};
|
74
|
-
const DrawerWrapper = React.forwardRef((_a, ref) => {
|
75
|
-
var _b;
|
76
|
-
var { title, children, size = 'sm', primaryAction, secondaryActions, onClose, spring, onAction, menu, onMenuOpenChange, menuLabel, menuAriaLabel } = _a, props = __rest(_a, ["title", "children", "size", "primaryAction", "secondaryActions", "onClose", "spring", "onAction", "menu", "onMenuOpenChange", "menuLabel", "menuAriaLabel"]);
|
77
|
-
const labelledBy = useId();
|
78
|
-
const describedBy = useId();
|
79
|
-
/*
|
80
|
-
* useDialog() also returns 'titleProps', but it doesn't work correctly
|
81
|
-
* in this case because the title id is set to null after the second render.
|
82
|
-
* The problem (most likely) is somewhere in this component which causes
|
83
|
-
* it render twice when it is opened and that causes the useSlotId() hook
|
84
|
-
* in react-aria to think that the title is not rendered correctly.
|
85
|
-
*/
|
86
|
-
const { dialogProps } = useDialog({ 'role': 'dialog', 'aria-labelledby': labelledBy, 'aria-describedby': describedBy }, ref);
|
87
62
|
// We'll use modal size 'full' when the drawer size is 'lg'.
|
88
63
|
const dialogSize = size === 'lg' ? 'full' : size;
|
64
|
+
const styles = modalStyles({ kind: 'drawer', size: dialogSize });
|
65
|
+
// Try to detect tabs in the children.
|
89
66
|
const childElements = React.Children.toArray(children).filter(React.isValidElement);
|
90
67
|
const onlyChild = childElements.length === 1 ? childElements[0] : null;
|
91
68
|
const hasTabs = isComponentType(onlyChild, Tabs);
|
92
|
-
return (React.createElement(
|
93
|
-
React.createElement(
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
69
|
+
return (React.createElement(AriaModalOverlay, { isOpen: !hidden, onOpenChange: (isOpen) => !isOpen && (onClose === null || onClose === void 0 ? void 0 : onClose()), isDismissable: false, isKeyboardDismissDisabled: !closeOnEsc, className: styles.overlay({ className: 'Aquarium-Drawer' }) },
|
70
|
+
React.createElement(AnimatedBackDrop, { style: { opacity } }),
|
71
|
+
React.createElement(AriaModal, null,
|
72
|
+
React.createElement(AnimatedDialog, { kind: "drawer", "aria-modal": "true", size: dialogSize, style: { position: 'fixed', right } },
|
73
|
+
React.createElement(AriaDialog, { className: "flex flex-col grow overflow-y-auto" }, ({ close }) => {
|
74
|
+
var _a;
|
75
|
+
return (React.createElement(React.Fragment, null,
|
76
|
+
React.createElement(BaseModal.CloseButtonContainer, null,
|
77
|
+
React.createElement(Button.Icon, { "aria-label": "Close", icon: cross, onClick: close })),
|
78
|
+
React.createElement(BaseModal.Header, { className: tw({ 'pb-3': hasTabs }) },
|
79
|
+
React.createElement(ModalTitle, { kind: "drawer" }, title)),
|
80
|
+
hasTabs ? (React.createElement(DrawerTabs, Object.assign({}, onlyChild.props, { className: tw('[&>div:first-child]:px-5 grow flex flex-col overflow-y-auto') }))) : (React.createElement(BaseModal.Body, { tabIndex: 0, noFooter: !(secondaryActions || primaryAction) }, children)),
|
81
|
+
(secondaryActions || primaryAction) && (React.createElement(BaseModal.Footer, null,
|
82
|
+
React.createElement(BaseModal.Actions, { className: size === 'sm' ? tw('flex-col') : undefined },
|
83
|
+
size !== 'sm' && menu && (React.createElement(Box.Flex, { alignItems: "center" },
|
84
|
+
React.createElement(DropdownMenu, { onAction: (action) => onAction === null || onAction === void 0 ? void 0 : onAction(action), onOpenChange: onMenuOpenChange },
|
85
|
+
React.createElement(DropdownMenu.Trigger, null,
|
86
|
+
React.createElement(Button.Icon, { "aria-label": (_a = menuAriaLabel !== null && menuAriaLabel !== void 0 ? menuAriaLabel : menuLabel) !== null && _a !== void 0 ? _a : 'Context menu', icon: more })),
|
87
|
+
menu))),
|
88
|
+
secondaryActions &&
|
89
|
+
castArray(secondaryActions)
|
90
|
+
.filter(Boolean)
|
91
|
+
.map((_a) => {
|
92
|
+
var { text } = _a, action = __rest(_a, ["text"]);
|
93
|
+
return (React.createElement(Button.Secondary, Object.assign({ key: text }, action), text));
|
94
|
+
}),
|
95
|
+
primaryAction && (React.createElement(Button.Primary, Object.assign({ key: primaryAction.text }, omit(primaryAction, 'text')), primaryAction.text)))))));
|
96
|
+
})))));
|
97
|
+
};
|
114
98
|
const DrawerTabs = createTabsComponent(ModalTab, TabItem, 'DrawerTabs', (children, selected) => (React.createElement(BaseModal.Body, { className: tw('h-full') },
|
115
99
|
React.createElement(ModalTabContainer, null, children.find((node, index) => (node === null || node === void 0 ? void 0 : node.props.value) === selected || index === selected)))));
|
116
|
-
//# sourceMappingURL=data:application/json;base64,
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJhd2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9EcmF3ZXIvRHJhd2VyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxJQUFJLFVBQVUsRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFLFlBQVksSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ILE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsT0FBTyxFQUVQLElBQUksR0FDTCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4QyxPQUFPLEVBQWtCLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5RCxPQUFPLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUNwQyxPQUFPLElBQUksTUFBTSxnQkFBZ0IsQ0FBQztBQVVsQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMs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
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { type TabProps, type TabsProps } from '../../../src/molecules/Tabs/Tabs';
|
3
|
-
import { Modal as BaseModal } from '../../../src/atoms/Modal/Modal';
|
3
|
+
import { Modal as BaseModal, type ModalSize } from '../../../src/atoms/Modal/Modal';
|
4
4
|
import { type AsyncActionType } from '../../../types/ActionType';
|
5
5
|
export declare type ModalProps = {
|
6
6
|
/** Required title. */
|
@@ -19,17 +19,12 @@ export declare type ModalProps = {
|
|
19
19
|
onClose: () => void;
|
20
20
|
/** Component content. */
|
21
21
|
children?: React.ComponentProps<typeof BaseModal.Body>['children'];
|
22
|
-
/** Optional size (width): sm, md, full */
|
23
|
-
size?:
|
22
|
+
/** Optional size (width): sm, md, full, screen */
|
23
|
+
size?: ModalSize;
|
24
24
|
/** Optional primary action. Maximum of one is allowed. */
|
25
25
|
primaryAction?: AsyncActionType;
|
26
26
|
/** Optional secondary actions. One or more can be provided. */
|
27
27
|
secondaryActions?: AsyncActionType | AsyncActionType[];
|
28
|
-
/**
|
29
|
-
* The container element in which the overlay portal will be placed.
|
30
|
-
* @default document.body
|
31
|
-
*/
|
32
|
-
portalContainer?: Element;
|
33
28
|
/**
|
34
29
|
* When true, modal can be closed using escape.
|
35
30
|
* @default true
|
@@ -10,64 +10,45 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
10
10
|
return t;
|
11
11
|
};
|
12
12
|
import React from 'react';
|
13
|
-
import {
|
14
|
-
import { Overlay, useModalOverlay } from '@react-aria/overlays';
|
15
|
-
import { useId } from '@react-aria/utils';
|
16
|
-
import { useOverlayTriggerState } from '@react-stately/overlays';
|
13
|
+
import { Dialog as AriaDialog, Modal as AriaModal, ModalOverlay as AriaModalOverlay } from 'react-aria-components';
|
17
14
|
import castArray from 'lodash/castArray';
|
18
15
|
import omit from 'lodash/omit';
|
19
|
-
import { Button
|
16
|
+
import { Button } from '../../../src/molecules/Button/Button';
|
20
17
|
import { createTabsComponent, ModalTab, ModalTabContainer, TabItem, } from '../../../src/molecules/Tabs/Tabs';
|
21
|
-
import { Modal as BaseModal } from '../../../src/atoms/Modal/Modal';
|
18
|
+
import { Modal as BaseModal, modalStyles } from '../../../src/atoms/Modal/Modal';
|
22
19
|
import { tw } from '../../../src/utils/tailwind';
|
23
20
|
import { isComponentType } from '../../../types/utils';
|
24
21
|
import cross from '../../../src/icons/cross';
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
const ref = React.useRef(null);
|
29
|
-
const state = useOverlayTriggerState({ isOpen: open, onOpenChange: (isOpen) => !isOpen && onClose() });
|
30
|
-
const { modalProps, underlayProps } = useModalOverlay({ isDismissable: false, isKeyboardDismissDisabled: !closeOnEsc }, state, ref);
|
31
|
-
if (!state.isOpen) {
|
22
|
+
import { ModalTitle } from './ModalTitle';
|
23
|
+
export const Modal = ({ open, onClose, closeOnEsc = true, size = 'md', headerImage, children, title, subtitle, primaryAction, secondaryActions, }) => {
|
24
|
+
if (!open) {
|
32
25
|
return null;
|
33
26
|
}
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
27
|
+
const styles = modalStyles({ kind: 'dialog', size });
|
28
|
+
const hasTabs = isComponentType(children, ModalTabs);
|
29
|
+
return (React.createElement(AriaModalOverlay, { isOpen: open, onOpenChange: (isOpen) => !isOpen && (onClose === null || onClose === void 0 ? void 0 : onClose()), isDismissable: false, isKeyboardDismissDisabled: !closeOnEsc, className: styles.overlay({ className: 'Aquarium-Modal' }) },
|
30
|
+
size !== 'screen' && React.createElement(BaseModal.BackDrop, { className: styles.backdrop() }),
|
31
|
+
React.createElement(AriaModal, { className: styles.dialog() },
|
32
|
+
React.createElement(AriaDialog, { className: "flex flex-col grow overflow-y-auto" }, ({ close }) => (React.createElement(React.Fragment, null,
|
33
|
+
React.createElement(BaseModal.CloseButtonContainer, null,
|
34
|
+
React.createElement(Button.Icon, { "aria-label": "Close", icon: cross, onClick: close })),
|
35
|
+
headerImage !== undefined && React.createElement(BaseModal.HeaderImage, { backgroundImage: headerImage }),
|
36
|
+
React.createElement(BaseModal.Header, { kind: "dialog", size: size, className: tw({ 'pb-3': isComponentType(children, ModalTabs) }) },
|
37
|
+
React.createElement(BaseModal.TitleContainer, null,
|
38
|
+
React.createElement(ModalTitle, { kind: "dialog" }, title),
|
39
|
+
subtitle && React.createElement(BaseModal.Subtitle, null, subtitle))),
|
40
|
+
hasTabs ? (React.cloneElement(children, { className: tw('[&>div:first-child]:px-5 grow') })) : (React.createElement(BaseModal.Body, { tabIndex: 0, noFooter: !(secondaryActions || primaryAction) }, children)),
|
41
|
+
(secondaryActions || primaryAction) && (React.createElement(BaseModal.Footer, null,
|
42
|
+
React.createElement(BaseModal.Actions, null,
|
43
|
+
secondaryActions &&
|
44
|
+
castArray(secondaryActions)
|
45
|
+
.filter(Boolean)
|
46
|
+
.map((_a) => {
|
47
|
+
var { text } = _a, action = __rest(_a, ["text"]);
|
48
|
+
return (React.createElement(Button.Secondary, Object.assign({ key: text }, action), text));
|
49
|
+
}),
|
50
|
+
primaryAction && (React.createElement(Button.Primary, Object.assign({ key: primaryAction.text }, omit(primaryAction, 'text')), primaryAction.text)))))))))));
|
38
51
|
};
|
39
|
-
const ModalWrapper = React.forwardRef((_a, ref) => {
|
40
|
-
var { title, subtitle, headerImage, primaryAction, secondaryActions, children, onClose } = _a, props = __rest(_a, ["title", "subtitle", "headerImage", "primaryAction", "secondaryActions", "children", "onClose"]);
|
41
|
-
const labelledBy = useId();
|
42
|
-
const describedBy = useId();
|
43
|
-
/*
|
44
|
-
* useDialog() also returns 'titleProps', but it doesn't work correctly
|
45
|
-
* in this case because the title id is set to null after the second render.
|
46
|
-
* The problem (most likely) is somewhere in this component which causes
|
47
|
-
* it render twice when it is opened and that causes the useSlotId() hook
|
48
|
-
* in react-aria to think that the title is not rendered correctly.
|
49
|
-
*/
|
50
|
-
const { dialogProps } = useDialog({ 'role': 'dialog', 'aria-labelledby': labelledBy, 'aria-describedby': describedBy }, ref);
|
51
|
-
return (React.createElement(BaseModal.Dialog, Object.assign({ ref: ref }, props, dialogProps, { tabIndex: -1 }),
|
52
|
-
React.createElement(BaseModal.CloseButtonContainer, null,
|
53
|
-
React.createElement(IconButton, { "aria-label": "Close", icon: cross, onClick: onClose })),
|
54
|
-
headerImage !== undefined && React.createElement(BaseModal.HeaderImage, { backgroundImage: headerImage }),
|
55
|
-
React.createElement(BaseModal.Header, { className: tw({ 'pb-3': isComponentType(children, ModalTabs) }) },
|
56
|
-
React.createElement(BaseModal.TitleContainer, null,
|
57
|
-
React.createElement(BaseModal.Title, { id: labelledBy }, title),
|
58
|
-
subtitle && React.createElement(BaseModal.Subtitle, null, subtitle))),
|
59
|
-
isComponentType(children, ModalTabs) ? (React.cloneElement(children, { className: tw('[&>div:first-child]:px-5 grow') })) : (React.createElement(BaseModal.Body, { id: describedBy, tabIndex: 0, noFooter: !(secondaryActions || primaryAction) }, children)),
|
60
|
-
(secondaryActions || primaryAction) && (React.createElement(BaseModal.Footer, null,
|
61
|
-
React.createElement(BaseModal.Actions, null,
|
62
|
-
secondaryActions &&
|
63
|
-
castArray(secondaryActions)
|
64
|
-
.filter(Boolean)
|
65
|
-
.map((_a) => {
|
66
|
-
var { text } = _a, action = __rest(_a, ["text"]);
|
67
|
-
return (React.createElement(Button.Secondary, Object.assign({ key: text }, action), text));
|
68
|
-
}),
|
69
|
-
primaryAction && (React.createElement(Button.Primary, Object.assign({ key: primaryAction.text }, omit(primaryAction, 'text')), primaryAction.text)))))));
|
70
|
-
});
|
71
52
|
export const ModalTabs = createTabsComponent(ModalTab, TabItem, 'ModalTabs', (children, selected, props) => (React.createElement(BaseModal.Body, { maxHeight: props.maxHeight },
|
72
53
|
React.createElement(ModalTabContainer, null, children.find((node, index) => (node === null || node === void 0 ? void 0 : node.props.value) === selected || index === selected)))));
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9sZWN1bGVzL01vZGFsL01vZGFsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxJQUFJLFVBQVUsRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFLFlBQVksSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ILE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUUvQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLE9BQU8sR0FJUixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxLQUFLLElBQUksU0FBUyxFQUFrQixXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUVwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBeUMxQyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQXlCLENBQUMsRUFDMUMsSUFBSSxFQUNKLE9BQU8sRUFDUCxVQUFVLEdBQUcsSUFBSSxFQUNqQixJQUFJLEdBQUcsSUFBSSxFQUNYLFdBQVcsRUFDWCxRQUFRLEVBQ1IsS0FBSyxFQUNMLFFBQVEsRUFDUixhQUFhLEVBQ2IsZ0JBQWdCLEdBQ2pCLEVBQUUsRUFBRTtJQUNILElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQztLQUNiO0lB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
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { Modal as BaseModal } from '../../../src/atoms/Modal/Modal';
|
3
|
+
declare type ModalTitleProps = React.ComponentProps<typeof BaseModal.Title>;
|
4
|
+
export declare const ModalTitle: ({ children, ...props }: ModalTitleProps) => React.JSX.Element;
|
5
|
+
export {};
|
@@ -0,0 +1,20 @@
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
12
|
+
import React from 'react';
|
13
|
+
import { HeadingContext, useContextProps } from 'react-aria-components';
|
14
|
+
import { Modal as BaseModal } from '../../../src/atoms/Modal/Modal';
|
15
|
+
export const ModalTitle = (_a) => {
|
16
|
+
var { children } = _a, props = __rest(_a, ["children"]);
|
17
|
+
const [ctxProps] = useContextProps(Object.assign(Object.assign({}, props), { slot: 'title' }), null, HeadingContext);
|
18
|
+
return (React.createElement(BaseModal.Title, Object.assign({ id: ctxProps.id }, props), children));
|
19
|
+
};
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kYWxUaXRsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvTW9kYWwvTW9kYWxUaXRsZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsS0FBSyxJQUFJLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTNELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEVBQXVDLEVBQUUsRUFBRTtRQUEzQyxFQUFFLFFBQVEsT0FBNkIsRUFBeEIsS0FBSyxjQUFwQixZQUFzQixDQUFGO0lBQzdDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxlQUFlLGlDQUFNLEtBQUssS0FBRSxJQUFJLEVBQUUsT0FBTyxLQUFJLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN0RixPQUFPLENBQ0wsb0JBQUMsU0FBUyxDQUFDLEtBQUssa0JBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLElBQU0sS0FBSyxHQUN4QyxRQUFRLENBQ08sQ0FDbkIsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
|
@@ -32,7 +32,7 @@ export const Pagination = ({ currentPage, totalPages, pageSize, hasNextPage, has
|
|
32
32
|
React.createElement(Button.Icon, { "aria-label": "Previous", onClick: () => onPageChange(currentPage - 1), icon: chevronLeft, disabled: !hasPreviousPage }),
|
33
33
|
React.createElement(Box, { paddingX: "4" },
|
34
34
|
React.createElement(Typography.Small, { color: "default" }, "Page")),
|
35
|
-
React.createElement(InputBase, { "aria-label": "Page", className: classNames(tw('text-center
|
35
|
+
React.createElement(InputBase, { "aria-label": "Page", className: classNames(tw('text-center'), 'no-arrows'), type: "number", min: 1, max: totalPages, value: value, onChange: ({ target: { value } }) => setValue(value), onKeyDown: ({ key, currentTarget }) => {
|
36
36
|
if (key === 'Enter') {
|
37
37
|
currentTarget.blur();
|
38
38
|
}
|
@@ -49,4 +49,4 @@ export const Pagination = ({ currentPage, totalPages, pageSize, hasNextPage, has
|
|
49
49
|
React.createElement(Button.Icon, { "aria-label": "Last", onClick: () => onPageChange(totalPages), icon: chevronForward, disabled: !hasNextPage })),
|
50
50
|
pageSizes && React.createElement("div", null)));
|
51
51
|
};
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnaW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvUGFnaW5hdGlvbi9QYWdpbmF0aW9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBRWpDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdwRCxPQUFPLGVBQWUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLGNBQWMsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLFdBQVcsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLFlBQVksTUFBTSx3QkFBd0IsQ0FBQztBQVlsRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQThCLENBQUMsRUFDcEQsV0FBVyxFQUNYLFVBQVUsRUFDVixRQUFRLEVBQ1IsV0FBVyxFQUNYLGVBQWUsRUFDZixZQUFZLEVBQ1osU0FBUyxFQUNULGdCQUFnQixHQUNqQixFQUFFLEVBQUU7SUFDSCxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQWtCLFdBQVcsQ0FBQyxDQUFDO0lBRXZFLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ25CLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4QixDQUFDLEVBQUUsQ0FB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
|
package/dist/styles.css
CHANGED
@@ -1077,6 +1077,9 @@ input[type='number'].no-arrows {
|
|
1077
1077
|
.mb-5{
|
1078
1078
|
margin-bottom: 16px;
|
1079
1079
|
}
|
1080
|
+
.mb-6{
|
1081
|
+
margin-bottom: 24px;
|
1082
|
+
}
|
1080
1083
|
.mb-\[-20px\]{
|
1081
1084
|
margin-bottom: -20px;
|
1082
1085
|
}
|
@@ -1260,6 +1263,9 @@ input[type='number'].no-arrows {
|
|
1260
1263
|
.h-auto{
|
1261
1264
|
height: auto;
|
1262
1265
|
}
|
1266
|
+
.h-dvh{
|
1267
|
+
height: 100dvh;
|
1268
|
+
}
|
1263
1269
|
.h-full{
|
1264
1270
|
height: 100%;
|
1265
1271
|
}
|
@@ -1335,6 +1341,9 @@ input[type='number'].no-arrows {
|
|
1335
1341
|
.w-auto{
|
1336
1342
|
width: auto;
|
1337
1343
|
}
|
1344
|
+
.w-dvw{
|
1345
|
+
width: 100dvw;
|
1346
|
+
}
|
1338
1347
|
.w-full{
|
1339
1348
|
width: 100%;
|
1340
1349
|
}
|
@@ -1362,9 +1371,6 @@ input[type='number'].no-arrows {
|
|
1362
1371
|
.max-w-\[320px\]{
|
1363
1372
|
max-width: 320px;
|
1364
1373
|
}
|
1365
|
-
.max-w-\[40px\]{
|
1366
|
-
max-width: 40px;
|
1367
|
-
}
|
1368
1374
|
.max-w-\[600px\]{
|
1369
1375
|
max-width: 600px;
|
1370
1376
|
}
|
@@ -1669,6 +1675,10 @@ input[type='number'].no-arrows {
|
|
1669
1675
|
border-radius: 9999px;
|
1670
1676
|
border-radius: var(--aquarium-border-radius-full);
|
1671
1677
|
}
|
1678
|
+
.rounded-none{
|
1679
|
+
border-radius: 0px;
|
1680
|
+
border-radius: var(--aquarium-border-radius-none);
|
1681
|
+
}
|
1672
1682
|
.rounded-sm{
|
1673
1683
|
border-radius: 0.125rem;
|
1674
1684
|
border-radius: var(--aquarium-border-radius-sm);
|
@@ -2761,6 +2771,10 @@ input[type='number'].no-arrows {
|
|
2761
2771
|
padding-left: 24px;
|
2762
2772
|
padding-right: 24px;
|
2763
2773
|
}
|
2774
|
+
.py-0{
|
2775
|
+
padding-top: 0px;
|
2776
|
+
padding-bottom: 0px;
|
2777
|
+
}
|
2764
2778
|
.py-1{
|
2765
2779
|
padding-top: 2px;
|
2766
2780
|
padding-bottom: 2px;
|