@zohodesk/components 1.6.24 → 1.6.26

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 (261) hide show
  1. package/CHANGELOG.md +2042 -0
  2. package/README.md +16 -2027
  3. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +321 -330
  4. package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +64 -79
  5. package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +29 -33
  6. package/assets/Appearance/dark/themes/blue/blue_componentsCTA_DarkModifyCategory.module.css +13 -13
  7. package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +29 -33
  8. package/assets/Appearance/dark/themes/green/green_componentsCTA_DarkModifyCategory.module.css +13 -13
  9. package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +29 -33
  10. package/assets/Appearance/dark/themes/orange/orange_componentsCTA_DarkModifyCategory.module.css +13 -13
  11. package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +29 -33
  12. package/assets/Appearance/dark/themes/red/red_componentsCTA_DarkModifyCategory.module.css +13 -13
  13. package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +29 -33
  14. package/assets/Appearance/dark/themes/yellow/yellow_componentsCTA_DarkModifyCategory.module.css +13 -13
  15. package/assets/Appearance/light/mode/Component_LightMode.module.css +321 -330
  16. package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +64 -79
  17. package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +29 -33
  18. package/assets/Appearance/light/themes/blue/blue_componentsCTA_LightModifyCategory.module.css +13 -13
  19. package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +29 -33
  20. package/assets/Appearance/light/themes/green/green_componentsCTA_LightModifyCategory.module.css +13 -13
  21. package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +29 -33
  22. package/assets/Appearance/light/themes/orange/orange_componentsCTA_LightModifyCategory.module.css +13 -13
  23. package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +29 -33
  24. package/assets/Appearance/light/themes/red/red_componentsCTA_LightModifyCategory.module.css +13 -13
  25. package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +29 -33
  26. package/assets/Appearance/light/themes/yellow/yellow_componentsCTA_LightModifyCategory.module.css +13 -13
  27. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +321 -330
  28. package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +64 -79
  29. package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +29 -33
  30. package/assets/Appearance/pureDark/themes/blue/blue_componentsCTA_PureDarkModifyCategory.module.css +13 -13
  31. package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +29 -33
  32. package/assets/Appearance/pureDark/themes/green/green_componentsCTA_PureDarkModifyCategory.module.css +13 -13
  33. package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +29 -33
  34. package/assets/Appearance/pureDark/themes/orange/orange_componentsCTA_PureDarkModifyCategory.module.css +13 -13
  35. package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +29 -33
  36. package/assets/Appearance/pureDark/themes/red/red_componentsCTA_PureDarkModifyCategory.module.css +13 -13
  37. package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +29 -33
  38. package/assets/Appearance/pureDark/themes/yellow/yellow_componentsCTA_PureDarkModifyCategory.module.css +13 -13
  39. package/es/Accordion/Accordion.js +1 -6
  40. package/es/Accordion/AccordionItem.js +1 -6
  41. package/es/Animation/Animation.js +1 -8
  42. package/es/AppContainer/AppContainer.js +1 -6
  43. package/es/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +16 -16
  44. package/es/Avatar/Avatar.js +1 -6
  45. package/es/AvatarTeam/AvatarTeam.js +1 -7
  46. package/es/Button/Button.js +1 -6
  47. package/es/Buttongroup/Buttongroup.js +1 -14
  48. package/es/Card/Card.js +1 -9
  49. package/es/Card/__tests__/__snapshots__/Card.spec.js.snap +17 -17
  50. package/es/Card/__tests__/__snapshots__/CardContent.spec.js.snap +12 -12
  51. package/es/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +4 -4
  52. package/es/CheckBox/CheckBox.js +1 -6
  53. package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +88 -88
  54. package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +48 -48
  55. package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +30 -30
  56. package/es/DateTime/DateWidget.js +0 -10
  57. package/es/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +49 -49
  58. package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +93 -93
  59. package/es/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +1 -1
  60. package/es/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +8 -8
  61. package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +7 -7
  62. package/es/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +1 -1
  63. package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +28 -28
  64. package/es/DropDown/DropDownHeading.js +1 -6
  65. package/es/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +2 -2
  66. package/es/Heading/Heading.js +1 -6
  67. package/es/Label/Label.js +1 -6
  68. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +4 -4
  69. package/es/ListItem/ListContainer.js +1 -6
  70. package/es/ListItem/ListItem.js +1 -6
  71. package/es/ListItem/ListItemWithAvatar.js +1 -6
  72. package/es/ListItem/ListItemWithCheckBox.js +1 -6
  73. package/es/ListItem/ListItemWithIcon.js +1 -6
  74. package/es/ListItem/ListItemWithRadio.js +1 -6
  75. package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +2 -2
  76. package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +16 -16
  77. package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +41 -41
  78. package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +62 -62
  79. package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +41 -41
  80. package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +62 -62
  81. package/es/Modal/Modal.js +1 -8
  82. package/es/MultiSelect/AdvancedGroupMultiSelect.js +1 -7
  83. package/es/MultiSelect/AdvancedMultiSelect.js +1 -9
  84. package/es/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +3 -3
  85. package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +6 -6
  86. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +50 -50
  87. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +35 -35
  88. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +7 -7
  89. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +8 -8
  90. package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +4 -4
  91. package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +47 -47
  92. package/es/Radio/__tests__/__snapshots__/Radio.spec.js.snap +94 -94
  93. package/es/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -1
  94. package/es/RippleEffect/RippleEffect.js +1 -6
  95. package/es/Select/GroupSelect.js +1 -8
  96. package/es/Select/Select.js +1 -10
  97. package/es/Select/SelectWithAvatar.js +1 -9
  98. package/es/Select/SelectWithIcon.js +1 -7
  99. package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +7 -7
  100. package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +831 -831
  101. package/es/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +2 -2
  102. package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +10 -10
  103. package/es/Switch/Switch.js +1 -6
  104. package/es/Switch/__tests__/__snapshots__/Switch.spec.js.snap +44 -44
  105. package/es/Tab/Tab.js +1 -6
  106. package/es/Tab/__tests__/__snapshots__/Tab.spec.js.snap +2 -2
  107. package/es/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +1 -1
  108. package/es/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +1 -1
  109. package/es/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +40 -40
  110. package/es/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +1 -1
  111. package/es/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +4 -4
  112. package/es/Tag/Tag.js +1 -6
  113. package/es/Tag/__tests__/__snapshots__/Tag.spec.js.snap +94 -94
  114. package/es/TextBox/TextBox.js +1 -8
  115. package/es/TextBoxIcon/TextBoxIcon.js +1 -8
  116. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +167 -167
  117. package/es/Textarea/Textarea.js +1 -8
  118. package/es/Tooltip/Tooltip.js +1 -8
  119. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -5
  120. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -5
  121. package/es/semantic/Button/Button.js +1 -6
  122. package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +20 -20
  123. package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +19 -19
  124. package/es/v1/Button/Button.js +198 -114
  125. package/es/v1/Button/README.md +110 -44
  126. package/es/v1/Button/__tests__/Button.spec.js +139 -48
  127. package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1236 -340
  128. package/es/v1/Button/constants/index.js +29 -23
  129. package/es/v1/Button/constants/presets.js +160 -0
  130. package/es/v1/Button/css/Button_v1.module.css +33 -16
  131. package/es/v1/Button/css/cssJSLogic.js +56 -29
  132. package/es/v1/Button/props/defaultProps.js +5 -6
  133. package/es/v1/Button/props/propTypes.js +26 -8
  134. package/es/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +24 -24
  135. package/es/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +14 -14
  136. package/es/v1/helpers/colorHelpers/__tests__/colorHelper.spec.js +357 -0
  137. package/es/v1/helpers/colorHelpers/background/backgroundColor.module.css +38 -534
  138. package/es/v1/helpers/colorHelpers/border/borderColor.module.css +28 -412
  139. package/es/v1/helpers/colorHelpers/colorHelper.js +120 -139
  140. package/es/v1/helpers/colorHelpers/constants/index.js +45 -4
  141. package/es/v1/helpers/colorHelpers/index.js +0 -1
  142. package/es/v1/helpers/colorHelpers/paletteUtilities.README.md +141 -336
  143. package/es/v1/helpers/colorHelpers/text/textColor.module.css +79 -295
  144. package/es/v1/shared/{Loader/Loader.js → Spinner/Spinner.js} +5 -5
  145. package/es/v1/shared/{Loader/__tests__/Loader.spec.js → Spinner/__tests__/Spinner.spec.js} +4 -4
  146. package/{lib/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap → es/v1/shared/Spinner/__tests__/__snapshots__/Spinner.spec.js.snap} +2 -2
  147. package/lib/Accordion/Accordion.js +1 -6
  148. package/lib/Accordion/AccordionItem.js +1 -6
  149. package/lib/Animation/Animation.js +1 -8
  150. package/lib/AppContainer/AppContainer.js +1 -6
  151. package/lib/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +16 -16
  152. package/lib/Avatar/Avatar.js +1 -6
  153. package/lib/AvatarTeam/AvatarTeam.js +1 -7
  154. package/lib/Button/Button.js +1 -7
  155. package/lib/Buttongroup/Buttongroup.js +1 -14
  156. package/lib/Card/Card.js +1 -8
  157. package/lib/Card/__tests__/__snapshots__/Card.spec.js.snap +17 -17
  158. package/lib/Card/__tests__/__snapshots__/CardContent.spec.js.snap +12 -12
  159. package/lib/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +4 -4
  160. package/lib/CheckBox/CheckBox.js +1 -6
  161. package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +88 -88
  162. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +48 -48
  163. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +30 -30
  164. package/lib/DateTime/DateWidget.js +0 -10
  165. package/lib/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +49 -49
  166. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +93 -93
  167. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +1 -1
  168. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +8 -8
  169. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +7 -7
  170. package/lib/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +1 -1
  171. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +28 -28
  172. package/lib/DropDown/DropDownHeading.js +1 -6
  173. package/lib/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +2 -2
  174. package/lib/Heading/Heading.js +1 -6
  175. package/lib/Label/Label.js +1 -6
  176. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +4 -4
  177. package/lib/ListItem/ListContainer.js +1 -7
  178. package/lib/ListItem/ListItem.js +1 -6
  179. package/lib/ListItem/ListItemWithAvatar.js +1 -6
  180. package/lib/ListItem/ListItemWithCheckBox.js +1 -6
  181. package/lib/ListItem/ListItemWithIcon.js +1 -6
  182. package/lib/ListItem/ListItemWithRadio.js +1 -6
  183. package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +2 -2
  184. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +16 -16
  185. package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +41 -41
  186. package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +62 -62
  187. package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +41 -41
  188. package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +62 -62
  189. package/lib/Modal/Modal.js +1 -8
  190. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +1 -7
  191. package/lib/MultiSelect/AdvancedMultiSelect.js +1 -9
  192. package/lib/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +3 -3
  193. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +6 -6
  194. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +50 -50
  195. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +35 -35
  196. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +7 -7
  197. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +8 -8
  198. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +4 -4
  199. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +47 -47
  200. package/lib/Radio/__tests__/__snapshots__/Radio.spec.js.snap +94 -94
  201. package/lib/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -1
  202. package/lib/RippleEffect/RippleEffect.js +1 -6
  203. package/lib/Select/GroupSelect.js +1 -9
  204. package/lib/Select/Select.js +1 -11
  205. package/lib/Select/SelectWithAvatar.js +1 -9
  206. package/lib/Select/SelectWithIcon.js +1 -7
  207. package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +7 -7
  208. package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +831 -831
  209. package/lib/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +2 -2
  210. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +10 -10
  211. package/lib/Switch/Switch.js +1 -6
  212. package/lib/Switch/__tests__/__snapshots__/Switch.spec.js.snap +44 -44
  213. package/lib/Tab/Tab.js +1 -6
  214. package/lib/Tab/__tests__/__snapshots__/Tab.spec.js.snap +2 -2
  215. package/lib/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +1 -1
  216. package/lib/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +1 -1
  217. package/lib/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +40 -40
  218. package/lib/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +1 -1
  219. package/lib/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +4 -4
  220. package/lib/Tag/Tag.js +1 -6
  221. package/lib/Tag/__tests__/__snapshots__/Tag.spec.js.snap +94 -94
  222. package/lib/TextBox/TextBox.js +1 -8
  223. package/lib/TextBoxIcon/TextBoxIcon.js +1 -8
  224. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +167 -167
  225. package/lib/Textarea/Textarea.js +1 -8
  226. package/lib/Tooltip/Tooltip.js +1 -8
  227. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -5
  228. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -5
  229. package/lib/semantic/Button/Button.js +1 -6
  230. package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +20 -20
  231. package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +19 -19
  232. package/lib/v1/Button/Button.js +208 -124
  233. package/lib/v1/Button/README.md +110 -44
  234. package/lib/v1/Button/__tests__/Button.spec.js +195 -88
  235. package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1236 -340
  236. package/lib/v1/Button/constants/index.js +34 -31
  237. package/lib/v1/Button/constants/presets.js +179 -0
  238. package/lib/v1/Button/css/Button_v1.module.css +33 -16
  239. package/lib/v1/Button/css/cssJSLogic.js +45 -25
  240. package/lib/v1/Button/props/defaultProps.js +4 -5
  241. package/lib/v1/Button/props/propTypes.js +41 -7
  242. package/lib/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +24 -24
  243. package/lib/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +14 -14
  244. package/lib/v1/helpers/colorHelpers/__tests__/colorHelper.spec.js +363 -0
  245. package/lib/v1/helpers/colorHelpers/background/backgroundColor.module.css +38 -534
  246. package/lib/v1/helpers/colorHelpers/border/borderColor.module.css +28 -412
  247. package/lib/v1/helpers/colorHelpers/colorHelper.js +130 -153
  248. package/lib/v1/helpers/colorHelpers/constants/index.js +45 -4
  249. package/lib/v1/helpers/colorHelpers/index.js +2 -24
  250. package/lib/v1/helpers/colorHelpers/paletteUtilities.README.md +141 -336
  251. package/lib/v1/helpers/colorHelpers/text/textColor.module.css +79 -295
  252. package/lib/v1/shared/{Loader/Loader.js → Spinner/Spinner.js} +8 -8
  253. package/lib/v1/shared/{Loader/__tests__/Loader.spec.js → Spinner/__tests__/Spinner.spec.js} +4 -4
  254. package/{es/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap → lib/v1/shared/Spinner/__tests__/__snapshots__/Spinner.spec.js.snap} +2 -2
  255. package/package.json +19 -19
  256. /package/es/v1/shared/{Loader/Loader_v1.module.css → Spinner/Spinner_v1.module.css} +0 -0
  257. /package/es/v1/shared/{Loader → Spinner}/props/defaultProps.js +0 -0
  258. /package/es/v1/shared/{Loader → Spinner}/props/propTypes.js +0 -0
  259. /package/lib/v1/shared/{Loader/Loader_v1.module.css → Spinner/Spinner_v1.module.css} +0 -0
  260. /package/lib/v1/shared/{Loader → Spinner}/props/defaultProps.js +0 -0
  261. /package/lib/v1/shared/{Loader → Spinner}/props/propTypes.js +0 -0
@@ -1,168 +1,149 @@
1
1
  import paletteBgStyle from "./background/backgroundColor.module.css";
2
2
  import paletteBorderStyle from "./border/borderColor.module.css";
3
3
  import paletteTextStyle from "./text/textColor.module.css";
4
- import { DUMMY_OBJECT } from '@zohodesk/dotkit/es/utils/constants';
5
4
  import { PALETTE_CONFIG, TONE_INTENSITY } from "./constants";
6
5
 
7
6
  const withState = (state, key) => state ? `${state}:${key}` : key;
8
7
 
9
- const toBgIntensity = (tone, hasState, isLighter) => {
10
- const intensity = TONE_INTENSITY[tone];
11
-
12
- if (!intensity) {
13
- return tone;
14
- }
15
-
16
- if (hasState) {
17
- return `${tone}-${isLighter ? intensity.lightHover : intensity.hover}`;
18
- }
19
-
20
- return `${tone}-${isLighter ? intensity.light : intensity.base}`;
8
+ const resolveConfig = (value, paletteConfig) => {
9
+ if (!value) return null;
10
+ if (value === true) return paletteConfig ? { ...paletteConfig,
11
+ isInherit: true
12
+ } : null;
13
+ return PALETTE_CONFIG[value] || {
14
+ tone: value,
15
+ textTone: value,
16
+ filledTextTone: value
17
+ };
21
18
  };
22
19
 
23
- const toTextIntensity = (tone, hasState) => {
24
- const intensity = TONE_INTENSITY[tone];
25
-
26
- if (!intensity) {
27
- return tone;
28
- }
20
+ const isContinuingTone = (config, restConfig) => !!(config && restConfig && config.tone === restConfig.tone && !!config.isLighter === !!restConfig.isLighter);
29
21
 
30
- if (hasState) {
31
- return `${tone}-${intensity.textHover ?? intensity.hover}`;
32
- }
33
-
34
- return `${tone}-${intensity.base}`;
22
+ const getBgClass = (state, config, darker) => {
23
+ const {
24
+ tone,
25
+ isLighter
26
+ } = config;
27
+ const intensity = TONE_INTENSITY[tone];
28
+ if (!intensity) return paletteBgStyle[withState(state, `bg-${tone}`)];
29
+ const shade = darker ? isLighter ? intensity.lightHover : intensity.hover : isLighter ? intensity.light : intensity.base;
30
+ return paletteBgStyle[withState(state, `bg-${tone}-${shade}`)];
35
31
  };
36
32
 
37
- const toBorderIntensity = (tone, hasState, isLighter) => {
33
+ const getBorderClass = (state, config, darker) => {
34
+ const {
35
+ tone,
36
+ isLighter
37
+ } = config;
38
38
  const intensity = TONE_INTENSITY[tone];
39
+ if (!intensity) return paletteBorderStyle[withState(state, `border-${tone}`)];
40
+ const shade = darker ? intensity.hover : isLighter ? intensity.borderLight : intensity.base;
41
+ return paletteBorderStyle[withState(state, `border-${tone}-${shade}`)];
42
+ };
39
43
 
40
- if (!intensity) {
41
- return tone;
42
- }
43
-
44
- if (hasState) {
45
- return `${tone}-${intensity.hover}`;
46
- }
44
+ const getTextClass = (state, textTone, darker) => {
45
+ const intensity = TONE_INTENSITY[textTone];
46
+ if (!intensity) return paletteTextStyle[withState(state, `text-${textTone}`)];
47
+ const shade = darker ? intensity.textHover ?? intensity.hover : intensity.base;
48
+ return paletteTextStyle[withState(state, `text-${textTone}-${shade}`)];
49
+ };
47
50
 
48
- return `${tone}-${isLighter ? intensity.borderLight : intensity.base}`;
51
+ const resolveTextTone = (textConfig, bgConfig) => {
52
+ if (!textConfig) return null;
53
+ if (textConfig.isInherit && bgConfig) return bgConfig.isLighter ? textConfig.textTone : textConfig.filledTextTone;
54
+ return textConfig.textTone || null;
49
55
  };
50
56
 
51
- export const getBgClass = ({
52
- state,
53
- tone,
54
- isLighter
55
- }) => paletteBgStyle[withState(state, `bg-${toBgIntensity(tone, !!state, isLighter)}`)];
56
- export const getTextClass = ({
57
- state,
58
- textTone
59
- }) => paletteTextStyle[withState(state, `text-${toTextIntensity(textTone, !!state)}`)];
60
- export const getBorderClass = ({
61
- state,
62
- tone,
63
- isLighter
64
- }) => paletteBorderStyle[withState(state, `border-${toBorderIntensity(tone, !!state, isLighter)}`)];
57
+ const BG_BORDER_INVALID = new Set(['black', 'white']);
58
+ const TEXT_INVALID = new Set(['transparent']);
65
59
 
66
- const buildPaletteClasses = (config, {
67
- bgAppearance,
68
- borderAppearance,
69
- paletteShade,
70
- isSelected
60
+ const buildStateClasses = ({
61
+ appearance,
62
+ state,
63
+ paletteConfig,
64
+ restAppearance,
65
+ restPaletteConfig,
66
+ textFallbackBgConfig
71
67
  }) => {
72
- const {
73
- tone,
74
- textTone,
75
- filledTextTone
76
- } = config;
77
- const isLighter = paletteShade === 'lighter';
78
- const hasBgState = bgAppearance !== 'none';
79
- const isFilledBg = bgAppearance === 'default';
80
- const hasBorderState = borderAppearance !== 'none';
81
- const hasTransparentBorder = borderAppearance === 'onHover' || borderAppearance === 'none';
82
- const baseTextTone = isFilledBg && !isLighter ? filledTextTone : textTone;
83
- const stateTextTone = hasBgState && !isLighter ? filledTextTone : textTone;
68
+ if (!appearance) return {
69
+ bg: '',
70
+ text: '',
71
+ border: ''
72
+ };
73
+ const rawBgConfig = resolveConfig(appearance.bg, paletteConfig);
74
+ const rawBorderConfig = resolveConfig(appearance.border, paletteConfig);
75
+ const rawTextConfig = resolveConfig(appearance.text, paletteConfig);
76
+ const bgConfig = rawBgConfig && !BG_BORDER_INVALID.has(rawBgConfig.tone) ? rawBgConfig : null;
77
+ const borderConfig = rawBorderConfig && !BG_BORDER_INVALID.has(rawBorderConfig.tone) ? rawBorderConfig : null;
78
+ const textConfig = rawTextConfig && !TEXT_INVALID.has(rawTextConfig.tone) ? rawTextConfig : null;
79
+ const rawRestBgConfig = restAppearance ? resolveConfig(restAppearance.bg, restPaletteConfig) : null;
80
+ const restBgConfig = rawRestBgConfig && !BG_BORDER_INVALID.has(rawRestBgConfig.tone) ? rawRestBgConfig : null;
81
+ const rawRestBorderConfig = restAppearance ? resolveConfig(restAppearance.border, restPaletteConfig) : null;
82
+ const restBorderConfig = rawRestBorderConfig && !BG_BORDER_INVALID.has(rawRestBorderConfig.tone) ? rawRestBorderConfig : null;
83
+ const rawRestTextConfig = restAppearance ? resolveConfig(restAppearance.text, restPaletteConfig) : null;
84
+ const restTextConfig = rawRestTextConfig && !TEXT_INVALID.has(rawRestTextConfig.tone) ? rawRestTextConfig : null;
85
+ const bg = bgConfig ? getBgClass(state, bgConfig, isContinuingTone(bgConfig, restBgConfig)) || '' : '';
86
+ const border = borderConfig ? getBorderClass(state, borderConfig, isContinuingTone(borderConfig, restBorderConfig)) || '' : state ? '' : paletteBorderStyle['border-transparent'] || '';
87
+ const effectiveBgForText = bgConfig || textFallbackBgConfig || restBgConfig || null;
88
+ const textTone = resolveTextTone(textConfig, effectiveBgForText);
89
+ const restTextTone = resolveTextTone(restTextConfig, restBgConfig);
90
+ const text = textTone ? getTextClass(state, textTone, textTone === restTextTone) || '' : '';
84
91
  return {
85
- bg: isSelected ? hasBgState ? getBgClass({
86
- state: 'selected',
87
- tone,
88
- isLighter
89
- }) : '' : isFilledBg ? getBgClass({
90
- tone,
91
- isLighter
92
- }) : '',
93
- hoverBg: hasBgState ? getBgClass({
94
- state: 'hover',
95
- tone,
96
- isLighter
97
- }) : '',
98
- focusBg: hasBgState ? getBgClass({
99
- state: 'focus',
100
- tone,
101
- isLighter
102
- }) : '',
103
- activeBg: hasBgState ? getBgClass({
104
- state: 'active',
105
- tone,
106
- isLighter
107
- }) : '',
108
- text: isSelected ? getTextClass({
109
- state: 'selected',
110
- textTone: hasBgState ? stateTextTone : baseTextTone
111
- }) : getTextClass({
112
- textTone: baseTextTone
113
- }),
114
- hoverText: getTextClass({
115
- state: 'hover',
116
- textTone: stateTextTone
117
- }),
118
- focusText: getTextClass({
119
- state: 'focus',
120
- textTone: stateTextTone
121
- }),
122
- activeText: getTextClass({
123
- state: 'active',
124
- textTone: stateTextTone
125
- }),
126
- border: isSelected ? !hasBorderState ? getBorderClass({
127
- tone: 'transparent'
128
- }) : getBorderClass({
129
- state: 'selected',
130
- tone
131
- }) : hasTransparentBorder ? getBorderClass({
132
- tone: 'transparent'
133
- }) : getBorderClass({
134
- tone,
135
- isLighter
136
- }),
137
- hoverBorder: hasBorderState ? getBorderClass({
138
- state: 'hover',
139
- tone
140
- }) : '',
141
- focusBorder: hasBorderState ? getBorderClass({
142
- state: 'focus',
143
- tone
144
- }) : '',
145
- activeBorder: hasBorderState ? getBorderClass({
146
- state: 'active',
147
- tone
148
- }) : ''
92
+ bg,
93
+ text,
94
+ border
149
95
  };
150
96
  };
151
97
 
152
98
  const getPaletteClasses = ({
153
99
  palette,
154
- bgAppearance,
155
- borderAppearance,
156
- paletteShade,
157
- isSelected
100
+ appearance,
101
+ hoverAppearance,
102
+ selectedAppearance
158
103
  }) => {
159
- const config = PALETTE_CONFIG[palette];
160
- return config ? buildPaletteClasses(config, {
161
- bgAppearance,
162
- borderAppearance,
163
- paletteShade,
164
- isSelected
165
- }) : DUMMY_OBJECT;
104
+ const paletteConfig = PALETTE_CONFIG[palette];
105
+ const base = buildStateClasses({
106
+ appearance,
107
+ state: undefined,
108
+ paletteConfig
109
+ });
110
+ const rawBaseBgConfig = resolveConfig(appearance?.bg, paletteConfig);
111
+ const restBgForText = rawBaseBgConfig && !BG_BORDER_INVALID.has(rawBaseBgConfig.tone) ? rawBaseBgConfig : null;
112
+ const selected = buildStateClasses({
113
+ appearance: selectedAppearance,
114
+ state: 'selected',
115
+ paletteConfig,
116
+ textFallbackBgConfig: restBgForText
117
+ });
118
+
119
+ const buildInteractive = state => buildStateClasses({
120
+ appearance: hoverAppearance,
121
+ state,
122
+ paletteConfig,
123
+ restAppearance: appearance,
124
+ restPaletteConfig: paletteConfig
125
+ });
126
+
127
+ const hover = buildInteractive('hover');
128
+ const focus = buildInteractive('focus');
129
+ const active = buildInteractive('active');
130
+ return {
131
+ bg: base.bg,
132
+ selectedBg: selected.bg,
133
+ hoverBg: hover.bg,
134
+ focusBg: focus.bg,
135
+ activeBg: active.bg,
136
+ text: base.text,
137
+ selectedText: selected.text,
138
+ hoverText: hover.text,
139
+ focusText: focus.text,
140
+ activeText: active.text,
141
+ border: base.border,
142
+ selectedBorder: selected.border,
143
+ hoverBorder: hover.border,
144
+ focusBorder: focus.border,
145
+ activeBorder: active.border
146
+ };
166
147
  };
167
148
 
168
149
  export default getPaletteClasses;
@@ -10,8 +10,8 @@ export const TONE_INTENSITY = {
10
10
  base: 65,
11
11
  hover: 55,
12
12
  light: 10,
13
- lightHover: 15,
14
- borderLight: 15,
13
+ lightHover: 20,
14
+ borderLight: 20,
15
15
  textHover: 100
16
16
  },
17
17
  blue: {
@@ -51,29 +51,70 @@ export const TONE_INTENSITY = {
51
51
  }
52
52
  };
53
53
  export const PALETTE_CONFIG = {
54
- default: {
54
+ brand: {
55
55
  tone: 'brand',
56
56
  textTone: 'brand',
57
57
  filledTextTone: 'brand-filled'
58
58
  },
59
- primary: {
59
+ brandLighter: {
60
+ tone: 'brand',
61
+ textTone: 'brand',
62
+ filledTextTone: 'brand',
63
+ isLighter: true
64
+ },
65
+ info: {
60
66
  tone: 'blue',
61
67
  textTone: 'blue',
62
68
  filledTextTone: 'white'
63
69
  },
70
+ infoLighter: {
71
+ tone: 'blue',
72
+ textTone: 'blue',
73
+ filledTextTone: 'blue',
74
+ isLighter: true
75
+ },
64
76
  secondary: {
65
77
  tone: 'grey',
66
78
  textTone: 'grey',
67
79
  filledTextTone: 'white'
68
80
  },
81
+ secondaryLighter: {
82
+ tone: 'grey',
83
+ textTone: 'grey',
84
+ filledTextTone: 'grey',
85
+ isLighter: true
86
+ },
69
87
  danger: {
70
88
  tone: 'red',
71
89
  textTone: 'red',
72
90
  filledTextTone: 'white'
73
91
  },
92
+ dangerLighter: {
93
+ tone: 'red',
94
+ textTone: 'red',
95
+ filledTextTone: 'red',
96
+ isLighter: true
97
+ },
74
98
  success: {
75
99
  tone: 'green',
76
100
  textTone: 'green',
77
101
  filledTextTone: 'white'
102
+ },
103
+ successLighter: {
104
+ tone: 'green',
105
+ textTone: 'green',
106
+ filledTextTone: 'green',
107
+ isLighter: true
108
+ },
109
+ warning: {
110
+ tone: 'orange',
111
+ textTone: 'orange',
112
+ filledTextTone: 'white'
113
+ },
114
+ warningLighter: {
115
+ tone: 'orange',
116
+ textTone: 'orange',
117
+ filledTextTone: 'orange',
118
+ isLighter: true
78
119
  }
79
120
  };
@@ -1,4 +1,3 @@
1
1
  export { default } from "./colorHelper";
2
2
  export { default as getPaletteClasses } from "./colorHelper";
3
- export { getBgClass, getTextClass, getBorderClass } from "./colorHelper";
4
3
  export { PALETTE_CONFIG, TONE_INTENSITY } from "./constants";