@zohodesk/components 1.0.0-temp-256.1 → 1.0.0-temp-257.1
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.
- package/README.md +2 -19
- package/assets/Appearance/dark/mode/Component_DarkMode.module.css +0 -2
- package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +5 -20
- package/assets/Appearance/dark/themes/blue/blue_componentsCTA_DarkModifyCategory.module.css +0 -1
- package/assets/Appearance/dark/themes/green/green_componentsCTA_DarkModifyCategory.module.css +0 -1
- package/assets/Appearance/dark/themes/orange/orange_componentsCTA_DarkModifyCategory.module.css +0 -1
- package/assets/Appearance/dark/themes/red/red_componentsCTA_DarkModifyCategory.module.css +0 -1
- package/assets/Appearance/dark/themes/yellow/yellow_componentsCTA_DarkModifyCategory.module.css +0 -1
- package/assets/Appearance/light/mode/Component_LightMode.module.css +0 -2
- package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +5 -20
- package/assets/Appearance/light/themes/blue/blue_componentsCTA_LightModifyCategory.module.css +0 -1
- package/assets/Appearance/light/themes/green/green_componentsCTA_LightModifyCategory.module.css +0 -1
- package/assets/Appearance/light/themes/orange/orange_componentsCTA_LightModifyCategory.module.css +0 -1
- package/assets/Appearance/light/themes/red/red_componentsCTA_LightModifyCategory.module.css +0 -1
- package/assets/Appearance/light/themes/yellow/yellow_componentsCTA_LightModifyCategory.module.css +0 -1
- package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +0 -2
- package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +5 -20
- package/assets/Appearance/pureDark/themes/blue/blue_componentsCTA_PureDarkModifyCategory.module.css +0 -1
- package/assets/Appearance/pureDark/themes/green/green_componentsCTA_PureDarkModifyCategory.module.css +0 -1
- package/assets/Appearance/pureDark/themes/orange/orange_componentsCTA_PureDarkModifyCategory.module.css +0 -1
- package/assets/Appearance/pureDark/themes/red/red_componentsCTA_PureDarkModifyCategory.module.css +0 -1
- package/assets/Appearance/pureDark/themes/yellow/yellow_componentsCTA_PureDarkModifyCategory.module.css +0 -1
- package/es/ListItem/ListItem.js +1 -2
- package/es/ListItem/ListItemWithAvatar.js +3 -9
- package/es/ListItem/ListItemWithCheckBox.js +3 -9
- package/es/ListItem/ListItemWithIcon.js +2 -8
- package/es/ListItem/ListItemWithRadio.js +3 -9
- package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +0 -19
- package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +0 -19
- package/es/ListItem/__tests__/ListItemWithIcon.spec.js +0 -17
- package/es/ListItem/__tests__/ListItemWithRadio.spec.js +0 -19
- package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +0 -108
- package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +0 -212
- package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +0 -108
- package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +0 -210
- package/es/ListItem/props/defaultProps.js +0 -1
- package/es/ListItem/props/propTypes.js +3 -12
- package/es/Tab/Tab.js +13 -56
- package/es/Tab/Tab.module.css +4 -72
- package/es/Tab/TabWrapper.js +2 -6
- package/es/Tab/Tabs.js +14 -60
- package/es/Tab/Tabs.module.css +15 -84
- package/es/Tab/__tests__/Tab.spec.js +0 -87
- package/es/Tab/__tests__/Tabs.spec.js +0 -11
- package/es/Tab/__tests__/__snapshots__/Tab.spec.js.snap +0 -287
- package/es/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +0 -32
- package/es/Tab/props/defaultProps.js +3 -10
- package/es/Tab/props/propTypes.js +4 -26
- package/es/Tab/utils/tabConfigs.js +0 -11
- package/es/v1/Button/Button.js +163 -106
- package/es/v1/Button/css/Button_v1.module.css +28 -16
- package/es/v1/Button/css/cssJSLogic.js +18 -3
- package/es/v1/Button/props/propTypes.js +14 -3
- package/es/v1/helpers/colorHelpers/background/backgroundColor.module.css +35 -35
- package/es/v1/helpers/colorHelpers/border/borderColor.module.css +20 -20
- package/es/v1/helpers/colorHelpers/text/textColor.module.css +35 -35
- package/lib/ListItem/ListItem.js +1 -3
- package/lib/ListItem/ListItemWithAvatar.js +3 -11
- package/lib/ListItem/ListItemWithCheckBox.js +3 -11
- package/lib/ListItem/ListItemWithIcon.js +2 -8
- package/lib/ListItem/ListItemWithRadio.js +3 -11
- package/lib/ListItem/__tests__/ListItemWithAvatar.spec.js +0 -23
- package/lib/ListItem/__tests__/ListItemWithCheckBox.spec.js +0 -23
- package/lib/ListItem/__tests__/ListItemWithIcon.spec.js +0 -21
- package/lib/ListItem/__tests__/ListItemWithRadio.spec.js +0 -23
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +0 -108
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +0 -212
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +0 -108
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +0 -210
- package/lib/ListItem/props/defaultProps.js +0 -1
- package/lib/ListItem/props/propTypes.js +4 -12
- package/lib/Tab/Tab.js +11 -59
- package/lib/Tab/Tab.module.css +4 -72
- package/lib/Tab/TabWrapper.js +2 -6
- package/lib/Tab/Tabs.js +11 -57
- package/lib/Tab/Tabs.module.css +15 -84
- package/lib/Tab/__tests__/Tab.spec.js +0 -88
- package/lib/Tab/__tests__/Tabs.spec.js +0 -12
- package/lib/Tab/__tests__/__snapshots__/Tab.spec.js.snap +0 -287
- package/lib/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +0 -32
- package/lib/Tab/props/defaultProps.js +3 -10
- package/lib/Tab/props/propTypes.js +4 -28
- package/lib/Tab/utils/tabConfigs.js +2 -15
- package/lib/v1/Button/Button.js +182 -118
- package/lib/v1/Button/css/Button_v1.module.css +28 -16
- package/lib/v1/Button/css/cssJSLogic.js +19 -7
- package/lib/v1/Button/props/propTypes.js +14 -3
- package/lib/v1/helpers/colorHelpers/background/backgroundColor.module.css +35 -35
- package/lib/v1/helpers/colorHelpers/border/borderColor.module.css +20 -20
- package/lib/v1/helpers/colorHelpers/text/textColor.module.css +35 -35
- package/package.json +7 -7
package/lib/v1/Button/Button.js
CHANGED
|
@@ -5,7 +5,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports["default"] = void 0;
|
|
8
|
+
exports["default"] = exports.ButtonPresentational = void 0;
|
|
9
9
|
|
|
10
10
|
var _cssUtility = require("@dot-system/css-utility");
|
|
11
11
|
|
|
@@ -17,24 +17,24 @@ var _Icon = _interopRequireDefault(require("@zohodesk/icons/es/Icon"));
|
|
|
17
17
|
|
|
18
18
|
var _Flex = _interopRequireDefault(require("@zohodesk/layout/es/Flex/Flex"));
|
|
19
19
|
|
|
20
|
-
var _Typography = _interopRequireDefault(require("../../Typography/Typography"));
|
|
21
|
-
|
|
22
20
|
var _renderNode = _interopRequireWildcard(require("@zohodesk/utils/es/renderNode"));
|
|
23
21
|
|
|
24
|
-
var _propTypes = _interopRequireDefault(require("./props/propTypes"));
|
|
25
|
-
|
|
26
|
-
var _defaultProps = _interopRequireDefault(require("./props/defaultProps"));
|
|
27
|
-
|
|
28
22
|
var _constants = require("@zohodesk/dotkit/es/utils/constants");
|
|
29
23
|
|
|
30
24
|
var _constants2 = require("./constants");
|
|
31
25
|
|
|
26
|
+
var _Typography = _interopRequireDefault(require("../../Typography/Typography"));
|
|
27
|
+
|
|
32
28
|
var _Loader = _interopRequireDefault(require("../shared/Loader/Loader"));
|
|
33
29
|
|
|
34
30
|
var _SuccessTick = _interopRequireDefault(require("../shared/SuccessTick/SuccessTick"));
|
|
35
31
|
|
|
36
32
|
var _cssJSLogic = _interopRequireDefault(require("./css/cssJSLogic"));
|
|
37
33
|
|
|
34
|
+
var _propTypes = _interopRequireDefault(require("./props/propTypes"));
|
|
35
|
+
|
|
36
|
+
var _defaultProps = _interopRequireDefault(require("./props/defaultProps"));
|
|
37
|
+
|
|
38
38
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
39
39
|
|
|
40
40
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -53,17 +53,18 @@ var getTypographySize = function getTypographySize(size) {
|
|
|
53
53
|
return _constants2.TYPOGRAPHY_SIZE_MAP[size] || '13';
|
|
54
54
|
};
|
|
55
55
|
|
|
56
|
-
var
|
|
57
|
-
var
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
var ButtonPresentational = /*#__PURE__*/(0, _react.forwardRef)(function ButtonPresentational(props, ref) {
|
|
57
|
+
var isLoading = props.isLoading,
|
|
58
|
+
isSuccess = props.isSuccess,
|
|
59
|
+
isDisabled = props.isDisabled,
|
|
60
|
+
isDisabledState = props.isDisabledState,
|
|
61
|
+
overlayActive = props.overlayActive,
|
|
60
62
|
variant = props.variant,
|
|
61
|
-
|
|
63
|
+
iconPlacement = props.iconPlacement,
|
|
62
64
|
loaderPlacement = props.loaderPlacement,
|
|
63
65
|
size = props.size,
|
|
64
66
|
iconName = props.iconName,
|
|
65
67
|
iconSize = props.iconSize,
|
|
66
|
-
iconPlacement = props.iconPlacement,
|
|
67
68
|
renderIcon = props.renderIcon,
|
|
68
69
|
renderBefore = props.renderBefore,
|
|
69
70
|
renderAfter = props.renderAfter,
|
|
@@ -71,105 +72,95 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function Button(props, ref) {
|
|
|
71
72
|
renderSuccess = props.renderSuccess,
|
|
72
73
|
children = props.children,
|
|
73
74
|
type = props.type,
|
|
74
|
-
onClick = props.onClick,
|
|
75
|
-
isDisabled = props.isDisabled,
|
|
76
75
|
isReadOnly = props.isReadOnly,
|
|
77
76
|
isSelected = props.isSelected,
|
|
78
|
-
shape = props.shape,
|
|
79
|
-
paletteShade = props.paletteShade,
|
|
80
|
-
disabledAppearance = props.disabledAppearance,
|
|
81
77
|
title = props.title,
|
|
82
78
|
customProps = props.customProps,
|
|
83
79
|
customAttributes = props.customAttributes,
|
|
84
80
|
a11yAttributes = props.a11yAttributes,
|
|
85
81
|
customId = props.customId,
|
|
86
|
-
testId = props.testId
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
var
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
82
|
+
testId = props.testId,
|
|
83
|
+
dataSelectorId = props.dataSelectorId,
|
|
84
|
+
handleClick = props.handleClick,
|
|
85
|
+
classNames = props.classNames;
|
|
86
|
+
var loaderOverlayClass = classNames.loaderOverlayClass,
|
|
87
|
+
successOverlayClass = classNames.successOverlayClass,
|
|
88
|
+
contentWrapperClass = classNames.contentWrapperClass,
|
|
89
|
+
textClassName = classNames.textClassName,
|
|
90
|
+
buttonClassName = classNames.buttonClassName,
|
|
91
|
+
iconClassName = classNames.iconClassName,
|
|
92
|
+
loaderClassName = classNames.loaderClassName,
|
|
93
|
+
successClassName = classNames.successClassName;
|
|
94
|
+
|
|
95
|
+
var _ref = customProps || _constants.DUMMY_OBJECT,
|
|
96
|
+
_ref$text = _ref.text,
|
|
97
|
+
contentProps = _ref$text === void 0 ? _constants.DUMMY_OBJECT : _ref$text,
|
|
98
|
+
_ref$icon = _ref.icon,
|
|
99
|
+
iconProps = _ref$icon === void 0 ? _constants.DUMMY_OBJECT : _ref$icon;
|
|
100
|
+
|
|
101
|
+
var _ref2 = customAttributes || _constants.DUMMY_OBJECT,
|
|
102
|
+
_ref2$button = _ref2.button,
|
|
103
|
+
buttonAttributes = _ref2$button === void 0 ? _constants.DUMMY_OBJECT : _ref2$button,
|
|
104
|
+
_ref2$contentWrapper = _ref2.contentWrapper,
|
|
105
|
+
contentWrapperAttributes = _ref2$contentWrapper === void 0 ? _constants.DUMMY_OBJECT : _ref2$contentWrapper,
|
|
106
|
+
_ref2$loader = _ref2.loader,
|
|
107
|
+
loaderAttributes = _ref2$loader === void 0 ? _constants.DUMMY_OBJECT : _ref2$loader,
|
|
108
|
+
_ref2$success = _ref2.success,
|
|
109
|
+
successAttributes = _ref2$success === void 0 ? _constants.DUMMY_OBJECT : _ref2$success,
|
|
110
|
+
_ref2$icon = _ref2.icon,
|
|
111
|
+
iconAttributes = _ref2$icon === void 0 ? _constants.DUMMY_OBJECT : _ref2$icon,
|
|
112
|
+
_ref2$text = _ref2.text,
|
|
113
|
+
textAttributes = _ref2$text === void 0 ? _constants.DUMMY_OBJECT : _ref2$text;
|
|
114
|
+
|
|
115
|
+
var iconTagAttributes = _objectSpread(_objectSpread({}, iconAttributes), {}, {
|
|
116
|
+
'data-test-id': testId ? "".concat(testId, "_icon") : undefined
|
|
117
|
+
});
|
|
118
118
|
|
|
119
|
-
|
|
120
|
-
};
|
|
119
|
+
var showIcon = variant !== _constants2.VARIANT.TEXT && (renderIcon || iconName);
|
|
121
120
|
|
|
122
121
|
var _renderLoader = function _renderLoader() {
|
|
123
|
-
if (!isLoading)
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
var loaderClassName = loaderPlacement === _constants2.LOADER_PLACEMENT.OVERLAY ? loaderOverlayClass : '';
|
|
134
|
-
return /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
122
|
+
if (!isLoading) return null;
|
|
123
|
+
var isOverlay = loaderPlacement === _constants2.LOADER_PLACEMENT.OVERLAY;
|
|
124
|
+
var hasCustomLoader = (0, _renderNode.isRenderable)(renderLoader);
|
|
125
|
+
if (hasCustomLoader && !isOverlay) return (0, _renderNode["default"])(renderLoader, {
|
|
126
|
+
status: _constants2.STATUS.LOADING
|
|
127
|
+
});
|
|
128
|
+
return /*#__PURE__*/_react["default"].createElement(_Flex["default"], _extends({
|
|
135
129
|
$ui_displayMode: "flex",
|
|
136
130
|
$ui_alignItems: "center",
|
|
137
131
|
$ui_justifyContent: "center",
|
|
138
|
-
$ui_className:
|
|
132
|
+
$ui_className: isOverlay ? loaderOverlayClass : '',
|
|
139
133
|
testId: testId ? "".concat(testId, "_loader") : undefined
|
|
140
|
-
},
|
|
134
|
+
}, hasCustomLoader ? undefined : loaderAttributes), hasCustomLoader ? (0, _renderNode["default"])(renderLoader, {
|
|
135
|
+
status: _constants2.STATUS.LOADING
|
|
136
|
+
}) : /*#__PURE__*/_react["default"].createElement(_Loader["default"], {
|
|
137
|
+
customClass: loaderClassName
|
|
138
|
+
}));
|
|
141
139
|
};
|
|
142
140
|
|
|
143
141
|
var _renderSuccess = function _renderSuccess() {
|
|
144
|
-
if (!isSuccess)
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
var successClassName = loaderPlacement === _constants2.LOADER_PLACEMENT.OVERLAY ? successOverlayClass : '';
|
|
155
|
-
return /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
142
|
+
if (!isSuccess) return null;
|
|
143
|
+
var isOverlay = loaderPlacement === _constants2.LOADER_PLACEMENT.OVERLAY;
|
|
144
|
+
var hasCustomSuccess = (0, _renderNode.isRenderable)(renderSuccess);
|
|
145
|
+
if (hasCustomSuccess && !isOverlay) return (0, _renderNode["default"])(renderSuccess, {
|
|
146
|
+
status: _constants2.STATUS.SUCCESS
|
|
147
|
+
});
|
|
148
|
+
return /*#__PURE__*/_react["default"].createElement(_Flex["default"], _extends({
|
|
156
149
|
$ui_displayMode: "flex",
|
|
157
150
|
$ui_alignItems: "center",
|
|
158
151
|
$ui_justifyContent: "center",
|
|
159
|
-
$ui_className:
|
|
152
|
+
$ui_className: isOverlay ? successOverlayClass : '',
|
|
160
153
|
testId: testId ? "".concat(testId, "_success") : undefined
|
|
161
|
-
},
|
|
154
|
+
}, hasCustomSuccess ? undefined : successAttributes), hasCustomSuccess ? (0, _renderNode["default"])(renderSuccess, {
|
|
155
|
+
status: _constants2.STATUS.SUCCESS
|
|
156
|
+
}) : /*#__PURE__*/_react["default"].createElement(_SuccessTick["default"], {
|
|
157
|
+
customClass: successClassName
|
|
158
|
+
}));
|
|
162
159
|
};
|
|
163
160
|
|
|
164
161
|
var _renderIconNode = function _renderIconNode() {
|
|
165
|
-
if (!showIcon)
|
|
166
|
-
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
if ((0, _renderNode.isRenderable)(renderIcon)) {
|
|
170
|
-
return (0, _renderNode["default"])(renderIcon);
|
|
171
|
-
}
|
|
172
|
-
|
|
162
|
+
if (!showIcon) return null;
|
|
163
|
+
if ((0, _renderNode.isRenderable)(renderIcon)) return (0, _renderNode["default"])(renderIcon);
|
|
173
164
|
return /*#__PURE__*/_react["default"].createElement(_Icon["default"], _extends({}, iconProps, {
|
|
174
165
|
iconClass: iconClassName,
|
|
175
166
|
name: iconName,
|
|
@@ -179,59 +170,132 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function Button(props, ref) {
|
|
|
179
170
|
}));
|
|
180
171
|
};
|
|
181
172
|
|
|
182
|
-
var _renderBeforeNode = function _renderBeforeNode() {
|
|
183
|
-
if (!(0, _renderNode.isRenderable)(renderBefore)) {
|
|
184
|
-
return null;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
return (0, _renderNode["default"])(renderBefore, props);
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
var _renderAfterNode = function _renderAfterNode() {
|
|
191
|
-
if (!(0, _renderNode.isRenderable)(renderAfter)) {
|
|
192
|
-
return null;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
return (0, _renderNode["default"])(renderAfter, props);
|
|
196
|
-
};
|
|
197
|
-
|
|
198
173
|
var _renderContent = function _renderContent() {
|
|
199
|
-
var shouldShowText = variant !== _constants2.VARIANT.ICON && children
|
|
174
|
+
var shouldShowText = variant !== _constants2.VARIANT.ICON && children != null && (typeof children !== 'string' || children.trim() !== '');
|
|
200
175
|
var showLoaderStart = isLoading && loaderPlacement === _constants2.LOADER_PLACEMENT.START;
|
|
201
176
|
var showLoaderAfter = isLoading && loaderPlacement === _constants2.LOADER_PLACEMENT.END;
|
|
202
177
|
var showSuccessStart = isSuccess && loaderPlacement === _constants2.LOADER_PLACEMENT.START;
|
|
203
178
|
var showSuccessAfter = isSuccess && loaderPlacement === _constants2.LOADER_PLACEMENT.END;
|
|
204
|
-
return /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
179
|
+
return /*#__PURE__*/_react["default"].createElement(_Flex["default"], _extends({
|
|
205
180
|
$ui_displayMode: "flex",
|
|
206
181
|
$ui_direction: "row",
|
|
207
182
|
$flag_shrink: true,
|
|
208
183
|
$ui_alignItems: "center",
|
|
209
184
|
$ui_justifyContent: "center",
|
|
210
185
|
$ui_className: contentWrapperClass
|
|
211
|
-
}, showLoaderStart ? _renderLoader() : null, showSuccessStart ? _renderSuccess() : null,
|
|
186
|
+
}, contentWrapperAttributes), showLoaderStart ? _renderLoader() : null, showSuccessStart ? _renderSuccess() : null, (0, _renderNode.isRenderable)(renderBefore) ? (0, _renderNode["default"])(renderBefore, props) : null, iconPlacement === _constants2.ICON_PLACEMENT.LEFT ? _renderIconNode() : null, shouldShowText ? typeof children === 'string' ? /*#__PURE__*/_react["default"].createElement(_Typography["default"], _extends({
|
|
187
|
+
$ui_size: getTypographySize(size)
|
|
188
|
+
}, contentProps, {
|
|
189
|
+
tagAttributes: textAttributes,
|
|
212
190
|
$ui_className: textClassName,
|
|
213
|
-
$ui_size: getTypographySize(size),
|
|
214
191
|
$flag_dotted: variant !== _constants2.VARIANT.ICON
|
|
215
|
-
}), children) : null, iconPlacement === _constants2.ICON_PLACEMENT.RIGHT ? _renderIconNode() : null,
|
|
192
|
+
}), children) : children : null, iconPlacement === _constants2.ICON_PLACEMENT.RIGHT ? _renderIconNode() : null, (0, _renderNode.isRenderable)(renderAfter) ? (0, _renderNode["default"])(renderAfter, props) : null, showLoaderAfter ? _renderLoader() : null, showSuccessAfter ? _renderSuccess() : null);
|
|
216
193
|
};
|
|
217
194
|
|
|
218
|
-
var containerAttributes = _objectSpread(_objectSpread({},
|
|
219
|
-
'data-id': customId,
|
|
220
|
-
'data-test-id': testId,
|
|
195
|
+
var containerAttributes = _objectSpread(_objectSpread({}, buttonAttributes), {}, {
|
|
196
|
+
'data-id': isDisabled ? "".concat(customId, "_disabled") : customId,
|
|
197
|
+
'data-test-id': isDisabled ? "".concat(testId, "_disabled") : testId,
|
|
198
|
+
'data-selector-id': dataSelectorId,
|
|
221
199
|
'data-title': title
|
|
222
200
|
});
|
|
223
201
|
|
|
224
|
-
return /*#__PURE__*/_react["default"].createElement("button", _extends({}, containerAttributes,
|
|
202
|
+
return /*#__PURE__*/_react["default"].createElement("button", _extends({}, containerAttributes, {
|
|
203
|
+
"aria-busy": isLoading,
|
|
204
|
+
disabled: isDisabledState,
|
|
205
|
+
"aria-readonly": isReadOnly,
|
|
206
|
+
"aria-pressed": isSelected
|
|
207
|
+
}, a11yAttributes, {
|
|
225
208
|
ref: ref,
|
|
226
209
|
type: type,
|
|
227
210
|
className: (0, _cssUtility.cn)(buttonClassName),
|
|
228
|
-
|
|
229
|
-
"aria-disabled": isDisabledState,
|
|
230
|
-
"aria-readonly": isReadOnly,
|
|
231
|
-
"aria-pressed": isSelected,
|
|
232
|
-
onClick: _handleClick
|
|
211
|
+
onClick: handleClick
|
|
233
212
|
}), _renderContent(), overlayActive ? isLoading ? _renderLoader() : _renderSuccess() : null);
|
|
234
213
|
});
|
|
214
|
+
exports.ButtonPresentational = ButtonPresentational;
|
|
215
|
+
ButtonPresentational.displayName = 'ButtonPresentational';
|
|
216
|
+
var Button = /*#__PURE__*/(0, _react.forwardRef)(function Button(props, ref) {
|
|
217
|
+
var palette = props.palette,
|
|
218
|
+
bgAppearance = props.bgAppearance,
|
|
219
|
+
borderAppearance = props.borderAppearance,
|
|
220
|
+
variant = props.variant,
|
|
221
|
+
status = props.status,
|
|
222
|
+
loaderPlacement = props.loaderPlacement,
|
|
223
|
+
size = props.size,
|
|
224
|
+
iconName = props.iconName,
|
|
225
|
+
iconSize = props.iconSize,
|
|
226
|
+
iconPlacement = props.iconPlacement,
|
|
227
|
+
renderIcon = props.renderIcon,
|
|
228
|
+
renderBefore = props.renderBefore,
|
|
229
|
+
renderAfter = props.renderAfter,
|
|
230
|
+
renderLoader = props.renderLoader,
|
|
231
|
+
renderSuccess = props.renderSuccess,
|
|
232
|
+
children = props.children,
|
|
233
|
+
type = props.type,
|
|
234
|
+
onClick = props.onClick,
|
|
235
|
+
isDisabled = props.isDisabled,
|
|
236
|
+
isReadOnly = props.isReadOnly,
|
|
237
|
+
isSelected = props.isSelected,
|
|
238
|
+
shape = props.shape,
|
|
239
|
+
paletteShade = props.paletteShade,
|
|
240
|
+
disabledAppearance = props.disabledAppearance,
|
|
241
|
+
title = props.title,
|
|
242
|
+
customProps = props.customProps,
|
|
243
|
+
customAttributes = props.customAttributes,
|
|
244
|
+
a11yAttributes = props.a11yAttributes,
|
|
245
|
+
customId = props.customId,
|
|
246
|
+
testId = props.testId,
|
|
247
|
+
dataSelectorId = props.dataSelectorId;
|
|
248
|
+
var isLoading = status === _constants2.STATUS.LOADING;
|
|
249
|
+
var isSuccess = status === _constants2.STATUS.SUCCESS;
|
|
250
|
+
var isDisabledState = isDisabled || isLoading;
|
|
251
|
+
var isInteractionDisabled = isDisabledState || isReadOnly;
|
|
252
|
+
var overlayActive = (isLoading || isSuccess) && loaderPlacement === _constants2.LOADER_PLACEMENT.OVERLAY;
|
|
253
|
+
var classNames = (0, _react.useMemo)(function () {
|
|
254
|
+
return (0, _cssJSLogic["default"])({
|
|
255
|
+
props: props
|
|
256
|
+
});
|
|
257
|
+
}, [palette, bgAppearance, borderAppearance, paletteShade, size, variant, status, isDisabled, isReadOnly, isSelected, shape, loaderPlacement, disabledAppearance, props.customClass]);
|
|
258
|
+
|
|
259
|
+
var handleClick = function handleClick(event) {
|
|
260
|
+
if (isInteractionDisabled) return;
|
|
261
|
+
onClick(event);
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
var essentials = {
|
|
265
|
+
isLoading: isLoading,
|
|
266
|
+
isSuccess: isSuccess,
|
|
267
|
+
isDisabled: isDisabled,
|
|
268
|
+
isDisabledState: isDisabledState,
|
|
269
|
+
overlayActive: overlayActive,
|
|
270
|
+
variant: variant,
|
|
271
|
+
iconPlacement: iconPlacement,
|
|
272
|
+
loaderPlacement: loaderPlacement,
|
|
273
|
+
size: size,
|
|
274
|
+
iconName: iconName,
|
|
275
|
+
iconSize: iconSize,
|
|
276
|
+
renderIcon: renderIcon,
|
|
277
|
+
renderBefore: renderBefore,
|
|
278
|
+
renderAfter: renderAfter,
|
|
279
|
+
renderLoader: renderLoader,
|
|
280
|
+
renderSuccess: renderSuccess,
|
|
281
|
+
children: children,
|
|
282
|
+
type: type,
|
|
283
|
+
isReadOnly: isReadOnly,
|
|
284
|
+
isSelected: isSelected,
|
|
285
|
+
title: title,
|
|
286
|
+
customProps: customProps,
|
|
287
|
+
customAttributes: customAttributes,
|
|
288
|
+
a11yAttributes: a11yAttributes,
|
|
289
|
+
customId: customId,
|
|
290
|
+
testId: testId,
|
|
291
|
+
dataSelectorId: dataSelectorId,
|
|
292
|
+
handleClick: handleClick
|
|
293
|
+
};
|
|
294
|
+
return /*#__PURE__*/_react["default"].createElement(ButtonPresentational, _extends({}, essentials, {
|
|
295
|
+
classNames: classNames,
|
|
296
|
+
ref: ref
|
|
297
|
+
}));
|
|
298
|
+
});
|
|
235
299
|
Button.propTypes = _propTypes["default"];
|
|
236
300
|
Button.defaultProps = _defaultProps["default"];
|
|
237
301
|
Button.displayName = 'Button';
|
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
--local-button-gap: var(--zd_size8);
|
|
6
6
|
--local-button-padding-block: var(--zd_size6);
|
|
7
7
|
--local-button-padding-inline: var(--zd_size15);
|
|
8
|
-
--local-button-font-size: var(--zd_font_size13);
|
|
9
8
|
--local-loader-size: 16px;
|
|
10
9
|
--local-tick-size: 16px;
|
|
11
10
|
--local-button-height: auto;
|
|
12
11
|
--local-button-width: auto;
|
|
13
|
-
--local-button-
|
|
14
|
-
--local-button-
|
|
12
|
+
--local-button-min-width: var(--zd_size90);
|
|
13
|
+
--local-button-overlay-opacity: 0.4;
|
|
14
|
+
--local-button-transition-duration: var(--zd_transition2);
|
|
15
|
+
--local-button-cursor: pointer;
|
|
16
|
+
--local-button-strike-color: currentColor;
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
.button {
|
|
@@ -19,19 +21,20 @@
|
|
|
19
21
|
composes: posrel pointer from '../../../common/common.module.css';
|
|
20
22
|
padding-block: var(--local-button-padding-block);
|
|
21
23
|
padding-inline: var(--local-button-padding-inline);
|
|
22
|
-
font-size: var(--local-button-font-size);
|
|
23
24
|
height: var(--local-button-height);
|
|
24
25
|
width: var(--local-button-width);
|
|
26
|
+
min-width: var(--local-button-min-width);
|
|
25
27
|
border-radius: var(--local-button-radius);
|
|
26
28
|
border-style: var(--local-button-border-style);
|
|
27
29
|
border-width: var(--local-button-border-width);
|
|
28
30
|
transition-duration: var(--local-button-transition-duration);
|
|
29
31
|
transition-timing-function: ease;
|
|
32
|
+
cursor: var(--local-button-cursor);
|
|
30
33
|
background-image: none;
|
|
31
34
|
}
|
|
32
35
|
|
|
33
36
|
.disabledPointer {
|
|
34
|
-
cursor: not-allowed;
|
|
37
|
+
--local-button-cursor: not-allowed;
|
|
35
38
|
}
|
|
36
39
|
|
|
37
40
|
.disabledOpac {
|
|
@@ -39,7 +42,8 @@
|
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
.loading {
|
|
42
|
-
cursor: progress;
|
|
45
|
+
--local-button-cursor: progress;
|
|
46
|
+
composes: disabledOpac;
|
|
43
47
|
}
|
|
44
48
|
|
|
45
49
|
.sizeSmall {
|
|
@@ -68,6 +72,18 @@
|
|
|
68
72
|
--local-button-width: 100%;
|
|
69
73
|
}
|
|
70
74
|
|
|
75
|
+
.variantText {
|
|
76
|
+
--local-button-min-width: var(--zd_size90);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.variantIcon {
|
|
80
|
+
--local-button-min-width: var(--zd_size28);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.variantIconWithText {
|
|
84
|
+
--local-button-min-width: var(--zd_size118);
|
|
85
|
+
}
|
|
86
|
+
|
|
71
87
|
.shapeRoundedRectangle {
|
|
72
88
|
--local-button-radius: 4px;
|
|
73
89
|
}
|
|
@@ -80,9 +96,11 @@
|
|
|
80
96
|
--local-button-radius: 0;
|
|
81
97
|
}
|
|
82
98
|
|
|
83
|
-
.
|
|
99
|
+
.strike::after,
|
|
100
|
+
.loaderOverlay,
|
|
101
|
+
.successOverlay {
|
|
84
102
|
inset: 0 ;
|
|
85
|
-
|
|
103
|
+
position: absolute;
|
|
86
104
|
}
|
|
87
105
|
|
|
88
106
|
.contentWrapper {
|
|
@@ -98,22 +116,16 @@
|
|
|
98
116
|
|
|
99
117
|
.strike::after {
|
|
100
118
|
content: '';
|
|
101
|
-
position: absolute;
|
|
102
|
-
inset: 0 ;
|
|
103
119
|
pointer-events: none;
|
|
104
120
|
border-radius: var(--local-button-radius);
|
|
105
121
|
}
|
|
106
122
|
|
|
107
123
|
[dir=ltr] .strike::after {
|
|
108
|
-
background-image: repeating-linear-gradient(120deg,
|
|
124
|
+
background-image: repeating-linear-gradient(120deg, var(--local-button-strike-color) 0 1px, var(--zd-bg-transparent) 1px 8px);
|
|
109
125
|
}
|
|
110
126
|
|
|
111
127
|
[dir=rtl] .strike::after {
|
|
112
|
-
background-image: repeating-linear-gradient(-120deg,
|
|
128
|
+
background-image: repeating-linear-gradient(-120deg, var(--local-button-strike-color) 0 1px, var(--zd-bg-transparent) 1px 8px);
|
|
113
129
|
}
|
|
114
130
|
|
|
115
|
-
.successOverlay {
|
|
116
|
-
inset: 0 ;
|
|
117
|
-
composes: posab from '../../../common/common.module.css';
|
|
118
|
-
}
|
|
119
131
|
|
|
@@ -7,7 +7,7 @@ exports["default"] = cssJSLogic;
|
|
|
7
7
|
|
|
8
8
|
var _Button_v1Module = _interopRequireDefault(require("./Button_v1.module.css"));
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _compileClassNames6 = _interopRequireDefault(require("@zohodesk/utils/es/compileClassNames"));
|
|
11
11
|
|
|
12
12
|
var _semanticButtonModule = _interopRequireDefault(require("../../../semantic/Button/semanticButton.module.css"));
|
|
13
13
|
|
|
@@ -35,6 +35,7 @@ function cssJSLogic(_ref) {
|
|
|
35
35
|
borderAppearance = props.borderAppearance,
|
|
36
36
|
paletteShade = props.paletteShade,
|
|
37
37
|
size = props.size,
|
|
38
|
+
variant = props.variant,
|
|
38
39
|
status = props.status,
|
|
39
40
|
isDisabled = props.isDisabled,
|
|
40
41
|
isReadOnly = props.isReadOnly,
|
|
@@ -49,10 +50,14 @@ function cssJSLogic(_ref) {
|
|
|
49
50
|
_customClass$text = customClass.text,
|
|
50
51
|
textClassCustom = _customClass$text === void 0 ? '' : _customClass$text,
|
|
51
52
|
_customClass$icon = customClass.icon,
|
|
52
|
-
iconClassCustom = _customClass$icon === void 0 ? '' : _customClass$icon
|
|
53
|
+
iconClassCustom = _customClass$icon === void 0 ? '' : _customClass$icon,
|
|
54
|
+
_customClass$loader = customClass.loader,
|
|
55
|
+
loaderClassCustom = _customClass$loader === void 0 ? '' : _customClass$loader,
|
|
56
|
+
_customClass$success = customClass.success,
|
|
57
|
+
successClassCustom = _customClass$success === void 0 ? '' : _customClass$success;
|
|
53
58
|
var isLoading = status === _constants2.STATUS.LOADING;
|
|
54
59
|
var isSuccess = status === _constants2.STATUS.SUCCESS;
|
|
55
|
-
var isInteractive = !isDisabled && !isReadOnly;
|
|
60
|
+
var isInteractive = !isDisabled && !isReadOnly && !isLoading;
|
|
56
61
|
var overlayActive = (isLoading || isSuccess) && loaderPlacement === _constants2.LOADER_PLACEMENT.OVERLAY;
|
|
57
62
|
|
|
58
63
|
var _getPaletteClasses = (0, _colorHelper["default"])({
|
|
@@ -77,16 +82,23 @@ function cssJSLogic(_ref) {
|
|
|
77
82
|
|
|
78
83
|
var sizeClass = size ? _Button_v1Module["default"]["size".concat(capitalize(size))] : '';
|
|
79
84
|
var shapeClass = shape ? _Button_v1Module["default"]["shape".concat(capitalize(shape))] : '';
|
|
85
|
+
var variantClass = variant ? _Button_v1Module["default"]["variant".concat(capitalize(variant))] : '';
|
|
80
86
|
var shouldStrike = disabledAppearance === _constants2.DISABLED_APPEARANCE.STRIKE && isDisabled;
|
|
81
|
-
var buttonClassName = (0,
|
|
82
|
-
var textClassName = (0,
|
|
83
|
-
var iconClassName = (0,
|
|
87
|
+
var buttonClassName = (0, _compileClassNames6["default"])((_compileClassNames = {}, _defineProperty(_compileClassNames, _semanticButtonModule["default"].buttonReset, true), _defineProperty(_compileClassNames, _Button_v1Module["default"].button, true), _defineProperty(_compileClassNames, bg, !!bg), _defineProperty(_compileClassNames, hoverBg, !!hoverBg && isInteractive), _defineProperty(_compileClassNames, focusBg, !!focusBg && isInteractive), _defineProperty(_compileClassNames, activeBg, !!activeBg && isInteractive), _defineProperty(_compileClassNames, text, !!text), _defineProperty(_compileClassNames, hoverText, !!hoverText && isInteractive), _defineProperty(_compileClassNames, focusText, !!focusText && isInteractive), _defineProperty(_compileClassNames, activeText, !!activeText && isInteractive), _defineProperty(_compileClassNames, border, !!border), _defineProperty(_compileClassNames, hoverBorder, !!hoverBorder && isInteractive), _defineProperty(_compileClassNames, focusBorder, !!focusBorder && isInteractive), _defineProperty(_compileClassNames, activeBorder, !!activeBorder && isInteractive), _defineProperty(_compileClassNames, sizeClass, !!sizeClass), _defineProperty(_compileClassNames, shapeClass, !!shapeClass), _defineProperty(_compileClassNames, variantClass, !!variantClass), _defineProperty(_compileClassNames, _Button_v1Module["default"].disabledOpac, isReadOnly || isDisabled && disabledAppearance === _constants2.DISABLED_APPEARANCE.DULL), _defineProperty(_compileClassNames, _Button_v1Module["default"].disabledPointer, isReadOnly || isDisabled), _defineProperty(_compileClassNames, _Button_v1Module["default"].loading, isLoading), _defineProperty(_compileClassNames, _Button_v1Module["default"].strike, shouldStrike), _defineProperty(_compileClassNames, wrapperClass, !!wrapperClass), _compileClassNames));
|
|
88
|
+
var textClassName = (0, _compileClassNames6["default"])(_defineProperty({}, textClassCustom, !!textClassCustom));
|
|
89
|
+
var iconClassName = (0, _compileClassNames6["default"])(_defineProperty({}, iconClassCustom, !!iconClassCustom));
|
|
84
90
|
return {
|
|
85
91
|
buttonClassName: buttonClassName,
|
|
86
92
|
textClassName: textClassName,
|
|
93
|
+
iconClassName: iconClassName,
|
|
87
94
|
contentWrapperClass: overlayActive ? _Button_v1Module["default"].overlayHidden : _Button_v1Module["default"].contentWrapper,
|
|
88
95
|
loaderOverlayClass: _Button_v1Module["default"].loaderOverlay,
|
|
89
96
|
successOverlayClass: _Button_v1Module["default"].successOverlay,
|
|
90
|
-
|
|
97
|
+
loaderClassName: {
|
|
98
|
+
wrapper: (0, _compileClassNames6["default"])(_defineProperty({}, loaderClassCustom, !!loaderClassCustom))
|
|
99
|
+
},
|
|
100
|
+
successClassName: {
|
|
101
|
+
wrapper: (0, _compileClassNames6["default"])(_defineProperty({}, successClassCustom, !!successClassCustom))
|
|
102
|
+
}
|
|
91
103
|
};
|
|
92
104
|
}
|
|
@@ -41,16 +41,27 @@ var propTypes = {
|
|
|
41
41
|
title: _propTypes["default"].string,
|
|
42
42
|
customClass: _propTypes["default"].shape({
|
|
43
43
|
wrapper: _propTypes["default"].string,
|
|
44
|
-
text: _propTypes["default"].string
|
|
44
|
+
text: _propTypes["default"].string,
|
|
45
|
+
icon: _propTypes["default"].string,
|
|
46
|
+
loader: _propTypes["default"].string,
|
|
47
|
+
success: _propTypes["default"].string
|
|
45
48
|
}),
|
|
46
49
|
customProps: _propTypes["default"].shape({
|
|
47
50
|
text: _propTypes["default"].object,
|
|
48
51
|
icon: _propTypes["default"].object
|
|
49
52
|
}),
|
|
50
|
-
customAttributes: _propTypes["default"].
|
|
53
|
+
customAttributes: _propTypes["default"].shape({
|
|
54
|
+
button: _propTypes["default"].object,
|
|
55
|
+
contentWrapper: _propTypes["default"].object,
|
|
56
|
+
loader: _propTypes["default"].object,
|
|
57
|
+
success: _propTypes["default"].object,
|
|
58
|
+
icon: _propTypes["default"].object,
|
|
59
|
+
text: _propTypes["default"].object
|
|
60
|
+
}),
|
|
51
61
|
a11yAttributes: _propTypes["default"].object,
|
|
52
62
|
customId: _propTypes["default"].string,
|
|
53
|
-
testId: _propTypes["default"].string
|
|
63
|
+
testId: _propTypes["default"].string,
|
|
64
|
+
dataSelectorId: _propTypes["default"].string
|
|
54
65
|
};
|
|
55
66
|
var _default = propTypes;
|
|
56
67
|
exports["default"] = _default;
|