@zohodesk/components 1.6.7 → 1.6.11-exp-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.
Files changed (123) hide show
  1. package/README.md +15 -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/Typography/Typography.js +18 -8
  27. package/es/Typography/__tests__/Typography.spec.js +198 -6
  28. package/es/Typography/__tests__/__snapshots__/Typography.spec.js.snap +1235 -2
  29. package/es/Typography/css/Typography.module.css +4 -0
  30. package/es/Typography/css/cssJSLogic.js +53 -21
  31. package/es/Typography/props/defaultProps.js +4 -3
  32. package/es/Typography/props/propTypes.js +68 -26
  33. package/es/Typography/utils/textHighlighter.js +4 -2
  34. package/es/shared/ArrowIcon/ArrowIcon.module.css +3 -2
  35. package/es/v1/Button/Button.js +201 -0
  36. package/es/v1/Button/README.md +110 -0
  37. package/es/v1/Button/__tests__/Button.spec.js +272 -0
  38. package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1160 -0
  39. package/es/v1/Button/_shared/Loader/Loader.js +33 -0
  40. package/es/v1/Button/_shared/Loader/Loader.module.css +42 -0
  41. package/es/v1/Button/_shared/Loader/__tests__/Loader.spec.js +21 -0
  42. package/es/v1/Button/_shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +49 -0
  43. package/es/v1/Button/_shared/Loader/props/defaultProps.js +4 -0
  44. package/es/v1/Button/_shared/Loader/props/propTypes.js +7 -0
  45. package/es/v1/Button/_shared/SuccessTick/SuccessTick.js +25 -0
  46. package/es/v1/Button/_shared/SuccessTick/SuccessTick.module.css +21 -0
  47. package/es/v1/Button/_shared/SuccessTick/__tests__/SuccessTick.spec.js +21 -0
  48. package/es/v1/Button/_shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +31 -0
  49. package/es/v1/Button/_shared/SuccessTick/props/defaultProps.js +4 -0
  50. package/es/v1/Button/_shared/SuccessTick/props/propTypes.js +7 -0
  51. package/es/v1/Button/constants/index.js +82 -0
  52. package/es/v1/Button/css/Button_v1.module.css +119 -0
  53. package/es/v1/Button/css/cssJSLogic.js +96 -0
  54. package/es/v1/Button/index.js +2 -0
  55. package/es/v1/Button/props/defaultProps.js +26 -0
  56. package/es/v1/Button/props/propTypes.js +43 -0
  57. package/es/v1/helpers/colorHelpers/background/backgroundColor.module.css +629 -0
  58. package/es/v1/helpers/colorHelpers/border/borderColor.module.css +489 -0
  59. package/es/v1/helpers/colorHelpers/colorHelper.js +176 -0
  60. package/es/v1/helpers/colorHelpers/constants/index.js +79 -0
  61. package/es/v1/helpers/colorHelpers/index.js +4 -0
  62. package/es/v1/helpers/colorHelpers/paletteUtilities.README.md +415 -0
  63. package/es/v1/helpers/colorHelpers/text/textColor.module.css +368 -0
  64. package/lib/Buttongroup/Buttongroup.module.css +10 -30
  65. package/lib/CheckBox/CheckBox.module.css +3 -10
  66. package/lib/DateTime/DateTime.module.css +22 -35
  67. package/lib/DateTime/YearView.module.css +8 -10
  68. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +3 -2
  69. package/lib/DropDown/DropDown.module.css +2 -1
  70. package/lib/DropDown/DropDownItem.module.css +1 -8
  71. package/lib/DropDown/DropDownSeparator.module.css +2 -1
  72. package/lib/ListItem/ListItem.module.css +4 -15
  73. package/lib/MultiSelect/MobileHeader/MobileHeader.module.css +3 -2
  74. package/lib/MultiSelect/MultiSelect.module.css +21 -34
  75. package/lib/MultiSelect/SelectedOptions.module.css +6 -10
  76. package/lib/Radio/Radio.module.css +3 -3
  77. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +1 -1
  78. package/lib/Ribbon/Ribbon.module.css +9 -12
  79. package/lib/Select/Select.module.css +22 -17
  80. package/lib/Switch/Switch.module.css +1 -8
  81. package/lib/Tab/Tab.module.css +8 -15
  82. package/lib/Tab/Tabs.module.css +12 -22
  83. package/lib/Tag/Tag.module.css +4 -3
  84. package/lib/Tooltip/Tooltip.module.css +3 -2
  85. package/lib/Typography/Typography.js +15 -5
  86. package/lib/Typography/__tests__/Typography.spec.js +284 -92
  87. package/lib/Typography/__tests__/__snapshots__/Typography.spec.js.snap +1235 -2
  88. package/lib/Typography/css/Typography.module.css +4 -0
  89. package/lib/Typography/css/cssJSLogic.js +38 -6
  90. package/lib/Typography/props/defaultProps.js +6 -3
  91. package/lib/Typography/props/propTypes.js +67 -23
  92. package/lib/Typography/utils/textHighlighter.js +6 -3
  93. package/lib/shared/ArrowIcon/ArrowIcon.module.css +3 -2
  94. package/lib/v1/Button/Button.js +239 -0
  95. package/lib/v1/Button/README.md +110 -0
  96. package/lib/v1/Button/__tests__/Button.spec.js +293 -0
  97. package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1160 -0
  98. package/lib/v1/Button/_shared/Loader/Loader.js +43 -0
  99. package/lib/v1/Button/_shared/Loader/Loader.module.css +42 -0
  100. package/lib/v1/Button/_shared/Loader/__tests__/Loader.spec.js +28 -0
  101. package/lib/v1/Button/_shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +49 -0
  102. package/lib/v1/Button/_shared/Loader/props/defaultProps.js +11 -0
  103. package/lib/v1/Button/_shared/Loader/props/propTypes.js +18 -0
  104. package/lib/v1/Button/_shared/SuccessTick/SuccessTick.js +35 -0
  105. package/lib/v1/Button/_shared/SuccessTick/SuccessTick.module.css +21 -0
  106. package/lib/v1/Button/_shared/SuccessTick/__tests__/SuccessTick.spec.js +28 -0
  107. package/lib/v1/Button/_shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +31 -0
  108. package/lib/v1/Button/_shared/SuccessTick/props/defaultProps.js +11 -0
  109. package/lib/v1/Button/_shared/SuccessTick/props/propTypes.js +18 -0
  110. package/lib/v1/Button/constants/index.js +114 -0
  111. package/lib/v1/Button/css/Button_v1.module.css +119 -0
  112. package/lib/v1/Button/css/cssJSLogic.js +88 -0
  113. package/lib/v1/Button/index.js +21 -0
  114. package/lib/v1/Button/props/defaultProps.js +36 -0
  115. package/lib/v1/Button/props/propTypes.js +56 -0
  116. package/lib/v1/helpers/colorHelpers/background/backgroundColor.module.css +629 -0
  117. package/lib/v1/helpers/colorHelpers/border/borderColor.module.css +489 -0
  118. package/lib/v1/helpers/colorHelpers/colorHelper.js +190 -0
  119. package/lib/v1/helpers/colorHelpers/constants/index.js +87 -0
  120. package/lib/v1/helpers/colorHelpers/index.js +57 -0
  121. package/lib/v1/helpers/colorHelpers/paletteUtilities.README.md +415 -0
  122. package/lib/v1/helpers/colorHelpers/text/textColor.module.css +368 -0
  123. package/package.json +9 -9
@@ -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
+ }