@televet/kibble-ui 1.9.0 → 1.10.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/build/components/Overlay/Modal/index.d.ts +7 -0
- package/build/components/Overlay/Modal/modal.component.d.ts +18 -0
- package/build/components/Overlay/Modal/modal.types.d.ts +1 -0
- package/build/components/Overlay/Modal/modalBody.component.d.ts +2 -0
- package/build/components/Overlay/Modal/modalCloseButton.component.d.ts +2 -0
- package/build/components/Overlay/Modal/modalFooter.component.d.ts +4 -0
- package/build/components/Overlay/Modal/modalFooterButtons.component.d.ts +10 -0
- package/build/components/Overlay/Modal/modalHeader.component.d.ts +6 -0
- package/build/components/Overlay/index.d.ts +1 -0
- package/build/components/hocs/index.d.ts +1 -0
- package/build/components/hocs/withDarkMode.d.ts +2 -0
- package/build/hooks/index.d.ts +1 -0
- package/build/hooks/useDisclosure.d.ts +1 -0
- package/build/index.js +73 -1
- package/build/index.js.map +1 -1
- package/build/theme/tokens/blur.d.ts +3 -11
- package/build/theme/tokens/fontWeights.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './modal.types';
|
|
2
|
+
export * as BetaModal from './modal.component';
|
|
3
|
+
export * from './modalHeader.component';
|
|
4
|
+
export * from './modalCloseButton.component';
|
|
5
|
+
export * from './modalBody.component';
|
|
6
|
+
export * from './modalFooter.component';
|
|
7
|
+
export * from './modalFooterButtons.component';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { ModalProps as ChakraModalProps } from '@chakra-ui/react';
|
|
3
|
+
import { FocusableElement } from '@chakra-ui/utils';
|
|
4
|
+
import { ModalSize } from './modal.types';
|
|
5
|
+
declare type ResponsiveBreakpoints = 'base' | 'md';
|
|
6
|
+
export interface ModalProps extends ChakraModalProps {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
isCentered?: boolean;
|
|
9
|
+
responsiveModalSizes?: Partial<Record<ResponsiveBreakpoints, ModalSize>>;
|
|
10
|
+
allowEscape?: boolean;
|
|
11
|
+
useFullScreenMobile?: boolean;
|
|
12
|
+
darkMode?: boolean;
|
|
13
|
+
initialFocusRef?: React.RefObject<FocusableElement>;
|
|
14
|
+
scrollBehavior?: 'inside' | 'outside';
|
|
15
|
+
size?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const Modal: ({ children, isOpen, onClose, isCentered, responsiveModalSizes, allowEscape, useFullScreenMobile, initialFocusRef, scrollBehavior, darkMode, size, ...rest }: ModalProps) => JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare type ModalSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | 'full';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ModalFooterProps as ChakraModalFooterProps } from '@chakra-ui/react';
|
|
2
|
+
export interface ModalFooterButtonProps extends ChakraModalFooterProps {
|
|
3
|
+
submitText?: string;
|
|
4
|
+
isLoading?: boolean;
|
|
5
|
+
isDestructive?: boolean;
|
|
6
|
+
onSubmit?: () => void;
|
|
7
|
+
allowCancel?: boolean;
|
|
8
|
+
onCancel?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const ModalFooterButtons: ({ submitText, isLoading, isDestructive, children, onSubmit, allowCancel, onCancel, ...rest }: ModalFooterButtonProps) => JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ModalHeaderProps as ChakraModalHeaderProps } from '@chakra-ui/react';
|
|
2
|
+
import { HeadingSize } from '../../Typography';
|
|
3
|
+
export interface ModalHeaderProps extends ChakraModalHeaderProps {
|
|
4
|
+
size?: HeadingSize;
|
|
5
|
+
}
|
|
6
|
+
export declare const ModalHeader: ({ size, children, ...rest }: ModalHeaderProps) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './withDarkMode';
|
package/build/hooks/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useDisclosure } from '@chakra-ui/react';
|
package/build/index.js
CHANGED
|
@@ -115,7 +115,7 @@ var Tag = function (_a) {
|
|
|
115
115
|
};
|
|
116
116
|
|
|
117
117
|
var blur = {
|
|
118
|
-
none: 0,
|
|
118
|
+
none: '0',
|
|
119
119
|
sm: '4px',
|
|
120
120
|
base: '8px',
|
|
121
121
|
md: '12px',
|
|
@@ -6582,6 +6582,68 @@ var BetaMenu = function (_a) {
|
|
|
6582
6582
|
React__default["default"].createElement(MenuList, __assign({}, listConfig, { menuItems: menuItems })))));
|
|
6583
6583
|
};
|
|
6584
6584
|
|
|
6585
|
+
var withDarkMode$1 = function (children, darkMode) {
|
|
6586
|
+
return darkMode ? React__default["default"].createElement(react.DarkMode, null, children) : React__default["default"].createElement(React__default["default"].Fragment, null, children);
|
|
6587
|
+
};
|
|
6588
|
+
|
|
6589
|
+
var Modal = function (_a) {
|
|
6590
|
+
var children = _a.children, isOpen = _a.isOpen, onClose = _a.onClose, _b = _a.isCentered, isCentered = _b === void 0 ? true : _b; _a.responsiveModalSizes; var _c = _a.allowEscape, allowEscape = _c === void 0 ? true : _c, _d = _a.useFullScreenMobile, useFullScreenMobile = _d === void 0 ? true : _d, initialFocusRef = _a.initialFocusRef, scrollBehavior = _a.scrollBehavior, darkMode = _a.darkMode, _e = _a.size, size = _e === void 0 ? 'xl' : _e, rest = __rest(_a, ["children", "isOpen", "onClose", "isCentered", "responsiveModalSizes", "allowEscape", "useFullScreenMobile", "initialFocusRef", "scrollBehavior", "darkMode", "size"]);
|
|
6591
|
+
var _f = useTheme(), colors = _f.colors, radii = _f.radii;
|
|
6592
|
+
var adaptiveBackgroundColor = useAdaptiveColor(colors.background);
|
|
6593
|
+
var backgroundColor = !darkMode ? adaptiveBackgroundColor : colors.background.dark;
|
|
6594
|
+
// Responsive values for full screen modals on phones.
|
|
6595
|
+
var fullScreenMobileSize = react.useBreakpointValue({ base: 'full', md: size });
|
|
6596
|
+
var fullScreenMobileBorderRadius = react.useBreakpointValue({ base: 0, md: radii.xl });
|
|
6597
|
+
var fullScreenMobileContentMargin = react.useBreakpointValue({ base: 0, md: 16 });
|
|
6598
|
+
var Modal = (React__default["default"].createElement(react.Modal, __assign({ closeOnEsc: allowEscape, closeOnOverlayClick: allowEscape, autoFocus: !!initialFocusRef, isOpen: isOpen, onClose: onClose, scrollBehavior: scrollBehavior, isCentered: isCentered, size: useFullScreenMobile ? fullScreenMobileSize : size, motionPreset: "slideInBottom" }, rest),
|
|
6599
|
+
React__default["default"].createElement(react.ModalOverlay, null),
|
|
6600
|
+
React__default["default"].createElement(react.ModalContent, { backgroundColor: backgroundColor, m: useFullScreenMobile ? fullScreenMobileContentMargin : 16, borderRadius: useFullScreenMobile ? fullScreenMobileBorderRadius : radii.xl }, children)));
|
|
6601
|
+
return withDarkMode$1(Modal, !!darkMode);
|
|
6602
|
+
};
|
|
6603
|
+
|
|
6604
|
+
var modal_component = /*#__PURE__*/Object.freeze({
|
|
6605
|
+
__proto__: null,
|
|
6606
|
+
Modal: Modal
|
|
6607
|
+
});
|
|
6608
|
+
|
|
6609
|
+
var ModalHeader = function (_a) {
|
|
6610
|
+
var _b = _a.size, size = _b === void 0 ? 'md' : _b, children = _a.children, rest = __rest(_a, ["size", "children"]);
|
|
6611
|
+
return (React__default["default"].createElement(react.ModalHeader, __assign({ px: 6, pt: 6, pb: 2 }, rest),
|
|
6612
|
+
React__default["default"].createElement(Heading, { size: size }, children)));
|
|
6613
|
+
};
|
|
6614
|
+
|
|
6615
|
+
var ModalCloseButton = function (_a) {
|
|
6616
|
+
var _b = _a.right, right = _b === void 0 ? 2 : _b, _c = _a.left, left = _c === void 0 ? 2 : _c, _d = _a.size, size = _d === void 0 ? 'md' : _d, rest = __rest(_a, ["right", "left", "size"]);
|
|
6617
|
+
var onClose = react.useModalContext().onClose;
|
|
6618
|
+
return (React__default["default"].createElement(Button, __assign({ variant: "ghostNeutral", onClick: onClose, iconName: "close", position: "absolute", right: right, top: left, size: size }, rest)));
|
|
6619
|
+
};
|
|
6620
|
+
|
|
6621
|
+
var ModalBody = function (_a) {
|
|
6622
|
+
var children = _a.children, rest = __rest(_a, ["children"]);
|
|
6623
|
+
return (React__default["default"].createElement(react.ModalBody, __assign({ py: 1 }, rest), children));
|
|
6624
|
+
};
|
|
6625
|
+
|
|
6626
|
+
var ModalFooter = function (_a) {
|
|
6627
|
+
var children = _a.children, rest = __rest(_a, ["children"]);
|
|
6628
|
+
return (React__default["default"].createElement(react.ModalFooter, __assign({ pb: 6 }, rest), children));
|
|
6629
|
+
};
|
|
6630
|
+
|
|
6631
|
+
var ModalFooterButtons = function (_a) {
|
|
6632
|
+
var _b = _a.submitText, submitText = _b === void 0 ? 'Submit' : _b, isLoading = _a.isLoading, isDestructive = _a.isDestructive; _a.children; var onSubmit = _a.onSubmit, _c = _a.allowCancel, allowCancel = _c === void 0 ? true : _c, onCancel = _a.onCancel, rest = __rest(_a, ["submitText", "isLoading", "isDestructive", "children", "onSubmit", "allowCancel", "onCancel"]);
|
|
6633
|
+
var onClose = react.useModalContext().onClose;
|
|
6634
|
+
var handleCancel = function () {
|
|
6635
|
+
if (onCancel) {
|
|
6636
|
+
onCancel();
|
|
6637
|
+
}
|
|
6638
|
+
onClose();
|
|
6639
|
+
};
|
|
6640
|
+
return (React__default["default"].createElement(react.ModalFooter, __assign({}, rest, { pb: 6 }),
|
|
6641
|
+
React__default["default"].createElement(react.Flex, { w: "100%" },
|
|
6642
|
+
allowCancel && (React__default["default"].createElement(Button, { variant: "tertiary", onClick: handleCancel }, "Cancel")),
|
|
6643
|
+
React__default["default"].createElement(react.Spacer, null),
|
|
6644
|
+
React__default["default"].createElement(Button, { onClick: onSubmit, isLoading: isLoading, variant: isDestructive ? 'primaryDestructive' : 'primary' }, submitText))));
|
|
6645
|
+
};
|
|
6646
|
+
|
|
6585
6647
|
// @ts-ignore
|
|
6586
6648
|
var theme = react.extendTheme({
|
|
6587
6649
|
styles: {
|
|
@@ -9400,6 +9462,10 @@ Object.defineProperty(exports, 'WrapItem', {
|
|
|
9400
9462
|
enumerable: true,
|
|
9401
9463
|
get: function () { return react.WrapItem; }
|
|
9402
9464
|
});
|
|
9465
|
+
Object.defineProperty(exports, 'useDisclosure', {
|
|
9466
|
+
enumerable: true,
|
|
9467
|
+
get: function () { return react.useDisclosure; }
|
|
9468
|
+
});
|
|
9403
9469
|
Object.defineProperty(exports, 'useRadioGroup', {
|
|
9404
9470
|
enumerable: true,
|
|
9405
9471
|
get: function () { return react.useRadioGroup; }
|
|
@@ -9412,6 +9478,7 @@ exports.Avatar = Avatar;
|
|
|
9412
9478
|
exports.AvatarConfig = AvatarConfig;
|
|
9413
9479
|
exports.AvatarGroup = AvatarGroup;
|
|
9414
9480
|
exports.BetaMenu = BetaMenu;
|
|
9481
|
+
exports.BetaModal = modal_component;
|
|
9415
9482
|
exports.Button = Button;
|
|
9416
9483
|
exports.ButtonSizeConfig = ButtonSizeConfig;
|
|
9417
9484
|
exports.ButtonVariantConfig = ButtonVariantConfig;
|
|
@@ -9424,6 +9491,11 @@ exports.Logo = Logo;
|
|
|
9424
9491
|
exports.MenuConfig = MenuConfig;
|
|
9425
9492
|
exports.MenuContext = MenuContext;
|
|
9426
9493
|
exports.MenuItemConfig = MenuItemConfig;
|
|
9494
|
+
exports.ModalBody = ModalBody;
|
|
9495
|
+
exports.ModalCloseButton = ModalCloseButton;
|
|
9496
|
+
exports.ModalFooter = ModalFooter;
|
|
9497
|
+
exports.ModalFooterButtons = ModalFooterButtons;
|
|
9498
|
+
exports.ModalHeader = ModalHeader;
|
|
9427
9499
|
exports.NotificationCounter = NotificationCounter;
|
|
9428
9500
|
exports.Radio = Radio;
|
|
9429
9501
|
exports.RadioConfig = RadioConfig;
|