@televet/kibble-ui 1.0.15 → 1.0.16-beta.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.
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { ButtonProps as ChakraButtonProps } from '@chakra-ui/react';
|
|
2
3
|
import { IconName } from '../Icon';
|
|
3
|
-
import { ButtonOptions } from '@chakra-ui/button/dist/declarations/src/button';
|
|
4
4
|
import { ButtonSize, ButtonVariant } from './button.types';
|
|
5
|
-
export interface ButtonProps extends
|
|
5
|
+
export interface ButtonProps extends ChakraButtonProps {
|
|
6
6
|
children?: ReactNode;
|
|
7
|
-
variant
|
|
8
|
-
size
|
|
7
|
+
variant?: ButtonVariant;
|
|
8
|
+
size?: ButtonSize;
|
|
9
9
|
iconName?: IconName;
|
|
10
10
|
iconPosition?: 'left' | 'right';
|
|
11
11
|
}
|
|
12
|
-
export declare const Button:
|
|
12
|
+
export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { IconColor, IconName, IconsSize } from './icon.types';
|
|
3
3
|
export interface IconProps {
|
|
4
4
|
name: IconName;
|
|
5
5
|
size?: IconsSize;
|
|
6
6
|
color?: IconColor;
|
|
7
7
|
}
|
|
8
|
-
export declare const Icon:
|
|
8
|
+
export declare const Icon: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<any>>;
|
package/build/index.js
CHANGED
|
@@ -762,26 +762,27 @@ var useAdaptiveColorMap = function (map, token) {
|
|
|
762
762
|
return react.useColorModeValue(map.light[token], map.dark[token]);
|
|
763
763
|
};
|
|
764
764
|
|
|
765
|
-
var Icon = function (_a) {
|
|
765
|
+
var Icon = React.forwardRef(function (_a, ref) {
|
|
766
766
|
var name = _a.name, _b = _a.size, size = _b === void 0 ? 'lg' : _b, _c = _a.color, color = _c === void 0 ? 'currentColor' : _c;
|
|
767
767
|
var colors = useTheme().colors;
|
|
768
768
|
var c = useAdaptiveColorMap(colors.icon, color);
|
|
769
769
|
var MappedIcon = IconMap[name];
|
|
770
770
|
var d = IconSizeMap[size] + 'px';
|
|
771
|
-
return React__default["default"].createElement(MappedIcon, { width: d, height: d, color: c });
|
|
772
|
-
};
|
|
771
|
+
return React__default["default"].createElement(MappedIcon, { ref: ref, width: d, height: d, color: c });
|
|
772
|
+
});
|
|
773
|
+
Icon.displayName = 'Icon';
|
|
773
774
|
|
|
774
775
|
var camelCaseToLabel = function (s) {
|
|
775
776
|
return s.replace(/([A-Z])/g, ' $1').replace(/^\w/, function (c) { return c.toUpperCase(); });
|
|
776
777
|
};
|
|
777
778
|
|
|
778
|
-
var Button = function (props) {
|
|
779
|
+
var Button = React.forwardRef(function (props, ref) {
|
|
779
780
|
var components = useTheme().components;
|
|
780
|
-
var _a = components.Button[props.variant], variant = _a.variant, light = _a.light, dark = _a.dark;
|
|
781
|
+
var _a = components.Button[props.variant || 'primary'], variant = _a.variant, light = _a.light, dark = _a.dark;
|
|
781
782
|
var bg = react.useColorModeValue(light.default, dark.default);
|
|
782
783
|
var color = react.useColorModeValue(light.content, dark.content);
|
|
783
784
|
var borderColor = react.useColorModeValue(light.border, dark.border);
|
|
784
|
-
var p =
|
|
785
|
+
var p = __assign(__assign({}, props), { variant: variant, bg: bg, color: color, borderColor: borderColor });
|
|
785
786
|
var hoverClass = {
|
|
786
787
|
bg: react.useColorModeValue(light.hover, dark.hover),
|
|
787
788
|
};
|
|
@@ -793,15 +794,16 @@ var Button = function (props) {
|
|
|
793
794
|
var ButtonIcon = React__default["default"].createElement(Icon, { size: p.size, name: p.iconName });
|
|
794
795
|
if (!p.children) {
|
|
795
796
|
var label = camelCaseToLabel(p.iconName);
|
|
796
|
-
return React__default["default"].createElement(react.IconButton, __assign({ _hover: hoverClass, _active: activeClass, "aria-label": label, icon: ButtonIcon }, p));
|
|
797
|
+
return (React__default["default"].createElement(react.IconButton, __assign({ ref: ref, _hover: hoverClass, _active: activeClass, "aria-label": label, icon: ButtonIcon }, p)));
|
|
797
798
|
}
|
|
798
799
|
else {
|
|
799
800
|
var position = p.iconPosition === 'right' ? 'rightIcon' : 'leftIcon';
|
|
800
801
|
p[position] = ButtonIcon;
|
|
801
802
|
}
|
|
802
803
|
}
|
|
803
|
-
return (React__default["default"].createElement(react.Button, __assign({ _hover: hoverClass, _active: activeClass }, p), props.children));
|
|
804
|
-
};
|
|
804
|
+
return (React__default["default"].createElement(react.Button, __assign({ ref: ref, _hover: hoverClass, _active: activeClass }, p), props.children));
|
|
805
|
+
});
|
|
806
|
+
Button.displayName = 'Button';
|
|
805
807
|
|
|
806
808
|
var baseColors = {
|
|
807
809
|
comet: {
|
|
@@ -1531,7 +1533,7 @@ var Tooltip = function (_a) {
|
|
|
1531
1533
|
var children = _a.children, label = _a.label, placement = _a.placement, isOpen = _a.isOpen, defaultIsOpen = _a.defaultIsOpen, rest = __rest(_a, ["children", "label", "placement", "isOpen", "defaultIsOpen"]);
|
|
1532
1534
|
var components = useTheme().components;
|
|
1533
1535
|
var bg = useAdaptiveColor(components.Tooltip.color);
|
|
1534
|
-
return (React__default["default"].createElement(react.Tooltip, __assign({ hasArrow: true, arrowSize: 10, label: label, placement: placement,
|
|
1536
|
+
return (React__default["default"].createElement(react.Tooltip, __assign({ hasArrow: true, arrowSize: 10, label: label, placement: placement, bg: bg, isOpen: isOpen, defaultIsOpen: defaultIsOpen }, rest), children));
|
|
1535
1537
|
};
|
|
1536
1538
|
|
|
1537
1539
|
var TooltipGlobalStyle = {
|
|
@@ -1594,7 +1596,7 @@ var TextareaConfig = {
|
|
|
1594
1596
|
// @ts-ignore
|
|
1595
1597
|
var theme = react.extendTheme({
|
|
1596
1598
|
styles: {
|
|
1597
|
-
|
|
1599
|
+
global: __assign({}, TooltipGlobalStyle),
|
|
1598
1600
|
},
|
|
1599
1601
|
blur: blur,
|
|
1600
1602
|
borders: borders,
|
|
@@ -1618,9 +1620,9 @@ var theme = react.extendTheme({
|
|
|
1618
1620
|
Text: TextConfig,
|
|
1619
1621
|
Heading: HeadingConfig,
|
|
1620
1622
|
Textarea: TextareaConfig,
|
|
1621
|
-
|
|
1623
|
+
Button: ButtonConfig,
|
|
1622
1624
|
Drawer: DrawerConfig,
|
|
1623
|
-
|
|
1625
|
+
Tooltip: TooltipConfig,
|
|
1624
1626
|
},
|
|
1625
1627
|
});
|
|
1626
1628
|
|