UNPKG

3.48 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports["default"] = void 0;
7
8var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10var _colorsUtils = require("../theme/colors-utils");
11
12var _ThemeProvider = require("../ThemeProvider");
13
14var _ColorModeProvider = require("../ColorModeProvider");
15
16function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
17
18function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
19
20var solidStyle = function solidStyle(_ref) {
21 var colors = _ref.theme.colors,
22 color = _ref.color;
23
24 var _color = colors[color] && colors[color][500];
25
26 var darkModeBg = (0, _colorsUtils.addOpacity)(_color, 0.6);
27 return {
28 light: {
29 bg: (0, _colorsUtils.get)(color, 500),
30 color: "white"
31 },
32 dark: {
33 bg: darkModeBg,
34 color: "whiteAlpha.800"
35 }
36 };
37};
38
39var subtleStyle = function subtleStyle(_ref2) {
40 var colors = _ref2.theme.colors,
41 color = _ref2.color;
42
43 var _color = colors[color] && colors[color][200];
44
45 var alphaColors = (0, _colorsUtils.generateAlphaColors)(_color);
46 var darkModeBg = alphaColors[300];
47 return {
48 light: {
49 bg: (0, _colorsUtils.get)(color, 100),
50 color: (0, _colorsUtils.get)(color, 800)
51 },
52 dark: {
53 bg: darkModeBg,
54 color: (0, _colorsUtils.get)(color, 200)
55 }
56 };
57};
58
59var outlineStyle = function outlineStyle(_ref3) {
60 var colors = _ref3.theme.colors,
61 color = _ref3.color;
62
63 var _color = colors[color] && colors[color][200];
64
65 var darkModeColor = (0, _colorsUtils.addOpacity)(_color, 0.8);
66 var boxShadowColor = colors[color] && colors[color][500];
67 return {
68 light: {
69 boxShadow: "inset 0 0 0px 1px " + boxShadowColor,
70 color: (0, _colorsUtils.get)(color, 500)
71 },
72 dark: {
73 boxShadow: "inset 0 0 0px 1px " + darkModeColor,
74 color: darkModeColor
75 }
76 };
77};
78
79var variantProps = function variantProps(props) {
80 var variant = props.variant,
81 colorMode = props.colorMode;
82
83 switch (variant) {
84 case "solid":
85 return solidStyle(props)[colorMode];
86
87 case "subtle":
88 return subtleStyle(props)[colorMode];
89
90 case "outline":
91 return outlineStyle(props)[colorMode];
92
93 default:
94 return {};
95 }
96};
97
98var useBadgeStyle = function useBadgeStyle(props) {
99 var theme = (0, _ThemeProvider.useTheme)();
100
101 var _useColorMode = (0, _ColorModeProvider.useColorMode)(),
102 colorMode = _useColorMode.colorMode;
103
104 var _props = _objectSpread({}, props, {
105 theme: theme,
106 colorMode: colorMode
107 });
108
109 return variantProps(_props);
110};
111
112var _default = useBadgeStyle;
113exports["default"] = _default;
\No newline at end of file