@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 ButtonOptions {
5
+ export interface ButtonProps extends ChakraButtonProps {
6
6
  children?: ReactNode;
7
- variant: ButtonVariant;
8
- size: ButtonSize;
7
+ variant?: ButtonVariant;
8
+ size?: ButtonSize;
9
9
  iconName?: IconName;
10
10
  iconPosition?: 'left' | 'right';
11
11
  }
12
- export declare const Button: (props: ButtonProps) => JSX.Element;
12
+ export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
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: ({ name, size, color }: IconProps) => JSX.Element;
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 = structuredClone(__assign(__assign({}, props), { variant: variant, bg: bg, color: color, borderColor: borderColor }));
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, shouldWrapChildren: true, bg: bg, isOpen: isOpen, defaultIsOpen: defaultIsOpen }, rest), children));
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
- // global: { ...TooltipGlobalStyle },
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
- // Button: ButtonConfig,
1623
+ Button: ButtonConfig,
1622
1624
  Drawer: DrawerConfig,
1623
- // Tooltip: TooltipConfig,
1625
+ Tooltip: TooltipConfig,
1624
1626
  },
1625
1627
  });
1626
1628