@televet/kibble-ui 1.13.2 → 1.14.0-beta.2f7t8x7.2

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.
@@ -0,0 +1,2 @@
1
+ import { PopoverBodyProps } from '@chakra-ui/react';
2
+ export declare const PopoverBody: ({ children, ...rest }: PopoverBodyProps) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { ButtonProps } from '../../../../Forms';
2
+ export declare const PopoverCloseButton: ({ right, left, size, ...rest }: ButtonProps) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { PopoverFooterProps as ChakraPopoverFooterProps } from '@chakra-ui/react';
2
+ export interface PopoverFooterProps extends ChakraPopoverFooterProps {
3
+ }
4
+ export declare const PopoverFooter: ({ children, ...rest }: PopoverFooterProps) => JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { PopoverFooterProps as ChakraPopoverFooterProps } from '@chakra-ui/react';
2
+ export interface PopoverFooterButtonProps extends ChakraPopoverFooterProps {
3
+ submitText?: string;
4
+ isLoading?: boolean;
5
+ isDisabled?: boolean;
6
+ isDestructive?: boolean;
7
+ onSubmit?: () => void;
8
+ allowCancel?: boolean;
9
+ onCancel?: () => void;
10
+ }
11
+ export declare const PopoverFooterButtons: ({ submitText, isLoading, isDisabled, isDestructive, children, onSubmit, allowCancel, onCancel, ...rest }: PopoverFooterButtonProps) => JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { PopoverHeaderProps as ChakraPopoverHeaderProps } from '@chakra-ui/react';
2
+ import { HeadingSize, TextColor } from '../../../../Typography';
3
+ export interface PopoverHeaderProps extends ChakraPopoverHeaderProps {
4
+ size?: HeadingSize;
5
+ colorToken?: TextColor;
6
+ }
7
+ export declare const PopoverHeader: ({ size, colorToken, children, ...rest }: PopoverHeaderProps) => JSX.Element;
@@ -0,0 +1,7 @@
1
+ export * from './popover.component';
2
+ export * from './popover.config';
3
+ export * from './components/PopoverBody/popoverBody.component';
4
+ export * from './components/PopoverFooter/popoverFooter.component';
5
+ export * from './components/PopoverCloseButton/popoverCloseButton.component';
6
+ export * from './components/PopoverHeader/popoverHeader.component';
7
+ export * from './components/PopoverFooterButtons/popoverFooterButtons.component';
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ import { PopoverProps as ChakraPopoverProps } from '@chakra-ui/react';
3
+ import { PopoverSize } from './popover.types';
4
+ import { Shadows } from '../../../theme/tokens';
5
+ export interface PopoverProps extends ChakraPopoverProps {
6
+ children: ReactNode;
7
+ popoverTrigger: ReactNode;
8
+ darkMode?: boolean;
9
+ allowEscape?: boolean;
10
+ size?: PopoverSize;
11
+ shadow?: Shadows;
12
+ }
13
+ export declare const Popover: ({ children, popoverTrigger, darkMode, allowEscape, size, shadow, ...rest }: PopoverProps) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PopoverSizeConfig } from './popover.types';
2
+ export declare const PopoverConfig: PopoverSizeConfig;
@@ -0,0 +1,6 @@
1
+ export declare type PopoverSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
2
+ interface SizeConfig {
3
+ width: number;
4
+ }
5
+ export declare type PopoverSizeConfig = Record<PopoverSize, SizeConfig>;
6
+ export {};
@@ -2,3 +2,4 @@ export * from './Drawer';
2
2
  export * from './Tooltip';
3
3
  export * from './Menu';
4
4
  export * from './Modal';
5
+ export * from './Popover';
package/build/index.js CHANGED
@@ -6902,6 +6902,65 @@ var ModalFooterButtons = function (_a) {
6902
6902
  React__default["default"].createElement(Button, { onClick: onSubmit, isLoading: isLoading, isDisabled: isDisabled, variant: isDestructive ? 'primaryDestructive' : 'primary' }, submitText))));
6903
6903
  };
6904
6904
 
6905
+ var Popover = function (_a) {
6906
+ var children = _a.children, popoverTrigger = _a.popoverTrigger, darkMode = _a.darkMode, _b = _a.allowEscape, allowEscape = _b === void 0 ? true : _b, _c = _a.size, size = _c === void 0 ? 'sm' : _c, shadow = _a.shadow, rest = __rest(_a, ["children", "popoverTrigger", "darkMode", "allowEscape", "size", "shadow"]);
6907
+ var _d = useTheme(), colors = _d.colors, components = _d.components;
6908
+ var width = components.Popover[size].width;
6909
+ var adaptiveBackground = useAdaptiveColor(colors.background);
6910
+ var bg = !darkMode ? adaptiveBackground : colors.background.dark;
6911
+ return (React__default["default"].createElement(react.Popover, __assign({}, rest, { closeOnBlur: allowEscape, closeOnEsc: allowEscape }),
6912
+ React__default["default"].createElement(react.PopoverTrigger, null, popoverTrigger),
6913
+ withDarkMode$1(React__default["default"].createElement(react.PopoverContent, { width: width, bg: bg, shadow: shadow },
6914
+ React__default["default"].createElement(react.PopoverArrow, { bg: bg }),
6915
+ children), !!darkMode)));
6916
+ };
6917
+
6918
+ var PopoverConfig = {
6919
+ xs: { width: 160 },
6920
+ sm: { width: 200 },
6921
+ md: { width: 260 },
6922
+ lg: { width: 320 },
6923
+ xl: { width: 480 },
6924
+ };
6925
+
6926
+ var PopoverBody = function (_a) {
6927
+ var children = _a.children, rest = __rest(_a, ["children"]);
6928
+ return (React__default["default"].createElement(react.PopoverBody, __assign({ pb: 3 }, rest), children));
6929
+ };
6930
+
6931
+ var PopoverFooter = function (_a) {
6932
+ var children = _a.children, rest = __rest(_a, ["children"]);
6933
+ return (React__default["default"].createElement(react.PopoverFooter, __assign({}, rest, { pb: 3, pt: 0, borderTop: 0 }), children));
6934
+ };
6935
+
6936
+ var PopoverCloseButton = function (_a) {
6937
+ var _b = _a.right, right = _b === void 0 ? 1 : _b, _c = _a.left, left = _c === void 0 ? 1 : _c, _d = _a.size, size = _d === void 0 ? 'xs' : _d, rest = __rest(_a, ["right", "left", "size"]);
6938
+ var onClose = react.usePopoverContext().onClose;
6939
+ return (React__default["default"].createElement(Button, __assign({ variant: "ghostNeutral", onClick: onClose, iconName: "close", position: "absolute", right: right, top: left, size: size }, rest)));
6940
+ };
6941
+
6942
+ var PopoverHeader = function (_a) {
6943
+ var _b = _a.size, size = _b === void 0 ? 'sm' : _b, colorToken = _a.colorToken, children = _a.children, rest = __rest(_a, ["size", "colorToken", "children"]);
6944
+ return (React__default["default"].createElement(react.PopoverHeader, __assign({ px: 3, pt: 3, pb: 0, borderBottom: 0 }, rest),
6945
+ React__default["default"].createElement(Heading, { size: size, colorToken: colorToken }, children)));
6946
+ };
6947
+
6948
+ var PopoverFooterButtons = function (_a) {
6949
+ var _b = _a.submitText, submitText = _b === void 0 ? 'Submit' : _b, isLoading = _a.isLoading, isDisabled = _a.isDisabled, 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", "isDisabled", "isDestructive", "children", "onSubmit", "allowCancel", "onCancel"]);
6950
+ var onClose = react.usePopoverContext().onClose;
6951
+ var handleCancel = function () {
6952
+ if (onCancel) {
6953
+ onCancel();
6954
+ }
6955
+ onClose();
6956
+ };
6957
+ return (React__default["default"].createElement(PopoverFooter, __assign({}, rest),
6958
+ React__default["default"].createElement(react.Flex, { w: "100%" },
6959
+ allowCancel && (React__default["default"].createElement(Button, { variant: "tertiary", size: "sm", onClick: handleCancel }, "Cancel")),
6960
+ React__default["default"].createElement(react.Spacer, null),
6961
+ React__default["default"].createElement(Button, { onClick: onSubmit, isLoading: isLoading, isDisabled: isDisabled, size: "sm", variant: isDestructive ? 'primaryDestructive' : 'primary' }, submitText))));
6962
+ };
6963
+
6905
6964
  // @ts-ignore
6906
6965
  var theme = react.extendTheme({
6907
6966
  styles: {
@@ -6939,6 +6998,7 @@ var theme = react.extendTheme({
6939
6998
  Tooltip: TooltipConfig,
6940
6999
  Avatar: AvatarConfig,
6941
7000
  Menu: MenuConfig,
7001
+ Popover: PopoverConfig,
6942
7002
  Tag: TagConfig,
6943
7003
  Tabs: TabsConfig,
6944
7004
  Radio: RadioConfig,
@@ -9772,6 +9832,13 @@ exports.ModalFooter = ModalFooter;
9772
9832
  exports.ModalFooterButtons = ModalFooterButtons;
9773
9833
  exports.ModalHeader = ModalHeader;
9774
9834
  exports.NotificationCounter = NotificationCounter;
9835
+ exports.Popover = Popover;
9836
+ exports.PopoverBody = PopoverBody;
9837
+ exports.PopoverCloseButton = PopoverCloseButton;
9838
+ exports.PopoverConfig = PopoverConfig;
9839
+ exports.PopoverFooter = PopoverFooter;
9840
+ exports.PopoverFooterButtons = PopoverFooterButtons;
9841
+ exports.PopoverHeader = PopoverHeader;
9775
9842
  exports.Radio = Radio;
9776
9843
  exports.RadioConfig = RadioConfig;
9777
9844
  exports.RadioGroup = WrappedRadioGroup;