1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | exports.__esModule = true;
|
6 | exports["default"] = exports.useAlertIconStyle = void 0;
|
7 |
|
8 | var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
9 |
|
10 | var _colorsUtils = require("../theme/colors-utils");
|
11 |
|
12 | var _ThemeProvider = require("../ThemeProvider");
|
13 |
|
14 | var _ColorModeProvider = require("../ColorModeProvider");
|
15 |
|
16 | function 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 |
|
18 | function _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 |
|
20 | var leftAccent = function leftAccent(props) {
|
21 | var color = props.color;
|
22 | return {
|
23 | light: _objectSpread({
|
24 | pl: 3
|
25 | }, subtle(props).light, {
|
26 | borderLeft: "4px",
|
27 | borderColor: color + ".500"
|
28 | }),
|
29 | dark: _objectSpread({
|
30 | pl: 3
|
31 | }, subtle(props).dark, {
|
32 | borderLeft: "4px",
|
33 | borderColor: color + ".200"
|
34 | })
|
35 | };
|
36 | };
|
37 |
|
38 | var topAccent = function topAccent(props) {
|
39 | var color = props.color;
|
40 | return {
|
41 | light: _objectSpread({
|
42 | pt: 2
|
43 | }, subtle(props).light, {
|
44 | borderTop: "4px",
|
45 | borderColor: color + ".500"
|
46 | }),
|
47 | dark: _objectSpread({
|
48 | pt: 2
|
49 | }, subtle(props).dark, {
|
50 | borderTop: "4px",
|
51 | borderColor: color + ".200"
|
52 | })
|
53 | };
|
54 | };
|
55 |
|
56 | var solid = function solid(_ref) {
|
57 | var color = _ref.color;
|
58 | return {
|
59 | light: {
|
60 | bg: color + ".500",
|
61 | color: "white"
|
62 | },
|
63 | dark: {
|
64 | bg: color + ".200",
|
65 | color: "gray.900"
|
66 | }
|
67 | };
|
68 | };
|
69 |
|
70 | var subtle = function subtle(_ref2) {
|
71 | var color = _ref2.color,
|
72 | colors = _ref2.theme.colors;
|
73 | var darkBg = colors[color] && colors[color][200];
|
74 | return {
|
75 | light: {
|
76 | bg: color + ".100"
|
77 | },
|
78 | dark: {
|
79 | bg: (0, _colorsUtils.colorEmphasis)(darkBg, "lowest")
|
80 | }
|
81 | };
|
82 | };
|
83 |
|
84 | var statusStyleProps = function statusStyleProps(props) {
|
85 | switch (props.variant) {
|
86 | case "solid":
|
87 | return solid(props);
|
88 |
|
89 | case "subtle":
|
90 | return subtle(props);
|
91 |
|
92 | case "top-accent":
|
93 | return topAccent(props);
|
94 |
|
95 | case "left-accent":
|
96 | return leftAccent(props);
|
97 |
|
98 | default:
|
99 | return {};
|
100 | }
|
101 | };
|
102 |
|
103 | var baseProps = {
|
104 | display: "flex",
|
105 | alignItems: "center",
|
106 | position: "relative",
|
107 | overflow: "hidden",
|
108 | pl: 4,
|
109 | pr: 4,
|
110 | pt: 3,
|
111 | pb: 3
|
112 | };
|
113 |
|
114 | var useAlertStyle = function useAlertStyle(props) {
|
115 | var _useColorMode = (0, _ColorModeProvider.useColorMode)(),
|
116 | colorMode = _useColorMode.colorMode;
|
117 |
|
118 | var theme = (0, _ThemeProvider.useTheme)();
|
119 |
|
120 | var _props = _objectSpread({}, props, {
|
121 | theme: theme
|
122 | });
|
123 |
|
124 | return _objectSpread({}, baseProps, {}, statusStyleProps(_props)[colorMode]);
|
125 | };
|
126 |
|
127 | var useAlertIconStyle = function useAlertIconStyle(_ref3) {
|
128 | var variant = _ref3.variant,
|
129 | color = _ref3.color;
|
130 |
|
131 | var _useColorMode2 = (0, _ColorModeProvider.useColorMode)(),
|
132 | colorMode = _useColorMode2.colorMode;
|
133 |
|
134 | if (["left-accent", "top-accent", "subtle"].includes(variant)) {
|
135 | var result = {
|
136 | light: {
|
137 | color: color + ".500"
|
138 | },
|
139 | dark: {
|
140 | color: color + ".200"
|
141 | }
|
142 | };
|
143 | return result[colorMode];
|
144 | }
|
145 | };
|
146 |
|
147 | exports.useAlertIconStyle = useAlertIconStyle;
|
148 | var _default = useAlertStyle;
|
149 | exports["default"] = _default; |
\ | No newline at end of file |