@veracity/vui 0.0.3 → 0.0.4

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 (142) hide show
  1. package/alert/alert.d.ts +15 -0
  2. package/alert/alert.js +87 -0
  3. package/alert/alert.types.d.ts +19 -0
  4. package/alert/alert.types.js +2 -0
  5. package/alert/alertButton.d.ts +3 -0
  6. package/alert/alertButton.js +30 -0
  7. package/alert/alertIcon.d.ts +3 -0
  8. package/alert/alertIcon.js +33 -0
  9. package/alert/alertMessage.d.ts +3 -0
  10. package/alert/alertMessage.js +31 -0
  11. package/alert/alertText.d.ts +3 -0
  12. package/alert/alertText.js +30 -0
  13. package/alert/alertTitle.d.ts +3 -0
  14. package/alert/alertTitle.js +30 -0
  15. package/alert/consts.d.ts +2 -0
  16. package/alert/consts.js +25 -0
  17. package/alert/context.d.ts +4 -0
  18. package/alert/context.js +23 -0
  19. package/alert/index.d.ts +9 -0
  20. package/alert/index.js +26 -0
  21. package/alert/theme.d.ts +46 -0
  22. package/alert/theme.js +62 -0
  23. package/avatar/avatar.d.ts +4 -4
  24. package/avatar/avatar.js +2 -5
  25. package/avatar/avatar.types.d.ts +1 -2
  26. package/box/box.d.ts +4 -4
  27. package/box/box.js +2 -4
  28. package/box/box.types.d.ts +10 -12
  29. package/button/button.d.ts +4 -4
  30. package/button/button.js +1 -3
  31. package/button/button.types.d.ts +2 -2
  32. package/button/buttonGroup.d.ts +2 -4
  33. package/button/buttonGroup.js +1 -3
  34. package/button/buttonGroup.types.d.ts +1 -2
  35. package/button/buttons.d.ts +5 -5
  36. package/checkbox/checkbox.d.ts +3 -7
  37. package/checkbox/checkbox.js +3 -7
  38. package/checkbox/checkbox.types.d.ts +4 -2
  39. package/checkbox/checkboxGroup.d.ts +2 -4
  40. package/checkbox/checkboxGroup.js +3 -12
  41. package/checkbox/checkboxGroup.types.d.ts +5 -3
  42. package/checkbox/theme.d.ts +0 -1
  43. package/checkbox/theme.js +0 -1
  44. package/core/globalStyle.js +1 -1
  45. package/core/index.d.ts +1 -0
  46. package/core/index.js +3 -1
  47. package/core/resetCSS.d.ts +2 -0
  48. package/core/resetCSS.js +9 -0
  49. package/core/types.d.ts +18 -2
  50. package/core/types.js +1 -0
  51. package/core/utils.d.ts +10 -5
  52. package/core/utils.js +17 -2
  53. package/core/vuiProvider.js +2 -1
  54. package/divider/divider.d.ts +2 -4
  55. package/divider/divider.js +7 -10
  56. package/divider/divider.types.d.ts +1 -2
  57. package/heading/heading.d.ts +4 -4
  58. package/heading/heading.js +1 -3
  59. package/heading/heading.types.d.ts +7 -9
  60. package/heading/headings.d.ts +6 -6
  61. package/icon/icon.d.ts +1 -1
  62. package/icon/icon.js +8 -4
  63. package/index.d.ts +2 -0
  64. package/index.js +2 -0
  65. package/input/consts.d.ts +2 -18
  66. package/input/consts.js +2 -2
  67. package/input/input.d.ts +5 -5
  68. package/input/input.js +6 -6
  69. package/input/input.types.d.ts +12 -6
  70. package/label/label.d.ts +4 -4
  71. package/label/label.js +1 -3
  72. package/label/label.types.d.ts +2 -2
  73. package/link/link.d.ts +4 -4
  74. package/link/link.js +1 -3
  75. package/link/link.types.d.ts +7 -9
  76. package/list/list.d.ts +8 -4
  77. package/list/list.js +5 -5
  78. package/list/list.types.d.ts +1 -2
  79. package/list/listIcon.d.ts +3 -0
  80. package/list/listIcon.js +30 -0
  81. package/list/listItem.d.ts +2 -4
  82. package/list/listItem.js +9 -9
  83. package/list/listItem.types.d.ts +4 -2
  84. package/list/theme.d.ts +37 -2
  85. package/list/theme.js +43 -14
  86. package/p/p.d.ts +4 -4
  87. package/p/p.js +1 -3
  88. package/p/p.types.d.ts +8 -11
  89. package/package.json +1 -1
  90. package/radio/radio.d.ts +3 -7
  91. package/radio/radio.js +4 -10
  92. package/radio/radio.types.d.ts +4 -2
  93. package/radio/radioGroup.d.ts +2 -4
  94. package/radio/radioGroup.js +5 -5
  95. package/radio/radioGroup.types.d.ts +5 -3
  96. package/radio/theme.d.ts +0 -1
  97. package/radio/theme.js +0 -1
  98. package/skeleton/skeleton.d.ts +2 -4
  99. package/skeleton/skeleton.js +1 -3
  100. package/skeleton/skeleton.types.d.ts +1 -2
  101. package/spinner/consts.d.ts +34 -0
  102. package/spinner/consts.js +21 -0
  103. package/spinner/index.d.ts +3 -0
  104. package/spinner/index.js +20 -0
  105. package/spinner/spinner.d.ts +4 -0
  106. package/spinner/spinner.js +60 -0
  107. package/spinner/spinner.types.d.ts +15 -0
  108. package/spinner/spinner.types.js +2 -0
  109. package/spinner/theme.d.ts +68 -0
  110. package/spinner/theme.js +74 -0
  111. package/styles/radii.d.ts +1 -0
  112. package/styles/radii.js +2 -1
  113. package/svg/helpers.d.ts +1 -1
  114. package/svg/helpers.js +1 -1
  115. package/svg/svg.d.ts +3 -5
  116. package/svg/svg.js +8 -5
  117. package/svg/svg.types.d.ts +8 -3
  118. package/switch/index.d.ts +1 -0
  119. package/switch/index.js +1 -0
  120. package/switch/switch.d.ts +8 -4
  121. package/switch/switch.js +26 -6
  122. package/switch/switch.types.d.ts +3 -1
  123. package/switch/switchButton.d.ts +4 -10
  124. package/switch/switchButton.js +3 -9
  125. package/switch/switchButton.types.d.ts +1 -1
  126. package/switch/switchLabel.d.ts +1 -1
  127. package/switch/switchLabel.js +1 -1
  128. package/system/colors.d.ts +3 -2
  129. package/system/transitions.d.ts +2 -1
  130. package/t/t.d.ts +4 -4
  131. package/t/t.js +1 -3
  132. package/t/t.types.d.ts +7 -9
  133. package/textarea/textarea.d.ts +4 -4
  134. package/textarea/textarea.js +1 -3
  135. package/textarea/textarea.types.d.ts +1 -2
  136. package/theme/components.d.ts +144 -4
  137. package/theme/components.js +40 -36
  138. package/theme/defaultTheme.d.ts +145 -4
  139. package/theme/foundations.d.ts +1 -0
  140. package/tile/tile.d.ts +1 -1
  141. package/tile/tile.js +2 -2
  142. package/tile/tile.types.d.ts +2 -2
package/radio/radio.d.ts CHANGED
@@ -1,10 +1,6 @@
1
1
  import { RadioControlStyleProps, RadioProps, RadioStyleProps } from './radio.types';
2
2
  export declare const RadioInput: import("styled-components").StyledComponent<"input", import("styled-components").DefaultTheme, {}, never>;
3
- export declare const RadioBase: import("styled-components").StyledComponent<"label", import("styled-components").DefaultTheme, {
4
- [x: string]: {};
5
- } & RadioStyleProps, never>;
6
- export declare const RadioControl: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, {
7
- [x: string]: {};
8
- } & RadioControlStyleProps, never>;
9
- export declare const Radio: import("styled-components").StyledComponent<"span", never, RadioProps, never>;
3
+ export declare const RadioBase: import("styled-components").StyledComponent<"label", import("styled-components").DefaultTheme, RadioStyleProps, never>;
4
+ export declare const RadioControl: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, RadioControlStyleProps, never>;
5
+ export declare const Radio: import("../core").VuiComponent<"span", RadioProps>;
10
6
  export default Radio;
package/radio/radio.js CHANGED
@@ -41,12 +41,8 @@ var utils_1 = require("../utils");
41
41
  var radioGenerator = 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);
42
42
  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);
43
43
  exports.RadioInput = 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"])));
44
- exports.RadioBase = styled_components_2.default.label.withConfig({
45
- shouldForwardProp: core_1.shouldForwardProp(radioGenerator.meta.props)
46
- })(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n\talign-items: center;\n\tcursor: pointer;\n\tdisplay: inline-flex;\n\ttransition: all 0s ease-in-out;\n\twidth: fit-content;\n\n\t:hover .vui-radioControl {\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-radioControl {\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\ttransition: all 0s ease-in-out;\n\twidth: fit-content;\n\n\t:hover .vui-radioControl {\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-radioControl {\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); }, radioGenerator);
47
- exports.RadioControl = styled_components_2.default.span.withConfig({
48
- shouldForwardProp: core_1.shouldForwardProp(controlGenerator.meta.props)
49
- })(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);
44
+ exports.RadioBase = styled_components_2.default.label.withConfig(core_1.forwardPropConfig(radioGenerator))(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-radioControl {\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-radioControl {\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-radioControl {\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-radioControl {\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); }, radioGenerator);
45
+ exports.RadioControl = 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);
50
46
  exports.Radio = core_1.forwardRef(function (props, ref) {
51
47
  var _a;
52
48
  var _b = (_a = context_1.useRadioGroup()) !== null && _a !== void 0 ? _a : {}, groupOnChange = _b.onChange, groupValue = _b.value, radioGroupProps = __rest(_b, ["onChange", "value"]);
@@ -63,11 +59,9 @@ exports.Radio = core_1.forwardRef(function (props, ref) {
63
59
  onChange === null || onChange === void 0 ? void 0 : onChange(e);
64
60
  }
65
61
  return (react_1.default.createElement(exports.RadioBase, __assign({ className: utils_1.cs('vui-radio', disabled && 'disabled', className), controlHoverColor: controlHoverColor, ref: ref }, styles.container, rest),
66
- react_1.default.createElement(exports.RadioControl, __assign({ borderRadius: "50%", className: "vui-radioControl", color: color, focusWithinRing: 3,
67
- // hoverColor={hoverColor}
68
- mr: controlMr, transitionDuration: "fast" }, controlStyles),
62
+ react_1.default.createElement(exports.RadioControl, __assign({ borderRadius: "50%", className: "vui-radioControl", color: color, focusWithinRing: 3, mr: controlMr, transitionDuration: "fast" }, controlStyles),
69
63
  react_1.default.createElement(exports.RadioInput, __assign({ className: "vui-radioInput", onChange: handleOnChange, ref: inputRef, type: "radio" }, { checked: checked, defaultChecked: defaultChecked, disabled: disabled, name: name, required: required, value: value }, inputProps)),
70
- react_1.default.createElement(icon_1.default, { h: "100%", icon: icon, w: "100%" })), children !== null && children !== void 0 ? children : (label && (react_1.default.createElement(t_1.default, __assign({ className: "vui-radioLabel" }, styles.label), label)))));
64
+ react_1.default.createElement(icon_1.default, { className: "vui-radioIcon", h: "100%", icon: icon, w: "100%" })), children !== null && children !== void 0 ? children : (label && (react_1.default.createElement(t_1.default, __assign({ className: "vui-radioLabel", lineHeight: "normal" }, styles.label), label)))));
71
65
  });
72
66
  exports.Radio.displayName = 'Radio';
73
67
  exports.default = exports.Radio;
@@ -2,9 +2,9 @@ import { HTMLAttributes } from 'react';
2
2
  import { IconProp } from '../icon';
3
3
  import { BackgroundColorProps, BordersProps, FlexboxesProps, SizingProps, SpaceProps, TransitionsProps } from '../system';
4
4
  import { ThemingProps } from '../theme';
5
- export interface RadioProps extends Omit<HTMLAttributes<HTMLLabelElement>, 'onChange'>, RadioStyleProps, ThemingProps<'Radio'> {
5
+ export interface RadioProps extends RadioStyleProps, ThemingProps<'Radio'> {
6
6
  checked?: boolean;
7
- colorScheme?: 'blue' | 'prussian';
7
+ colorScheme?: 'blue' | 'green' | 'prussian' | 'red';
8
8
  disabled?: boolean;
9
9
  icon?: IconProp;
10
10
  iconChecked?: IconProp;
@@ -12,7 +12,9 @@ export interface RadioProps extends Omit<HTMLAttributes<HTMLLabelElement>, 'onCh
12
12
  inputRef?: React.MutableRefObject<HTMLInputElement | null> | null;
13
13
  label?: string;
14
14
  name?: string;
15
+ onBlur?: (event: React.ChangeEvent<HTMLInputElement>) => void;
15
16
  onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
17
+ onFocus?: (event: React.ChangeEvent<HTMLInputElement>) => void;
16
18
  required?: boolean;
17
19
  value?: number | string;
18
20
  }
@@ -1,6 +1,4 @@
1
1
  import { RadioGroupProps, RadioGroupStyleProps } from './radioGroup.types';
2
- export declare const RadioGroupBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
3
- [x: string]: {};
4
- } & RadioGroupStyleProps, never>;
5
- export declare const RadioGroup: import("styled-components").StyledComponent<"div", never, RadioGroupProps, never>;
2
+ export declare const RadioGroupBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, RadioGroupStyleProps, never>;
3
+ export declare const RadioGroup: import("../core").VuiComponent<"div", RadioGroupProps>;
6
4
  export default RadioGroup;
@@ -72,11 +72,9 @@ var context_1 = require("./context");
72
72
  var core_1 = require("../core");
73
73
  var utils_1 = require("../utils");
74
74
  var generator = styled_components_1.compose(styled_components_1.flexboxes, styled_components_1.sizing, styled_components_1.space);
75
- exports.RadioGroupBase = styled_components_2.default.div.withConfig({
76
- shouldForwardProp: core_1.shouldForwardProp(generator.meta.props)
77
- })(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);
75
+ exports.RadioGroupBase = 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);
78
76
  exports.RadioGroup = core_1.forwardRef(function (props, ref) {
79
- var className = props.className, colorScheme = props.colorScheme, _a = props.defaultValue, defaultValue = _a === void 0 ? '' : _a, disabled = props.disabled, name = props.name, onChange = props.onChange, row = props.row, size = props.size, valueProp = props.value, variant = props.variant, rest = __rest(props, ["className", "colorScheme", "defaultValue", "disabled", "name", "onChange", "row", "size", "value", "variant"]);
77
+ var className = props.className, colorScheme = props.colorScheme, _a = props.defaultValue, defaultValue = _a === void 0 ? '' : _a, disabled = props.disabled, name = props.name, onBlur = props.onBlur, onChange = props.onChange, onFocus = props.onFocus, row = props.row, size = props.size, valueProp = props.value, variant = props.variant, rest = __rest(props, ["className", "colorScheme", "defaultValue", "disabled", "name", "onBlur", "onChange", "onFocus", "row", "size", "value", "variant"]);
80
78
  var isControlled = react_1.useRef(valueProp !== undefined).current;
81
79
  var _b = __read(react_1.useState(defaultValue), 2), valueState = _b[0], setValueState = _b[1];
82
80
  var value = isControlled ? valueProp : valueState;
@@ -87,7 +85,9 @@ exports.RadioGroup = core_1.forwardRef(function (props, ref) {
87
85
  var setValue = react_1.useCallback(function (value) {
88
86
  !isControlled && setValueState(value);
89
87
  }, []);
90
- var context = react_1.useMemo(function () { return utils_1.filterUndefined({ colorScheme: colorScheme, disabled: disabled, name: name, onChange: handleOnChange, size: size, value: value, variant: variant }); }, [colorScheme, disabled, name, handleOnChange, size, value, variant]);
88
+ var context = react_1.useMemo(function () {
89
+ return utils_1.filterUndefined({ colorScheme: colorScheme, disabled: disabled, name: name, onBlur: onBlur, onChange: handleOnChange, onFocus: onFocus, size: size, value: value, variant: variant });
90
+ }, [colorScheme, disabled, name, handleOnChange, onBlur, onFocus, size, value, variant]);
91
91
  var aliasedProps = utils_1.filterUndefined({
92
92
  flexDirection: row ? 'row' : undefined
93
93
  });
@@ -1,11 +1,13 @@
1
- import { HTMLAttributes } from 'react';
1
+ /// <reference types="react" />
2
2
  import { FlexboxesProps, SizingProps, SpaceProps } from '../system';
3
3
  import { ThemingProps } from '../theme';
4
- export interface RadioGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'>, RadioGroupStyleProps, ThemingProps<'Radio'> {
5
- colorScheme?: 'blue' | 'prussian';
4
+ export interface RadioGroupProps extends RadioGroupStyleProps, ThemingProps<'Radio'> {
5
+ colorScheme?: 'blue' | 'green' | 'prussian' | 'red';
6
6
  disabled?: boolean;
7
7
  name?: string;
8
+ onBlur?: (event: React.ChangeEvent<HTMLInputElement>) => void;
8
9
  onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
10
+ onFocus?: (event: React.ChangeEvent<HTMLInputElement>) => void;
9
11
  row?: boolean;
10
12
  value?: number | string;
11
13
  }
package/radio/theme.d.ts CHANGED
@@ -28,7 +28,6 @@ declare const _default: {
28
28
  w: number;
29
29
  };
30
30
  label: {
31
- lineHeight: number;
32
31
  size: string;
33
32
  };
34
33
  };
package/radio/theme.js CHANGED
@@ -32,7 +32,6 @@ var sizes = {
32
32
  w: 20
33
33
  },
34
34
  label: {
35
- lineHeight: 1.2,
36
35
  size: 'md'
37
36
  }
38
37
  },
@@ -1,6 +1,4 @@
1
1
  import { SkeletonProps, SkeletonStyleProps } from './skeleton.types';
2
- export declare const SkeletonBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
3
- [x: string]: {};
4
- } & SkeletonStyleProps, never>;
5
- export declare const Skeleton: import("styled-components").StyledComponent<"div", never, SkeletonProps, never>;
2
+ export declare const SkeletonBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, SkeletonStyleProps, never>;
3
+ export declare const Skeleton: import("../core").VuiComponent<"div", SkeletonProps>;
6
4
  export default Skeleton;
@@ -56,9 +56,7 @@ var core_1 = require("../core");
56
56
  var utils_1 = require("../utils");
57
57
  var generator = styled_components_1.compose(styled_components_1.backgroundColor, styled_components_1.borderRadius, styled_components_1.flexboxes, styled_components_1.sizing, styled_components_1.space);
58
58
  var pulse = styled_components_2.keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n 100% {\n opacity: 1;\n }\n"], ["\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n 100% {\n opacity: 1;\n }\n"])));
59
- exports.SkeletonBase = styled_components_2.default.div.withConfig({
60
- shouldForwardProp: core_1.shouldForwardProp(generator.meta.props)
61
- })(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n\tanimation: ", " 1.5s ease-in-out 0.5s infinite;\n\n\t", "\n"], ["\n\tanimation: ", " 1.5s ease-in-out 0.5s infinite;\n\n\t", "\n"])), pulse, generator);
59
+ exports.SkeletonBase = styled_components_2.default.div.withConfig(core_1.forwardPropConfig(generator))(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n\tanimation: ", " 1.5s ease-in-out 0.5s infinite;\n\n\t", "\n"], ["\n\tanimation: ", " 1.5s ease-in-out 0.5s infinite;\n\n\t", "\n"])), pulse, generator);
62
60
  exports.Skeleton = core_1.forwardRef(function (props, ref) {
63
61
  var _a = core_1.omitThemingProps(props), className = _a.className, _b = _a.repeat, repeat = _b === void 0 ? 1 : _b, rest = __rest(_a, ["className", "repeat"]);
64
62
  var styles = core_1.useStyleConfig('Skeleton', props);
@@ -1,7 +1,6 @@
1
- import { HTMLAttributes } from 'react';
2
1
  import { BackgroundColorProps, BorderRadiusProps, FlexboxesProps, SizingProps, SpaceProps } from '../system';
3
2
  import { ThemingProps } from '../theme';
4
- export interface SkeletonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'>, SkeletonStyleProps, ThemingProps<'Skeleton'> {
3
+ export interface SkeletonProps extends SkeletonStyleProps, ThemingProps<'Skeleton'> {
5
4
  colorScheme?: 'blue' | 'grey';
6
5
  repeat?: number;
7
6
  }
@@ -0,0 +1,34 @@
1
+ export declare const positionMapping: {
2
+ bottom: {
3
+ container: {
4
+ flexDirection: string;
5
+ };
6
+ circle: {
7
+ mb: number;
8
+ };
9
+ };
10
+ left: {
11
+ container: {
12
+ flexDirection: string;
13
+ };
14
+ circle: {
15
+ ml: number;
16
+ };
17
+ };
18
+ right: {
19
+ container: {
20
+ flexDirection: string;
21
+ };
22
+ circle: {
23
+ mr: number;
24
+ };
25
+ };
26
+ top: {
27
+ container: {
28
+ flexDirection: string;
29
+ };
30
+ circle: {
31
+ mt: number;
32
+ };
33
+ };
34
+ };
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.positionMapping = void 0;
4
+ exports.positionMapping = {
5
+ bottom: {
6
+ container: { flexDirection: 'column' },
7
+ circle: { mb: 1 }
8
+ },
9
+ left: {
10
+ container: { flexDirection: 'row-reverse' },
11
+ circle: { ml: 1 }
12
+ },
13
+ right: {
14
+ container: { flexDirection: 'row' },
15
+ circle: { mr: 1 }
16
+ },
17
+ top: {
18
+ container: { flexDirection: 'column-reverse' },
19
+ circle: { mt: 1 }
20
+ }
21
+ };
@@ -0,0 +1,3 @@
1
+ export * from './spinner';
2
+ export * from './spinner.types';
3
+ export { default } from './spinner';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.default = void 0;
17
+ __exportStar(require("./spinner"), exports);
18
+ __exportStar(require("./spinner.types"), exports);
19
+ var spinner_1 = require("./spinner");
20
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(spinner_1).default; } });
@@ -0,0 +1,4 @@
1
+ import { SpinnerCircleStyleProps, SpinnerProps } from './spinner.types';
2
+ export declare const SpinnerCircle: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, SpinnerCircleStyleProps, never>;
3
+ export declare const Spinner: import("../core").VuiComponent<"div", SpinnerProps>;
4
+ export default Spinner;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __rest = (this && this.__rest) || function (s, e) {
18
+ var t = {};
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
20
+ t[p] = s[p];
21
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
22
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
24
+ t[p[i]] = s[p[i]];
25
+ }
26
+ return t;
27
+ };
28
+ var __importDefault = (this && this.__importDefault) || function (mod) {
29
+ return (mod && mod.__esModule) ? mod : { "default": mod };
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.Spinner = exports.SpinnerCircle = void 0;
33
+ var styled_components_1 = require("@xstyled/styled-components");
34
+ var react_1 = __importDefault(require("react"));
35
+ var styled_components_2 = __importDefault(require("styled-components"));
36
+ var consts_1 = require("./consts");
37
+ var box_1 = __importDefault(require("../box"));
38
+ var core_1 = require("../core");
39
+ var t_1 = __importDefault(require("../t"));
40
+ var utils_1 = require("../utils");
41
+ var circleGenerator = styled_components_1.compose(styled_components_1.animation, styled_components_1.borders, styled_components_1.sizing, styled_components_1.space, styled_components_1.transitions);
42
+ exports.SpinnerCircle = styled_components_2.default.div.withConfig(core_1.forwardPropConfig(circleGenerator))(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tdisplay: flex;\n\n\t", "\n\n\tanimation-duration: ", ";\n"], ["\n\tdisplay: flex;\n\n\t", "\n\n\tanimation-duration: ", ";\n"])), circleGenerator, function (p) { return p.speed; });
43
+ exports.Spinner = core_1.forwardRef(function (props, ref) {
44
+ var className = props.className, emptyColor = props.emptyColor, size = props.size, _a = props.speed, speed = _a === void 0 ? '0.8s' : _a, text = props.text, _b = props.textPosition, textPosition = _b === void 0 ? 'bottom' : _b, thickness = props.thickness, rest = __rest(props, ["className", "emptyColor", "size", "speed", "text", "textPosition", "thickness"]);
45
+ var styles = core_1.useStyleConfig('Spinner', props);
46
+ var isCustomSize = typeof size === 'number';
47
+ var positionProps = consts_1.positionMapping[textPosition];
48
+ var circleProps = utils_1.filterUndefined({
49
+ borderColor: emptyColor,
50
+ borderWidth: isCustomSize ? thickness !== null && thickness !== void 0 ? thickness : 4 : thickness,
51
+ h: isCustomSize ? size : undefined,
52
+ w: isCustomSize ? size : undefined
53
+ });
54
+ return (react_1.default.createElement(box_1.default, __assign({ center: true, className: utils_1.cs('vui-spinner', className), ref: ref, transitionDuration: "fast" }, styles.container, positionProps.container, rest),
55
+ react_1.default.createElement(exports.SpinnerCircle, __assign({ animation: "spin", borderRadius: "round", className: "vui-spinnerCircle", flexShrink: "0", speed: speed }, styles.circle, positionProps.circle, circleProps)),
56
+ text && (react_1.default.createElement(t_1.default, __assign({ className: "vui-spinnerText" }, styles.text), text))));
57
+ });
58
+ exports.Spinner.displayName = 'Spinner';
59
+ exports.default = exports.Spinner;
60
+ var templateObject_1;
@@ -0,0 +1,15 @@
1
+ import { BoxProps } from '../box';
2
+ import { BordersProps, FlexboxesProps, SizingProps, SpaceProps, TransitionsProps } from '../system';
3
+ import { ThemingProps } from '../theme';
4
+ export interface SpinnerCircleStyleProps extends BordersProps, FlexboxesProps, SizingProps, SpaceProps, TransitionsProps {
5
+ speed?: string;
6
+ }
7
+ export interface SpinnerProps extends Omit<BoxProps, 'size' | 'variant'>, Omit<ThemingProps<'Spinner'>, 'size'> {
8
+ colorScheme?: 'blue' | 'grey' | 'prussian';
9
+ emptyColor?: string;
10
+ speed?: string;
11
+ size?: ThemingProps<'Spinner'>['size'] | number;
12
+ text?: string;
13
+ textPosition?: 'bottom' | 'left' | 'right' | 'top';
14
+ thickness?: number;
15
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,68 @@
1
+ import { Dict } from '../utils';
2
+ declare function variantDefault(props: Dict): {
3
+ container: {
4
+ color: string;
5
+ };
6
+ circle: {
7
+ borderColor: string;
8
+ borderTopColor: string;
9
+ borderRightColor: string;
10
+ };
11
+ text: {};
12
+ };
13
+ declare const _default: {
14
+ defaultProps: {
15
+ colorScheme: string;
16
+ size: string;
17
+ variant: string;
18
+ };
19
+ parts: string[];
20
+ sizes: {
21
+ xs: {
22
+ circle: {
23
+ borderWidth: number;
24
+ h: number;
25
+ w: number;
26
+ };
27
+ };
28
+ sm: {
29
+ circle: {
30
+ borderWidth: number;
31
+ h: number;
32
+ w: number;
33
+ };
34
+ };
35
+ md: {
36
+ circle: {
37
+ borderWidth: number;
38
+ h: number;
39
+ w: number;
40
+ };
41
+ };
42
+ lg: {
43
+ circle: {
44
+ borderWidth: number;
45
+ h: number;
46
+ w: number;
47
+ };
48
+ };
49
+ card: {
50
+ circle: {
51
+ borderWidth: number;
52
+ h: number;
53
+ w: number;
54
+ };
55
+ };
56
+ page: {
57
+ circle: {
58
+ borderWidth: number;
59
+ h: number;
60
+ w: number;
61
+ };
62
+ };
63
+ };
64
+ variants: {
65
+ default: typeof variantDefault;
66
+ };
67
+ };
68
+ export default _default;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function variantDefault(props) {
4
+ var c = props.colorScheme;
5
+ var container = {
6
+ color: c + ".60"
7
+ };
8
+ var circle = {
9
+ borderColor: c + ".20",
10
+ borderTopColor: c + ".60",
11
+ borderRightColor: c + ".60"
12
+ };
13
+ var text = {};
14
+ return { container: container, circle: circle, text: text };
15
+ }
16
+ var defaultProps = {
17
+ colorScheme: 'blue',
18
+ size: 'page',
19
+ variant: 'default'
20
+ };
21
+ var parts = ['container', 'circle', 'text'];
22
+ var sizes = {
23
+ xs: {
24
+ circle: {
25
+ borderWidth: 1,
26
+ h: 16,
27
+ w: 16
28
+ }
29
+ },
30
+ sm: {
31
+ circle: {
32
+ borderWidth: 2,
33
+ h: 24,
34
+ w: 24
35
+ }
36
+ },
37
+ md: {
38
+ circle: {
39
+ borderWidth: 3,
40
+ h: 32,
41
+ w: 32
42
+ }
43
+ },
44
+ lg: {
45
+ circle: {
46
+ borderWidth: 3,
47
+ h: 40,
48
+ w: 40
49
+ }
50
+ },
51
+ card: {
52
+ circle: {
53
+ borderWidth: 4,
54
+ h: 60,
55
+ w: 60
56
+ }
57
+ },
58
+ page: {
59
+ circle: {
60
+ borderWidth: 5,
61
+ h: 80,
62
+ w: 80
63
+ }
64
+ }
65
+ };
66
+ var variants = {
67
+ default: variantDefault
68
+ };
69
+ exports.default = {
70
+ defaultProps: defaultProps,
71
+ parts: parts,
72
+ sizes: sizes,
73
+ variants: variants
74
+ };
package/styles/radii.d.ts CHANGED
@@ -3,5 +3,6 @@ declare const _default: {
3
3
  sm: number;
4
4
  md: number;
5
5
  lg: number;
6
+ round: number;
6
7
  };
7
8
  export default _default;
package/styles/radii.js CHANGED
@@ -4,5 +4,6 @@ exports.default = {
4
4
  none: 0,
5
5
  sm: 4,
6
6
  md: 6,
7
- lg: 10
7
+ lg: 10,
8
+ round: 9999
8
9
  };
package/svg/helpers.d.ts CHANGED
@@ -2,7 +2,7 @@ import { SvgState } from './svg.types';
2
2
  import { Dict } from '../utils';
3
3
  /** Returns an object with given element's HTML attributes. */
4
4
  export declare function getAttributes(element?: Element): Dict<string>;
5
- /** Returns content of the SVG HTML string by stripping <svg> tag. */
5
+ /** Returns content of the SVG HTML string by stripping the svg tag. */
6
6
  export declare function getSvgContent(html?: string): string;
7
7
  /** Returns object with initial state values. */
8
8
  export declare function initState(): SvgState;
package/svg/helpers.js CHANGED
@@ -13,7 +13,7 @@ function getAttributes(element) {
13
13
  }, {});
14
14
  }
15
15
  exports.getAttributes = getAttributes;
16
- /** Returns content of the SVG HTML string by stripping <svg> tag. */
16
+ /** Returns content of the SVG HTML string by stripping the svg tag. */
17
17
  function getSvgContent(html) {
18
18
  if (html === void 0) { html = ''; }
19
19
  return html.replace(/(<\/?svg(?:.|\n)*?>)|(\r\n|\n|\r)/gm, '');
package/svg/svg.d.ts CHANGED
@@ -1,6 +1,4 @@
1
- import { SvgProps, SvgStyleProps } from './svg.types';
2
- export declare const SvgBase: import("styled-components").StyledComponent<"svg", import("styled-components").DefaultTheme, {
3
- [x: string]: {};
4
- } & SvgStyleProps, never>;
5
- export declare const Svg: import("styled-components").StyledComponent<"svg", never, SvgProps, never>;
1
+ import { SvgBaseOmitProps, SvgProps, SvgStyleProps } from './svg.types';
2
+ export declare const SvgBase: import("styled-components").StyledComponent<"svg", import("styled-components").DefaultTheme, SvgStyleProps & SvgBaseOmitProps, never>;
3
+ export declare const Svg: import("../core").VuiComponent<"svg", SvgProps>;
6
4
  export default Svg;
package/svg/svg.js CHANGED
@@ -109,15 +109,14 @@ var helpers_1 = require("./helpers");
109
109
  var core_1 = require("../core");
110
110
  var utils_1 = require("../utils");
111
111
  var generator = styled_components_1.compose(styled_components_1.animation, styled_components_1.color, styled_components_1.flexboxes, styled_components_1.sizing, styled_components_1.space, styled_components_1.transform);
112
- exports.SvgBase = styled_components_2.default.svg.withConfig({
113
- shouldForwardProp: core_1.shouldForwardProp(generator.meta.props)
114
- })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\t", "\n"], ["\n\t", "\n"])), generator);
112
+ exports.SvgBase = styled_components_2.default.svg.withConfig(core_1.forwardPropConfig(generator))(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\t", "\n"], ["\n\t", "\n"])), generator);
115
113
  exports.Svg = core_1.forwardRef(function (_a, ref) {
116
114
  var children = _a.children, className = _a.className, src = _a.src, rest = __rest(_a, ["children", "className", "src"]);
117
115
  var _b = __read(react_1.useState(helpers_1.initState()), 2), state = _b[0], setState = _b[1];
118
116
  var _c = state.content, content = _c === void 0 ? '' : _c, _d = state.svgAttributes, svgAttributes = _d === void 0 ? {} : _d;
119
- svgAttributes['data-src'] = src !== null && src !== void 0 ? src : '';
117
+ var srcRef = react_1.useRef(src);
120
118
  react_1.useEffect(function () {
119
+ srcRef.current = src;
121
120
  function loadSvg(src) {
122
121
  return __awaiter(this, void 0, void 0, function () {
123
122
  var response, content_1, svgEl, svgAttributes_1, error_1;
@@ -131,7 +130,11 @@ exports.Svg = core_1.forwardRef(function (_a, ref) {
131
130
  content_1 = helpers_1.getSvgContent(response);
132
131
  svgEl = helpers_1.stringToHTML(response);
133
132
  svgAttributes_1 = helpers_1.getAttributes(svgEl);
134
- setState({ content: content_1, svgAttributes: svgAttributes_1 });
133
+ svgAttributes_1['data-src'] = src !== null && src !== void 0 ? src : '';
134
+ // Update state only when requested 'src' and current 'src' are the same
135
+ if (srcRef.current === src) {
136
+ setState({ content: content_1, svgAttributes: svgAttributes_1 });
137
+ }
135
138
  return [3 /*break*/, 3];
136
139
  case 2:
137
140
  error_1 = _a.sent();
@@ -1,7 +1,13 @@
1
- import { SVGProps } from 'react';
2
1
  import { AnimationProps, ColorProps, FlexboxesProps, SizingProps, SpaceProps, TransformProps } from '../system';
3
2
  import { Dict } from '../utils';
4
- export interface SvgProps extends Omit<SVGProps<SVGSVGElement>, 'display' | 'order' | 'transform'>, SvgStyleProps {
3
+ /** Fix for conflicting types of styled.svg */
4
+ export interface SvgBaseOmitProps {
5
+ color?: any;
6
+ display?: any;
7
+ order?: any;
8
+ transform?: any;
9
+ }
10
+ export interface SvgProps extends SvgStyleProps {
5
11
  src?: string;
6
12
  }
7
13
  export interface SvgState {
@@ -9,5 +15,4 @@ export interface SvgState {
9
15
  svgAttributes: Dict<string>;
10
16
  }
11
17
  export interface SvgStyleProps extends AnimationProps, ColorProps, FlexboxesProps, SizingProps, SpaceProps, TransformProps {
12
- color?: string;
13
18
  }
package/switch/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './context';
1
2
  export * from './switch';
2
3
  export * from './switch.types';
3
4
  export * from './switchButton';
package/switch/index.js CHANGED
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  };
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.default = void 0;
17
+ __exportStar(require("./context"), exports);
17
18
  __exportStar(require("./switch"), exports);
18
19
  __exportStar(require("./switch.types"), exports);
19
20
  __exportStar(require("./switchButton"), exports);
@@ -1,6 +1,10 @@
1
1
  import { SwitchProps, SwitchStyleProps } from './switch.types';
2
- export declare const SwitchBase: import("styled-components").StyledComponent<"label", import("styled-components").DefaultTheme, {
3
- [x: string]: {};
4
- } & SwitchStyleProps, never>;
5
- export declare const Switch: import("styled-components").StyledComponent<"span", never, SwitchProps, never>;
2
+ import { SwitchButton } from './switchButton';
3
+ import { SwitchLabel } from './switchLabel';
4
+ import { VuiComponent } from '../core';
5
+ export declare const SwitchBase: import("styled-components").StyledComponent<"label", import("styled-components").DefaultTheme, SwitchStyleProps, never>;
6
+ export declare const Switch: VuiComponent<"label", SwitchProps> & {
7
+ Button: typeof SwitchButton;
8
+ Label: typeof SwitchLabel;
9
+ };
6
10
  export default Switch;