@elastic/eui 102.2.0 → 102.3.0
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/dist/eui_theme_borealis_dark.json +1 -1
- package/es/components/badge/color_utils.js +1 -3
- package/es/components/badge/notification_badge/badge_notification.styles.js +6 -1
- package/es/components/basic_table/basic_table.js +4 -1
- package/es/components/basic_table/in_memory_table.js +4 -1
- package/es/components/breadcrumbs/_breadcrumb_content.styles.js +6 -3
- package/es/components/button/button_display/_button_display.js +1 -1
- package/es/components/button/button_display/_button_display.styles.js +11 -2
- package/es/components/button/button_display/_button_display_content.styles.js +6 -3
- package/es/components/button/button_empty/button_empty.styles.js +9 -12
- package/es/components/button/button_group/button_group.styles.js +5 -3
- package/es/components/button/button_group/button_group_button.js +19 -9
- package/es/components/button/button_group/button_group_button.styles.js +43 -19
- package/es/components/button/button_icon/button_icon.js +4 -2
- package/es/components/collapsible_nav/collapsible_nav.js +1 -0
- package/es/components/datagrid/controls/data_grid_toolbar_control.js +11 -1
- package/es/components/datagrid/utils/focus.js +2 -2
- package/es/components/filter_group/filter_button.js +88 -23
- package/es/components/filter_group/filter_button.styles.js +51 -15
- package/es/components/filter_group/filter_group.styles.js +18 -6
- package/es/components/markdown_editor/markdown_editor_footer.js +9 -4
- package/es/components/search_bar/filters/field_value_selection_filter.js +1 -0
- package/es/components/search_bar/filters/field_value_toggle_filter.js +3 -1
- package/es/components/search_bar/filters/field_value_toggle_group_filter.js +3 -1
- package/es/components/search_bar/filters/is_filter.js +3 -1
- package/es/components/search_bar/search_bar.a11y.js +3 -3
- package/es/global_styling/mixins/_button.js +95 -28
- package/es/services/theme/index.js +2 -1
- package/es/services/theme/provider.js +28 -2
- package/es/services/theme/theme_variant.js +22 -0
- package/es/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
- package/es/themes/amsterdam/global_styling/variables/_components.js +229 -224
- package/es/themes/amsterdam/theme.js +2 -1
- package/es/themes/json/eui_theme_borealis_dark.json +1 -1
- package/eui.d.ts +194 -161
- package/lib/components/badge/color_utils.js +1 -3
- package/lib/components/badge/notification_badge/badge_notification.styles.js +6 -1
- package/lib/components/basic_table/basic_table.js +4 -1
- package/lib/components/basic_table/in_memory_table.js +4 -1
- package/lib/components/breadcrumbs/_breadcrumb_content.styles.js +5 -2
- package/lib/components/button/button_display/_button_display.js +1 -1
- package/lib/components/button/button_display/_button_display.styles.js +11 -2
- package/lib/components/button/button_display/_button_display_content.styles.js +6 -3
- package/lib/components/button/button_empty/button_empty.styles.js +10 -11
- package/lib/components/button/button_group/button_group.styles.js +5 -3
- package/lib/components/button/button_group/button_group_button.js +18 -8
- package/lib/components/button/button_group/button_group_button.styles.js +41 -17
- package/lib/components/button/button_icon/button_icon.js +3 -1
- package/lib/components/collapsible_nav/collapsible_nav.js +1 -0
- package/lib/components/datagrid/controls/data_grid_toolbar_control.js +11 -1
- package/lib/components/datagrid/utils/focus.js +1 -1
- package/lib/components/filter_group/filter_button.js +86 -21
- package/lib/components/filter_group/filter_button.styles.js +51 -15
- package/lib/components/filter_group/filter_group.styles.js +18 -6
- package/lib/components/markdown_editor/markdown_editor_footer.js +8 -3
- package/lib/components/search_bar/filters/field_value_selection_filter.js +1 -0
- package/lib/components/search_bar/filters/field_value_toggle_filter.js +3 -1
- package/lib/components/search_bar/filters/field_value_toggle_group_filter.js +3 -1
- package/lib/components/search_bar/filters/is_filter.js +3 -1
- package/lib/components/search_bar/search_bar.a11y.js +3 -3
- package/lib/global_styling/mixins/_button.js +94 -27
- package/lib/services/theme/index.js +42 -1
- package/lib/services/theme/provider.js +28 -2
- package/lib/services/theme/theme_variant.js +28 -0
- package/lib/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
- package/lib/themes/amsterdam/global_styling/variables/_components.js +229 -224
- package/lib/themes/amsterdam/theme.js +2 -1
- package/lib/themes/json/eui_theme_borealis_dark.json +1 -1
- package/optimize/es/components/badge/color_utils.js +1 -3
- package/optimize/es/components/badge/notification_badge/badge_notification.styles.js +6 -1
- package/optimize/es/components/breadcrumbs/_breadcrumb_content.styles.js +6 -3
- package/optimize/es/components/button/button_display/_button_display.js +1 -1
- package/optimize/es/components/button/button_display/_button_display.styles.js +11 -2
- package/optimize/es/components/button/button_display/_button_display_content.styles.js +6 -3
- package/optimize/es/components/button/button_empty/button_empty.styles.js +9 -12
- package/optimize/es/components/button/button_group/button_group.styles.js +5 -3
- package/optimize/es/components/button/button_group/button_group_button.js +12 -8
- package/optimize/es/components/button/button_group/button_group_button.styles.js +43 -19
- package/optimize/es/components/button/button_icon/button_icon.js +4 -2
- package/optimize/es/components/datagrid/controls/data_grid_toolbar_control.js +11 -1
- package/optimize/es/components/datagrid/utils/focus.js +2 -2
- package/optimize/es/components/filter_group/filter_button.js +78 -21
- package/optimize/es/components/filter_group/filter_button.styles.js +51 -15
- package/optimize/es/components/filter_group/filter_group.styles.js +18 -6
- package/optimize/es/components/markdown_editor/markdown_editor_footer.js +9 -4
- package/optimize/es/components/search_bar/filters/field_value_selection_filter.js +1 -0
- package/optimize/es/components/search_bar/filters/field_value_toggle_filter.js +3 -1
- package/optimize/es/components/search_bar/filters/field_value_toggle_group_filter.js +3 -1
- package/optimize/es/components/search_bar/filters/is_filter.js +3 -1
- package/optimize/es/components/search_bar/search_bar.a11y.js +3 -3
- package/optimize/es/global_styling/mixins/_button.js +95 -28
- package/optimize/es/services/theme/index.js +2 -1
- package/optimize/es/services/theme/provider.js +28 -2
- package/optimize/es/services/theme/theme_variant.js +22 -0
- package/optimize/es/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
- package/optimize/es/themes/amsterdam/global_styling/variables/_components.js +229 -224
- package/optimize/es/themes/amsterdam/theme.js +2 -1
- package/optimize/es/themes/json/eui_theme_borealis_dark.json +1 -1
- package/optimize/lib/components/badge/color_utils.js +1 -3
- package/optimize/lib/components/badge/notification_badge/badge_notification.styles.js +6 -1
- package/optimize/lib/components/breadcrumbs/_breadcrumb_content.styles.js +5 -2
- package/optimize/lib/components/button/button_display/_button_display.js +1 -1
- package/optimize/lib/components/button/button_display/_button_display.styles.js +11 -2
- package/optimize/lib/components/button/button_display/_button_display_content.styles.js +6 -3
- package/optimize/lib/components/button/button_empty/button_empty.styles.js +10 -11
- package/optimize/lib/components/button/button_group/button_group.styles.js +5 -3
- package/optimize/lib/components/button/button_group/button_group_button.js +11 -7
- package/optimize/lib/components/button/button_group/button_group_button.styles.js +41 -17
- package/optimize/lib/components/button/button_icon/button_icon.js +3 -1
- package/optimize/lib/components/datagrid/controls/data_grid_toolbar_control.js +11 -1
- package/optimize/lib/components/datagrid/utils/focus.js +1 -1
- package/optimize/lib/components/filter_group/filter_button.js +76 -19
- package/optimize/lib/components/filter_group/filter_button.styles.js +51 -15
- package/optimize/lib/components/filter_group/filter_group.styles.js +18 -6
- package/optimize/lib/components/markdown_editor/markdown_editor_footer.js +8 -3
- package/optimize/lib/components/search_bar/filters/field_value_selection_filter.js +1 -0
- package/optimize/lib/components/search_bar/filters/field_value_toggle_filter.js +3 -1
- package/optimize/lib/components/search_bar/filters/field_value_toggle_group_filter.js +3 -1
- package/optimize/lib/components/search_bar/filters/is_filter.js +3 -1
- package/optimize/lib/components/search_bar/search_bar.a11y.js +3 -3
- package/optimize/lib/global_styling/mixins/_button.js +94 -27
- package/optimize/lib/services/theme/index.js +42 -1
- package/optimize/lib/services/theme/provider.js +28 -2
- package/optimize/lib/services/theme/theme_variant.js +28 -0
- package/optimize/lib/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
- package/optimize/lib/themes/amsterdam/global_styling/variables/_components.js +229 -224
- package/optimize/lib/themes/amsterdam/theme.js +2 -1
- package/optimize/lib/themes/json/eui_theme_borealis_dark.json +1 -1
- package/package.json +4 -4
- package/test-env/components/badge/color_utils.js +1 -3
- package/test-env/components/badge/notification_badge/badge_notification.styles.js +6 -1
- package/test-env/components/basic_table/basic_table.js +4 -1
- package/test-env/components/basic_table/in_memory_table.js +4 -1
- package/test-env/components/breadcrumbs/_breadcrumb_content.styles.js +5 -2
- package/test-env/components/button/button_display/_button_display.js +1 -1
- package/test-env/components/button/button_display/_button_display.styles.js +11 -2
- package/test-env/components/button/button_display/_button_display_content.styles.js +6 -3
- package/test-env/components/button/button_empty/button_empty.styles.js +10 -11
- package/test-env/components/button/button_group/button_group.styles.js +5 -3
- package/test-env/components/button/button_group/button_group_button.js +18 -8
- package/test-env/components/button/button_group/button_group_button.styles.js +41 -17
- package/test-env/components/button/button_icon/button_icon.js +3 -1
- package/test-env/components/collapsible_nav/collapsible_nav.js +1 -0
- package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +11 -1
- package/test-env/components/datagrid/utils/focus.js +1 -1
- package/test-env/components/filter_group/filter_button.js +86 -21
- package/test-env/components/filter_group/filter_button.styles.js +51 -15
- package/test-env/components/filter_group/filter_group.styles.js +18 -6
- package/test-env/components/markdown_editor/markdown_editor_footer.js +8 -3
- package/test-env/components/search_bar/filters/field_value_selection_filter.js +1 -0
- package/test-env/components/search_bar/filters/field_value_toggle_filter.js +3 -1
- package/test-env/components/search_bar/filters/field_value_toggle_group_filter.js +3 -1
- package/test-env/components/search_bar/filters/is_filter.js +3 -1
- package/test-env/components/search_bar/search_bar.a11y.js +3 -3
- package/test-env/global_styling/mixins/_button.js +94 -27
- package/test-env/services/theme/index.js +42 -1
- package/test-env/services/theme/provider.js +28 -2
- package/test-env/services/theme/theme_variant.js +28 -0
- package/test-env/themes/amsterdam/global_styling/variables/_buttons.js +348 -147
- package/test-env/themes/amsterdam/global_styling/variables/_components.js +229 -224
- package/test-env/themes/amsterdam/theme.js +2 -1
- package/test-env/themes/json/eui_theme_borealis_dark.json +1 -1
|
@@ -4,13 +4,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.useEuiButtonFocusCSS = exports.useEuiButtonColorCSS = exports.euiButtonSizeMap = exports.euiButtonFillColor = exports.euiButtonEmptyColor = exports.euiButtonColor = exports.SEVERITY_COLORS = exports.EXTENDED_BUTTON_COLORS = exports.BUTTON_DISPLAYS = exports.BUTTON_COLORS = void 0;
|
|
7
|
+
exports.useEuiButtonFocusCSS = exports.useEuiButtonColorCSS = exports.highContrastHoverIndicatorStyles = exports.euiButtonSizeMap = exports.euiButtonFillColor = exports.euiButtonEmptyColor = exports.euiButtonColor = exports.SEVERITY_COLORS = exports.EXTENDED_BUTTON_COLORS = exports.BUTTON_DISPLAYS = exports.BUTTON_COLORS = void 0;
|
|
8
8
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
var _react = require("@emotion/react");
|
|
12
12
|
var _euiThemeCommon = require("@elastic/eui-theme-common");
|
|
13
13
|
var _services = require("../../services");
|
|
14
|
+
var _functions = require("../functions");
|
|
14
15
|
var _templateObject;
|
|
15
16
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
17
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /*
|
|
@@ -25,6 +26,25 @@ var SEVERITY_COLORS = exports.SEVERITY_COLORS = ['neutral', 'risk'];
|
|
|
25
26
|
var BUTTON_COLORS = exports.BUTTON_COLORS = ['text', 'accent', 'accentSecondary', 'primary', 'success', 'warning', 'danger'];
|
|
26
27
|
var EXTENDED_BUTTON_COLORS = exports.EXTENDED_BUTTON_COLORS = [].concat(BUTTON_COLORS, SEVERITY_COLORS);
|
|
27
28
|
var BUTTON_DISPLAYS = exports.BUTTON_DISPLAYS = ['base', 'fill', 'empty'];
|
|
29
|
+
var getButtonVariantTokenValues = function getButtonVariantTokenValues(_ref, color, variant) {
|
|
30
|
+
var euiTheme = _ref.euiTheme,
|
|
31
|
+
highContrastMode = _ref.highContrastMode;
|
|
32
|
+
var backgroundTokenBase = variant === 'base' ? 'background' : "background".concat(variant.charAt(0).toUpperCase() + variant.slice(1));
|
|
33
|
+
var textTokenBase = variant === 'filled' ? 'textColorFilled' : 'textColor';
|
|
34
|
+
var backgroundTokenName = (0, _euiThemeCommon.getTokenName)(backgroundTokenBase, color);
|
|
35
|
+
var textTokenName = (0, _euiThemeCommon.getTokenName)(textTokenBase, color);
|
|
36
|
+
var backgroundHoverTokenName = (0, _euiThemeCommon.getTokenName)(backgroundTokenBase, color, 'hover');
|
|
37
|
+
var backgroundActiveTokenName = (0, _euiThemeCommon.getTokenName)(backgroundTokenBase, color, 'active');
|
|
38
|
+
var highContrastForeground = ['warning', 'neutral', 'risk'].includes(color) ? euiTheme.colors.ink : color === 'disabled' ? euiTheme.components.buttons[textTokenName] : euiTheme.colors.textInverse;
|
|
39
|
+
var foreground = variant === 'filled' ? highContrastMode ? highContrastForeground : euiTheme.components.buttons[textTokenName] : euiTheme.components.buttons[textTokenName];
|
|
40
|
+
return {
|
|
41
|
+
color: foreground,
|
|
42
|
+
background: euiTheme.components.buttons[backgroundTokenName],
|
|
43
|
+
backgroundHover: euiTheme.components.buttons[backgroundHoverTokenName],
|
|
44
|
+
backgroundActive: euiTheme.components.buttons[backgroundActiveTokenName]
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
|
|
28
48
|
/**
|
|
29
49
|
* Creates the `base` version of button styles with proper text contrast.
|
|
30
50
|
* @param euiThemeContext
|
|
@@ -32,11 +52,9 @@ var BUTTON_DISPLAYS = exports.BUTTON_DISPLAYS = ['base', 'fill', 'empty'];
|
|
|
32
52
|
* @returns Style object `{ backgroundColor, color }`
|
|
33
53
|
*/
|
|
34
54
|
var euiButtonColor = exports.euiButtonColor = function euiButtonColor(euiThemeContext, color) {
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var foreground = euiTheme.components.buttons[textTokenName];
|
|
39
|
-
var background = euiTheme.components.buttons[backgroundTokenName];
|
|
55
|
+
var buttonColors = getButtonVariantTokenValues(euiThemeContext, color, 'base');
|
|
56
|
+
var foreground = buttonColors.color;
|
|
57
|
+
var background = buttonColors.background;
|
|
40
58
|
return _objectSpread({
|
|
41
59
|
color: background === 'transparent' || color === 'disabled' ? foreground : (0, _services.makeHighContrastColor)(foreground)(background),
|
|
42
60
|
backgroundColor: background
|
|
@@ -50,13 +68,9 @@ var euiButtonColor = exports.euiButtonColor = function euiButtonColor(euiThemeCo
|
|
|
50
68
|
* @returns Style object `{ backgroundColor, color }`
|
|
51
69
|
*/
|
|
52
70
|
var euiButtonFillColor = exports.euiButtonFillColor = function euiButtonFillColor(euiThemeContext, color) {
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
var
|
|
56
|
-
var textColorTokenName = (0, _euiThemeCommon.getTokenName)('textColorFilled', color);
|
|
57
|
-
var highContrastForeground = ['warning', 'neutral', 'risk'].includes(color) ? euiTheme.colors.ink : color === 'disabled' ? euiTheme.components.buttons[textColorTokenName] : euiTheme.colors.textInverse;
|
|
58
|
-
var foreground = highContrastMode ? highContrastForeground : euiTheme.components.buttons[textColorTokenName];
|
|
59
|
-
var background = euiTheme.components.buttons[backgroundTokenName];
|
|
71
|
+
var buttonColors = getButtonVariantTokenValues(euiThemeContext, color, 'filled');
|
|
72
|
+
var foreground = buttonColors.color;
|
|
73
|
+
var background = buttonColors.background;
|
|
60
74
|
return _objectSpread({
|
|
61
75
|
color: foreground,
|
|
62
76
|
backgroundColor: background
|
|
@@ -80,9 +94,9 @@ var euiButtonEmptyColor = exports.euiButtonEmptyColor = function euiButtonEmptyC
|
|
|
80
94
|
break;
|
|
81
95
|
default:
|
|
82
96
|
{
|
|
83
|
-
var
|
|
97
|
+
var buttonColors = getButtonVariantTokenValues(euiThemeContext, color, 'empty');
|
|
84
98
|
foreground = euiButtonColor(euiThemeContext, color).color;
|
|
85
|
-
background =
|
|
99
|
+
background = buttonColors.backgroundHover;
|
|
86
100
|
break;
|
|
87
101
|
}
|
|
88
102
|
}
|
|
@@ -105,6 +119,8 @@ var useEuiButtonColorCSS = exports.useEuiButtonColorCSS = function useEuiButtonC
|
|
|
105
119
|
return colorsDisplaysMap[display];
|
|
106
120
|
};
|
|
107
121
|
var euiButtonDisplaysColors = function euiButtonDisplaysColors(euiThemeContext) {
|
|
122
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
123
|
+
var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'buttonVariant');
|
|
108
124
|
var COLORS = [].concat((0, _toConsumableArray2.default)(EXTENDED_BUTTON_COLORS), ['disabled']);
|
|
109
125
|
var displaysColorsMap = {};
|
|
110
126
|
BUTTON_DISPLAYS.forEach(function (display) {
|
|
@@ -112,14 +128,28 @@ var euiButtonDisplaysColors = function euiButtonDisplaysColors(euiThemeContext)
|
|
|
112
128
|
COLORS.forEach(function (color) {
|
|
113
129
|
switch (display) {
|
|
114
130
|
case 'base':
|
|
115
|
-
|
|
116
|
-
|
|
131
|
+
{
|
|
132
|
+
var buttonColors = getButtonVariantTokenValues(euiThemeContext, color, 'base');
|
|
133
|
+
var borderStyle = color === 'text' && "\n border: ".concat(euiTheme.border.width.thin, " solid ").concat(euiTheme.colors.borderBasePlain, ";\n ");
|
|
134
|
+
var refreshVariantStyles = isRefreshVariant && "\n ".concat(_interactionStyles(euiThemeContext, buttonColors, 'overlay'), "\n ").concat(borderStyle, "\n ");
|
|
135
|
+
displaysColorsMap[display][color] = /*#__PURE__*/(0, _react.css)(euiButtonColor(euiThemeContext, color), " ", refreshVariantStyles, ";;label:displaysColorsMap-display-color;");
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
117
138
|
case 'fill':
|
|
118
|
-
|
|
119
|
-
|
|
139
|
+
{
|
|
140
|
+
var _buttonColors = getButtonVariantTokenValues(euiThemeContext, color, 'filled');
|
|
141
|
+
var _refreshVariantStyles = isRefreshVariant && _interactionStyles(euiThemeContext, _buttonColors);
|
|
142
|
+
displaysColorsMap[display][color] = /*#__PURE__*/(0, _react.css)(euiButtonFillColor(euiThemeContext, color), "outline-color:", euiThemeContext.colorMode === 'DARK' && color === 'text' ? 'currentColor' : euiThemeContext.euiTheme.colors.fullShade, ";", _refreshVariantStyles, ";;label:displaysColorsMap-display-color;");
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
120
145
|
case 'empty':
|
|
121
|
-
|
|
122
|
-
|
|
146
|
+
{
|
|
147
|
+
var _buttonColors2 = getButtonVariantTokenValues(euiThemeContext, color, 'empty');
|
|
148
|
+
var classicVariantStyles = !isRefreshVariant && "\n &:focus,\n &:active {\n background-color: ".concat(euiButtonEmptyColor(euiThemeContext, color).backgroundColor, ";\n }\n ");
|
|
149
|
+
var _refreshVariantStyles2 = isRefreshVariant && _interactionStyles(euiThemeContext, _buttonColors2, 'overlay');
|
|
150
|
+
displaysColorsMap[display][color] = /*#__PURE__*/(0, _react.css)("color:", euiButtonEmptyColor(euiThemeContext, color).color, ";", classicVariantStyles, " ", _refreshVariantStyles2, ";;label:displaysColorsMap-display-color;");
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
123
153
|
}
|
|
124
154
|
|
|
125
155
|
// Tweak auto-generated Emotion label/className output
|
|
@@ -138,9 +168,10 @@ var useEuiButtonFocusCSS = exports.useEuiButtonFocusCSS = function useEuiButtonF
|
|
|
138
168
|
return (0, _services.useEuiMemoizedStyles)(euiButtonFocusCSS);
|
|
139
169
|
};
|
|
140
170
|
var euiButtonFocusAnimation = (0, _react.keyframes)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n 50% {\n transform: translateY(1px);\n }\n"])));
|
|
141
|
-
var euiButtonFocusCSS = function euiButtonFocusCSS(
|
|
142
|
-
var euiTheme =
|
|
143
|
-
var
|
|
171
|
+
var euiButtonFocusCSS = function euiButtonFocusCSS(euiThemeContext) {
|
|
172
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
173
|
+
var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'buttonVariant');
|
|
174
|
+
var focusCSS = isRefreshVariant ? /*#__PURE__*/(0, _react.css)(";label:focusCSS;") : /*#__PURE__*/(0, _react.css)(_euiThemeCommon.euiCanAnimate, "{transition:transform ", euiTheme.animation.normal, " ease-in-out,background-color ", euiTheme.animation.normal, " ease-in-out;&:hover:not(:disabled){transform:translateY(-1px);}&:focus{animation:", euiButtonFocusAnimation, " ", euiTheme.animation.normal, " ", euiTheme.animation.bounce, ";}&:active:not(:disabled){transform:translateY(1px);}};label:focusCSS;");
|
|
144
175
|
// Remove the auto-generated label.
|
|
145
176
|
// We could typically avoid a label by using a plain string `` instead of css``,
|
|
146
177
|
// but we need css`` for keyframes`` to work for the focus animation
|
|
@@ -152,27 +183,63 @@ var euiButtonFocusCSS = function euiButtonFocusCSS(_ref) {
|
|
|
152
183
|
* Map of `size` props to various sizings/scales
|
|
153
184
|
* that should remain consistent across all buttons
|
|
154
185
|
*/
|
|
155
|
-
var euiButtonSizeMap = exports.euiButtonSizeMap = function euiButtonSizeMap(
|
|
156
|
-
var euiTheme =
|
|
186
|
+
var euiButtonSizeMap = exports.euiButtonSizeMap = function euiButtonSizeMap(euiThemeContext) {
|
|
187
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
188
|
+
var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'buttonVariant');
|
|
157
189
|
return {
|
|
158
190
|
xs: {
|
|
191
|
+
minWidth: euiTheme.base * (isRefreshVariant ? 6 : 7),
|
|
159
192
|
height: euiTheme.size.l,
|
|
160
193
|
radius: euiTheme.border.radius.small,
|
|
161
194
|
fontScale: 'xs'
|
|
162
195
|
},
|
|
163
196
|
s: {
|
|
197
|
+
minWidth: euiTheme.base * (isRefreshVariant ? 6 : 7),
|
|
164
198
|
height: euiTheme.size.xl,
|
|
165
199
|
radius: euiTheme.border.radius.small,
|
|
166
200
|
fontScale: 's'
|
|
167
201
|
},
|
|
168
202
|
m: {
|
|
203
|
+
minWidth: euiTheme.base * 7,
|
|
169
204
|
height: euiTheme.size.xxl,
|
|
170
|
-
radius: euiTheme.border.radius.medium,
|
|
205
|
+
radius: isRefreshVariant ? euiTheme.border.radius.small : euiTheme.border.radius.medium,
|
|
171
206
|
fontScale: 's'
|
|
172
207
|
}
|
|
173
208
|
};
|
|
174
209
|
};
|
|
175
210
|
|
|
211
|
+
/**
|
|
212
|
+
* internal styles util for applying button background color on hover
|
|
213
|
+
*/
|
|
214
|
+
var _interactionStyles = function _interactionStyles(euiThemeContext, buttonColors) {
|
|
215
|
+
var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'fill';
|
|
216
|
+
var isRefreshVariant = (0, _services.isEuiThemeRefreshVariant)(euiThemeContext, 'buttonVariant');
|
|
217
|
+
if (!isRefreshVariant) return "";
|
|
218
|
+
var baseStyles = function baseStyles() {
|
|
219
|
+
// button hover is applied as pseudo element with a transparent background-color
|
|
220
|
+
if (type === 'overlay') {
|
|
221
|
+
return "\n position: relative;\n overflow: hidden;\n\n &:hover:not(:disabled) {\n &::before {\n content: '';\n position: absolute;\n /* should stay under the content */\n z-index: 0;\n inset: 0;\n background-color: ".concat(buttonColors.backgroundHover, ";\n pointer-events: none;\n }\n }\n\n &:active:not(:disabled) {\n &::before {\n ").concat((0, _functions.logicalCSS)('width', '100%'), "\n ").concat((0, _functions.logicalCSS)('height', '100%'), "\n\n content: '';\n position: absolute;\n inset: 0;\n background-color: ").concat(buttonColors.backgroundActive, ";\n }\n }\n ");
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// button hover is applied as opaque color
|
|
225
|
+
return "\n &:hover:not(:disabled) {\n background-color: ".concat(buttonColors.backgroundHover, ";\n }\n\n &:active:not(:disabled) {\n background-color: ").concat(buttonColors.backgroundActive, ";\n }\n ");
|
|
226
|
+
};
|
|
227
|
+
return " \n ".concat((0, _functions.highContrastModeStyles)(euiThemeContext, {
|
|
228
|
+
none: baseStyles(),
|
|
229
|
+
forced: "\n position: relative;\n overflow: hidden;\n\n ".concat(highContrastHoverIndicatorStyles(euiThemeContext), "\n ")
|
|
230
|
+
}), "\n ");
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* creates a bottom border on hover/focus to ensure a visible change as forced mode removed background colors
|
|
235
|
+
*/
|
|
236
|
+
var highContrastHoverIndicatorStyles = exports.highContrastHoverIndicatorStyles = function highContrastHoverIndicatorStyles(_ref2) {
|
|
237
|
+
var euiTheme = _ref2.euiTheme;
|
|
238
|
+
return "\n &:hover:not(:disabled) {\n transition: none;\n\n /* using pseudo border to be able to control the color */\n &::after {\n content: '';\n position: absolute;\n inset: ".concat(euiTheme.border.width.thin, ";\n border: ").concat(euiTheme.border.width.thick, " solid var(--highContrastHoverIndicatorColor, ").concat(euiTheme.border.color, ");\n border-radius: ").concat((0, _euiThemeCommon.mathWithUnits)(euiTheme.border.radius.small, function (x) {
|
|
239
|
+
return x / 2;
|
|
240
|
+
}), ";\n background-color: transparent;\n pointer-events: none;\n }\n }\n");
|
|
241
|
+
};
|
|
242
|
+
|
|
176
243
|
/**
|
|
177
244
|
* Internal util for high contrast button borders
|
|
178
245
|
*/
|
|
@@ -3,6 +3,35 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
EuiSystemContext: true,
|
|
8
|
+
EuiThemeContext: true,
|
|
9
|
+
EuiNestedThemeContext: true,
|
|
10
|
+
EuiModificationsContext: true,
|
|
11
|
+
EuiColorModeContext: true,
|
|
12
|
+
EuiHighContrastModeContext: true,
|
|
13
|
+
useEuiTheme: true,
|
|
14
|
+
withEuiTheme: true,
|
|
15
|
+
RenderWithEuiTheme: true,
|
|
16
|
+
useEuiThemeCSSVariables: true,
|
|
17
|
+
useIsDarkMode: true,
|
|
18
|
+
EuiThemeProvider: true,
|
|
19
|
+
useEuiMemoizedStyles: true,
|
|
20
|
+
withEuiStylesMemoizer: true,
|
|
21
|
+
RenderWithEuiStylesMemoizer: true,
|
|
22
|
+
getEuiDevProviderWarning: true,
|
|
23
|
+
setEuiDevProviderWarning: true,
|
|
24
|
+
buildTheme: true,
|
|
25
|
+
computed: true,
|
|
26
|
+
isInverseColorMode: true,
|
|
27
|
+
getColorMode: true,
|
|
28
|
+
getComputed: true,
|
|
29
|
+
getOn: true,
|
|
30
|
+
mergeDeep: true,
|
|
31
|
+
setOn: true,
|
|
32
|
+
Computed: true,
|
|
33
|
+
COLOR_MODES_STANDARD: true
|
|
34
|
+
};
|
|
6
35
|
Object.defineProperty(exports, "COLOR_MODES_STANDARD", {
|
|
7
36
|
enumerable: true,
|
|
8
37
|
get: function get() {
|
|
@@ -171,4 +200,16 @@ var _provider = require("./provider");
|
|
|
171
200
|
var _style_memoization = require("./style_memoization");
|
|
172
201
|
var _warning = require("./warning");
|
|
173
202
|
var _utils = require("./utils");
|
|
174
|
-
var _types = require("./types");
|
|
203
|
+
var _types = require("./types");
|
|
204
|
+
var _theme_variant = require("./theme_variant");
|
|
205
|
+
Object.keys(_theme_variant).forEach(function (key) {
|
|
206
|
+
if (key === "default" || key === "__esModule") return;
|
|
207
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
208
|
+
if (key in exports && exports[key] === _theme_variant[key]) return;
|
|
209
|
+
Object.defineProperty(exports, key, {
|
|
210
|
+
enumerable: true,
|
|
211
|
+
get: function get() {
|
|
212
|
+
return _theme_variant[key];
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
});
|
|
@@ -140,9 +140,35 @@ var EuiThemeProvider = exports.EuiThemeProvider = function EuiThemeProvider(_ref
|
|
|
140
140
|
}, [highContrastMode]);
|
|
141
141
|
(0, _react2.useEffect)(function () {
|
|
142
142
|
if (!isParentTheme.current) {
|
|
143
|
-
|
|
143
|
+
/* Enables recomputation of component colors when flags are overridden on the provider
|
|
144
|
+
by adding the respective key to modifications to trigger a recomputation. */
|
|
145
|
+
// TODO: remove once visual refresh is completed and flags are obsolete
|
|
146
|
+
var flagsToRecompute = [{
|
|
147
|
+
flag: 'buttonVariant',
|
|
148
|
+
componentKey: 'buttons'
|
|
149
|
+
}];
|
|
150
|
+
var keys = {};
|
|
151
|
+
var forceRecomputeComponents = flagsToRecompute.some(function (item) {
|
|
152
|
+
var _modifications$flags, _modifications$compon;
|
|
153
|
+
if (Object.keys((_modifications$flags = modifications.flags) !== null && _modifications$flags !== void 0 ? _modifications$flags : {}).includes(item.flag) && !Object.keys((_modifications$compon = modifications.components) !== null && _modifications$compon !== void 0 ? _modifications$compon : {}).includes(item.componentKey)) {
|
|
154
|
+
keys[item.componentKey] = {
|
|
155
|
+
LIGHT: {},
|
|
156
|
+
DARK: {}
|
|
157
|
+
};
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
return false;
|
|
161
|
+
});
|
|
162
|
+
var componentModifications = forceRecomputeComponents ? {
|
|
163
|
+
components: keys
|
|
164
|
+
} : {};
|
|
165
|
+
|
|
166
|
+
// force recomputing of color & component tokens based on flag changes
|
|
167
|
+
var enhancedModifications = _objectSpread(_objectSpread({}, modificationsWithHighContrast), componentModifications);
|
|
168
|
+
var rebuiltTheme = (0, _utils.getComputed)(system, (0, _utils.buildTheme)(enhancedModifications, "_".concat(system.key)), colorMode, highContrastMode);
|
|
169
|
+
setTheme(rebuiltTheme);
|
|
144
170
|
}
|
|
145
|
-
}, [colorMode, highContrastMode, system, modificationsWithHighContrast]);
|
|
171
|
+
}, [colorMode, highContrastMode, system, modificationsWithHighContrast, modifications]);
|
|
146
172
|
var _useState9 = (0, _react2.useState)(),
|
|
147
173
|
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
148
174
|
themeCSSVariables = _useState10[0],
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useEuiThemeRefreshVariant = exports.isEuiThemeRefreshVariant = void 0;
|
|
7
|
+
var _hooks = require("./hooks");
|
|
8
|
+
/*
|
|
9
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
10
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
11
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
12
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
13
|
+
* Side Public License, v 1.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
var isEuiThemeRefreshVariant = exports.isEuiThemeRefreshVariant = function isEuiThemeRefreshVariant(_ref, flag) {
|
|
17
|
+
var euiTheme = _ref.euiTheme;
|
|
18
|
+
return euiTheme.flags[flag] === 'refresh';
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Util to retrieve visual variant for UI elements
|
|
23
|
+
* Note: Temporary only - will be removed once the visual refresh is completed.
|
|
24
|
+
*/
|
|
25
|
+
var useEuiThemeRefreshVariant = exports.useEuiThemeRefreshVariant = function useEuiThemeRefreshVariant(flag) {
|
|
26
|
+
var euiThemeContext = (0, _hooks.useEuiTheme)();
|
|
27
|
+
return isEuiThemeRefreshVariant(euiThemeContext, flag);
|
|
28
|
+
};
|