@veracity/vui 0.0.9 → 0.0.11

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.
Files changed (117) hide show
  1. package/alert/alert.js +3 -3
  2. package/alert/alert.types.d.ts +2 -1
  3. package/alert/alertIcon.js +3 -3
  4. package/alert/alertTitle.d.ts +1 -1
  5. package/alert/alertTitle.js +1 -1
  6. package/alert/consts.js +17 -5
  7. package/avatar/avatar.d.ts +3 -4
  8. package/avatar/avatar.js +2 -2
  9. package/avatar/avatar.types.d.ts +2 -6
  10. package/box/box.d.ts +3 -4
  11. package/box/box.js +3 -4
  12. package/box/box.types.d.ts +2 -4
  13. package/button/button.d.ts +3 -4
  14. package/button/button.js +19 -14
  15. package/button/button.types.d.ts +9 -5
  16. package/button/buttonGroup.d.ts +3 -2
  17. package/button/buttonGroup.js +3 -4
  18. package/button/buttonGroup.types.d.ts +2 -4
  19. package/button/consts.d.ts +2 -0
  20. package/button/consts.js +26 -0
  21. package/button/theme.d.ts +1 -0
  22. package/button/theme.js +1 -0
  23. package/checkbox/checkbox.d.ts +3 -2
  24. package/checkbox/checkbox.js +5 -7
  25. package/checkbox/checkbox.types.d.ts +4 -6
  26. package/checkbox/checkboxGroup.d.ts +3 -2
  27. package/checkbox/checkboxGroup.js +3 -4
  28. package/checkbox/checkboxGroup.types.d.ts +2 -4
  29. package/divider/divider.d.ts +3 -2
  30. package/divider/divider.js +3 -4
  31. package/divider/divider.types.d.ts +2 -4
  32. package/heading/heading.d.ts +3 -4
  33. package/heading/heading.js +2 -4
  34. package/heading/heading.types.d.ts +2 -4
  35. package/icons/baseIcons/fad/fadSpinnerThird.d.ts +3 -0
  36. package/icons/baseIcons/fad/fadSpinnerThird.js +7 -0
  37. package/icons/baseIcons/fal/falSignIn.d.ts +3 -0
  38. package/icons/baseIcons/fal/falSignIn.js +7 -0
  39. package/icons/baseIcons/types.d.ts +1 -1
  40. package/icons/consts.js +2 -0
  41. package/input/consts.js +13 -7
  42. package/input/helpers.d.ts +2 -0
  43. package/input/helpers.js +9 -0
  44. package/input/input.d.ts +4 -5
  45. package/input/input.js +66 -13
  46. package/input/input.types.d.ts +10 -12
  47. package/input/theme.d.ts +0 -1
  48. package/input/theme.js +2 -4
  49. package/label/label.d.ts +3 -4
  50. package/label/label.js +5 -9
  51. package/label/label.types.d.ts +2 -5
  52. package/link/link.d.ts +3 -4
  53. package/link/link.js +4 -6
  54. package/link/link.types.d.ts +4 -5
  55. package/link/theme.d.ts +5 -0
  56. package/link/theme.js +14 -1
  57. package/list/list.d.ts +3 -2
  58. package/list/list.js +3 -4
  59. package/list/list.types.d.ts +2 -4
  60. package/list/listItem.d.ts +3 -2
  61. package/list/listItem.js +3 -4
  62. package/list/listItem.types.d.ts +2 -4
  63. package/p/p.d.ts +3 -4
  64. package/p/p.js +2 -4
  65. package/p/p.types.d.ts +2 -4
  66. package/package.json +1 -1
  67. package/radio/radio.d.ts +3 -2
  68. package/radio/radio.js +5 -7
  69. package/radio/radio.types.d.ts +4 -6
  70. package/radio/radioGroup.d.ts +3 -2
  71. package/radio/radioGroup.js +3 -4
  72. package/radio/radioGroup.types.d.ts +2 -4
  73. package/skeleton/skeleton.d.ts +3 -2
  74. package/skeleton/skeleton.js +3 -4
  75. package/skeleton/skeleton.types.d.ts +2 -4
  76. package/spinner/spinner.js +3 -4
  77. package/spinner/spinner.types.d.ts +2 -2
  78. package/svg/svg.d.ts +4 -3
  79. package/svg/svg.js +8 -8
  80. package/svg/svg.types.d.ts +3 -11
  81. package/switch/switch.d.ts +3 -2
  82. package/switch/switch.js +3 -4
  83. package/switch/switch.types.d.ts +2 -4
  84. package/switch/switchButton.d.ts +5 -4
  85. package/switch/switchButton.js +6 -9
  86. package/switch/switchButton.types.d.ts +2 -8
  87. package/system/animations.d.ts +9 -7
  88. package/system/backgrounds.d.ts +8 -8
  89. package/system/borders.d.ts +138 -129
  90. package/system/colors.d.ts +1 -2
  91. package/system/effects.d.ts +15 -12
  92. package/system/flexboxes.d.ts +43 -54
  93. package/system/index.d.ts +2 -0
  94. package/system/index.js +7 -0
  95. package/system/interactivity.d.ts +17 -23
  96. package/system/layout.d.ts +69 -74
  97. package/system/sizing.d.ts +27 -27
  98. package/system/space.d.ts +89 -87
  99. package/system/system.d.ts +17 -0
  100. package/system/system.js +5 -0
  101. package/system/transforms.d.ts +53 -53
  102. package/system/transitions.d.ts +20 -25
  103. package/system/typography.d.ts +68 -61
  104. package/t/t.d.ts +3 -4
  105. package/t/t.js +2 -4
  106. package/t/t.types.d.ts +2 -4
  107. package/textarea/helpers.d.ts +2 -0
  108. package/textarea/helpers.js +9 -0
  109. package/textarea/textarea.d.ts +5 -5
  110. package/textarea/textarea.js +79 -10
  111. package/textarea/textarea.types.d.ts +22 -4
  112. package/textarea/theme.d.ts +7 -3
  113. package/textarea/theme.js +7 -4
  114. package/theme/components.d.ts +12 -4
  115. package/theme/defaultTheme.d.ts +12 -4
  116. package/theme/foundations/animations.js +6 -6
  117. package/tile/tile.types.d.ts +2 -4
package/alert/alert.js CHANGED
@@ -58,9 +58,9 @@ var core_1 = require("../core");
58
58
  var utils_1 = require("../utils");
59
59
  exports.Alert = core_1.vui(function (props, ref) {
60
60
  var _a;
61
- var action = props.action, children = props.children, className = props.className, _b = props.colorScheme, colorSchemeProp = _b === void 0 ? 'blue' : _b, iconProp = props.icon, isVertical = props.isVertical, onClose = props.onClose, size = props.size, status = props.status, statusMapping = props.statusMapping, text = props.text, title = props.title, variant = props.variant, rest = __rest(props, ["action", "children", "className", "colorScheme", "icon", "isVertical", "onClose", "size", "status", "statusMapping", "text", "title", "variant"]);
61
+ var action = props.action, children = props.children, className = props.className, _b = props.colorScheme, colorSchemeProp = _b === void 0 ? 'blue' : _b, icon = props.icon, isVertical = props.isVertical, onClose = props.onClose, size = props.size, _c = props.status, status = _c === void 0 ? '' : _c, statusMapping = props.statusMapping, text = props.text, title = props.title, variant = props.variant, rest = __rest(props, ["action", "children", "className", "colorScheme", "icon", "isVertical", "onClose", "size", "status", "statusMapping", "text", "title", "variant"]);
62
62
  var statuses = __assign(__assign({}, consts_1.alertStatusMapping), statusMapping);
63
- var _c = (_a = (status && statuses[status])) !== null && _a !== void 0 ? _a : {}, _d = _c.colorScheme, colorScheme = _d === void 0 ? colorSchemeProp : _d, _e = _c.icon, icon = _e === void 0 ? iconProp : _e;
63
+ var _d = ((_a = statuses[status]) !== null && _a !== void 0 ? _a : {}).colorScheme, colorScheme = _d === void 0 ? colorSchemeProp : _d;
64
64
  var styles = core_1.useStyleConfig('Alert', __assign({ colorScheme: colorScheme }, props));
65
65
  var context = react_1.useMemo(function () { return utils_1.filterUndefined({ colorScheme: colorScheme, isVertical: isVertical, size: size, status: status, variant: variant }); }, [
66
66
  colorScheme,
@@ -71,7 +71,7 @@ exports.Alert = core_1.vui(function (props, ref) {
71
71
  ]);
72
72
  return (react_1.default.createElement(context_1.AlertProvider, { value: context },
73
73
  react_1.default.createElement(box_1.default, __assign({ borderRadius: "md", className: utils_1.cs('vui-alert', className), px: 1.5, py: 1, ref: ref, w: "fit-content" }, styles.container, rest), children ? (children) : (react_1.default.createElement(react_1.default.Fragment, null,
74
- typeof icon === 'string' ? (react_1.default.createElement(alertIcon_1.default, { animation: status === 'loading' ? 'spin' : undefined, icon: icon })) : (icon),
74
+ status ? react_1.default.createElement(alertIcon_1.default, null) : typeof icon === 'string' ? react_1.default.createElement(alertIcon_1.default, { icon: icon }) : icon,
75
75
  react_1.default.createElement(alertMessage_1.default, null,
76
76
  title && react_1.default.createElement(alertTitle_1.default, null, title),
77
77
  text && react_1.default.createElement(alertText_1.default, null, text)),
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { BoxProps } from '../box';
3
+ import { IconProps } from '../icon';
3
4
  import { ThemingProps } from '../theme';
4
5
  export interface AlertProps extends Omit<BoxProps, 'size' | 'variant'>, ThemingProps<'Alert'> {
5
6
  action?: React.ReactElement;
@@ -15,5 +16,5 @@ export interface AlertProps extends Omit<BoxProps, 'size' | 'variant'>, ThemingP
15
16
  export declare type AlertStatus = 'error' | 'info' | 'loading' | 'success' | 'warning';
16
17
  export declare type AlertStatusMapping = Record<string, {
17
18
  colorScheme?: AlertProps['colorScheme'];
18
- icon: AlertProps['icon'];
19
+ iconProps: IconProps;
19
20
  }>;
@@ -25,9 +25,9 @@ exports.AlertIcon = core_1.vui(function (props, ref) {
25
25
  var alertProps = (_a = context_1.useAlert()) !== null && _a !== void 0 ? _a : {};
26
26
  var mergedProps = __assign(__assign({}, alertProps), props);
27
27
  var styles = core_1.useStyleConfig('Alert', mergedProps);
28
- var status = mergedProps.status;
29
- var icon = ((_b = (status && consts_1.alertStatusMapping[status])) !== null && _b !== void 0 ? _b : {}).icon;
30
- return (react_1.default.createElement(icon_1.default, __assign({ animation: status === 'loading' ? 'spin' : undefined, className: "vui-alertIcon", icon: icon, mr: 1, my: 0.5, ref: ref, size: "md" }, styles.icon, props)));
28
+ var _c = mergedProps.status, status = _c === void 0 ? '' : _c;
29
+ var iconProps = ((_b = consts_1.alertStatusMapping[status]) !== null && _b !== void 0 ? _b : {}).iconProps;
30
+ return (react_1.default.createElement(icon_1.default, __assign({ className: "vui-alertIcon", mr: 1, my: 0.5, ref: ref, size: "md" }, styles.icon, iconProps, props)));
31
31
  });
32
32
  exports.AlertIcon.displayName = 'AlertIcon';
33
33
  exports.default = exports.AlertIcon;
@@ -1,3 +1,3 @@
1
1
  import { HeadingProps } from '../heading';
2
- export declare const AlertTitle: import("../core").VuiComponent<"h2", HeadingProps>;
2
+ export declare const AlertTitle: import("../core").VuiComponent<"h6", HeadingProps>;
3
3
  export default AlertTitle;
@@ -24,7 +24,7 @@ exports.AlertTitle = core_1.vui(function (props, ref) {
24
24
  var alertProps = (_a = context_1.useAlert()) !== null && _a !== void 0 ? _a : {};
25
25
  var mergedProps = __assign(__assign({}, alertProps), props);
26
26
  var styles = core_1.useStyleConfig('Alert', mergedProps);
27
- return react_1.default.createElement(heading_1.H2, __assign({ className: "vui-alertTitle", lineHeight: 1.5, mr: 1, ref: ref }, styles.title, props));
27
+ return react_1.default.createElement(heading_1.H6, __assign({ className: "vui-alertTitle", lineHeight: 1.5, mr: 1, ref: ref }, styles.title, props));
28
28
  });
29
29
  exports.AlertTitle.displayName = 'AlertTitle';
30
30
  exports.default = exports.AlertTitle;
package/alert/consts.js CHANGED
@@ -4,22 +4,34 @@ exports.alertStatusMapping = void 0;
4
4
  exports.alertStatusMapping = {
5
5
  error: {
6
6
  colorScheme: 'red',
7
- icon: 'falTimesCircle'
7
+ iconProps: {
8
+ icon: 'falTimesCircle'
9
+ }
8
10
  },
9
11
  info: {
10
12
  colorScheme: 'blue',
11
- icon: 'falInfoCircle'
13
+ iconProps: {
14
+ icon: 'falInfoCircle'
15
+ }
12
16
  },
13
17
  loading: {
14
18
  colorScheme: 'blue',
15
- icon: 'falSpinner'
19
+ iconProps: {
20
+ animation: 'vui-spin 0.6s linear infinite',
21
+ fill: ['blue.40', 'blue.60'],
22
+ icon: 'fadSpinnerThird'
23
+ }
16
24
  },
17
25
  success: {
18
26
  colorScheme: 'green',
19
- icon: 'falCheckCircle'
27
+ iconProps: {
28
+ icon: 'falCheckCircle'
29
+ }
20
30
  },
21
31
  warning: {
22
32
  colorScheme: 'yellow',
23
- icon: 'falExclamationCircle'
33
+ iconProps: {
34
+ icon: 'falExclamationCircle'
35
+ }
24
36
  }
25
37
  };
@@ -1,6 +1,5 @@
1
- import { AvatarProps, AvatarStyleProps } from './avatar.types';
2
- export declare const AvatarBase: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, AvatarStyleProps & {
3
- color?: any;
4
- }, never>;
1
+ import { AvatarProps } from './avatar.types';
2
+ import { SystemProps } from '../system';
3
+ export declare const AvatarBase: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, SystemProps, never>;
5
4
  export declare const Avatar: import("../core").VuiComponent<"span", AvatarProps>;
6
5
  export default Avatar;
package/avatar/avatar.js CHANGED
@@ -51,10 +51,10 @@ var react_1 = __importDefault(require("react"));
51
51
  var styled_components_2 = __importDefault(require("styled-components"));
52
52
  var core_1 = require("../core");
53
53
  var icon_1 = __importDefault(require("../icon"));
54
+ var system_1 = require("../system");
54
55
  var utils_1 = require("../utils");
55
- var generator = styled_components_1.compose(styled_components_1.backgroundColor, styled_components_1.borders, styled_components_1.interactivity, styled_components_1.sizing, styled_components_1.space, styled_components_1.transitions, styled_components_1.typography);
56
56
  var AvatarImage = styled_components_2.default.img(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\theight: 100%;\n\twidth: 100%;\n\n\t", "\n"], ["\n\theight: 100%;\n\twidth: 100%;\n\n\t", "\n"])), styled_components_1.borders);
57
- exports.AvatarBase = styled_components_2.default.span.withConfig(core_1.forwardPropConfig(generator))(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n\talign-items: center;\n\tdisplay: inline-flex;\n\tflex-shrink: 0;\n\tjustify-content: center;\n\tline-height: normal;\n\toutline: none;\n\n\t&:focus {\n\t\tborder-color: transparent;\n\t}\n\n\t", "\n"], ["\n\talign-items: center;\n\tdisplay: inline-flex;\n\tflex-shrink: 0;\n\tjustify-content: center;\n\tline-height: normal;\n\toutline: none;\n\n\t&:focus {\n\t\tborder-color: transparent;\n\t}\n\n\t", "\n"])), generator);
57
+ exports.AvatarBase = styled_components_2.default.span.withConfig(core_1.forwardPropConfig(system_1.system))(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n\talign-items: center;\n\tdisplay: inline-flex;\n\tflex-shrink: 0;\n\tjustify-content: center;\n\tline-height: normal;\n\toutline: none;\n\n\t&:focus {\n\t\tborder-color: transparent;\n\t}\n\n\t", "\n"], ["\n\talign-items: center;\n\tdisplay: inline-flex;\n\tflex-shrink: 0;\n\tjustify-content: center;\n\tline-height: normal;\n\toutline: none;\n\n\t&:focus {\n\t\tborder-color: transparent;\n\t}\n\n\t", "\n"])), system_1.system);
58
58
  function defaultGetInitials(name) {
59
59
  if (name === void 0) { name = ''; }
60
60
  var _a = __read(name.split(' '), 2), _b = _a[0], first = _b === void 0 ? '' : _b, _c = _a[1], last = _c === void 0 ? '' : _c;
@@ -1,9 +1,7 @@
1
1
  import { IconProp } from '../icon';
2
- import { BackgroundColorProps, BordersProps, InteractivityProps, SizingProps, SpaceProps, TransitionsProps, TypographyProps } from '../system';
2
+ import { SystemProps } from '../system';
3
3
  import { ThemingProps } from '../theme';
4
- export interface AvatarImageStyleProps extends BordersProps {
5
- }
6
- export interface AvatarProps extends AvatarStyleProps, ThemingProps<'Avatar'> {
4
+ export interface AvatarProps extends SystemProps, ThemingProps<'Avatar'> {
7
5
  colorScheme?: 'blue' | 'green' | 'grey' | 'prussian' | 'red' | 'yellow';
8
6
  getInitials?: (name: string) => string;
9
7
  icon?: IconProp;
@@ -12,5 +10,3 @@ export interface AvatarProps extends AvatarStyleProps, ThemingProps<'Avatar'> {
12
10
  name?: string;
13
11
  src?: string;
14
12
  }
15
- export interface AvatarStyleProps extends BackgroundColorProps, BordersProps, InteractivityProps, SizingProps, SpaceProps, TransitionsProps, TypographyProps {
16
- }
package/box/box.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { BoxProps, BoxStyleProps } from './box.types';
2
- export declare const BoxBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, BoxStyleProps & {
3
- color?: any;
4
- }, never>;
1
+ import { BoxProps } from './box.types';
2
+ import { SystemProps } from '../system';
3
+ export declare const BoxBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, SystemProps, never>;
5
4
  export declare const Box: import("../core").VuiComponent<"div", BoxProps>;
6
5
  export default Box;
package/box/box.js CHANGED
@@ -30,13 +30,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
32
  exports.Box = exports.BoxBase = void 0;
33
- var styled_components_1 = require("@xstyled/styled-components");
34
33
  var react_1 = __importDefault(require("react"));
35
- var styled_components_2 = __importDefault(require("styled-components"));
34
+ var styled_components_1 = __importDefault(require("styled-components"));
36
35
  var core_1 = require("../core");
36
+ var system_1 = require("../system");
37
37
  var utils_1 = require("../utils");
38
- var generator = styled_components_1.compose(styled_components_1.backgroundColor, styled_components_1.borders, styled_components_1.color, styled_components_1.effects, styled_components_1.flexboxes, styled_components_1.interactivity, styled_components_1.layout, styled_components_1.sizing, styled_components_1.space, styled_components_1.transitions, styled_components_1.typography);
39
- exports.BoxBase = styled_components_2.default.div.withConfig(core_1.forwardPropConfig(generator))(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tdisplay: flex;\n\n\t", "\n"], ["\n\tdisplay: flex;\n\n\t", "\n"])), generator);
38
+ exports.BoxBase = styled_components_1.default.div.withConfig(core_1.forwardPropConfig(system_1.system))(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tdisplay: flex;\n\n\t", "\n"], ["\n\tdisplay: flex;\n\n\t", "\n"])), system_1.system);
40
39
  exports.Box = core_1.vui(function (props, ref) {
41
40
  var _a = core_1.omitThemingProps(props), align = _a.align, center = _a.center, centerH = _a.centerH, centerV = _a.centerV, className = _a.className, column = _a.column, direction = _a.direction, hoverShadow = _a.hoverShadow, justify = _a.justify, radius = _a.radius, shadow = _a.shadow, wrap = _a.wrap, rest = __rest(_a, ["align", "center", "centerH", "centerV", "className", "column", "direction", "hoverShadow", "justify", "radius", "shadow", "wrap"]);
42
41
  var styles = core_1.useStyleConfig('Box', props);
@@ -1,6 +1,6 @@
1
- import { BackgroundColorProps, BordersProps, ColorProps, EffectsProps, FlexboxesProps, InteractivityProps, LayoutProps, SizingProps, SpaceProps, TransitionsProps, TypographyProps } from '../system';
1
+ import { BordersProps, EffectsProps, FlexboxesProps, SystemProps } from '../system';
2
2
  import { ThemingProps } from '../theme';
3
- export interface BoxProps extends BoxStyleProps, ThemingProps<'Box'> {
3
+ export interface BoxProps extends SystemProps, ThemingProps<'Box'> {
4
4
  align?: FlexboxesProps['alignItems'];
5
5
  center?: boolean;
6
6
  centerH?: boolean;
@@ -13,5 +13,3 @@ export interface BoxProps extends BoxStyleProps, ThemingProps<'Box'> {
13
13
  shadow?: EffectsProps['boxShadow'];
14
14
  wrap?: boolean;
15
15
  }
16
- export interface BoxStyleProps extends BackgroundColorProps, BordersProps, ColorProps, EffectsProps, FlexboxesProps, InteractivityProps, LayoutProps, SizingProps, SpaceProps, TransitionsProps, TypographyProps {
17
- }
@@ -1,6 +1,5 @@
1
- import { ButtonProps, ButtonStyleProps } from './button.types';
2
- export declare const ButtonBase: import("styled-components").StyledComponent<"button", import("styled-components").DefaultTheme, ButtonStyleProps & {
3
- color?: any;
4
- }, never>;
1
+ import { ButtonProps } from './button.types';
2
+ import { SystemProps } from '../system';
3
+ export declare const ButtonBase: import("styled-components").StyledComponent<"button", import("styled-components").DefaultTheme, SystemProps, never>;
5
4
  export declare const Button: import("../core").VuiComponent<"button", ButtonProps>;
6
5
  export default Button;
package/button/button.js CHANGED
@@ -30,25 +30,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
32
  exports.Button = exports.ButtonBase = void 0;
33
- var styled_components_1 = require("@xstyled/styled-components");
34
33
  var react_1 = __importDefault(require("react"));
35
- var styled_components_2 = __importDefault(require("styled-components"));
34
+ var styled_components_1 = __importDefault(require("styled-components"));
35
+ var consts_1 = require("./consts");
36
36
  var context_1 = require("./context");
37
37
  var core_1 = require("../core");
38
38
  var icon_1 = __importDefault(require("../icon"));
39
+ var system_1 = require("../system");
39
40
  var utils_1 = require("../utils");
40
- var generator = styled_components_1.compose(styled_components_1.backgroundColor, styled_components_1.borders, styled_components_1.color, styled_components_1.effects, styled_components_1.flexboxes, styled_components_1.fontSize, styled_components_1.fontWeight, styled_components_1.pointerEvents, styled_components_1.sizing, styled_components_1.space, styled_components_1.transitions);
41
- var ContentWrapper = styled_components_2.default.span(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tvisibility: hidden;\n"], ["\n\tvisibility: hidden;\n"])));
42
- var LoadingWrapper = styled_components_2.default.span(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n\tbottom: 0;\n\tdisplay: flex;\n\tleft: 0;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n"], ["\n\tbottom: 0;\n\tdisplay: flex;\n\tleft: 0;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n"])));
43
- exports.ButtonBase = styled_components_2.default.button.withConfig(core_1.forwardPropConfig(generator))(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n\talign-items: center;\n\tdisplay: flex;\n\tflex-shrink: 0;\n\tjustify-content: center;\n\tline-height: normal;\n\tposition: relative;\n\tuser-select: none;\n\twidth: fit-content;\n\n\t&:focus {\n\t\tborder-color: transparent;\n\t\toutline: none;\n\t\tz-index: 1;\n\t}\n\n\t", "\n\n\t&:disabled {\n\t\t/* Specified here to avoid conflict with active/hover props */\n\t\tbackground-color: var(--vui-colors-disabled-bg);\n\t\tborder-color: var(--vui-colors-disabled-border);\n\t\tcolor: var(--vui-colors-disabled-font);\n\t\tcursor: not-allowed;\n\t}\n"], ["\n\talign-items: center;\n\tdisplay: flex;\n\tflex-shrink: 0;\n\tjustify-content: center;\n\tline-height: normal;\n\tposition: relative;\n\tuser-select: none;\n\twidth: fit-content;\n\n\t&:focus {\n\t\tborder-color: transparent;\n\t\toutline: none;\n\t\tz-index: 1;\n\t}\n\n\t", "\n\n\t&:disabled {\n\t\t/* Specified here to avoid conflict with active/hover props */\n\t\tbackground-color: var(--vui-colors-disabled-bg);\n\t\tborder-color: var(--vui-colors-disabled-border);\n\t\tcolor: var(--vui-colors-disabled-font);\n\t\tcursor: not-allowed;\n\t}\n"])), generator);
41
+ var ContentWrapper = styled_components_1.default.span(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tvisibility: hidden;\n"], ["\n\tvisibility: hidden;\n"])));
42
+ var StateWrapper = styled_components_1.default.span.withConfig(core_1.forwardPropConfig(system_1.system))(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n\tbottom: 0;\n\tdisplay: flex;\n\tleft: 0;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\n\t", "\n"], ["\n\tbottom: 0;\n\tdisplay: flex;\n\tleft: 0;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\n\t", "\n"])), system_1.system);
43
+ exports.ButtonBase = styled_components_1.default.button.withConfig(core_1.forwardPropConfig(system_1.system))(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n\talign-items: center;\n\tdisplay: flex;\n\tflex-shrink: 0;\n\tjustify-content: center;\n\tline-height: normal;\n\toverflow: hidden;\n\tposition: relative;\n\tuser-select: none;\n\twidth: fit-content;\n\n\t&:focus {\n\t\tborder-color: transparent;\n\t\toutline: none;\n\t\tz-index: 1;\n\t}\n\n\t", "\n\n\t&:disabled {\n\t\t/* Specified here to avoid conflict with active/hover props */\n\t\tbackground-color: var(--vui-colors-disabled-bg);\n\t\tborder-color: var(--vui-colors-disabled-border);\n\t\tcolor: var(--vui-colors-disabled-font);\n\t\tcursor: not-allowed;\n\t}\n"], ["\n\talign-items: center;\n\tdisplay: flex;\n\tflex-shrink: 0;\n\tjustify-content: center;\n\tline-height: normal;\n\toverflow: hidden;\n\tposition: relative;\n\tuser-select: none;\n\twidth: fit-content;\n\n\t&:focus {\n\t\tborder-color: transparent;\n\t\toutline: none;\n\t\tz-index: 1;\n\t}\n\n\t", "\n\n\t&:disabled {\n\t\t/* Specified here to avoid conflict with active/hover props */\n\t\tbackground-color: var(--vui-colors-disabled-bg);\n\t\tborder-color: var(--vui-colors-disabled-border);\n\t\tcolor: var(--vui-colors-disabled-font);\n\t\tcursor: not-allowed;\n\t}\n"])), system_1.system);
44
44
  exports.Button = core_1.vui(function (props, ref) {
45
- var _a;
45
+ var _a, _b;
46
46
  var buttonGroupProps = context_1.useButtonGroup();
47
47
  var mergedProps = __assign(__assign({}, buttonGroupProps), props);
48
- var _b = core_1.omitThemingProps(mergedProps), borderWidthProp = _b.borderWidth, children = _b.children, className = _b.className, disabled = _b.disabled, icon = _b.icon, iconLeftProp = _b.iconLeft, iconRightProp = _b.iconRight, isElevated = _b.isElevated, isFullWidth = _b.isFullWidth, isLoading = _b.isLoading, isRound = _b.isRound, isSplit = _b.isSplit, itemLeftProp = _b.itemLeft, itemRightProp = _b.itemRight, text = _b.text, rest = __rest(_b, ["borderWidth", "children", "className", "disabled", "icon", "iconLeft", "iconRight", "isElevated", "isFullWidth", "isLoading", "isRound", "isSplit", "itemLeft", "itemRight", "text"]);
49
- var _c = core_1.useStyleConfig('Button', mergedProps), borderWidth = _c.borderWidth, h = _c.h, _d = _c.iconSize, iconSize = _d === void 0 ? 'md' : _d, minW = _c.minW, _e = _c.spaceX, spaceXBase = _e === void 0 ? 0 : _e, styles = __rest(_c, ["borderWidth", "h", "iconSize", "minW", "spaceX"]);
50
- var Content = isLoading ? ContentWrapper : react_1.default.Fragment;
51
- var border = (_a = borderWidthProp !== null && borderWidthProp !== void 0 ? borderWidthProp : borderWidth) !== null && _a !== void 0 ? _a : 0;
48
+ var _c = core_1.omitThemingProps(mergedProps), borderWidthProp = _c.borderWidth, children = _c.children, className = _c.className, disabled = _c.disabled, icon = _c.icon, iconLeftProp = _c.iconLeft, iconRightProp = _c.iconRight, isElevated = _c.isElevated, isFullWidth = _c.isFullWidth,
49
+ // isLoading,
50
+ isRound = _c.isRound, isSplit = _c.isSplit, itemLeftProp = _c.itemLeft, itemRightProp = _c.itemRight, _d = _c.state, state = _d === void 0 ? '' : _d, stateMapping = _c.stateMapping, text = _c.text, rest = __rest(_c, ["borderWidth", "children", "className", "disabled", "icon", "iconLeft", "iconRight", "isElevated", "isFullWidth", "isRound", "isSplit", "itemLeft", "itemRight", "state", "stateMapping", "text"]);
51
+ var hasState = Boolean(state);
52
+ var states = __assign(__assign({}, consts_1.buttonStateMapping), stateMapping);
53
+ var _e = (_a = states[state]) !== null && _a !== void 0 ? _a : {}, iconProps = _e.iconProps, stateProps = __rest(_e, ["iconProps"]);
54
+ var _f = core_1.useStyleConfig('Button', mergedProps), borderWidth = _f.borderWidth, h = _f.h, _g = _f.iconSize, iconSize = _g === void 0 ? 'md' : _g, minW = _f.minW, _h = _f.spaceX, spaceXBase = _h === void 0 ? 0 : _h, styles = __rest(_f, ["borderWidth", "h", "iconSize", "minW", "spaceX"]);
55
+ var Content = hasState ? ContentWrapper : react_1.default.Fragment;
56
+ var border = (_b = borderWidthProp !== null && borderWidthProp !== void 0 ? borderWidthProp : borderWidth) !== null && _b !== void 0 ? _b : 0;
52
57
  var spaceX = (spaceXBase - border) / 8;
53
58
  var spaceXText = spaceX * 2;
54
59
  var iconRightMl = isSplit ? 'auto' : spaceX;
@@ -62,12 +67,12 @@ exports.Button = core_1.vui(function (props, ref) {
62
67
  var aliasedProps = utils_1.filterUndefined({
63
68
  borderRadius: isRound ? h / 2 : undefined,
64
69
  boxShadow: isElevated ? 2 : undefined,
65
- pointerEvents: isLoading ? 'none' : undefined,
70
+ pointerEvents: hasState ? 'none' : undefined,
66
71
  w: isFullWidth ? '100%' : undefined
67
72
  });
68
73
  return (react_1.default.createElement(exports.ButtonBase, __assign({ borderRadius: "md", borderWidth: border, className: utils_1.cs('vui-button', className), disabled: disabled, focusRing: 3, fontWeight: "medium", h: h, minW: minWidth, pl: pl, pr: pr, ref: ref, transitionDuration: "fast", type: "button" }, styles, aliasedProps, rest),
69
- isLoading && (react_1.default.createElement(LoadingWrapper, { onClick: function (e) { return e.stopPropagation(); } },
70
- react_1.default.createElement(icon_1.default, { animation: "spin", icon: "falSpinner", m: "auto", size: iconSize }))),
74
+ hasState && (react_1.default.createElement(StateWrapper, __assign({ onClick: function (e) { return e.stopPropagation(); } }, stateProps),
75
+ react_1.default.createElement(icon_1.default, __assign({ m: "auto", size: iconSize }, iconProps)))),
71
76
  react_1.default.createElement(Content, null, icon ? (react_1.default.createElement(icon_1.default, { icon: icon, size: iconSize })) : (react_1.default.createElement(react_1.default.Fragment, null,
72
77
  itemLeft, children !== null && children !== void 0 ? children : text,
73
78
  itemRight)))));
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
- import { IconProp } from '../icon';
3
- import { BackgroundColorProps, BordersProps, ColorProps, EffectsProps, FontSizeProps, FontWeightProps, PointerEventsProps, SizingProps, SpaceProps, TransitionsProps } from '../system';
2
+ import { IconProp, IconProps } from '../icon';
3
+ import { SystemProps } from '../system';
4
4
  import { ThemingProps } from '../theme';
5
- export interface ButtonProps extends ButtonStyleProps, ThemingProps<'Button'> {
5
+ export interface ButtonProps extends SystemProps, ThemingProps<'Button'> {
6
6
  colorScheme?: 'blue' | 'green' | 'grey' | 'pink' | 'prussian' | 'red';
7
7
  icon?: IconProp;
8
8
  iconLeft?: IconProp;
@@ -14,7 +14,11 @@ export interface ButtonProps extends ButtonStyleProps, ThemingProps<'Button'> {
14
14
  isSplit?: boolean;
15
15
  itemLeft?: React.ReactNode;
16
16
  itemRight?: React.ReactNode;
17
+ state?: ButtonState;
18
+ stateMapping?: ButtonStateMapping;
17
19
  text?: number | string;
18
20
  }
19
- export interface ButtonStyleProps extends BackgroundColorProps, BordersProps, ColorProps, EffectsProps, FontSizeProps, FontWeightProps, PointerEventsProps, SizingProps, SpaceProps, TransitionsProps {
20
- }
21
+ export declare type ButtonState = 'error' | 'loading' | 'success';
22
+ export declare type ButtonStateMapping = Record<string, SystemProps & {
23
+ iconProps: IconProps;
24
+ }>;
@@ -1,4 +1,5 @@
1
- import { ButtonGroupProps, ButtonGroupStyleProps } from './buttonGroup.types';
2
- export declare const ButtonGroupBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, ButtonGroupStyleProps, never>;
1
+ import { ButtonGroupProps } from './buttonGroup.types';
2
+ import { SystemProps } from '../system';
3
+ export declare const ButtonGroupBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, SystemProps, never>;
3
4
  export declare const ButtonGroup: import("../core").VuiComponent<"div", ButtonGroupProps>;
4
5
  export default ButtonGroup;
@@ -49,14 +49,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
49
49
  };
50
50
  Object.defineProperty(exports, "__esModule", { value: true });
51
51
  exports.ButtonGroup = exports.ButtonGroupBase = void 0;
52
- var styled_components_1 = require("@xstyled/styled-components");
53
52
  var react_1 = __importStar(require("react"));
54
- var styled_components_2 = __importDefault(require("styled-components"));
53
+ var styled_components_1 = __importDefault(require("styled-components"));
55
54
  var context_1 = require("./context");
56
55
  var core_1 = require("../core");
56
+ var system_1 = require("../system");
57
57
  var utils_1 = require("../utils");
58
- var generator = styled_components_1.compose(styled_components_1.flexboxes, styled_components_1.sizing, styled_components_1.space);
59
- exports.ButtonGroupBase = styled_components_2.default.div.withConfig(core_1.forwardPropConfig(generator))(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tdisplay: flex;\n\n\t// First Button\n\t> *:first-of-type:not(:last-of-type) {\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-right-width: 1px;\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t// Middle Buttons\n\t> *:not(:first-of-type):not(:last-of-type) {\n\t\tborder-left-width: 0px;\n\t\tborder-radius: 0;\n\t\tborder-right-width: 1px;\n\t}\n\n\t// Last Button\n\t> *:not(:first-of-type):last-of-type {\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-left-width: 0px;\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t", "\n"], ["\n\tdisplay: flex;\n\n\t// First Button\n\t> *:first-of-type:not(:last-of-type) {\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-right-width: 1px;\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t// Middle Buttons\n\t> *:not(:first-of-type):not(:last-of-type) {\n\t\tborder-left-width: 0px;\n\t\tborder-radius: 0;\n\t\tborder-right-width: 1px;\n\t}\n\n\t// Last Button\n\t> *:not(:first-of-type):last-of-type {\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-left-width: 0px;\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t", "\n"])), generator);
58
+ exports.ButtonGroupBase = styled_components_1.default.div.withConfig(core_1.forwardPropConfig(system_1.system))(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tdisplay: flex;\n\n\t// First Button\n\t> *:first-of-type:not(:last-of-type) {\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-right-width: 1px;\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t// Middle Buttons\n\t> *:not(:first-of-type):not(:last-of-type) {\n\t\tborder-left-width: 0px;\n\t\tborder-radius: 0;\n\t\tborder-right-width: 1px;\n\t}\n\n\t// Last Button\n\t> *:not(:first-of-type):last-of-type {\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-left-width: 0px;\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t", "\n"], ["\n\tdisplay: flex;\n\n\t// First Button\n\t> *:first-of-type:not(:last-of-type) {\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-right-width: 1px;\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t// Middle Buttons\n\t> *:not(:first-of-type):not(:last-of-type) {\n\t\tborder-left-width: 0px;\n\t\tborder-radius: 0;\n\t\tborder-right-width: 1px;\n\t}\n\n\t// Last Button\n\t> *:not(:first-of-type):last-of-type {\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-left-width: 0px;\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t", "\n"])), system_1.system);
60
59
  exports.ButtonGroup = core_1.vui(function (props, ref) {
61
60
  var className = props.className, colorScheme = props.colorScheme, disabled = props.disabled, size = props.size, variant = props.variant, rest = __rest(props, ["className", "colorScheme", "disabled", "size", "variant"]);
62
61
  var context = react_1.useMemo(function () { return utils_1.filterUndefined({ colorScheme: colorScheme, disabled: disabled, size: size, variant: variant }); }, [
@@ -1,8 +1,6 @@
1
- import { FlexboxesProps, SizingProps, SpaceProps } from '../system';
1
+ import { SystemProps } from '../system';
2
2
  import { ThemingProps } from '../theme';
3
- export interface ButtonGroupProps extends ButtonGroupStyleProps, ThemingProps<'Button'> {
3
+ export interface ButtonGroupProps extends SystemProps, ThemingProps<'Button'> {
4
4
  colorScheme?: 'blue' | 'green' | 'pink' | 'prussian' | 'red';
5
5
  disabled?: boolean;
6
6
  }
7
- export interface ButtonGroupStyleProps extends FlexboxesProps, SizingProps, SpaceProps {
8
- }
@@ -0,0 +1,2 @@
1
+ import { ButtonStateMapping } from './button.types';
2
+ export declare const buttonStateMapping: ButtonStateMapping;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buttonStateMapping = void 0;
4
+ exports.buttonStateMapping = {
5
+ error: {
6
+ bg: 'red.80',
7
+ iconProps: {
8
+ animation: 'fadeDown',
9
+ icon: 'falTimesCircle'
10
+ }
11
+ },
12
+ loading: {
13
+ iconProps: {
14
+ animation: 'vui-spin 0.6s linear infinite',
15
+ fill: ['', 'transparent'],
16
+ icon: 'fadSpinnerThird'
17
+ }
18
+ },
19
+ success: {
20
+ bg: 'green.80',
21
+ iconProps: {
22
+ animation: 'fadeDown',
23
+ icon: 'falCheckCircle'
24
+ }
25
+ }
26
+ };
package/button/theme.d.ts CHANGED
@@ -14,6 +14,7 @@ declare function variantSubtle(props: Dict): {
14
14
  color: string;
15
15
  };
16
16
  declare function variantSolid(props: Dict): {
17
+ borderColor: string;
17
18
  hoverBg: string;
18
19
  activeBg: string;
19
20
  bg: string;
package/button/theme.js CHANGED
@@ -33,6 +33,7 @@ function variantSubtle(props) {
33
33
  function variantSolid(props) {
34
34
  var c = props.colorScheme;
35
35
  var styles = {
36
+ borderColor: c + ".100",
36
37
  hoverBg: c + ".90",
37
38
  activeBg: c + ".100",
38
39
  bg: c + ".80",
@@ -1,6 +1,7 @@
1
- import { CheckboxControlStyleProps, CheckboxProps, CheckboxStyleProps } from './checkbox.types';
1
+ import { CheckboxProps, CheckboxStyleProps } from './checkbox.types';
2
+ import { SystemProps } from '../system';
2
3
  export declare const CheckboxInput: import("styled-components").StyledComponent<"input", import("styled-components").DefaultTheme, {}, never>;
3
4
  export declare const CheckboxBase: import("styled-components").StyledComponent<"label", import("styled-components").DefaultTheme, CheckboxStyleProps, never>;
4
- export declare const CheckboxControl: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, CheckboxControlStyleProps, never>;
5
+ export declare const CheckboxControl: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, SystemProps, never>;
5
6
  export declare const Checkbox: import("../core").VuiComponent<"span", CheckboxProps>;
6
7
  export default Checkbox;
@@ -65,19 +65,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
65
65
  };
66
66
  Object.defineProperty(exports, "__esModule", { value: true });
67
67
  exports.Checkbox = exports.CheckboxControl = exports.CheckboxBase = exports.CheckboxInput = void 0;
68
- var styled_components_1 = require("@xstyled/styled-components");
69
68
  var react_1 = __importStar(require("react"));
70
- var styled_components_2 = __importDefault(require("styled-components"));
69
+ var styled_components_1 = __importDefault(require("styled-components"));
71
70
  var context_1 = require("./context");
72
71
  var core_1 = require("../core");
73
72
  var icon_1 = __importDefault(require("../icon"));
73
+ var system_1 = require("../system");
74
74
  var t_1 = __importDefault(require("../t"));
75
75
  var utils_1 = require("../utils");
76
- var checkboxGenerator = styled_components_1.compose(styled_components_1.backgroundColor, styled_components_1.color, styled_components_1.flexboxes, styled_components_1.sizing, styled_components_1.space, styled_components_1.transitions);
77
- var controlGenerator = styled_components_1.compose(styled_components_1.borders, styled_components_1.backgroundColor, styled_components_1.color, styled_components_1.sizing, styled_components_1.space, styled_components_1.transitions);
78
- exports.CheckboxInput = styled_components_2.default.input(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tcursor: inherit;\n\theight: 100%;\n\tleft: 0;\n\tmargin: 0;\n\topacity: 0;\n\tpadding: 0;\n\tposition: absolute;\n\ttop: 0;\n\twidth: 100%;\n\tz-index: 1;\n"], ["\n\tcursor: inherit;\n\theight: 100%;\n\tleft: 0;\n\tmargin: 0;\n\topacity: 0;\n\tpadding: 0;\n\tposition: absolute;\n\ttop: 0;\n\twidth: 100%;\n\tz-index: 1;\n"])));
79
- exports.CheckboxBase = styled_components_2.default.label.withConfig(core_1.forwardPropConfig(checkboxGenerator))(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n\talign-items: center;\n\tcursor: pointer;\n\tdisplay: inline-flex;\n\twidth: fit-content;\n\n\t:hover .vui-checkboxControl {\n\t\tcolor: ", ";\n\t}\n\n\t&.disabled {\n\t\tcolor: var(--vui-colors-disabled-font);\n\t\tcursor: not-allowed;\n\n\t\t.vui-checkboxControl {\n\t\t\tcolor: var(--vui-colors-disabled-font);\n\t\t}\n\t}\n\n\t", "\n"], ["\n\talign-items: center;\n\tcursor: pointer;\n\tdisplay: inline-flex;\n\twidth: fit-content;\n\n\t:hover .vui-checkboxControl {\n\t\tcolor: ", ";\n\t}\n\n\t&.disabled {\n\t\tcolor: var(--vui-colors-disabled-font);\n\t\tcursor: not-allowed;\n\n\t\t.vui-checkboxControl {\n\t\t\tcolor: var(--vui-colors-disabled-font);\n\t\t}\n\t}\n\n\t", "\n"])), function (p) { return core_1.th('colors', p.controlHoverColor)(p); }, checkboxGenerator);
80
- exports.CheckboxControl = styled_components_2.default.span.withConfig(core_1.forwardPropConfig(controlGenerator))(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n\tdisplay: inline-flex;\n\tflex-shrink: 0;\n\tposition: relative;\n\n\t", "\n"], ["\n\tdisplay: inline-flex;\n\tflex-shrink: 0;\n\tposition: relative;\n\n\t", "\n"])), controlGenerator);
76
+ exports.CheckboxInput = styled_components_1.default.input(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tcursor: inherit;\n\theight: 100%;\n\tleft: 0;\n\tmargin: 0;\n\topacity: 0;\n\tpadding: 0;\n\tposition: absolute;\n\ttop: 0;\n\twidth: 100%;\n\tz-index: 1;\n"], ["\n\tcursor: inherit;\n\theight: 100%;\n\tleft: 0;\n\tmargin: 0;\n\topacity: 0;\n\tpadding: 0;\n\tposition: absolute;\n\ttop: 0;\n\twidth: 100%;\n\tz-index: 1;\n"])));
77
+ exports.CheckboxBase = styled_components_1.default.label.withConfig(core_1.forwardPropConfig(system_1.system))(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n\talign-items: center;\n\tcursor: pointer;\n\tdisplay: inline-flex;\n\twidth: fit-content;\n\n\t:hover .vui-checkboxControl {\n\t\tcolor: ", ";\n\t}\n\n\t&.disabled {\n\t\tcolor: var(--vui-colors-disabled-font);\n\t\tcursor: not-allowed;\n\n\t\t.vui-checkboxControl {\n\t\t\tcolor: var(--vui-colors-disabled-font);\n\t\t}\n\t}\n\n\t", "\n"], ["\n\talign-items: center;\n\tcursor: pointer;\n\tdisplay: inline-flex;\n\twidth: fit-content;\n\n\t:hover .vui-checkboxControl {\n\t\tcolor: ", ";\n\t}\n\n\t&.disabled {\n\t\tcolor: var(--vui-colors-disabled-font);\n\t\tcursor: not-allowed;\n\n\t\t.vui-checkboxControl {\n\t\t\tcolor: var(--vui-colors-disabled-font);\n\t\t}\n\t}\n\n\t", "\n"])), function (p) { return core_1.th.color(p.controlHoverColor)(p); }, system_1.system);
78
+ exports.CheckboxControl = styled_components_1.default.span.withConfig(core_1.forwardPropConfig(system_1.system))(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n\tdisplay: inline-flex;\n\tflex-shrink: 0;\n\tposition: relative;\n\n\t", "\n"], ["\n\tdisplay: inline-flex;\n\tflex-shrink: 0;\n\tposition: relative;\n\n\t", "\n"])), system_1.system);
81
79
  exports.Checkbox = core_1.vui(function (props, ref) {
82
80
  var checkboxGroupProps = context_1.useCheckboxGroup();
83
81
  var mergedProps = __assign(__assign({}, checkboxGroupProps), props);
@@ -1,9 +1,9 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  import { ChangeEventHandler, FocusEventHandler } from '../core';
3
3
  import { IconProp } from '../icon';
4
- import { BackgroundColorProps, BordersProps, FlexboxesProps, SizingProps, SpaceProps, TransitionsProps } from '../system';
4
+ import { SystemProps } from '../system';
5
5
  import { ThemingProps } from '../theme';
6
- export interface CheckboxProps extends CheckboxStyleProps, ThemingProps<'Checkbox'> {
6
+ export interface CheckboxProps extends SystemProps, ThemingProps<'Checkbox'> {
7
7
  checked?: boolean;
8
8
  colorScheme?: 'blue' | 'green' | 'prussian' | 'red';
9
9
  disabled?: boolean;
@@ -21,8 +21,6 @@ export interface CheckboxProps extends CheckboxStyleProps, ThemingProps<'Checkbo
21
21
  required?: boolean;
22
22
  value?: number | string;
23
23
  }
24
- export interface CheckboxControlStyleProps extends BackgroundColorProps, BordersProps, SizingProps, SpaceProps, TransitionsProps {
25
- }
26
- export interface CheckboxStyleProps extends BackgroundColorProps, FlexboxesProps, SizingProps, SpaceProps, TransitionsProps {
27
- controlHoverColor?: string;
24
+ export interface CheckboxStyleProps extends SystemProps {
25
+ controlHoverColor: string;
28
26
  }
@@ -1,4 +1,5 @@
1
- import { CheckboxGroupProps, CheckboxGroupStyleProps } from './checkboxGroup.types';
2
- export declare const CheckboxGroupBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, CheckboxGroupStyleProps, never>;
1
+ import { CheckboxGroupProps } from './checkboxGroup.types';
2
+ import { SystemProps } from '../system';
3
+ export declare const CheckboxGroupBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, SystemProps, never>;
3
4
  export declare const CheckboxGroup: import("../core").VuiComponent<"div", CheckboxGroupProps>;
4
5
  export default CheckboxGroup;
@@ -49,14 +49,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
49
49
  };
50
50
  Object.defineProperty(exports, "__esModule", { value: true });
51
51
  exports.CheckboxGroup = exports.CheckboxGroupBase = void 0;
52
- var styled_components_1 = require("@xstyled/styled-components");
53
52
  var react_1 = __importStar(require("react"));
54
- var styled_components_2 = __importDefault(require("styled-components"));
53
+ var styled_components_1 = __importDefault(require("styled-components"));
55
54
  var context_1 = require("./context");
56
55
  var core_1 = require("../core");
56
+ var system_1 = require("../system");
57
57
  var utils_1 = require("../utils");
58
- var generator = styled_components_1.compose(styled_components_1.flexboxes, styled_components_1.sizing, styled_components_1.space);
59
- exports.CheckboxGroupBase = styled_components_2.default.div.withConfig(core_1.forwardPropConfig(generator))(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t", "\n"], ["\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t", "\n"])), generator);
58
+ exports.CheckboxGroupBase = styled_components_1.default.div.withConfig(core_1.forwardPropConfig(system_1.system))(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t", "\n"], ["\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t", "\n"])), system_1.system);
60
59
  exports.CheckboxGroup = core_1.vui(function (props, ref) {
61
60
  var className = props.className, colorScheme = props.colorScheme, disabled = props.disabled, name = props.name, onBlur = props.onBlur, onChange = props.onChange, onFocus = props.onFocus, row = props.row, size = props.size, variant = props.variant, rest = __rest(props, ["className", "colorScheme", "disabled", "name", "onBlur", "onChange", "onFocus", "row", "size", "variant"]);
62
61
  var context = react_1.useMemo(function () { return utils_1.filterUndefined({ colorScheme: colorScheme, disabled: disabled, name: name, onBlur: onBlur, onChange: onChange, onFocus: onFocus, size: size, variant: variant }); }, [colorScheme, disabled, name, onBlur, onChange, onFocus, size, variant]);
@@ -1,7 +1,7 @@
1
1
  import { ChangeEventHandler, FocusEventHandler } from '../core';
2
- import { FlexboxesProps, SizingProps, SpaceProps } from '../system';
2
+ import { SystemProps } from '../system';
3
3
  import { ThemingProps } from '../theme';
4
- export interface CheckboxGroupProps extends CheckboxGroupStyleProps, ThemingProps<'Checkbox'> {
4
+ export interface CheckboxGroupProps extends SystemProps, ThemingProps<'Checkbox'> {
5
5
  colorScheme?: 'blue' | 'green' | 'prussian' | 'red';
6
6
  disabled?: boolean;
7
7
  name?: string;
@@ -10,5 +10,3 @@ export interface CheckboxGroupProps extends CheckboxGroupStyleProps, ThemingProp
10
10
  onFocus?: FocusEventHandler;
11
11
  row?: boolean;
12
12
  }
13
- export interface CheckboxGroupStyleProps extends FlexboxesProps, SizingProps, SpaceProps {
14
- }
@@ -1,4 +1,5 @@
1
- import { DividerProps, DividerStyleProps } from './divider.types';
2
- export declare const DividerBase: import("styled-components").StyledComponent<"hr", import("styled-components").DefaultTheme, DividerStyleProps, never>;
1
+ import { DividerProps } from './divider.types';
2
+ import { SystemProps } from '../system';
3
+ export declare const DividerBase: import("styled-components").StyledComponent<"hr", import("styled-components").DefaultTheme, SystemProps, never>;
3
4
  export declare const Divider: import("../core").VuiComponent<"hr", DividerProps>;
4
5
  export default Divider;
@@ -30,13 +30,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
32
  exports.Divider = exports.DividerBase = void 0;
33
- var styled_components_1 = require("@xstyled/styled-components");
34
33
  var react_1 = __importDefault(require("react"));
35
- var styled_components_2 = __importDefault(require("styled-components"));
34
+ var styled_components_1 = __importDefault(require("styled-components"));
36
35
  var core_1 = require("../core");
36
+ var system_1 = require("../system");
37
37
  var utils_1 = require("../utils");
38
- var generator = styled_components_1.compose(styled_components_1.borders, styled_components_1.sizing, styled_components_1.space);
39
- exports.DividerBase = styled_components_2.default.hr.withConfig(core_1.forwardPropConfig(generator))(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\t", "\n"], ["\n\t", "\n"])), generator);
38
+ exports.DividerBase = styled_components_1.default.hr.withConfig(core_1.forwardPropConfig(system_1.system))(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\t", "\n"], ["\n\t", "\n"])), system_1.system);
40
39
  exports.Divider = core_1.vui(function (props, ref) {
41
40
  var _a;
42
41
  var _b = core_1.omitThemingProps(props), className = _b.className, isVertical = _b.isVertical, width = _b.width, rest = __rest(_b, ["className", "isVertical", "width"]);
@@ -1,9 +1,7 @@
1
- import { BordersProps, SizingProps, SpaceProps } from '../system';
1
+ import { BordersProps, SystemProps } from '../system';
2
2
  import { ThemingProps } from '../theme';
3
- export interface DividerProps extends DividerStyleProps, ThemingProps<'Divider'> {
3
+ export interface DividerProps extends SystemProps, ThemingProps<'Divider'> {
4
4
  className?: string;
5
5
  isVertical?: boolean;
6
6
  width?: BordersProps['borderWidth'];
7
7
  }
8
- export interface DividerStyleProps extends BordersProps, SizingProps, SpaceProps {
9
- }
@@ -1,6 +1,5 @@
1
- import { HeadingProps, HeadingStyleProps } from './heading.types';
2
- export declare const HeadingBase: import("styled-components").StyledComponent<"h2", import("styled-components").DefaultTheme, HeadingStyleProps & {
3
- color?: any;
4
- }, never>;
1
+ import { HeadingProps } from './heading.types';
2
+ import { SystemProps } from '../system';
3
+ export declare const HeadingBase: import("styled-components").StyledComponent<"h2", import("styled-components").DefaultTheme, SystemProps, never>;
5
4
  export declare const Heading: import("../core").VuiComponent<"h2", HeadingProps>;
6
5
  export default Heading;