@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.
- package/CHANGELOG.md +2042 -0
- package/README.md +16 -2027
- package/assets/Appearance/dark/mode/Component_DarkMode.module.css +321 -330
- package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +64 -79
- package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +29 -33
- package/assets/Appearance/dark/themes/blue/blue_componentsCTA_DarkModifyCategory.module.css +13 -13
- package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +29 -33
- package/assets/Appearance/dark/themes/green/green_componentsCTA_DarkModifyCategory.module.css +13 -13
- package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +29 -33
- package/assets/Appearance/dark/themes/orange/orange_componentsCTA_DarkModifyCategory.module.css +13 -13
- package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +29 -33
- package/assets/Appearance/dark/themes/red/red_componentsCTA_DarkModifyCategory.module.css +13 -13
- package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +29 -33
- package/assets/Appearance/dark/themes/yellow/yellow_componentsCTA_DarkModifyCategory.module.css +13 -13
- package/assets/Appearance/light/mode/Component_LightMode.module.css +321 -330
- package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +64 -79
- package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +29 -33
- package/assets/Appearance/light/themes/blue/blue_componentsCTA_LightModifyCategory.module.css +13 -13
- package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +29 -33
- package/assets/Appearance/light/themes/green/green_componentsCTA_LightModifyCategory.module.css +13 -13
- package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +29 -33
- package/assets/Appearance/light/themes/orange/orange_componentsCTA_LightModifyCategory.module.css +13 -13
- package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +29 -33
- package/assets/Appearance/light/themes/red/red_componentsCTA_LightModifyCategory.module.css +13 -13
- package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +29 -33
- package/assets/Appearance/light/themes/yellow/yellow_componentsCTA_LightModifyCategory.module.css +13 -13
- package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +321 -330
- package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +64 -79
- package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +29 -33
- package/assets/Appearance/pureDark/themes/blue/blue_componentsCTA_PureDarkModifyCategory.module.css +13 -13
- package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +29 -33
- package/assets/Appearance/pureDark/themes/green/green_componentsCTA_PureDarkModifyCategory.module.css +13 -13
- package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +29 -33
- package/assets/Appearance/pureDark/themes/orange/orange_componentsCTA_PureDarkModifyCategory.module.css +13 -13
- package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +29 -33
- package/assets/Appearance/pureDark/themes/red/red_componentsCTA_PureDarkModifyCategory.module.css +13 -13
- package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +29 -33
- package/assets/Appearance/pureDark/themes/yellow/yellow_componentsCTA_PureDarkModifyCategory.module.css +13 -13
- package/es/Accordion/Accordion.js +1 -6
- package/es/Accordion/AccordionItem.js +1 -6
- package/es/Animation/Animation.js +1 -8
- package/es/AppContainer/AppContainer.js +1 -6
- package/es/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +16 -16
- package/es/Avatar/Avatar.js +1 -6
- package/es/AvatarTeam/AvatarTeam.js +1 -7
- package/es/Button/Button.js +1 -6
- package/es/Buttongroup/Buttongroup.js +1 -14
- package/es/Card/Card.js +1 -9
- package/es/Card/__tests__/__snapshots__/Card.spec.js.snap +17 -17
- package/es/Card/__tests__/__snapshots__/CardContent.spec.js.snap +12 -12
- package/es/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +4 -4
- package/es/CheckBox/CheckBox.js +1 -6
- package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +88 -88
- package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +48 -48
- package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +30 -30
- package/es/DateTime/DateWidget.js +0 -10
- package/es/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +49 -49
- package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +93 -93
- package/es/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +1 -1
- package/es/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +8 -8
- package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +7 -7
- package/es/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +1 -1
- package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +28 -28
- package/es/DropDown/DropDownHeading.js +1 -6
- package/es/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +2 -2
- package/es/Heading/Heading.js +1 -6
- package/es/Label/Label.js +1 -6
- package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +4 -4
- package/es/ListItem/ListContainer.js +1 -6
- package/es/ListItem/ListItem.js +1 -6
- package/es/ListItem/ListItemWithAvatar.js +1 -6
- package/es/ListItem/ListItemWithCheckBox.js +1 -6
- package/es/ListItem/ListItemWithIcon.js +1 -6
- package/es/ListItem/ListItemWithRadio.js +1 -6
- package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +2 -2
- package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +16 -16
- package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +41 -41
- package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +62 -62
- package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +41 -41
- package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +62 -62
- package/es/Modal/Modal.js +1 -8
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +1 -7
- package/es/MultiSelect/AdvancedMultiSelect.js +1 -9
- package/es/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +3 -3
- package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +6 -6
- package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +50 -50
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +35 -35
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +7 -7
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +8 -8
- package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +4 -4
- package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +47 -47
- package/es/Radio/__tests__/__snapshots__/Radio.spec.js.snap +94 -94
- package/es/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -1
- package/es/RippleEffect/RippleEffect.js +1 -6
- package/es/Select/GroupSelect.js +1 -8
- package/es/Select/Select.js +1 -10
- package/es/Select/SelectWithAvatar.js +1 -9
- package/es/Select/SelectWithIcon.js +1 -7
- package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +7 -7
- package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +831 -831
- package/es/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +2 -2
- package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +10 -10
- package/es/Switch/Switch.js +1 -6
- package/es/Switch/__tests__/__snapshots__/Switch.spec.js.snap +44 -44
- package/es/Tab/Tab.js +1 -6
- package/es/Tab/__tests__/__snapshots__/Tab.spec.js.snap +2 -2
- package/es/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +1 -1
- package/es/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +1 -1
- package/es/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +40 -40
- package/es/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +1 -1
- package/es/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +4 -4
- package/es/Tag/Tag.js +1 -6
- package/es/Tag/__tests__/__snapshots__/Tag.spec.js.snap +94 -94
- package/es/TextBox/TextBox.js +1 -8
- package/es/TextBoxIcon/TextBoxIcon.js +1 -8
- package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +167 -167
- package/es/Textarea/Textarea.js +1 -8
- package/es/Tooltip/Tooltip.js +1 -8
- package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -5
- package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -5
- package/es/semantic/Button/Button.js +1 -6
- package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +20 -20
- package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +19 -19
- package/es/v1/Button/Button.js +198 -114
- package/es/v1/Button/README.md +110 -44
- package/es/v1/Button/__tests__/Button.spec.js +139 -48
- package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1236 -340
- package/es/v1/Button/constants/index.js +29 -23
- package/es/v1/Button/constants/presets.js +160 -0
- package/es/v1/Button/css/Button_v1.module.css +33 -16
- package/es/v1/Button/css/cssJSLogic.js +56 -29
- package/es/v1/Button/props/defaultProps.js +5 -6
- package/es/v1/Button/props/propTypes.js +26 -8
- package/es/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +24 -24
- package/es/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +14 -14
- package/es/v1/helpers/colorHelpers/__tests__/colorHelper.spec.js +357 -0
- package/es/v1/helpers/colorHelpers/background/backgroundColor.module.css +38 -534
- package/es/v1/helpers/colorHelpers/border/borderColor.module.css +28 -412
- package/es/v1/helpers/colorHelpers/colorHelper.js +120 -139
- package/es/v1/helpers/colorHelpers/constants/index.js +45 -4
- package/es/v1/helpers/colorHelpers/index.js +0 -1
- package/es/v1/helpers/colorHelpers/paletteUtilities.README.md +141 -336
- package/es/v1/helpers/colorHelpers/text/textColor.module.css +79 -295
- package/es/v1/shared/{Loader/Loader.js → Spinner/Spinner.js} +5 -5
- package/es/v1/shared/{Loader/__tests__/Loader.spec.js → Spinner/__tests__/Spinner.spec.js} +4 -4
- package/{lib/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap → es/v1/shared/Spinner/__tests__/__snapshots__/Spinner.spec.js.snap} +2 -2
- package/lib/Accordion/Accordion.js +1 -6
- package/lib/Accordion/AccordionItem.js +1 -6
- package/lib/Animation/Animation.js +1 -8
- package/lib/AppContainer/AppContainer.js +1 -6
- package/lib/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +16 -16
- package/lib/Avatar/Avatar.js +1 -6
- package/lib/AvatarTeam/AvatarTeam.js +1 -7
- package/lib/Button/Button.js +1 -7
- package/lib/Buttongroup/Buttongroup.js +1 -14
- package/lib/Card/Card.js +1 -8
- package/lib/Card/__tests__/__snapshots__/Card.spec.js.snap +17 -17
- package/lib/Card/__tests__/__snapshots__/CardContent.spec.js.snap +12 -12
- package/lib/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +4 -4
- package/lib/CheckBox/CheckBox.js +1 -6
- package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +88 -88
- package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +48 -48
- package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +30 -30
- package/lib/DateTime/DateWidget.js +0 -10
- package/lib/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +49 -49
- package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +93 -93
- package/lib/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +1 -1
- package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +8 -8
- package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +7 -7
- package/lib/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +1 -1
- package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +28 -28
- package/lib/DropDown/DropDownHeading.js +1 -6
- package/lib/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +2 -2
- package/lib/Heading/Heading.js +1 -6
- package/lib/Label/Label.js +1 -6
- package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +4 -4
- package/lib/ListItem/ListContainer.js +1 -7
- package/lib/ListItem/ListItem.js +1 -6
- package/lib/ListItem/ListItemWithAvatar.js +1 -6
- package/lib/ListItem/ListItemWithCheckBox.js +1 -6
- package/lib/ListItem/ListItemWithIcon.js +1 -6
- package/lib/ListItem/ListItemWithRadio.js +1 -6
- package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +2 -2
- package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +16 -16
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +41 -41
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +62 -62
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +41 -41
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +62 -62
- package/lib/Modal/Modal.js +1 -8
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +1 -7
- package/lib/MultiSelect/AdvancedMultiSelect.js +1 -9
- package/lib/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +3 -3
- package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +6 -6
- package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +50 -50
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +35 -35
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +7 -7
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +8 -8
- package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +4 -4
- package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +47 -47
- package/lib/Radio/__tests__/__snapshots__/Radio.spec.js.snap +94 -94
- package/lib/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -1
- package/lib/RippleEffect/RippleEffect.js +1 -6
- package/lib/Select/GroupSelect.js +1 -9
- package/lib/Select/Select.js +1 -11
- package/lib/Select/SelectWithAvatar.js +1 -9
- package/lib/Select/SelectWithIcon.js +1 -7
- package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +7 -7
- package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +831 -831
- package/lib/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +2 -2
- package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +10 -10
- package/lib/Switch/Switch.js +1 -6
- package/lib/Switch/__tests__/__snapshots__/Switch.spec.js.snap +44 -44
- package/lib/Tab/Tab.js +1 -6
- package/lib/Tab/__tests__/__snapshots__/Tab.spec.js.snap +2 -2
- package/lib/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +1 -1
- package/lib/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +1 -1
- package/lib/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +40 -40
- package/lib/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +1 -1
- package/lib/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +4 -4
- package/lib/Tag/Tag.js +1 -6
- package/lib/Tag/__tests__/__snapshots__/Tag.spec.js.snap +94 -94
- package/lib/TextBox/TextBox.js +1 -8
- package/lib/TextBoxIcon/TextBoxIcon.js +1 -8
- package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +167 -167
- package/lib/Textarea/Textarea.js +1 -8
- package/lib/Tooltip/Tooltip.js +1 -8
- package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -5
- package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -5
- package/lib/semantic/Button/Button.js +1 -6
- package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +20 -20
- package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +19 -19
- package/lib/v1/Button/Button.js +208 -124
- package/lib/v1/Button/README.md +110 -44
- package/lib/v1/Button/__tests__/Button.spec.js +195 -88
- package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1236 -340
- package/lib/v1/Button/constants/index.js +34 -31
- package/lib/v1/Button/constants/presets.js +179 -0
- package/lib/v1/Button/css/Button_v1.module.css +33 -16
- package/lib/v1/Button/css/cssJSLogic.js +45 -25
- package/lib/v1/Button/props/defaultProps.js +4 -5
- package/lib/v1/Button/props/propTypes.js +41 -7
- package/lib/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +24 -24
- package/lib/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +14 -14
- package/lib/v1/helpers/colorHelpers/__tests__/colorHelper.spec.js +363 -0
- package/lib/v1/helpers/colorHelpers/background/backgroundColor.module.css +38 -534
- package/lib/v1/helpers/colorHelpers/border/borderColor.module.css +28 -412
- package/lib/v1/helpers/colorHelpers/colorHelper.js +130 -153
- package/lib/v1/helpers/colorHelpers/constants/index.js +45 -4
- package/lib/v1/helpers/colorHelpers/index.js +2 -24
- package/lib/v1/helpers/colorHelpers/paletteUtilities.README.md +141 -336
- package/lib/v1/helpers/colorHelpers/text/textColor.module.css +79 -295
- package/lib/v1/shared/{Loader/Loader.js → Spinner/Spinner.js} +8 -8
- package/lib/v1/shared/{Loader/__tests__/Loader.spec.js → Spinner/__tests__/Spinner.spec.js} +4 -4
- package/{es/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap → lib/v1/shared/Spinner/__tests__/__snapshots__/Spinner.spec.js.snap} +2 -2
- package/package.json +19 -19
- /package/es/v1/shared/{Loader/Loader_v1.module.css → Spinner/Spinner_v1.module.css} +0 -0
- /package/es/v1/shared/{Loader → Spinner}/props/defaultProps.js +0 -0
- /package/es/v1/shared/{Loader → Spinner}/props/propTypes.js +0 -0
- /package/lib/v1/shared/{Loader/Loader_v1.module.css → Spinner/Spinner_v1.module.css} +0 -0
- /package/lib/v1/shared/{Loader → Spinner}/props/defaultProps.js +0 -0
- /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
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
|
|
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
|
-
|
|
52
|
-
|
|
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
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
60
|
+
const buildStateClasses = ({
|
|
61
|
+
appearance,
|
|
62
|
+
state,
|
|
63
|
+
paletteConfig,
|
|
64
|
+
restAppearance,
|
|
65
|
+
restPaletteConfig,
|
|
66
|
+
textFallbackBgConfig
|
|
71
67
|
}) => {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
const
|
|
78
|
-
const
|
|
79
|
-
const
|
|
80
|
-
const
|
|
81
|
-
const
|
|
82
|
-
const
|
|
83
|
-
const
|
|
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
|
|
86
|
-
|
|
87
|
-
|
|
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
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
isSelected
|
|
100
|
+
appearance,
|
|
101
|
+
hoverAppearance,
|
|
102
|
+
selectedAppearance
|
|
158
103
|
}) => {
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
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:
|
|
14
|
-
borderLight:
|
|
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
|
-
|
|
54
|
+
brand: {
|
|
55
55
|
tone: 'brand',
|
|
56
56
|
textTone: 'brand',
|
|
57
57
|
filledTextTone: 'brand-filled'
|
|
58
58
|
},
|
|
59
|
-
|
|
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
|
};
|