@zohodesk/components 1.6.25 → 1.6.27

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 (218) hide show
  1. package/CHANGELOG.md +2046 -0
  2. package/README.md +16 -2031
  3. package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +5 -20
  4. package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +5 -20
  5. package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +5 -20
  6. package/es/Accordion/Accordion.js +1 -6
  7. package/es/Accordion/AccordionItem.js +1 -6
  8. package/es/Animation/Animation.js +1 -8
  9. package/es/AppContainer/AppContainer.js +1 -6
  10. package/es/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +16 -16
  11. package/es/Avatar/Avatar.js +1 -6
  12. package/es/AvatarTeam/AvatarTeam.js +1 -7
  13. package/es/Button/Button.js +1 -6
  14. package/es/Buttongroup/Buttongroup.js +1 -14
  15. package/es/Card/Card.js +1 -9
  16. package/es/Card/__tests__/__snapshots__/Card.spec.js.snap +17 -17
  17. package/es/Card/__tests__/__snapshots__/CardContent.spec.js.snap +12 -12
  18. package/es/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +4 -4
  19. package/es/CheckBox/CheckBox.js +1 -6
  20. package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +88 -88
  21. package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +48 -48
  22. package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +30 -30
  23. package/es/DateTime/DateWidget.js +1 -11
  24. package/es/DateTime/DateWidget.module.css +3 -0
  25. package/es/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +49 -49
  26. package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +93 -93
  27. package/es/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +1 -1
  28. package/es/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +8 -8
  29. package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +7 -7
  30. package/es/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +1 -1
  31. package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +28 -28
  32. package/es/DropDown/DropDownHeading.js +1 -6
  33. package/es/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +2 -2
  34. package/es/Heading/Heading.js +1 -6
  35. package/es/Label/Label.js +1 -6
  36. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +4 -4
  37. package/es/ListItem/ListContainer.js +1 -6
  38. package/es/ListItem/ListItem.js +1 -6
  39. package/es/ListItem/ListItemWithAvatar.js +1 -6
  40. package/es/ListItem/ListItemWithCheckBox.js +1 -6
  41. package/es/ListItem/ListItemWithIcon.js +1 -6
  42. package/es/ListItem/ListItemWithRadio.js +1 -6
  43. package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +2 -2
  44. package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +16 -16
  45. package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +41 -41
  46. package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +62 -62
  47. package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +41 -41
  48. package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +62 -62
  49. package/es/Modal/Modal.js +1 -8
  50. package/es/MultiSelect/AdvancedGroupMultiSelect.js +1 -7
  51. package/es/MultiSelect/AdvancedMultiSelect.js +1 -9
  52. package/es/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +3 -3
  53. package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +6 -6
  54. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +50 -50
  55. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +35 -35
  56. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +7 -7
  57. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +8 -8
  58. package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +4 -4
  59. package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +47 -47
  60. package/es/Radio/__tests__/__snapshots__/Radio.spec.js.snap +94 -94
  61. package/es/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -1
  62. package/es/RippleEffect/RippleEffect.js +1 -6
  63. package/es/Select/GroupSelect.js +1 -8
  64. package/es/Select/Select.js +1 -10
  65. package/es/Select/SelectWithAvatar.js +1 -9
  66. package/es/Select/SelectWithIcon.js +1 -7
  67. package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +7 -7
  68. package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +831 -831
  69. package/es/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +2 -2
  70. package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +10 -10
  71. package/es/Switch/Switch.js +1 -6
  72. package/es/Switch/__tests__/__snapshots__/Switch.spec.js.snap +44 -44
  73. package/es/Tab/Tab.js +1 -6
  74. package/es/Tab/__tests__/__snapshots__/Tab.spec.js.snap +2 -2
  75. package/es/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +1 -1
  76. package/es/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +1 -1
  77. package/es/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +40 -40
  78. package/es/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +1 -1
  79. package/es/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +4 -4
  80. package/es/Tag/Tag.js +1 -6
  81. package/es/Tag/__tests__/__snapshots__/Tag.spec.js.snap +94 -94
  82. package/es/TextBox/TextBox.js +1 -8
  83. package/es/TextBoxIcon/TextBoxIcon.js +1 -8
  84. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +167 -167
  85. package/es/Textarea/Textarea.js +1 -8
  86. package/es/Tooltip/Tooltip.js +1 -8
  87. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -5
  88. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -5
  89. package/es/semantic/Button/Button.js +1 -6
  90. package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +20 -20
  91. package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +19 -19
  92. package/es/v1/Button/Button.js +197 -113
  93. package/es/v1/Button/README.md +110 -44
  94. package/es/v1/Button/__tests__/Button.spec.js +139 -48
  95. package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1236 -340
  96. package/es/v1/Button/constants/index.js +29 -23
  97. package/es/v1/Button/constants/presets.js +160 -0
  98. package/es/v1/Button/css/Button_v1.module.css +33 -16
  99. package/es/v1/Button/css/cssJSLogic.js +56 -29
  100. package/es/v1/Button/props/defaultProps.js +5 -6
  101. package/es/v1/Button/props/propTypes.js +26 -8
  102. package/es/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +24 -24
  103. package/es/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +14 -14
  104. package/es/v1/helpers/colorHelpers/__tests__/colorHelper.spec.js +357 -0
  105. package/es/v1/helpers/colorHelpers/background/backgroundColor.module.css +38 -534
  106. package/es/v1/helpers/colorHelpers/border/borderColor.module.css +28 -412
  107. package/es/v1/helpers/colorHelpers/colorHelper.js +120 -139
  108. package/es/v1/helpers/colorHelpers/constants/index.js +45 -4
  109. package/es/v1/helpers/colorHelpers/index.js +0 -1
  110. package/es/v1/helpers/colorHelpers/paletteUtilities.README.md +141 -336
  111. package/es/v1/helpers/colorHelpers/text/textColor.module.css +79 -295
  112. package/lib/Accordion/Accordion.js +1 -6
  113. package/lib/Accordion/AccordionItem.js +1 -6
  114. package/lib/Animation/Animation.js +1 -8
  115. package/lib/AppContainer/AppContainer.js +1 -6
  116. package/lib/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +16 -16
  117. package/lib/Avatar/Avatar.js +1 -6
  118. package/lib/AvatarTeam/AvatarTeam.js +1 -7
  119. package/lib/Button/Button.js +1 -7
  120. package/lib/Buttongroup/Buttongroup.js +1 -14
  121. package/lib/Card/Card.js +1 -8
  122. package/lib/Card/__tests__/__snapshots__/Card.spec.js.snap +17 -17
  123. package/lib/Card/__tests__/__snapshots__/CardContent.spec.js.snap +12 -12
  124. package/lib/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +4 -4
  125. package/lib/CheckBox/CheckBox.js +1 -6
  126. package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +88 -88
  127. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +48 -48
  128. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +30 -30
  129. package/lib/DateTime/DateWidget.js +1 -11
  130. package/lib/DateTime/DateWidget.module.css +3 -0
  131. package/lib/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +49 -49
  132. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +93 -93
  133. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +1 -1
  134. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +8 -8
  135. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +7 -7
  136. package/lib/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +1 -1
  137. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +28 -28
  138. package/lib/DropDown/DropDownHeading.js +1 -6
  139. package/lib/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +2 -2
  140. package/lib/Heading/Heading.js +1 -6
  141. package/lib/Label/Label.js +1 -6
  142. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +4 -4
  143. package/lib/ListItem/ListContainer.js +1 -7
  144. package/lib/ListItem/ListItem.js +1 -6
  145. package/lib/ListItem/ListItemWithAvatar.js +1 -6
  146. package/lib/ListItem/ListItemWithCheckBox.js +1 -6
  147. package/lib/ListItem/ListItemWithIcon.js +1 -6
  148. package/lib/ListItem/ListItemWithRadio.js +1 -6
  149. package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +2 -2
  150. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +16 -16
  151. package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +41 -41
  152. package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +62 -62
  153. package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +41 -41
  154. package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +62 -62
  155. package/lib/Modal/Modal.js +1 -8
  156. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +1 -7
  157. package/lib/MultiSelect/AdvancedMultiSelect.js +1 -9
  158. package/lib/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +3 -3
  159. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +6 -6
  160. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +50 -50
  161. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +35 -35
  162. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +7 -7
  163. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +8 -8
  164. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +4 -4
  165. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +47 -47
  166. package/lib/Radio/__tests__/__snapshots__/Radio.spec.js.snap +94 -94
  167. package/lib/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -1
  168. package/lib/RippleEffect/RippleEffect.js +1 -6
  169. package/lib/Select/GroupSelect.js +1 -9
  170. package/lib/Select/Select.js +1 -11
  171. package/lib/Select/SelectWithAvatar.js +1 -9
  172. package/lib/Select/SelectWithIcon.js +1 -7
  173. package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +7 -7
  174. package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +831 -831
  175. package/lib/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +2 -2
  176. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +10 -10
  177. package/lib/Switch/Switch.js +1 -6
  178. package/lib/Switch/__tests__/__snapshots__/Switch.spec.js.snap +44 -44
  179. package/lib/Tab/Tab.js +1 -6
  180. package/lib/Tab/__tests__/__snapshots__/Tab.spec.js.snap +2 -2
  181. package/lib/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +1 -1
  182. package/lib/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +1 -1
  183. package/lib/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +40 -40
  184. package/lib/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +1 -1
  185. package/lib/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +4 -4
  186. package/lib/Tag/Tag.js +1 -6
  187. package/lib/Tag/__tests__/__snapshots__/Tag.spec.js.snap +94 -94
  188. package/lib/TextBox/TextBox.js +1 -8
  189. package/lib/TextBoxIcon/TextBoxIcon.js +1 -8
  190. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +167 -167
  191. package/lib/Textarea/Textarea.js +1 -8
  192. package/lib/Tooltip/Tooltip.js +1 -8
  193. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -5
  194. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -5
  195. package/lib/semantic/Button/Button.js +1 -6
  196. package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +20 -20
  197. package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +19 -19
  198. package/lib/v1/Button/Button.js +207 -123
  199. package/lib/v1/Button/README.md +110 -44
  200. package/lib/v1/Button/__tests__/Button.spec.js +195 -88
  201. package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1236 -340
  202. package/lib/v1/Button/constants/index.js +34 -31
  203. package/lib/v1/Button/constants/presets.js +179 -0
  204. package/lib/v1/Button/css/Button_v1.module.css +33 -16
  205. package/lib/v1/Button/css/cssJSLogic.js +45 -25
  206. package/lib/v1/Button/props/defaultProps.js +4 -5
  207. package/lib/v1/Button/props/propTypes.js +41 -7
  208. package/lib/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +24 -24
  209. package/lib/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +14 -14
  210. package/lib/v1/helpers/colorHelpers/__tests__/colorHelper.spec.js +363 -0
  211. package/lib/v1/helpers/colorHelpers/background/backgroundColor.module.css +38 -534
  212. package/lib/v1/helpers/colorHelpers/border/borderColor.module.css +28 -412
  213. package/lib/v1/helpers/colorHelpers/colorHelper.js +130 -153
  214. package/lib/v1/helpers/colorHelpers/constants/index.js +45 -4
  215. package/lib/v1/helpers/colorHelpers/index.js +2 -24
  216. package/lib/v1/helpers/colorHelpers/paletteUtilities.README.md +141 -336
  217. package/lib/v1/helpers/colorHelpers/text/textColor.module.css +79 -295
  218. package/package.json +16 -16
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getTextClass = exports.getBorderClass = exports.getBgClass = exports["default"] = void 0;
6
+ exports["default"] = void 0;
7
7
 
8
8
  var _backgroundColorModule = _interopRequireDefault(require("./background/backgroundColor.module.css"));
9
9
 
@@ -11,182 +11,159 @@ var _borderColorModule = _interopRequireDefault(require("./border/borderColor.mo
11
11
 
12
12
  var _textColorModule = _interopRequireDefault(require("./text/textColor.module.css"));
13
13
 
14
- var _constants = require("@zohodesk/dotkit/es/utils/constants");
15
-
16
- var _constants2 = require("./constants");
14
+ var _constants = require("./constants");
17
15
 
18
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
17
 
20
- var withState = function withState(state, key) {
21
- return state ? "".concat(state, ":").concat(key) : key;
22
- };
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
19
 
24
- var toBgIntensity = function toBgIntensity(tone, hasState, isLighter) {
25
- var intensity = _constants2.TONE_INTENSITY[tone];
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
26
21
 
27
- if (!intensity) {
28
- return tone;
29
- }
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; }
30
23
 
31
- if (hasState) {
32
- return "".concat(tone, "-").concat(isLighter ? intensity.lightHover : intensity.hover);
33
- }
34
-
35
- return "".concat(tone, "-").concat(isLighter ? intensity.light : intensity.base);
24
+ var withState = function withState(state, key) {
25
+ return state ? "".concat(state, ":").concat(key) : key;
36
26
  };
37
27
 
38
- var toTextIntensity = function toTextIntensity(tone, hasState) {
39
- var intensity = _constants2.TONE_INTENSITY[tone];
40
-
41
- if (!intensity) {
42
- return tone;
43
- }
44
-
45
- if (hasState) {
46
- var _intensity$textHover;
47
-
48
- return "".concat(tone, "-").concat((_intensity$textHover = intensity.textHover) !== null && _intensity$textHover !== void 0 ? _intensity$textHover : intensity.hover);
49
- }
50
-
51
- return "".concat(tone, "-").concat(intensity.base);
28
+ var resolveConfig = function resolveConfig(value, paletteConfig) {
29
+ if (!value) return null;
30
+ if (value === true) return paletteConfig ? _objectSpread(_objectSpread({}, paletteConfig), {}, {
31
+ isInherit: true
32
+ }) : null;
33
+ return _constants.PALETTE_CONFIG[value] || {
34
+ tone: value,
35
+ textTone: value,
36
+ filledTextTone: value
37
+ };
52
38
  };
53
39
 
54
- var toBorderIntensity = function toBorderIntensity(tone, hasState, isLighter) {
55
- var intensity = _constants2.TONE_INTENSITY[tone];
56
-
57
- if (!intensity) {
58
- return tone;
59
- }
60
-
61
- if (hasState) {
62
- return "".concat(tone, "-").concat(intensity.hover);
63
- }
64
-
65
- return "".concat(tone, "-").concat(isLighter ? intensity.borderLight : intensity.base);
40
+ var isContinuingTone = function isContinuingTone(config, restConfig) {
41
+ return !!(config && restConfig && config.tone === restConfig.tone && !!config.isLighter === !!restConfig.isLighter);
66
42
  };
67
43
 
68
- var getBgClass = function getBgClass(_ref) {
69
- var state = _ref.state,
70
- tone = _ref.tone,
71
- isLighter = _ref.isLighter;
72
- return _backgroundColorModule["default"][withState(state, "bg-".concat(toBgIntensity(tone, !!state, isLighter)))];
44
+ var getBgClass = function getBgClass(state, config, darker) {
45
+ var tone = config.tone,
46
+ isLighter = config.isLighter;
47
+ var intensity = _constants.TONE_INTENSITY[tone];
48
+ if (!intensity) return _backgroundColorModule["default"][withState(state, "bg-".concat(tone))];
49
+ var shade = darker ? isLighter ? intensity.lightHover : intensity.hover : isLighter ? intensity.light : intensity.base;
50
+ return _backgroundColorModule["default"][withState(state, "bg-".concat(tone, "-").concat(shade))];
73
51
  };
74
52
 
75
- exports.getBgClass = getBgClass;
76
-
77
- var getTextClass = function getTextClass(_ref2) {
78
- var state = _ref2.state,
79
- textTone = _ref2.textTone;
80
- return _textColorModule["default"][withState(state, "text-".concat(toTextIntensity(textTone, !!state)))];
53
+ var getBorderClass = function getBorderClass(state, config, darker) {
54
+ var tone = config.tone,
55
+ isLighter = config.isLighter;
56
+ var intensity = _constants.TONE_INTENSITY[tone];
57
+ if (!intensity) return _borderColorModule["default"][withState(state, "border-".concat(tone))];
58
+ var shade = darker ? intensity.hover : isLighter ? intensity.borderLight : intensity.base;
59
+ return _borderColorModule["default"][withState(state, "border-".concat(tone, "-").concat(shade))];
81
60
  };
82
61
 
83
- exports.getTextClass = getTextClass;
62
+ var getTextClass = function getTextClass(state, textTone, darker) {
63
+ var _intensity$textHover;
84
64
 
85
- var getBorderClass = function getBorderClass(_ref3) {
86
- var state = _ref3.state,
87
- tone = _ref3.tone,
88
- isLighter = _ref3.isLighter;
89
- return _borderColorModule["default"][withState(state, "border-".concat(toBorderIntensity(tone, !!state, isLighter)))];
65
+ var intensity = _constants.TONE_INTENSITY[textTone];
66
+ if (!intensity) return _textColorModule["default"][withState(state, "text-".concat(textTone))];
67
+ var shade = darker ? (_intensity$textHover = intensity.textHover) !== null && _intensity$textHover !== void 0 ? _intensity$textHover : intensity.hover : intensity.base;
68
+ return _textColorModule["default"][withState(state, "text-".concat(textTone, "-").concat(shade))];
90
69
  };
91
70
 
92
- exports.getBorderClass = getBorderClass;
71
+ var resolveTextTone = function resolveTextTone(textConfig, bgConfig) {
72
+ if (!textConfig) return null;
73
+ if (textConfig.isInherit && bgConfig) return bgConfig.isLighter ? textConfig.textTone : textConfig.filledTextTone;
74
+ return textConfig.textTone || null;
75
+ };
93
76
 
94
- var buildPaletteClasses = function buildPaletteClasses(config, _ref4) {
95
- var bgAppearance = _ref4.bgAppearance,
96
- borderAppearance = _ref4.borderAppearance,
97
- paletteShade = _ref4.paletteShade,
98
- isSelected = _ref4.isSelected;
99
- var tone = config.tone,
100
- textTone = config.textTone,
101
- filledTextTone = config.filledTextTone;
102
- var isLighter = paletteShade === 'lighter';
103
- var hasBgState = bgAppearance !== 'none';
104
- var isFilledBg = bgAppearance === 'default';
105
- var hasBorderState = borderAppearance !== 'none';
106
- var hasTransparentBorder = borderAppearance === 'onHover' || borderAppearance === 'none';
107
- var baseTextTone = isFilledBg && !isLighter ? filledTextTone : textTone;
108
- var stateTextTone = hasBgState && !isLighter ? filledTextTone : textTone;
77
+ var BG_BORDER_INVALID = new Set(['black', 'white']);
78
+ var TEXT_INVALID = new Set(['transparent']);
79
+
80
+ var buildStateClasses = function buildStateClasses(_ref) {
81
+ var appearance = _ref.appearance,
82
+ state = _ref.state,
83
+ paletteConfig = _ref.paletteConfig,
84
+ restAppearance = _ref.restAppearance,
85
+ restPaletteConfig = _ref.restPaletteConfig,
86
+ textFallbackBgConfig = _ref.textFallbackBgConfig;
87
+ if (!appearance) return {
88
+ bg: '',
89
+ text: '',
90
+ border: ''
91
+ };
92
+ var rawBgConfig = resolveConfig(appearance.bg, paletteConfig);
93
+ var rawBorderConfig = resolveConfig(appearance.border, paletteConfig);
94
+ var rawTextConfig = resolveConfig(appearance.text, paletteConfig);
95
+ var bgConfig = rawBgConfig && !BG_BORDER_INVALID.has(rawBgConfig.tone) ? rawBgConfig : null;
96
+ var borderConfig = rawBorderConfig && !BG_BORDER_INVALID.has(rawBorderConfig.tone) ? rawBorderConfig : null;
97
+ var textConfig = rawTextConfig && !TEXT_INVALID.has(rawTextConfig.tone) ? rawTextConfig : null;
98
+ var rawRestBgConfig = restAppearance ? resolveConfig(restAppearance.bg, restPaletteConfig) : null;
99
+ var restBgConfig = rawRestBgConfig && !BG_BORDER_INVALID.has(rawRestBgConfig.tone) ? rawRestBgConfig : null;
100
+ var rawRestBorderConfig = restAppearance ? resolveConfig(restAppearance.border, restPaletteConfig) : null;
101
+ var restBorderConfig = rawRestBorderConfig && !BG_BORDER_INVALID.has(rawRestBorderConfig.tone) ? rawRestBorderConfig : null;
102
+ var rawRestTextConfig = restAppearance ? resolveConfig(restAppearance.text, restPaletteConfig) : null;
103
+ var restTextConfig = rawRestTextConfig && !TEXT_INVALID.has(rawRestTextConfig.tone) ? rawRestTextConfig : null;
104
+ var bg = bgConfig ? getBgClass(state, bgConfig, isContinuingTone(bgConfig, restBgConfig)) || '' : '';
105
+ var border = borderConfig ? getBorderClass(state, borderConfig, isContinuingTone(borderConfig, restBorderConfig)) || '' : state ? '' : _borderColorModule["default"]['border-transparent'] || '';
106
+ var effectiveBgForText = bgConfig || textFallbackBgConfig || restBgConfig || null;
107
+ var textTone = resolveTextTone(textConfig, effectiveBgForText);
108
+ var restTextTone = resolveTextTone(restTextConfig, restBgConfig);
109
+ var text = textTone ? getTextClass(state, textTone, textTone === restTextTone) || '' : '';
109
110
  return {
110
- bg: isSelected ? hasBgState ? getBgClass({
111
- state: 'selected',
112
- tone: tone,
113
- isLighter: isLighter
114
- }) : '' : isFilledBg ? getBgClass({
115
- tone: tone,
116
- isLighter: isLighter
117
- }) : '',
118
- hoverBg: hasBgState ? getBgClass({
119
- state: 'hover',
120
- tone: tone,
121
- isLighter: isLighter
122
- }) : '',
123
- focusBg: hasBgState ? getBgClass({
124
- state: 'focus',
125
- tone: tone,
126
- isLighter: isLighter
127
- }) : '',
128
- activeBg: hasBgState ? getBgClass({
129
- state: 'active',
130
- tone: tone,
131
- isLighter: isLighter
132
- }) : '',
133
- text: isSelected ? getTextClass({
134
- state: 'selected',
135
- textTone: hasBgState ? stateTextTone : baseTextTone
136
- }) : getTextClass({
137
- textTone: baseTextTone
138
- }),
139
- hoverText: getTextClass({
140
- state: 'hover',
141
- textTone: stateTextTone
142
- }),
143
- focusText: getTextClass({
144
- state: 'focus',
145
- textTone: stateTextTone
146
- }),
147
- activeText: getTextClass({
148
- state: 'active',
149
- textTone: stateTextTone
150
- }),
151
- border: isSelected ? !hasBorderState ? getBorderClass({
152
- tone: 'transparent'
153
- }) : getBorderClass({
154
- state: 'selected',
155
- tone: tone
156
- }) : hasTransparentBorder ? getBorderClass({
157
- tone: 'transparent'
158
- }) : getBorderClass({
159
- tone: tone,
160
- isLighter: isLighter
161
- }),
162
- hoverBorder: hasBorderState ? getBorderClass({
163
- state: 'hover',
164
- tone: tone
165
- }) : '',
166
- focusBorder: hasBorderState ? getBorderClass({
167
- state: 'focus',
168
- tone: tone
169
- }) : '',
170
- activeBorder: hasBorderState ? getBorderClass({
171
- state: 'active',
172
- tone: tone
173
- }) : ''
111
+ bg: bg,
112
+ text: text,
113
+ border: border
174
114
  };
175
115
  };
176
116
 
177
- var getPaletteClasses = function getPaletteClasses(_ref5) {
178
- var palette = _ref5.palette,
179
- bgAppearance = _ref5.bgAppearance,
180
- borderAppearance = _ref5.borderAppearance,
181
- paletteShade = _ref5.paletteShade,
182
- isSelected = _ref5.isSelected;
183
- var config = _constants2.PALETTE_CONFIG[palette];
184
- return config ? buildPaletteClasses(config, {
185
- bgAppearance: bgAppearance,
186
- borderAppearance: borderAppearance,
187
- paletteShade: paletteShade,
188
- isSelected: isSelected
189
- }) : _constants.DUMMY_OBJECT;
117
+ var getPaletteClasses = function getPaletteClasses(_ref2) {
118
+ var palette = _ref2.palette,
119
+ appearance = _ref2.appearance,
120
+ hoverAppearance = _ref2.hoverAppearance,
121
+ selectedAppearance = _ref2.selectedAppearance;
122
+ var paletteConfig = _constants.PALETTE_CONFIG[palette];
123
+ var base = buildStateClasses({
124
+ appearance: appearance,
125
+ state: undefined,
126
+ paletteConfig: paletteConfig
127
+ });
128
+ var rawBaseBgConfig = resolveConfig(appearance === null || appearance === void 0 ? void 0 : appearance.bg, paletteConfig);
129
+ var restBgForText = rawBaseBgConfig && !BG_BORDER_INVALID.has(rawBaseBgConfig.tone) ? rawBaseBgConfig : null;
130
+ var selected = buildStateClasses({
131
+ appearance: selectedAppearance,
132
+ state: 'selected',
133
+ paletteConfig: paletteConfig,
134
+ textFallbackBgConfig: restBgForText
135
+ });
136
+
137
+ var buildInteractive = function buildInteractive(state) {
138
+ return buildStateClasses({
139
+ appearance: hoverAppearance,
140
+ state: state,
141
+ paletteConfig: paletteConfig,
142
+ restAppearance: appearance,
143
+ restPaletteConfig: paletteConfig
144
+ });
145
+ };
146
+
147
+ var hover = buildInteractive('hover');
148
+ var focus = buildInteractive('focus');
149
+ var active = buildInteractive('active');
150
+ return {
151
+ bg: base.bg,
152
+ selectedBg: selected.bg,
153
+ hoverBg: hover.bg,
154
+ focusBg: focus.bg,
155
+ activeBg: active.bg,
156
+ text: base.text,
157
+ selectedText: selected.text,
158
+ hoverText: hover.text,
159
+ focusText: focus.text,
160
+ activeText: active.text,
161
+ border: base.border,
162
+ selectedBorder: selected.border,
163
+ hoverBorder: hover.border,
164
+ focusBorder: focus.border,
165
+ activeBorder: active.border
166
+ };
190
167
  };
191
168
 
192
169
  var _default = getPaletteClasses;
@@ -16,8 +16,8 @@ var TONE_INTENSITY = {
16
16
  base: 65,
17
17
  hover: 55,
18
18
  light: 10,
19
- lightHover: 15,
20
- borderLight: 15,
19
+ lightHover: 20,
20
+ borderLight: 20,
21
21
  textHover: 100
22
22
  },
23
23
  blue: {
@@ -58,30 +58,71 @@ var TONE_INTENSITY = {
58
58
  };
59
59
  exports.TONE_INTENSITY = TONE_INTENSITY;
60
60
  var PALETTE_CONFIG = {
61
- "default": {
61
+ brand: {
62
62
  tone: 'brand',
63
63
  textTone: 'brand',
64
64
  filledTextTone: 'brand-filled'
65
65
  },
66
- primary: {
66
+ brandLighter: {
67
+ tone: 'brand',
68
+ textTone: 'brand',
69
+ filledTextTone: 'brand',
70
+ isLighter: true
71
+ },
72
+ info: {
67
73
  tone: 'blue',
68
74
  textTone: 'blue',
69
75
  filledTextTone: 'white'
70
76
  },
77
+ infoLighter: {
78
+ tone: 'blue',
79
+ textTone: 'blue',
80
+ filledTextTone: 'blue',
81
+ isLighter: true
82
+ },
71
83
  secondary: {
72
84
  tone: 'grey',
73
85
  textTone: 'grey',
74
86
  filledTextTone: 'white'
75
87
  },
88
+ secondaryLighter: {
89
+ tone: 'grey',
90
+ textTone: 'grey',
91
+ filledTextTone: 'grey',
92
+ isLighter: true
93
+ },
76
94
  danger: {
77
95
  tone: 'red',
78
96
  textTone: 'red',
79
97
  filledTextTone: 'white'
80
98
  },
99
+ dangerLighter: {
100
+ tone: 'red',
101
+ textTone: 'red',
102
+ filledTextTone: 'red',
103
+ isLighter: true
104
+ },
81
105
  success: {
82
106
  tone: 'green',
83
107
  textTone: 'green',
84
108
  filledTextTone: 'white'
109
+ },
110
+ successLighter: {
111
+ tone: 'green',
112
+ textTone: 'green',
113
+ filledTextTone: 'green',
114
+ isLighter: true
115
+ },
116
+ warning: {
117
+ tone: 'orange',
118
+ textTone: 'orange',
119
+ filledTextTone: 'white'
120
+ },
121
+ warningLighter: {
122
+ tone: 'orange',
123
+ textTone: 'orange',
124
+ filledTextTone: 'orange',
125
+ isLighter: true
85
126
  }
86
127
  };
87
128
  exports.PALETTE_CONFIG = PALETTE_CONFIG;
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -23,35 +21,15 @@ Object.defineProperty(exports, "default", {
23
21
  return _colorHelper["default"];
24
22
  }
25
23
  });
26
- Object.defineProperty(exports, "getBgClass", {
27
- enumerable: true,
28
- get: function get() {
29
- return _colorHelper.getBgClass;
30
- }
31
- });
32
- Object.defineProperty(exports, "getBorderClass", {
33
- enumerable: true,
34
- get: function get() {
35
- return _colorHelper.getBorderClass;
36
- }
37
- });
38
24
  Object.defineProperty(exports, "getPaletteClasses", {
39
25
  enumerable: true,
40
26
  get: function get() {
41
27
  return _colorHelper["default"];
42
28
  }
43
29
  });
44
- Object.defineProperty(exports, "getTextClass", {
45
- enumerable: true,
46
- get: function get() {
47
- return _colorHelper.getTextClass;
48
- }
49
- });
50
30
 
51
- var _colorHelper = _interopRequireWildcard(require("./colorHelper"));
31
+ var _colorHelper = _interopRequireDefault(require("./colorHelper"));
52
32
 
53
33
  var _constants = require("./constants");
54
34
 
55
- 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); }
56
-
57
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }