@cleartrip/ct-design-button 3.0.0 → 3.1.0-SNAPSHOT-test.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,19 +1,13 @@
1
- import { __rest, __assign } from 'tslib';
2
- import { jsx, jsxs } from 'react/jsx-runtime';
3
- import { forwardRef, useCallback } from 'react';
4
- import styled from 'styled-components';
1
+ import { __assign, __rest, __spreadArray } from 'tslib';
2
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
+ import { forwardRef, useState, useMemo, useCallback } from 'react';
4
+ import styled from '@emotion/styled';
5
5
  import { TypographyVariant, Typography } from '@cleartrip/ct-design-typography';
6
6
  import { Container } from '@cleartrip/ct-design-container';
7
7
  import { useTheme } from '@cleartrip/ct-design-theme';
8
+ import { makeStyles, useStyles, useWebMergeStyles } from '@cleartrip/ct-design-style-manager';
8
9
  import { DottedLoader } from '@cleartrip/ct-design-dotted-loader';
9
10
 
10
- var getStyledButtonStyles = function (_a) {
11
- var cursor = _a.cursor, backgroundColor = _a.backgroundColor, borderStyle = _a.borderStyle, height = _a.height, minWidth = _a.minWidth, paddingTop = _a.paddingTop, paddingBottom = _a.paddingBottom, borderColor = _a.borderColor, borderWidth = _a.borderWidth, theme = _a.theme, rest = __rest(_a, ["cursor", "backgroundColor", "borderStyle", "height", "minWidth", "paddingTop", "paddingBottom", "borderColor", "borderWidth", "theme"]);
12
- return (__assign(__assign({ display: 'flex', border: 'none', justifyContent: 'center', alignItems: 'center', boxSizing: 'border-box', position: 'relative', userSelect: 'none', textDecoration: 'none', paddingLeft: theme.spacing[3], paddingRight: theme.spacing[3], cursor: cursor, borderRadius: theme.border.radius[8], borderWidth: borderWidth, backgroundColor: backgroundColor, borderStyle: borderStyle, height: height, paddingTop: paddingTop, paddingBottom: paddingBottom, borderColor: borderColor, minWidth: minWidth }, rest), { '&:hover': {
13
- backgroundColor: theme.color.button.hover(backgroundColor),
14
- } }));
15
- };
16
-
17
11
  var ButtonSize;
18
12
  (function (ButtonSize) {
19
13
  ButtonSize["SMALL"] = "small";
@@ -36,6 +30,7 @@ var ButtonColor;
36
30
  ButtonColor["PRIMARY"] = "primary";
37
31
  ButtonColor["SECONDARY"] = "secondary";
38
32
  ButtonColor["TERTIARY"] = "tertiary";
33
+ ButtonColor["NEUTRAL"] = "neutral";
39
34
  })(ButtonColor || (ButtonColor = {}));
40
35
 
41
36
  var getButtonSizeStyles = function (theme, size) {
@@ -96,7 +91,7 @@ var getButtonVariantStyles = function (theme, variant, disabled) {
96
91
  }
97
92
  }
98
93
  };
99
- var getContainedButtonColorStyles = function (theme, color, disabled) {
94
+ var getContainedButtonColorStyles = function (theme, color, disabled, isHover) {
100
95
  if (disabled) {
101
96
  return {
102
97
  backgroundColor: theme.color.button.containedDisabledBg,
@@ -105,22 +100,30 @@ var getContainedButtonColorStyles = function (theme, color, disabled) {
105
100
  switch (color) {
106
101
  case ButtonColor.PRIMARY: {
107
102
  return {
108
- backgroundColor: theme.color.button.containedPrimaryBg,
103
+ backgroundColor: isHover
104
+ ? theme.color.button.hover(theme.color.button.containedPrimaryBg)
105
+ : theme.color.button.containedPrimaryBg,
109
106
  };
110
107
  }
111
108
  case ButtonColor.SECONDARY: {
112
109
  return {
113
- backgroundColor: theme.color.button.containedSecondaryBg,
110
+ backgroundColor: isHover
111
+ ? theme.color.button.hover(theme.color.button.containedSecondaryBg)
112
+ : theme.color.button.containedSecondaryBg,
114
113
  };
115
114
  }
116
115
  case ButtonColor.TERTIARY: {
117
116
  return {
118
- backgroundColor: theme.color.button.containedTertiaryBg,
117
+ backgroundColor: isHover
118
+ ? theme.color.button.hover(theme.color.button.containedTertiaryBg)
119
+ : theme.color.button.containedTertiaryBg,
119
120
  };
120
121
  }
121
122
  default: {
122
123
  return {
123
- backgroundColor: theme.color.button.containedPrimaryBg,
124
+ backgroundColor: isHover
125
+ ? theme.color.button.hover(theme.color.button.containedPrimaryBg)
126
+ : theme.color.button.containedPrimaryBg,
124
127
  };
125
128
  }
126
129
  }
@@ -150,6 +153,12 @@ var getOutlinedButtonColorStyles = function (theme, color, disabled) {
150
153
  borderColor: theme.color.button.outlinedTertiaryBorder,
151
154
  };
152
155
  }
156
+ case ButtonColor.NEUTRAL: {
157
+ return {
158
+ backgroundColor: theme.color.button.outlinedNeutralBg,
159
+ borderColor: theme.color.button.outlinedNeutralBorder,
160
+ };
161
+ }
153
162
  default: {
154
163
  return {
155
164
  backgroundColor: theme.color.button.outlinedPrimaryBg,
@@ -158,17 +167,17 @@ var getOutlinedButtonColorStyles = function (theme, color, disabled) {
158
167
  }
159
168
  }
160
169
  };
161
- var getButtonVariantColorStyles = function (theme, color, variant, disabled) {
170
+ var getButtonVariantColorStyles = function (theme, color, variant, disabled, isHover) {
162
171
  switch (variant) {
163
172
  case ButtonVariant.CONTAINED: {
164
- return getContainedButtonColorStyles(theme, color, disabled);
173
+ return getContainedButtonColorStyles(theme, color, disabled, isHover);
165
174
  }
166
175
  case ButtonVariant.OUTLINE:
167
176
  case ButtonVariant.BARE: {
168
177
  return getOutlinedButtonColorStyles(theme, color, disabled);
169
178
  }
170
179
  default: {
171
- return getContainedButtonColorStyles(theme, color, disabled);
180
+ return getContainedButtonColorStyles(theme, color, disabled, isHover);
172
181
  }
173
182
  }
174
183
  };
@@ -205,6 +214,9 @@ var getOutlinedButtonLabelColor = function (color, disabled, theme) {
205
214
  case ButtonColor.TERTIARY: {
206
215
  return theme.color.button.outlinedTertiaryLabel;
207
216
  }
217
+ case ButtonColor.NEUTRAL: {
218
+ return theme.color.button.outlinedNeutralLabel;
219
+ }
208
220
  default: {
209
221
  return theme.color.button.outlinedPrimaryLabel;
210
222
  }
@@ -255,38 +267,77 @@ var getDefaultButtonStyles = function (disabled) {
255
267
  }
256
268
  };
257
269
  var getButtonStyles = function (_a) {
258
- var theme = _a.theme, size = _a.size, variant = _a.variant, color = _a.color, disabled = _a.disabled, minWidth = _a.minWidth, isFullWidth = _a.isFullWidth, loading = _a.loading;
259
- return __assign(__assign(__assign(__assign(__assign({}, getButtonSizeStyles(theme, size)), getButtonVariantStyles(theme, variant, disabled || loading)), getButtonVariantColorStyles(theme, color, variant, disabled || loading)), getDefaultButtonStyles(disabled || loading)), { minWidth: isFullWidth ? '100%' : minWidth || 'auto' });
270
+ var theme = _a.theme, size = _a.size, variant = _a.variant, color = _a.color, disabled = _a.disabled, minWidth = _a.minWidth, isFullWidth = _a.isFullWidth, loading = _a.loading, isHover = _a.isHover;
271
+ return __assign(__assign(__assign(__assign(__assign({}, getButtonSizeStyles(theme, size)), getButtonVariantStyles(theme, variant, disabled || loading)), getButtonVariantColorStyles(theme, color, variant, disabled || loading, isHover)), getDefaultButtonStyles(disabled || loading)), { minWidth: isFullWidth ? '100%' : minWidth || 'auto' });
260
272
  };
261
273
 
262
- var StyledButton = styled.button(function (_a) {
263
- var css = _a.css, theme = _a.theme;
264
- return getStyledButtonStyles(__assign(__assign({}, css), { theme: theme }));
274
+ var StyledButton = styled.button(function () { return ({}); });
275
+ var staticButtonStyles = makeStyles(function (theme) {
276
+ return {
277
+ root: {
278
+ display: 'flex',
279
+ flexDirection: 'row',
280
+ justifyContent: 'center',
281
+ alignItems: 'center',
282
+ position: 'relative',
283
+ paddingHorizontal: theme.spacing[3],
284
+ borderRadius: theme.border.radius[8],
285
+ },
286
+ prefixIcon: {
287
+ display: 'flex',
288
+ alignItems: 'center',
289
+ justifyContent: 'center',
290
+ paddingRight: theme.spacing[1],
291
+ },
292
+ suffixIcon: {
293
+ display: 'flex',
294
+ alignItems: 'center',
295
+ justifyContent: 'center',
296
+ paddingLeft: theme.spacing[1],
297
+ },
298
+ };
265
299
  });
266
300
  var Button = forwardRef(function (_a, forwardedRef) {
267
- var _b = _a.size, size = _b === void 0 ? ButtonSize.MEDIUM : _b, _c = _a.variant, variant = _c === void 0 ? ButtonVariant.CONTAINED : _c, _d = _a.color, color = _d === void 0 ? ButtonColor.PRIMARY : _d, _e = _a.isFullWidth, isFullWidth = _e === void 0 ? false : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.onClick, onClick = _g === void 0 ? function () { } : _g, _h = _a.minWidth, minWidth = _h === void 0 ? '' : _h, _j = _a.showLeftIcon, showLeftIcon = _j === void 0 ? false : _j, _k = _a.LeftIcon, LeftIcon = _k === void 0 ? null : _k, _l = _a.showRightIcon, showRightIcon = _l === void 0 ? false : _l, _m = _a.RightIcon, RightIcon = _m === void 0 ? null : _m, css = _a.css, children = _a.children, _o = _a.loading, loading = _o === void 0 ? false : _o, _p = _a.styleConfig, styleConfig = _p === void 0 ? {} : _p, rest = __rest(_a, ["size", "variant", "color", "isFullWidth", "disabled", "onClick", "minWidth", "showLeftIcon", "LeftIcon", "showRightIcon", "RightIcon", "css", "children", "loading", "styleConfig"]);
301
+ var _b = _a.size, size = _b === void 0 ? ButtonSize.MEDIUM : _b, _c = _a.variant, variant = _c === void 0 ? ButtonVariant.CONTAINED : _c, _d = _a.color, color = _d === void 0 ? ButtonColor.PRIMARY : _d, _e = _a.isFullWidth, isFullWidth = _e === void 0 ? false : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.onClick, onClick = _g === void 0 ? function () { } : _g, _h = _a.minWidth, minWidth = _h === void 0 ? '' : _h, _j = _a.showLeftIcon, showLeftIcon = _j === void 0 ? false : _j, _k = _a.LeftIcon, LeftIcon = _k === void 0 ? null : _k, _l = _a.showRightIcon, showRightIcon = _l === void 0 ? false : _l, _m = _a.RightIcon, RightIcon = _m === void 0 ? null : _m, prefixIcon = _a.prefixIcon, suffixIcon = _a.suffixIcon, children = _a.children, _o = _a.loading, loading = _o === void 0 ? false : _o, _p = _a.styleConfig, styleConfig = _p === void 0 ? {} : _p, _q = _a.noHover, noHover = _q === void 0 ? false : _q, rest = __rest(_a, ["size", "variant", "color", "isFullWidth", "disabled", "onClick", "minWidth", "showLeftIcon", "LeftIcon", "showRightIcon", "RightIcon", "prefixIcon", "suffixIcon", "children", "loading", "styleConfig", "noHover"]);
268
302
  var theme = useTheme();
269
- var buttonStyles = getButtonStyles({
270
- theme: theme,
271
- size: size,
272
- variant: variant,
273
- color: color,
274
- disabled: disabled,
275
- minWidth: minWidth,
276
- isFullWidth: isFullWidth,
277
- loading: loading,
278
- });
279
- var root = styleConfig.root, container = styleConfig.container, typography = styleConfig.typography, iconContainer = styleConfig.iconContainer;
303
+ var _r = useState(false), isHover = _r[0], setHover = _r[1];
304
+ var buttonStyles = useStyles(function (theme) {
305
+ return {
306
+ root: getButtonStyles({
307
+ theme: theme,
308
+ size: size,
309
+ variant: variant,
310
+ color: color,
311
+ disabled: disabled,
312
+ minWidth: minWidth,
313
+ isFullWidth: isFullWidth,
314
+ loading: loading,
315
+ isHover: noHover ? false : isHover,
316
+ }),
317
+ };
318
+ }, [size, variant, color, disabled, minWidth, isFullWidth, loading, isHover, noHover, theme]);
319
+ var _s = styleConfig || {}, _t = _s.root, customRootStyles = _t === void 0 ? [] : _t, _u = _s.container, customContainerStyles = _u === void 0 ? [] : _u, _v = _s.typography, customTypographyStyles = _v === void 0 ? [] : _v, _w = _s.iconContainer, customIconContainerStyles = _w === void 0 ? [] : _w, _x = _s.prefixIconContainer, customPrefixIconContainerStyles = _x === void 0 ? [] : _x, _y = _s.suffixIconContainer, customSuffixIconContainerStyles = _y === void 0 ? [] : _y;
320
+ var buttonLabelColor = useMemo(function () {
321
+ return getButtonVariantLabelColor(variant, color, disabled, theme, loading);
322
+ }, [variant, color, disabled, theme, loading]);
323
+ var mergedRootStyles = useWebMergeStyles(__spreadArray([staticButtonStyles.root, buttonStyles.root], customRootStyles, true), [staticButtonStyles.root, buttonStyles.root, customRootStyles]);
324
+ var mergedContainerStyles = useWebMergeStyles(__spreadArray([], customContainerStyles, true), [customContainerStyles]);
325
+ var mergedTypographyStyles = useWebMergeStyles(__spreadArray([], customTypographyStyles, true), [customTypographyStyles]);
326
+ var mergedIconContainerStyles = useWebMergeStyles(__spreadArray([], customIconContainerStyles, true), [customIconContainerStyles]);
327
+ var mergedPrefixIconStyles = useWebMergeStyles(__spreadArray([staticButtonStyles.prefixIcon], customPrefixIconContainerStyles, true), [staticButtonStyles.prefixIcon, customPrefixIconContainerStyles]);
328
+ var mergedSuffixIconStyles = useWebMergeStyles(__spreadArray([staticButtonStyles.suffixIcon], customSuffixIconContainerStyles, true), [staticButtonStyles.suffixIcon, customSuffixIconContainerStyles]);
280
329
  var Icon = useCallback(function (show, IconComponent) {
281
- return show ? (jsx(Container, __assign({ paddingLeft: theme.spacing[1], display: 'flex', alignItems: 'center', justifyContent: 'center', className: iconContainer === null || iconContainer === void 0 ? void 0 : iconContainer.className, css: iconContainer === null || iconContainer === void 0 ? void 0 : iconContainer.css }, { children: IconComponent }))) : null;
282
- }, []);
330
+ return show ? (jsx(Container, __assign({ paddingLeft: theme.spacing[1], display: 'flex', alignItems: 'center', justifyContent: 'center', className: mergedIconContainerStyles }, { children: IconComponent }))) : null;
331
+ }, [mergedIconContainerStyles]);
283
332
  var handleClick = useCallback(function (event) {
284
333
  if (!disabled && onClick && !loading)
285
334
  onClick(event);
286
335
  if (disabled || loading)
287
336
  event.preventDefault();
288
337
  }, [disabled, onClick, loading]);
289
- return (jsxs(StyledButton, __assign({ ref: forwardedRef, onClick: handleClick, css: __assign(__assign({}, buttonStyles), ((root === null || root === void 0 ? void 0 : root.css) || css || {})), className: root === null || root === void 0 ? void 0 : root.className, theme: theme }, rest, { children: [Icon(showLeftIcon, LeftIcon), jsx(Container, __assign({ paddingLeft: theme.spacing[1], paddingRight: theme.spacing[1], className: container === null || container === void 0 ? void 0 : container.className, css: __assign({}, container === null || container === void 0 ? void 0 : container.css) }, { children: jsx(Typography, __assign({ variant: getTypographyVariant(size), colorCode: getButtonVariantLabelColor(variant, color, disabled, theme, loading), styleConfig: __assign(__assign({}, typography), { css: __assign({ cursor: disabled ? 'not-allowed' : 'pointer' }, typography === null || typography === void 0 ? void 0 : typography.css) }) }, { children: loading ? jsx(DottedLoader, {}) : children })) })), Icon(showRightIcon, RightIcon)] })));
338
+ return (jsx(StyledButton, __assign({ ref: forwardedRef, onClick: handleClick, className: mergedRootStyles, theme: theme }, rest, { onMouseEnter: function () { return setHover(true); }, onMouseLeave: function () { return setHover(false); } }, { children: loading ? (jsx(DottedLoader, {})) : (jsxs(Fragment, { children: [Icon(showLeftIcon, LeftIcon), prefixIcon && jsx(Container, __assign({ className: mergedPrefixIconStyles }, { children: prefixIcon })), jsx(Container, __assign({ className: mergedContainerStyles }, { children: jsx(Typography, __assign({ variant: getTypographyVariant(size), colorCode: buttonLabelColor, styleConfig: {
339
+ root: [mergedTypographyStyles],
340
+ } }, { children: children })) })), suffixIcon && jsx(Container, __assign({ className: mergedSuffixIconStyles }, { children: suffixIcon })), Icon(showRightIcon, RightIcon)] })) })));
290
341
  });
291
342
 
292
343
  export { Button, ButtonColor, ButtonSize, ButtonVariant, IconPosition };
@@ -1 +1 @@
1
- {"version":3,"file":"ct-design-button.esm.js","sources":["../packages/components/Button/src/StyledButton.ts","../packages/components/Button/src/type.ts","../packages/components/Button/src/style.ts","../packages/components/Button/src/Button.tsx"],"sourcesContent":[null,null,null,null],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"ct-design-button.esm.js","sources":["../packages/components/Button/src/type.ts","../packages/components/Button/src/style.ts","../packages/components/Button/src/Button.tsx"],"sourcesContent":[null,null,null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react/jsx-runtime'), require('react'), require('styled-components'), require('@cleartrip/ct-design-typography'), require('@cleartrip/ct-design-container'), require('@cleartrip/ct-design-theme'), require('@cleartrip/ct-design-dotted-loader')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'react/jsx-runtime', 'react', 'styled-components', '@cleartrip/ct-design-typography', '@cleartrip/ct-design-container', '@cleartrip/ct-design-theme', '@cleartrip/ct-design-dotted-loader'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.CTDesignSystemButton = {}, global.jsxRuntime, global.React, global.styled, global.ctDesignTypography, global.ctDesignContainer, global.ctDesignTheme, global.ctDesignDottedLoader));
5
- })(this, (function (exports, jsxRuntime, react, styled, ctDesignTypography, ctDesignContainer, ctDesignTheme, ctDesignDottedLoader) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react/jsx-runtime'), require('react'), require('@emotion/styled'), require('@cleartrip/ct-design-typography'), require('@cleartrip/ct-design-container'), require('@cleartrip/ct-design-theme'), require('@cleartrip/ct-design-style-manager'), require('@cleartrip/ct-design-dotted-loader')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'react/jsx-runtime', 'react', '@emotion/styled', '@cleartrip/ct-design-typography', '@cleartrip/ct-design-container', '@cleartrip/ct-design-theme', '@cleartrip/ct-design-style-manager', '@cleartrip/ct-design-dotted-loader'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.CTDesignSystemButton = {}, global.jsxRuntime, global.React, global.styled, global.ctDesignTypography, global.ctDesignContainer, global.ctDesignTheme, global.ctDesignStyleManager, global.ctDesignDottedLoader));
5
+ })(this, (function (exports, jsxRuntime, react, styled, ctDesignTypography, ctDesignContainer, ctDesignTheme, ctDesignStyleManager, ctDesignDottedLoader) { 'use strict';
6
6
 
7
7
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
8
 
@@ -22,7 +22,7 @@
22
22
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
23
23
  PERFORMANCE OF THIS SOFTWARE.
24
24
  ***************************************************************************** */
25
- /* global Reflect, Promise, SuppressedError, Symbol */
25
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
26
26
 
27
27
  var __assign = function () {
28
28
  __assign = Object.assign || function __assign(t) {
@@ -42,18 +42,20 @@
42
42
  }
43
43
  return t;
44
44
  }
45
+ function __spreadArray(to, from, pack) {
46
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
47
+ if (ar || !(i in from)) {
48
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
49
+ ar[i] = from[i];
50
+ }
51
+ }
52
+ return to.concat(ar || Array.prototype.slice.call(from));
53
+ }
45
54
  typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
46
55
  var e = new Error(message);
47
56
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
48
57
  };
49
58
 
50
- var getStyledButtonStyles = function (_a) {
51
- var cursor = _a.cursor, backgroundColor = _a.backgroundColor, borderStyle = _a.borderStyle, height = _a.height, minWidth = _a.minWidth, paddingTop = _a.paddingTop, paddingBottom = _a.paddingBottom, borderColor = _a.borderColor, borderWidth = _a.borderWidth, theme = _a.theme, rest = __rest(_a, ["cursor", "backgroundColor", "borderStyle", "height", "minWidth", "paddingTop", "paddingBottom", "borderColor", "borderWidth", "theme"]);
52
- return (__assign(__assign({ display: 'flex', border: 'none', justifyContent: 'center', alignItems: 'center', boxSizing: 'border-box', position: 'relative', userSelect: 'none', textDecoration: 'none', paddingLeft: theme.spacing[3], paddingRight: theme.spacing[3], cursor: cursor, borderRadius: theme.border.radius[8], borderWidth: borderWidth, backgroundColor: backgroundColor, borderStyle: borderStyle, height: height, paddingTop: paddingTop, paddingBottom: paddingBottom, borderColor: borderColor, minWidth: minWidth }, rest), { '&:hover': {
53
- backgroundColor: theme.color.button.hover(backgroundColor),
54
- } }));
55
- };
56
-
57
59
  exports.ButtonSize = void 0;
58
60
  (function (ButtonSize) {
59
61
  ButtonSize["SMALL"] = "small";
@@ -76,6 +78,7 @@
76
78
  ButtonColor["PRIMARY"] = "primary";
77
79
  ButtonColor["SECONDARY"] = "secondary";
78
80
  ButtonColor["TERTIARY"] = "tertiary";
81
+ ButtonColor["NEUTRAL"] = "neutral";
79
82
  })(exports.ButtonColor || (exports.ButtonColor = {}));
80
83
 
81
84
  var getButtonSizeStyles = function (theme, size) {
@@ -136,7 +139,7 @@
136
139
  }
137
140
  }
138
141
  };
139
- var getContainedButtonColorStyles = function (theme, color, disabled) {
142
+ var getContainedButtonColorStyles = function (theme, color, disabled, isHover) {
140
143
  if (disabled) {
141
144
  return {
142
145
  backgroundColor: theme.color.button.containedDisabledBg,
@@ -145,22 +148,30 @@
145
148
  switch (color) {
146
149
  case exports.ButtonColor.PRIMARY: {
147
150
  return {
148
- backgroundColor: theme.color.button.containedPrimaryBg,
151
+ backgroundColor: isHover
152
+ ? theme.color.button.hover(theme.color.button.containedPrimaryBg)
153
+ : theme.color.button.containedPrimaryBg,
149
154
  };
150
155
  }
151
156
  case exports.ButtonColor.SECONDARY: {
152
157
  return {
153
- backgroundColor: theme.color.button.containedSecondaryBg,
158
+ backgroundColor: isHover
159
+ ? theme.color.button.hover(theme.color.button.containedSecondaryBg)
160
+ : theme.color.button.containedSecondaryBg,
154
161
  };
155
162
  }
156
163
  case exports.ButtonColor.TERTIARY: {
157
164
  return {
158
- backgroundColor: theme.color.button.containedTertiaryBg,
165
+ backgroundColor: isHover
166
+ ? theme.color.button.hover(theme.color.button.containedTertiaryBg)
167
+ : theme.color.button.containedTertiaryBg,
159
168
  };
160
169
  }
161
170
  default: {
162
171
  return {
163
- backgroundColor: theme.color.button.containedPrimaryBg,
172
+ backgroundColor: isHover
173
+ ? theme.color.button.hover(theme.color.button.containedPrimaryBg)
174
+ : theme.color.button.containedPrimaryBg,
164
175
  };
165
176
  }
166
177
  }
@@ -190,6 +201,12 @@
190
201
  borderColor: theme.color.button.outlinedTertiaryBorder,
191
202
  };
192
203
  }
204
+ case exports.ButtonColor.NEUTRAL: {
205
+ return {
206
+ backgroundColor: theme.color.button.outlinedNeutralBg,
207
+ borderColor: theme.color.button.outlinedNeutralBorder,
208
+ };
209
+ }
193
210
  default: {
194
211
  return {
195
212
  backgroundColor: theme.color.button.outlinedPrimaryBg,
@@ -198,17 +215,17 @@
198
215
  }
199
216
  }
200
217
  };
201
- var getButtonVariantColorStyles = function (theme, color, variant, disabled) {
218
+ var getButtonVariantColorStyles = function (theme, color, variant, disabled, isHover) {
202
219
  switch (variant) {
203
220
  case exports.ButtonVariant.CONTAINED: {
204
- return getContainedButtonColorStyles(theme, color, disabled);
221
+ return getContainedButtonColorStyles(theme, color, disabled, isHover);
205
222
  }
206
223
  case exports.ButtonVariant.OUTLINE:
207
224
  case exports.ButtonVariant.BARE: {
208
225
  return getOutlinedButtonColorStyles(theme, color, disabled);
209
226
  }
210
227
  default: {
211
- return getContainedButtonColorStyles(theme, color, disabled);
228
+ return getContainedButtonColorStyles(theme, color, disabled, isHover);
212
229
  }
213
230
  }
214
231
  };
@@ -245,6 +262,9 @@
245
262
  case exports.ButtonColor.TERTIARY: {
246
263
  return theme.color.button.outlinedTertiaryLabel;
247
264
  }
265
+ case exports.ButtonColor.NEUTRAL: {
266
+ return theme.color.button.outlinedNeutralLabel;
267
+ }
248
268
  default: {
249
269
  return theme.color.button.outlinedPrimaryLabel;
250
270
  }
@@ -295,38 +315,77 @@
295
315
  }
296
316
  };
297
317
  var getButtonStyles = function (_a) {
298
- var theme = _a.theme, size = _a.size, variant = _a.variant, color = _a.color, disabled = _a.disabled, minWidth = _a.minWidth, isFullWidth = _a.isFullWidth, loading = _a.loading;
299
- return __assign(__assign(__assign(__assign(__assign({}, getButtonSizeStyles(theme, size)), getButtonVariantStyles(theme, variant, disabled || loading)), getButtonVariantColorStyles(theme, color, variant, disabled || loading)), getDefaultButtonStyles(disabled || loading)), { minWidth: isFullWidth ? '100%' : minWidth || 'auto' });
318
+ var theme = _a.theme, size = _a.size, variant = _a.variant, color = _a.color, disabled = _a.disabled, minWidth = _a.minWidth, isFullWidth = _a.isFullWidth, loading = _a.loading, isHover = _a.isHover;
319
+ return __assign(__assign(__assign(__assign(__assign({}, getButtonSizeStyles(theme, size)), getButtonVariantStyles(theme, variant, disabled || loading)), getButtonVariantColorStyles(theme, color, variant, disabled || loading, isHover)), getDefaultButtonStyles(disabled || loading)), { minWidth: isFullWidth ? '100%' : minWidth || 'auto' });
300
320
  };
301
321
 
302
- var StyledButton = styled__default.default.button(function (_a) {
303
- var css = _a.css, theme = _a.theme;
304
- return getStyledButtonStyles(__assign(__assign({}, css), { theme: theme }));
322
+ var StyledButton = styled__default.default.button(function () { return ({}); });
323
+ var staticButtonStyles = ctDesignStyleManager.makeStyles(function (theme) {
324
+ return {
325
+ root: {
326
+ display: 'flex',
327
+ flexDirection: 'row',
328
+ justifyContent: 'center',
329
+ alignItems: 'center',
330
+ position: 'relative',
331
+ paddingHorizontal: theme.spacing[3],
332
+ borderRadius: theme.border.radius[8],
333
+ },
334
+ prefixIcon: {
335
+ display: 'flex',
336
+ alignItems: 'center',
337
+ justifyContent: 'center',
338
+ paddingRight: theme.spacing[1],
339
+ },
340
+ suffixIcon: {
341
+ display: 'flex',
342
+ alignItems: 'center',
343
+ justifyContent: 'center',
344
+ paddingLeft: theme.spacing[1],
345
+ },
346
+ };
305
347
  });
306
348
  var Button = react.forwardRef(function (_a, forwardedRef) {
307
- var _b = _a.size, size = _b === void 0 ? exports.ButtonSize.MEDIUM : _b, _c = _a.variant, variant = _c === void 0 ? exports.ButtonVariant.CONTAINED : _c, _d = _a.color, color = _d === void 0 ? exports.ButtonColor.PRIMARY : _d, _e = _a.isFullWidth, isFullWidth = _e === void 0 ? false : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.onClick, onClick = _g === void 0 ? function () { } : _g, _h = _a.minWidth, minWidth = _h === void 0 ? '' : _h, _j = _a.showLeftIcon, showLeftIcon = _j === void 0 ? false : _j, _k = _a.LeftIcon, LeftIcon = _k === void 0 ? null : _k, _l = _a.showRightIcon, showRightIcon = _l === void 0 ? false : _l, _m = _a.RightIcon, RightIcon = _m === void 0 ? null : _m, css = _a.css, children = _a.children, _o = _a.loading, loading = _o === void 0 ? false : _o, _p = _a.styleConfig, styleConfig = _p === void 0 ? {} : _p, rest = __rest(_a, ["size", "variant", "color", "isFullWidth", "disabled", "onClick", "minWidth", "showLeftIcon", "LeftIcon", "showRightIcon", "RightIcon", "css", "children", "loading", "styleConfig"]);
349
+ var _b = _a.size, size = _b === void 0 ? exports.ButtonSize.MEDIUM : _b, _c = _a.variant, variant = _c === void 0 ? exports.ButtonVariant.CONTAINED : _c, _d = _a.color, color = _d === void 0 ? exports.ButtonColor.PRIMARY : _d, _e = _a.isFullWidth, isFullWidth = _e === void 0 ? false : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.onClick, onClick = _g === void 0 ? function () { } : _g, _h = _a.minWidth, minWidth = _h === void 0 ? '' : _h, _j = _a.showLeftIcon, showLeftIcon = _j === void 0 ? false : _j, _k = _a.LeftIcon, LeftIcon = _k === void 0 ? null : _k, _l = _a.showRightIcon, showRightIcon = _l === void 0 ? false : _l, _m = _a.RightIcon, RightIcon = _m === void 0 ? null : _m, prefixIcon = _a.prefixIcon, suffixIcon = _a.suffixIcon, children = _a.children, _o = _a.loading, loading = _o === void 0 ? false : _o, _p = _a.styleConfig, styleConfig = _p === void 0 ? {} : _p, _q = _a.noHover, noHover = _q === void 0 ? false : _q, rest = __rest(_a, ["size", "variant", "color", "isFullWidth", "disabled", "onClick", "minWidth", "showLeftIcon", "LeftIcon", "showRightIcon", "RightIcon", "prefixIcon", "suffixIcon", "children", "loading", "styleConfig", "noHover"]);
308
350
  var theme = ctDesignTheme.useTheme();
309
- var buttonStyles = getButtonStyles({
310
- theme: theme,
311
- size: size,
312
- variant: variant,
313
- color: color,
314
- disabled: disabled,
315
- minWidth: minWidth,
316
- isFullWidth: isFullWidth,
317
- loading: loading,
318
- });
319
- var root = styleConfig.root, container = styleConfig.container, typography = styleConfig.typography, iconContainer = styleConfig.iconContainer;
351
+ var _r = react.useState(false), isHover = _r[0], setHover = _r[1];
352
+ var buttonStyles = ctDesignStyleManager.useStyles(function (theme) {
353
+ return {
354
+ root: getButtonStyles({
355
+ theme: theme,
356
+ size: size,
357
+ variant: variant,
358
+ color: color,
359
+ disabled: disabled,
360
+ minWidth: minWidth,
361
+ isFullWidth: isFullWidth,
362
+ loading: loading,
363
+ isHover: noHover ? false : isHover,
364
+ }),
365
+ };
366
+ }, [size, variant, color, disabled, minWidth, isFullWidth, loading, isHover, noHover, theme]);
367
+ var _s = styleConfig || {}, _t = _s.root, customRootStyles = _t === void 0 ? [] : _t, _u = _s.container, customContainerStyles = _u === void 0 ? [] : _u, _v = _s.typography, customTypographyStyles = _v === void 0 ? [] : _v, _w = _s.iconContainer, customIconContainerStyles = _w === void 0 ? [] : _w, _x = _s.prefixIconContainer, customPrefixIconContainerStyles = _x === void 0 ? [] : _x, _y = _s.suffixIconContainer, customSuffixIconContainerStyles = _y === void 0 ? [] : _y;
368
+ var buttonLabelColor = react.useMemo(function () {
369
+ return getButtonVariantLabelColor(variant, color, disabled, theme, loading);
370
+ }, [variant, color, disabled, theme, loading]);
371
+ var mergedRootStyles = ctDesignStyleManager.useWebMergeStyles(__spreadArray([staticButtonStyles.root, buttonStyles.root], customRootStyles, true), [staticButtonStyles.root, buttonStyles.root, customRootStyles]);
372
+ var mergedContainerStyles = ctDesignStyleManager.useWebMergeStyles(__spreadArray([], customContainerStyles, true), [customContainerStyles]);
373
+ var mergedTypographyStyles = ctDesignStyleManager.useWebMergeStyles(__spreadArray([], customTypographyStyles, true), [customTypographyStyles]);
374
+ var mergedIconContainerStyles = ctDesignStyleManager.useWebMergeStyles(__spreadArray([], customIconContainerStyles, true), [customIconContainerStyles]);
375
+ var mergedPrefixIconStyles = ctDesignStyleManager.useWebMergeStyles(__spreadArray([staticButtonStyles.prefixIcon], customPrefixIconContainerStyles, true), [staticButtonStyles.prefixIcon, customPrefixIconContainerStyles]);
376
+ var mergedSuffixIconStyles = ctDesignStyleManager.useWebMergeStyles(__spreadArray([staticButtonStyles.suffixIcon], customSuffixIconContainerStyles, true), [staticButtonStyles.suffixIcon, customSuffixIconContainerStyles]);
320
377
  var Icon = react.useCallback(function (show, IconComponent) {
321
- return show ? (jsxRuntime.jsx(ctDesignContainer.Container, __assign({ paddingLeft: theme.spacing[1], display: 'flex', alignItems: 'center', justifyContent: 'center', className: iconContainer === null || iconContainer === void 0 ? void 0 : iconContainer.className, css: iconContainer === null || iconContainer === void 0 ? void 0 : iconContainer.css }, { children: IconComponent }))) : null;
322
- }, []);
378
+ return show ? (jsxRuntime.jsx(ctDesignContainer.Container, __assign({ paddingLeft: theme.spacing[1], display: 'flex', alignItems: 'center', justifyContent: 'center', className: mergedIconContainerStyles }, { children: IconComponent }))) : null;
379
+ }, [mergedIconContainerStyles]);
323
380
  var handleClick = react.useCallback(function (event) {
324
381
  if (!disabled && onClick && !loading)
325
382
  onClick(event);
326
383
  if (disabled || loading)
327
384
  event.preventDefault();
328
385
  }, [disabled, onClick, loading]);
329
- return (jsxRuntime.jsxs(StyledButton, __assign({ ref: forwardedRef, onClick: handleClick, css: __assign(__assign({}, buttonStyles), ((root === null || root === void 0 ? void 0 : root.css) || css || {})), className: root === null || root === void 0 ? void 0 : root.className, theme: theme }, rest, { children: [Icon(showLeftIcon, LeftIcon), jsxRuntime.jsx(ctDesignContainer.Container, __assign({ paddingLeft: theme.spacing[1], paddingRight: theme.spacing[1], className: container === null || container === void 0 ? void 0 : container.className, css: __assign({}, container === null || container === void 0 ? void 0 : container.css) }, { children: jsxRuntime.jsx(ctDesignTypography.Typography, __assign({ variant: getTypographyVariant(size), colorCode: getButtonVariantLabelColor(variant, color, disabled, theme, loading), styleConfig: __assign(__assign({}, typography), { css: __assign({ cursor: disabled ? 'not-allowed' : 'pointer' }, typography === null || typography === void 0 ? void 0 : typography.css) }) }, { children: loading ? jsxRuntime.jsx(ctDesignDottedLoader.DottedLoader, {}) : children })) })), Icon(showRightIcon, RightIcon)] })));
386
+ return (jsxRuntime.jsx(StyledButton, __assign({ ref: forwardedRef, onClick: handleClick, className: mergedRootStyles, theme: theme }, rest, { onMouseEnter: function () { return setHover(true); }, onMouseLeave: function () { return setHover(false); } }, { children: loading ? (jsxRuntime.jsx(ctDesignDottedLoader.DottedLoader, {})) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [Icon(showLeftIcon, LeftIcon), prefixIcon && jsxRuntime.jsx(ctDesignContainer.Container, __assign({ className: mergedPrefixIconStyles }, { children: prefixIcon })), jsxRuntime.jsx(ctDesignContainer.Container, __assign({ className: mergedContainerStyles }, { children: jsxRuntime.jsx(ctDesignTypography.Typography, __assign({ variant: getTypographyVariant(size), colorCode: buttonLabelColor, styleConfig: {
387
+ root: [mergedTypographyStyles],
388
+ } }, { children: children })) })), suffixIcon && jsxRuntime.jsx(ctDesignContainer.Container, __assign({ className: mergedSuffixIconStyles }, { children: suffixIcon })), Icon(showRightIcon, RightIcon)] })) })));
330
389
  });
331
390
 
332
391
  exports.Button = Button;