@zohodesk/components 1.6.8 → 1.6.11

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 (107) hide show
  1. package/README.md +7 -0
  2. package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +68 -0
  3. package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +68 -0
  4. package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +68 -0
  5. package/es/Buttongroup/Buttongroup.module.css +10 -30
  6. package/es/CheckBox/CheckBox.module.css +3 -10
  7. package/es/DateTime/DateTime.module.css +22 -35
  8. package/es/DateTime/YearView.module.css +8 -10
  9. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +3 -2
  10. package/es/DropDown/DropDown.module.css +2 -1
  11. package/es/DropDown/DropDownItem.module.css +1 -8
  12. package/es/DropDown/DropDownSeparator.module.css +2 -1
  13. package/es/ListItem/ListItem.module.css +4 -15
  14. package/es/MultiSelect/MobileHeader/MobileHeader.module.css +3 -2
  15. package/es/MultiSelect/MultiSelect.module.css +21 -34
  16. package/es/MultiSelect/SelectedOptions.module.css +6 -10
  17. package/es/Radio/Radio.module.css +3 -3
  18. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +1 -1
  19. package/es/Ribbon/Ribbon.module.css +9 -12
  20. package/es/Select/Select.module.css +22 -17
  21. package/es/Switch/Switch.module.css +1 -8
  22. package/es/Tab/Tab.module.css +8 -15
  23. package/es/Tab/Tabs.module.css +12 -22
  24. package/es/Tag/Tag.module.css +4 -3
  25. package/es/Tooltip/Tooltip.module.css +3 -2
  26. package/es/shared/ArrowIcon/ArrowIcon.module.css +3 -2
  27. package/es/v1/Button/Button.js +201 -0
  28. package/es/v1/Button/README.md +110 -0
  29. package/es/v1/Button/__tests__/Button.spec.js +272 -0
  30. package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1160 -0
  31. package/es/v1/Button/_shared/Loader/Loader.js +33 -0
  32. package/es/v1/Button/_shared/Loader/Loader.module.css +42 -0
  33. package/es/v1/Button/_shared/Loader/__tests__/Loader.spec.js +21 -0
  34. package/es/v1/Button/_shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +49 -0
  35. package/es/v1/Button/_shared/Loader/props/defaultProps.js +4 -0
  36. package/es/v1/Button/_shared/Loader/props/propTypes.js +7 -0
  37. package/es/v1/Button/_shared/SuccessTick/SuccessTick.js +25 -0
  38. package/es/v1/Button/_shared/SuccessTick/SuccessTick.module.css +21 -0
  39. package/es/v1/Button/_shared/SuccessTick/__tests__/SuccessTick.spec.js +21 -0
  40. package/es/v1/Button/_shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +31 -0
  41. package/es/v1/Button/_shared/SuccessTick/props/defaultProps.js +4 -0
  42. package/es/v1/Button/_shared/SuccessTick/props/propTypes.js +7 -0
  43. package/es/v1/Button/constants/index.js +82 -0
  44. package/es/v1/Button/css/Button_v1.module.css +119 -0
  45. package/es/v1/Button/css/cssJSLogic.js +96 -0
  46. package/es/v1/Button/index.js +2 -0
  47. package/es/v1/Button/props/defaultProps.js +26 -0
  48. package/es/v1/Button/props/propTypes.js +43 -0
  49. package/es/v1/helpers/colorHelpers/background/backgroundColor.module.css +629 -0
  50. package/es/v1/helpers/colorHelpers/border/borderColor.module.css +489 -0
  51. package/es/v1/helpers/colorHelpers/colorHelper.js +176 -0
  52. package/es/v1/helpers/colorHelpers/constants/index.js +79 -0
  53. package/es/v1/helpers/colorHelpers/index.js +4 -0
  54. package/es/v1/helpers/colorHelpers/paletteUtilities.README.md +415 -0
  55. package/es/v1/helpers/colorHelpers/text/textColor.module.css +368 -0
  56. package/lib/Buttongroup/Buttongroup.module.css +10 -30
  57. package/lib/CheckBox/CheckBox.module.css +3 -10
  58. package/lib/DateTime/DateTime.module.css +22 -35
  59. package/lib/DateTime/YearView.module.css +8 -10
  60. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +3 -2
  61. package/lib/DropDown/DropDown.module.css +2 -1
  62. package/lib/DropDown/DropDownItem.module.css +1 -8
  63. package/lib/DropDown/DropDownSeparator.module.css +2 -1
  64. package/lib/ListItem/ListItem.module.css +4 -15
  65. package/lib/MultiSelect/MobileHeader/MobileHeader.module.css +3 -2
  66. package/lib/MultiSelect/MultiSelect.module.css +21 -34
  67. package/lib/MultiSelect/SelectedOptions.module.css +6 -10
  68. package/lib/Radio/Radio.module.css +3 -3
  69. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +1 -1
  70. package/lib/Ribbon/Ribbon.module.css +9 -12
  71. package/lib/Select/Select.module.css +22 -17
  72. package/lib/Switch/Switch.module.css +1 -8
  73. package/lib/Tab/Tab.module.css +8 -15
  74. package/lib/Tab/Tabs.module.css +12 -22
  75. package/lib/Tag/Tag.module.css +4 -3
  76. package/lib/Tooltip/Tooltip.module.css +3 -2
  77. package/lib/shared/ArrowIcon/ArrowIcon.module.css +3 -2
  78. package/lib/v1/Button/Button.js +239 -0
  79. package/lib/v1/Button/README.md +110 -0
  80. package/lib/v1/Button/__tests__/Button.spec.js +293 -0
  81. package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1160 -0
  82. package/lib/v1/Button/_shared/Loader/Loader.js +43 -0
  83. package/lib/v1/Button/_shared/Loader/Loader.module.css +42 -0
  84. package/lib/v1/Button/_shared/Loader/__tests__/Loader.spec.js +28 -0
  85. package/lib/v1/Button/_shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +49 -0
  86. package/lib/v1/Button/_shared/Loader/props/defaultProps.js +11 -0
  87. package/lib/v1/Button/_shared/Loader/props/propTypes.js +18 -0
  88. package/lib/v1/Button/_shared/SuccessTick/SuccessTick.js +35 -0
  89. package/lib/v1/Button/_shared/SuccessTick/SuccessTick.module.css +21 -0
  90. package/lib/v1/Button/_shared/SuccessTick/__tests__/SuccessTick.spec.js +28 -0
  91. package/lib/v1/Button/_shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +31 -0
  92. package/lib/v1/Button/_shared/SuccessTick/props/defaultProps.js +11 -0
  93. package/lib/v1/Button/_shared/SuccessTick/props/propTypes.js +18 -0
  94. package/lib/v1/Button/constants/index.js +114 -0
  95. package/lib/v1/Button/css/Button_v1.module.css +119 -0
  96. package/lib/v1/Button/css/cssJSLogic.js +88 -0
  97. package/lib/v1/Button/index.js +21 -0
  98. package/lib/v1/Button/props/defaultProps.js +36 -0
  99. package/lib/v1/Button/props/propTypes.js +56 -0
  100. package/lib/v1/helpers/colorHelpers/background/backgroundColor.module.css +629 -0
  101. package/lib/v1/helpers/colorHelpers/border/borderColor.module.css +489 -0
  102. package/lib/v1/helpers/colorHelpers/colorHelper.js +190 -0
  103. package/lib/v1/helpers/colorHelpers/constants/index.js +87 -0
  104. package/lib/v1/helpers/colorHelpers/index.js +57 -0
  105. package/lib/v1/helpers/colorHelpers/paletteUtilities.README.md +415 -0
  106. package/lib/v1/helpers/colorHelpers/text/textColor.module.css +368 -0
  107. package/package.json +4 -4
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _LoaderModule = _interopRequireDefault(require("./Loader.module.css"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("./props/propTypes"));
13
+
14
+ var _defaultProps = _interopRequireDefault(require("./props/defaultProps"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ var Loader = function Loader(props) {
19
+ var customClass = props.customClass;
20
+ var _customClass$customWr = customClass.customWrapperClass,
21
+ customWrapperClass = _customClass$customWr === void 0 ? '' : _customClass$customWr;
22
+ return /*#__PURE__*/_react["default"].createElement("svg", {
23
+ className: "".concat(_LoaderModule["default"].spinner, " ").concat(customWrapperClass),
24
+ viewBox: "0 0 24 24",
25
+ role: "img",
26
+ "aria-hidden": "true"
27
+ }, /*#__PURE__*/_react["default"].createElement("circle", {
28
+ className: _LoaderModule["default"].spinnerTrack,
29
+ cx: "12",
30
+ cy: "12",
31
+ r: "10"
32
+ }), /*#__PURE__*/_react["default"].createElement("circle", {
33
+ className: _LoaderModule["default"].spinnerHead,
34
+ cx: "12",
35
+ cy: "12",
36
+ r: "10"
37
+ }));
38
+ };
39
+
40
+ Loader.propTypes = _propTypes["default"];
41
+ Loader.defaultProps = _defaultProps["default"];
42
+ var _default = Loader;
43
+ exports["default"] = _default;
@@ -0,0 +1,42 @@
1
+ .spinner {
2
+ width: var(--local-loader-size, var(--zd_size16));
3
+ height: var(--local-loader-size, var(--zd_size16));
4
+ display: block;
5
+ }
6
+
7
+ .spinnerTrack {
8
+ fill: none;
9
+ stroke: currentColor;
10
+ opacity: 0.2;
11
+ stroke-width: 3px;
12
+ }
13
+
14
+ .spinnerHead {
15
+ fill: none;
16
+ stroke: currentColor;
17
+ stroke-width: 3px;
18
+ stroke-linecap: round;
19
+ stroke-dasharray: 60;
20
+ stroke-dashoffset: 45;
21
+ transform-origin: 50% 50%;
22
+ }
23
+
24
+ [dir=ltr] .spinnerHead {
25
+ animation: spin-ltr 0.9s linear infinite;
26
+ }
27
+
28
+ [dir=rtl] .spinnerHead {
29
+ animation: spin-rtl 0.9s linear infinite;
30
+ }
31
+
32
+ @keyframes spin-ltr {
33
+ to {
34
+ transform: rotate(360deg);
35
+ }
36
+ }
37
+
38
+ @keyframes spin-rtl {
39
+ to {
40
+ transform: rotate(-360deg);
41
+ }
42
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _react2 = require("@testing-library/react");
6
+
7
+ var _Loader = _interopRequireDefault(require("../Loader"));
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+
11
+ describe('Loader', function () {
12
+ test('renders default snapshot', function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Loader["default"], null)),
14
+ asFragment = _render.asFragment;
15
+
16
+ expect(asFragment()).toMatchSnapshot();
17
+ });
18
+ test('renders with customClass', function () {
19
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Loader["default"], {
20
+ customClass: {
21
+ customWrapperClass: 'my-custom-class'
22
+ }
23
+ })),
24
+ asFragment = _render2.asFragment;
25
+
26
+ expect(asFragment()).toMatchSnapshot();
27
+ });
28
+ });
@@ -0,0 +1,49 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Loader renders default snapshot 1`] = `
4
+ <DocumentFragment>
5
+ <svg
6
+ aria-hidden="true"
7
+ class="spinner "
8
+ role="img"
9
+ viewBox="0 0 24 24"
10
+ >
11
+ <circle
12
+ class="spinnerTrack"
13
+ cx="12"
14
+ cy="12"
15
+ r="10"
16
+ />
17
+ <circle
18
+ class="spinnerHead"
19
+ cx="12"
20
+ cy="12"
21
+ r="10"
22
+ />
23
+ </svg>
24
+ </DocumentFragment>
25
+ `;
26
+
27
+ exports[`Loader renders with customClass 1`] = `
28
+ <DocumentFragment>
29
+ <svg
30
+ aria-hidden="true"
31
+ class="spinner my-custom-class"
32
+ role="img"
33
+ viewBox="0 0 24 24"
34
+ >
35
+ <circle
36
+ class="spinnerTrack"
37
+ cx="12"
38
+ cy="12"
39
+ r="10"
40
+ />
41
+ <circle
42
+ class="spinnerHead"
43
+ cx="12"
44
+ cy="12"
45
+ r="10"
46
+ />
47
+ </svg>
48
+ </DocumentFragment>
49
+ `;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var defaultProps = {
8
+ customClass: {}
9
+ };
10
+ var _default = defaultProps;
11
+ exports["default"] = _default;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ var propTypes = {
13
+ customClass: _propTypes["default"].shape({
14
+ customWrapperClass: _propTypes["default"].string
15
+ })
16
+ };
17
+ var _default = propTypes;
18
+ exports["default"] = _default;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _SuccessTickModule = _interopRequireDefault(require("./SuccessTick.module.css"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("./props/propTypes"));
13
+
14
+ var _defaultProps = _interopRequireDefault(require("./props/defaultProps"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ var SuccessTick = function SuccessTick(props) {
19
+ var customClass = props.customClass;
20
+ var _customClass$customWr = customClass.customWrapperClass,
21
+ customWrapperClass = _customClass$customWr === void 0 ? '' : _customClass$customWr;
22
+ return /*#__PURE__*/_react["default"].createElement("svg", {
23
+ className: "".concat(_SuccessTickModule["default"].tick, " ").concat(customWrapperClass),
24
+ viewBox: "0 0 24 24",
25
+ role: "img",
26
+ "aria-hidden": "true"
27
+ }, /*#__PURE__*/_react["default"].createElement("path", {
28
+ d: "M4 12l5 5L20 6"
29
+ }));
30
+ };
31
+
32
+ SuccessTick.propTypes = _propTypes["default"];
33
+ SuccessTick.defaultProps = _defaultProps["default"];
34
+ var _default = SuccessTick;
35
+ exports["default"] = _default;
@@ -0,0 +1,21 @@
1
+ .tick {
2
+ width: var(--local-tick-size, var(--zd_size16));
3
+ height: var(--local-tick-size, var(--zd_size16));
4
+ stroke: currentColor;
5
+ stroke-width: 2.5px;
6
+ stroke-linecap: round;
7
+ stroke-linejoin: round;
8
+ fill: none;
9
+ stroke-dasharray: 24;
10
+ stroke-dashoffset: 24;
11
+ }[dir=ltr] .tick {
12
+ animation: drawTick 0.3s ease-out forwards;
13
+ }[dir=rtl] .tick {
14
+ animation: drawTick 0.3s ease-out forwards;
15
+ }
16
+
17
+ @keyframes drawTick {
18
+ to {
19
+ stroke-dashoffset: 0;
20
+ }
21
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _react2 = require("@testing-library/react");
6
+
7
+ var _SuccessTick = _interopRequireDefault(require("../SuccessTick"));
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+
11
+ describe('SuccessTick', function () {
12
+ test('renders default snapshot', function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SuccessTick["default"], null)),
14
+ asFragment = _render.asFragment;
15
+
16
+ expect(asFragment()).toMatchSnapshot();
17
+ });
18
+ test('renders with customClass', function () {
19
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SuccessTick["default"], {
20
+ customClass: {
21
+ customWrapperClass: 'my-custom-class'
22
+ }
23
+ })),
24
+ asFragment = _render2.asFragment;
25
+
26
+ expect(asFragment()).toMatchSnapshot();
27
+ });
28
+ });
@@ -0,0 +1,31 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`SuccessTick renders default snapshot 1`] = `
4
+ <DocumentFragment>
5
+ <svg
6
+ aria-hidden="true"
7
+ class="tick "
8
+ role="img"
9
+ viewBox="0 0 24 24"
10
+ >
11
+ <path
12
+ d="M4 12l5 5L20 6"
13
+ />
14
+ </svg>
15
+ </DocumentFragment>
16
+ `;
17
+
18
+ exports[`SuccessTick renders with customClass 1`] = `
19
+ <DocumentFragment>
20
+ <svg
21
+ aria-hidden="true"
22
+ class="tick my-custom-class"
23
+ role="img"
24
+ viewBox="0 0 24 24"
25
+ >
26
+ <path
27
+ d="M4 12l5 5L20 6"
28
+ />
29
+ </svg>
30
+ </DocumentFragment>
31
+ `;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var defaultProps = {
8
+ customClass: {}
9
+ };
10
+ var _default = defaultProps;
11
+ exports["default"] = _default;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ var propTypes = {
13
+ customClass: _propTypes["default"].shape({
14
+ customWrapperClass: _propTypes["default"].string
15
+ })
16
+ };
17
+ var _default = propTypes;
18
+ exports["default"] = _default;
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.VARIANT = exports.TYPOGRAPHY_SIZE_MAP = exports.STATUS = exports.SIZE = exports.SHAPE = exports.PALETTE_SHADE = exports.PALETTE = exports.LOADER_PLACEMENT = exports.ICON_PLACEMENT = exports.DISABLED_APPEARANCE = exports.DEFAULT_VARIANT = exports.DEFAULT_STATUS = exports.DEFAULT_SIZE = exports.DEFAULT_SHAPE = exports.DEFAULT_PALETTE_SHADE = exports.DEFAULT_PALETTE = exports.DEFAULT_LOADER_PLACEMENT = exports.DEFAULT_ICON_SIZE = exports.DEFAULT_ICON_PLACEMENT = exports.DEFAULT_DISABLED_APPEARANCE = exports.DEFAULT_BUTTON_TYPE = exports.DEFAULT_BORDER_APPEARANCE = exports.DEFAULT_BG_APPEARANCE = exports.BUTTON_TYPE = exports.BORDER_APPEARANCE = exports.BG_APPEARANCE = void 0;
7
+
8
+ var _TYPOGRAPHY_SIZE_MAP;
9
+
10
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+
12
+ var PALETTE = {
13
+ DEFAULT: 'default',
14
+ PRIMARY: 'primary',
15
+ SECONDARY: 'secondary',
16
+ DANGER: 'danger',
17
+ SUCCESS: 'success'
18
+ };
19
+ exports.PALETTE = PALETTE;
20
+ var BG_APPEARANCE = {
21
+ DEFAULT: 'default',
22
+ ON_HOVER: 'onHover',
23
+ NONE: 'none'
24
+ };
25
+ exports.BG_APPEARANCE = BG_APPEARANCE;
26
+ var BORDER_APPEARANCE = {
27
+ DEFAULT: 'default',
28
+ ON_HOVER: 'onHover',
29
+ NONE: 'none'
30
+ };
31
+ exports.BORDER_APPEARANCE = BORDER_APPEARANCE;
32
+ var VARIANT = {
33
+ TEXT: 'text',
34
+ ICON: 'icon',
35
+ ICON_WITH_TEXT: 'iconWithText'
36
+ };
37
+ exports.VARIANT = VARIANT;
38
+ var SIZE = {
39
+ SMALL: 'small',
40
+ MEDIUM: 'medium',
41
+ LARGE: 'large',
42
+ FULL: 'full'
43
+ };
44
+ exports.SIZE = SIZE;
45
+ var STATUS = {
46
+ DEFAULT: 'default',
47
+ LOADING: 'loading',
48
+ SUCCESS: 'success'
49
+ };
50
+ exports.STATUS = STATUS;
51
+ var LOADER_PLACEMENT = {
52
+ START: 'start',
53
+ END: 'end',
54
+ OVERLAY: 'overlay'
55
+ };
56
+ exports.LOADER_PLACEMENT = LOADER_PLACEMENT;
57
+ var ICON_PLACEMENT = {
58
+ LEFT: 'left',
59
+ RIGHT: 'right'
60
+ };
61
+ exports.ICON_PLACEMENT = ICON_PLACEMENT;
62
+ var PALETTE_SHADE = {
63
+ DEFAULT: 'default',
64
+ LIGHTER: 'lighter'
65
+ };
66
+ exports.PALETTE_SHADE = PALETTE_SHADE;
67
+ var SHAPE = {
68
+ PILL: 'pill',
69
+ RECTANGLE: 'rectangle',
70
+ ROUNDED_RECTANGLE: 'roundedRectangle'
71
+ };
72
+ exports.SHAPE = SHAPE;
73
+ var DISABLED_APPEARANCE = {
74
+ NONE: 'none',
75
+ DULL: 'dull',
76
+ STRIKE: 'strike'
77
+ };
78
+ exports.DISABLED_APPEARANCE = DISABLED_APPEARANCE;
79
+ var BUTTON_TYPE = {
80
+ BUTTON: 'button',
81
+ SUBMIT: 'submit',
82
+ RESET: 'reset'
83
+ };
84
+ exports.BUTTON_TYPE = BUTTON_TYPE;
85
+ var TYPOGRAPHY_SIZE_MAP = (_TYPOGRAPHY_SIZE_MAP = {}, _defineProperty(_TYPOGRAPHY_SIZE_MAP, SIZE.SMALL, '10'), _defineProperty(_TYPOGRAPHY_SIZE_MAP, SIZE.MEDIUM, '13'), _defineProperty(_TYPOGRAPHY_SIZE_MAP, SIZE.LARGE, '14'), _defineProperty(_TYPOGRAPHY_SIZE_MAP, SIZE.FULL, '14'), _TYPOGRAPHY_SIZE_MAP);
86
+ /** Default values referenced by both defaultProps and cssJSLogic */
87
+
88
+ exports.TYPOGRAPHY_SIZE_MAP = TYPOGRAPHY_SIZE_MAP;
89
+ var DEFAULT_PALETTE = PALETTE.DEFAULT;
90
+ exports.DEFAULT_PALETTE = DEFAULT_PALETTE;
91
+ var DEFAULT_BG_APPEARANCE = BG_APPEARANCE.DEFAULT;
92
+ exports.DEFAULT_BG_APPEARANCE = DEFAULT_BG_APPEARANCE;
93
+ var DEFAULT_BORDER_APPEARANCE = BORDER_APPEARANCE.DEFAULT;
94
+ exports.DEFAULT_BORDER_APPEARANCE = DEFAULT_BORDER_APPEARANCE;
95
+ var DEFAULT_VARIANT = VARIANT.TEXT;
96
+ exports.DEFAULT_VARIANT = DEFAULT_VARIANT;
97
+ var DEFAULT_SIZE = SIZE.MEDIUM;
98
+ exports.DEFAULT_SIZE = DEFAULT_SIZE;
99
+ var DEFAULT_STATUS = STATUS.DEFAULT;
100
+ exports.DEFAULT_STATUS = DEFAULT_STATUS;
101
+ var DEFAULT_LOADER_PLACEMENT = LOADER_PLACEMENT.OVERLAY;
102
+ exports.DEFAULT_LOADER_PLACEMENT = DEFAULT_LOADER_PLACEMENT;
103
+ var DEFAULT_ICON_PLACEMENT = ICON_PLACEMENT.LEFT;
104
+ exports.DEFAULT_ICON_PLACEMENT = DEFAULT_ICON_PLACEMENT;
105
+ var DEFAULT_ICON_SIZE = 16;
106
+ exports.DEFAULT_ICON_SIZE = DEFAULT_ICON_SIZE;
107
+ var DEFAULT_PALETTE_SHADE = PALETTE_SHADE.DEFAULT;
108
+ exports.DEFAULT_PALETTE_SHADE = DEFAULT_PALETTE_SHADE;
109
+ var DEFAULT_SHAPE = SHAPE.ROUNDED_RECTANGLE;
110
+ exports.DEFAULT_SHAPE = DEFAULT_SHAPE;
111
+ var DEFAULT_DISABLED_APPEARANCE = DISABLED_APPEARANCE.DULL;
112
+ exports.DEFAULT_DISABLED_APPEARANCE = DEFAULT_DISABLED_APPEARANCE;
113
+ var DEFAULT_BUTTON_TYPE = BUTTON_TYPE.BUTTON;
114
+ exports.DEFAULT_BUTTON_TYPE = DEFAULT_BUTTON_TYPE;
@@ -0,0 +1,119 @@
1
+ .varClass {
2
+ --local-button-border-style: solid;
3
+ --local-button-border-width: 1px;
4
+ --local-button-radius: 4px;
5
+ --local-button-gap: var(--zd_size8);
6
+ --local-button-padding-block: var(--zd_size6);
7
+ --local-button-padding-inline: var(--zd_size15);
8
+ --local-button-font-size: var(--zd_font_size13);
9
+ --local-loader-size: 16px;
10
+ --local-tick-size: 16px;
11
+ --local-button-height: auto;
12
+ --local-button-width: auto;
13
+ --local-button-overlay-opacity: 0.48;
14
+ --local-button-transition-duration: var(--zd_transition3);
15
+ }
16
+
17
+ .button {
18
+ composes: varClass;
19
+ composes: posrel pointer from '../../../common/common.module.css';
20
+ padding-block: var(--local-button-padding-block);
21
+ padding-inline: var(--local-button-padding-inline);
22
+ font-size: var(--local-button-font-size);
23
+ height: var(--local-button-height);
24
+ width: var(--local-button-width);
25
+ border-radius: var(--local-button-radius);
26
+ border-style: var(--local-button-border-style);
27
+ border-width: var(--local-button-border-width);
28
+ transition-duration: var(--local-button-transition-duration);
29
+ transition-timing-function: ease;
30
+ background-image: none;
31
+ }
32
+
33
+ .disabledPointer {
34
+ cursor: not-allowed;
35
+ }
36
+
37
+ .disabledOpac {
38
+ opacity: var(--local-button-overlay-opacity);
39
+ }
40
+
41
+ .loading {
42
+ cursor: progress;
43
+ }
44
+
45
+ .sizeSmall {
46
+ --local-button-padding-block: var(--zd_size4);
47
+ --local-button-padding-inline: var(--zd_size7);
48
+ --local-loader-size: 14px;
49
+ --local-tick-size: 14px;
50
+ }
51
+
52
+ .sizeMedium {
53
+ --local-button-padding-block: var(--zd_size6);
54
+ --local-button-padding-inline: var(--zd_size15);
55
+ --local-loader-size: 16px;
56
+ --local-tick-size: 16px;
57
+ }
58
+
59
+ .sizeLarge {
60
+ --local-button-padding-block: var(--zd_size9);
61
+ --local-button-padding-inline: var(--zd_size14);
62
+ --local-loader-size: 18px;
63
+ --local-tick-size: 18px;
64
+ }
65
+
66
+ .sizeFull {
67
+ --local-button-height: 100%;
68
+ --local-button-width: 100%;
69
+ }
70
+
71
+ .shapeRoundedRectangle {
72
+ --local-button-radius: 4px;
73
+ }
74
+
75
+ .shapePill {
76
+ --local-button-radius: 50px;
77
+ }
78
+
79
+ .shapeRectangle {
80
+ --local-button-radius: 0;
81
+ }
82
+
83
+ .loaderOverlay {
84
+ inset: 0 ;
85
+ composes: posab from '../../../common/common.module.css';
86
+ }
87
+
88
+ .contentWrapper {
89
+ gap: var(--local-button-gap);
90
+ }
91
+
92
+
93
+ .overlayHidden {
94
+ composes: contentWrapper;
95
+ visibility: hidden;
96
+ opacity: 0;
97
+ }
98
+
99
+ .strike::after {
100
+ content: '';
101
+ position: absolute;
102
+ inset: 0 ;
103
+ pointer-events: none;
104
+ border-radius: var(--local-button-radius);
105
+ }
106
+
107
+ [dir=ltr] .strike::after {
108
+ background-image: repeating-linear-gradient(120deg, currentColor 0 1px, var(--dot_mirror) 1px 8px);
109
+ }
110
+
111
+ [dir=rtl] .strike::after {
112
+ background-image: repeating-linear-gradient(-120deg, currentColor 0 1px, var(--dot_mirror) 1px 8px);
113
+ }
114
+
115
+ .successOverlay {
116
+ inset: 0 ;
117
+ composes: posab from '../../../common/common.module.css';
118
+ }
119
+
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = cssJSLogic;
7
+
8
+ var _Button_v1Module = _interopRequireDefault(require("./Button_v1.module.css"));
9
+
10
+ var _compileClassNames3 = _interopRequireDefault(require("@zohodesk/utils/es/compileClassNames"));
11
+
12
+ var _semanticButtonModule = _interopRequireDefault(require("../../../semantic/Button/semanticButton.module.css"));
13
+
14
+ var _colorHelper = _interopRequireDefault(require("../../helpers/colorHelpers/colorHelper"));
15
+
16
+ var _constants = require("@zohodesk/dotkit/es/utils/constants");
17
+
18
+ var _constants2 = require("../constants");
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+
24
+ var capitalize = function capitalize() {
25
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
26
+ return value.charAt(0).toUpperCase() + value.slice(1);
27
+ };
28
+
29
+ function cssJSLogic(_ref) {
30
+ var _compileClassNames;
31
+
32
+ var props = _ref.props;
33
+ var palette = props.palette,
34
+ bgAppearance = props.bgAppearance,
35
+ borderAppearance = props.borderAppearance,
36
+ paletteShade = props.paletteShade,
37
+ size = props.size,
38
+ status = props.status,
39
+ isDisabled = props.isDisabled,
40
+ isReadOnly = props.isReadOnly,
41
+ isSelected = props.isSelected,
42
+ shape = props.shape,
43
+ loaderPlacement = props.loaderPlacement,
44
+ disabledAppearance = props.disabledAppearance,
45
+ _props$customClass = props.customClass,
46
+ customClass = _props$customClass === void 0 ? _constants.DUMMY_OBJECT : _props$customClass;
47
+ var _customClass$wrapper = customClass.wrapper,
48
+ wrapperClass = _customClass$wrapper === void 0 ? '' : _customClass$wrapper,
49
+ _customClass$text = customClass.text,
50
+ textClassCustom = _customClass$text === void 0 ? '' : _customClass$text;
51
+ var isLoading = status === _constants2.STATUS.LOADING;
52
+ var isSuccess = status === _constants2.STATUS.SUCCESS;
53
+ var isInteractive = !isDisabled && !isReadOnly;
54
+ var overlayActive = (isLoading || isSuccess) && loaderPlacement === _constants2.LOADER_PLACEMENT.OVERLAY;
55
+
56
+ var _getPaletteClasses = (0, _colorHelper["default"])({
57
+ palette: palette,
58
+ bgAppearance: bgAppearance,
59
+ borderAppearance: borderAppearance,
60
+ paletteShade: paletteShade,
61
+ isSelected: isSelected
62
+ }),
63
+ bg = _getPaletteClasses.bg,
64
+ hoverBg = _getPaletteClasses.hoverBg,
65
+ focusBg = _getPaletteClasses.focusBg,
66
+ activeBg = _getPaletteClasses.activeBg,
67
+ text = _getPaletteClasses.text,
68
+ hoverText = _getPaletteClasses.hoverText,
69
+ focusText = _getPaletteClasses.focusText,
70
+ activeText = _getPaletteClasses.activeText,
71
+ border = _getPaletteClasses.border,
72
+ hoverBorder = _getPaletteClasses.hoverBorder,
73
+ focusBorder = _getPaletteClasses.focusBorder,
74
+ activeBorder = _getPaletteClasses.activeBorder;
75
+
76
+ var sizeClass = size ? _Button_v1Module["default"]["size".concat(capitalize(size))] : '';
77
+ var shapeClass = shape ? _Button_v1Module["default"]["shape".concat(capitalize(shape))] : '';
78
+ var shouldStrike = disabledAppearance === _constants2.DISABLED_APPEARANCE.STRIKE && isDisabled;
79
+ var buttonClassName = (0, _compileClassNames3["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, _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));
80
+ var textClassName = (0, _compileClassNames3["default"])(_defineProperty({}, textClassCustom, !!textClassCustom));
81
+ return {
82
+ buttonClassName: buttonClassName,
83
+ textClassName: textClassName,
84
+ contentWrapperClass: overlayActive ? _Button_v1Module["default"].overlayHidden : _Button_v1Module["default"].contentWrapper,
85
+ loaderOverlayClass: _Button_v1Module["default"].loaderOverlay,
86
+ successOverlayClass: _Button_v1Module["default"].successOverlay
87
+ };
88
+ }