@elastic/eui 67.1.9 → 67.1.10

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 (47) hide show
  1. package/es/components/description_list/description_list.styles.js +2 -2
  2. package/es/components/description_list/description_list_description.js +6 -2
  3. package/es/components/description_list/description_list_description.styles.js +2 -2
  4. package/es/components/description_list/description_list_title.styles.js +2 -2
  5. package/es/components/flyout/flyout.styles.js +7 -7
  6. package/es/components/image/image_wrapper.styles.js +3 -3
  7. package/es/components/page/page.styles.js +2 -2
  8. package/es/components/toast/global_toast_list.styles.js +5 -5
  9. package/es/global_styling/mixins/_responsive.js +46 -1
  10. package/eui.d.ts +19 -1
  11. package/lib/components/description_list/description_list.styles.js +1 -1
  12. package/lib/components/description_list/description_list_description.js +5 -1
  13. package/lib/components/description_list/description_list_description.styles.js +1 -1
  14. package/lib/components/description_list/description_list_title.styles.js +1 -1
  15. package/lib/components/flyout/flyout.styles.js +6 -6
  16. package/lib/components/image/image_wrapper.styles.js +2 -2
  17. package/lib/components/page/page.styles.js +1 -1
  18. package/lib/components/toast/global_toast_list.styles.js +4 -4
  19. package/lib/global_styling/mixins/_responsive.js +60 -3
  20. package/optimize/es/components/description_list/description_list.styles.js +2 -2
  21. package/optimize/es/components/description_list/description_list_description.js +6 -2
  22. package/optimize/es/components/description_list/description_list_description.styles.js +2 -2
  23. package/optimize/es/components/description_list/description_list_title.styles.js +2 -2
  24. package/optimize/es/components/flyout/flyout.styles.js +7 -7
  25. package/optimize/es/components/image/image_wrapper.styles.js +3 -3
  26. package/optimize/es/components/page/page.styles.js +2 -2
  27. package/optimize/es/components/toast/global_toast_list.styles.js +5 -5
  28. package/optimize/es/global_styling/mixins/_responsive.js +46 -1
  29. package/optimize/lib/components/description_list/description_list.styles.js +1 -1
  30. package/optimize/lib/components/description_list/description_list_description.js +5 -1
  31. package/optimize/lib/components/description_list/description_list_description.styles.js +1 -1
  32. package/optimize/lib/components/description_list/description_list_title.styles.js +1 -1
  33. package/optimize/lib/components/flyout/flyout.styles.js +6 -6
  34. package/optimize/lib/components/image/image_wrapper.styles.js +2 -2
  35. package/optimize/lib/components/page/page.styles.js +1 -1
  36. package/optimize/lib/components/toast/global_toast_list.styles.js +4 -4
  37. package/optimize/lib/global_styling/mixins/_responsive.js +60 -3
  38. package/package.json +1 -1
  39. package/test-env/components/description_list/description_list.styles.js +1 -1
  40. package/test-env/components/description_list/description_list_description.js +5 -1
  41. package/test-env/components/description_list/description_list_description.styles.js +1 -1
  42. package/test-env/components/description_list/description_list_title.styles.js +1 -1
  43. package/test-env/components/flyout/flyout.styles.js +6 -6
  44. package/test-env/components/image/image_wrapper.styles.js +2 -2
  45. package/test-env/components/page/page.styles.js +1 -1
  46. package/test-env/components/toast/global_toast_list.styles.js +4 -4
  47. package/test-env/global_styling/mixins/_responsive.js +60 -3
@@ -8,7 +8,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
8
8
  * Side Public License, v 1.
9
9
  */
10
10
  import { css } from '@emotion/react';
11
- import { euiFontSize, euiBreakpoint, logicalTextAlignCSS, logicalCSS } from '../../global_styling';
11
+ import { euiFontSize, euiMaxBreakpoint, euiMinBreakpoint, logicalTextAlignCSS, logicalCSS } from '../../global_styling';
12
12
  import { euiTitle } from '../title/title.styles';
13
13
 
14
14
  var _ref = process.env.NODE_ENV === "production" ? {
@@ -28,7 +28,7 @@ export var euiDescriptionListDescriptionStyles = function euiDescriptionListDesc
28
28
  // Types
29
29
  row: /*#__PURE__*/css(";label:row;"),
30
30
  column: /*#__PURE__*/css(columnDisplay, ";;label:column;"),
31
- responsiveColumn: /*#__PURE__*/css(euiBreakpoint(euiThemeContext, ['xs', 's']), "{", logicalCSS('width', '100%'), " padding:0;}", euiBreakpoint(euiThemeContext, ['m', 'xl']), "{", columnDisplay, ";};label:responsiveColumn;"),
31
+ responsiveColumn: /*#__PURE__*/css(euiMaxBreakpoint(euiThemeContext, 'm'), "{", logicalCSS('width', '100%'), " padding:0;}", euiMinBreakpoint(euiThemeContext, 'm'), "{", columnDisplay, ";};label:responsiveColumn;"),
32
32
  inline: _ref,
33
33
  // This nested block handles just the font styling based on compressed and reverse
34
34
  fontStyles: {
@@ -6,7 +6,7 @@
6
6
  * Side Public License, v 1.
7
7
  */
8
8
  import { css } from '@emotion/react';
9
- import { euiFontSize, euiTextBreakWord, logicalTextAlignCSS, euiBreakpoint, logicalCSS } from '../../global_styling';
9
+ import { euiFontSize, euiTextBreakWord, logicalTextAlignCSS, euiMaxBreakpoint, euiMinBreakpoint, logicalCSS } from '../../global_styling';
10
10
  import { tint } from '../../services';
11
11
  import { euiTitle } from '../title/title.styles';
12
12
  export var euiDescriptionListTitleStyles = function euiDescriptionListTitleStyles(euiThemeContext) {
@@ -18,7 +18,7 @@ export var euiDescriptionListTitleStyles = function euiDescriptionListTitleStyle
18
18
  // Types
19
19
  row: /*#__PURE__*/css(";label:row;"),
20
20
  column: /*#__PURE__*/css(columnDisplay, ";;label:column;"),
21
- responsiveColumn: /*#__PURE__*/css(euiBreakpoint(euiThemeContext, ['xs', 's']), "{", logicalCSS('width', '100%'), " padding:0;}", euiBreakpoint(euiThemeContext, ['m', 'xl']), "{", columnDisplay, ";};label:responsiveColumn;"),
21
+ responsiveColumn: /*#__PURE__*/css(euiMaxBreakpoint(euiThemeContext, 'm'), "{", logicalCSS('width', '100%'), " padding:0;}", euiMinBreakpoint(euiThemeContext, 'm'), "{", columnDisplay, ";};label:responsiveColumn;"),
22
22
  inline: /*#__PURE__*/css("display:inline;border-radius:", euiTheme.border.radius.small, ";font-weight:", euiTheme.font.weight.medium, ";background-color:", colorMode === 'DARK' ? tint(euiTheme.colors.lightestShade, 0.5) : euiTheme.colors.lightestShade, ";", logicalCSS('margin-vertical', '0'), " ", logicalCSS('margin-horizontal', euiTheme.size.xs), "&:first-of-type{", logicalCSS('margin-left', '0'), ";};label:inline;"),
23
23
  // This nested block handles just the font styling based on compressed and reverse
24
24
  fontStyles: {
@@ -10,12 +10,12 @@ var _templateObject, _templateObject2;
10
10
  * Side Public License, v 1.
11
11
  */
12
12
  import { css, keyframes } from '@emotion/react';
13
- import { euiCanAnimate, euiBreakpoint, logicalCSS, mathWithUnits } from '../../global_styling';
13
+ import { euiCanAnimate, euiMaxBreakpoint, euiMinBreakpoint, logicalCSS, mathWithUnits } from '../../global_styling';
14
14
  import { euiShadowXLarge } from '../../themes/amsterdam/global_styling/mixins';
15
15
  import { transparentize } from '../../services/color';
16
16
  import { euiFormMaxWidth } from '../form/form.styles';
17
17
  var euiFlyoutSlideInRight = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% {\n opacity: 0;\n transform: translateX(100%);\n }\n 75% {\n opacity: 1;\n transform: translateX(0%);\n }\n"])));
18
- var euiFlyoutSlideInLeft = keyframes(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n 0% {\n opacity: 0;\n transform: translateX(-100%);\n }\n 75% {\n opacity: 1;\n transform: translateX(0%);\n}\n"])));
18
+ var euiFlyoutSlideInLeft = keyframes(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n 0% {\n opacity: 0;\n transform: translateX(-100%);\n }\n 75% {\n opacity: 1;\n transform: translateX(0%);\n }\n"])));
19
19
  export var euiFlyoutCloseButtonStyles = function euiFlyoutCloseButtonStyles(euiThemeContext) {
20
20
  var euiTheme = euiThemeContext.euiTheme;
21
21
  return {
@@ -25,15 +25,15 @@ export var euiFlyoutCloseButtonStyles = function euiFlyoutCloseButtonStyles(euiT
25
25
  outsideSide: {
26
26
  // `transforms` pull in close buttons a little
27
27
  // `!important` is necessary here to override the hover/focus transitions of buttons
28
- right: /*#__PURE__*/css(logicalCSS('left', 0), " ", euiBreakpoint(euiThemeContext, ['m', 'xl']), "{transform:translateX(calc(-100% - ", euiTheme.size.l, "))!important;}", euiBreakpoint(euiThemeContext, ['xs', 's']), "{transform:translateX(calc(-100% - ", euiTheme.size.xs, "))!important;};label:right;"),
29
- left: /*#__PURE__*/css(logicalCSS('right', 0), " ", euiBreakpoint(euiThemeContext, ['m', 'xl']), "{transform:translateX(calc(100% + ", euiTheme.size.l, "))!important;}", euiBreakpoint(euiThemeContext, ['xs', 's']), "{transform:translateX(calc(100% + ", euiTheme.size.xs, "))!important;};label:left;")
28
+ right: /*#__PURE__*/css(logicalCSS('left', 0), " ", euiMaxBreakpoint(euiThemeContext, 'm'), "{transform:translateX(calc(-100% - ", euiTheme.size.xs, "))!important;}", euiMinBreakpoint(euiThemeContext, 'm'), "{transform:translateX(calc(-100% - ", euiTheme.size.l, "))!important;};label:right;"),
29
+ left: /*#__PURE__*/css(logicalCSS('right', 0), " ", euiMaxBreakpoint(euiThemeContext, 'm'), "{transform:translateX(calc(100% + ", euiTheme.size.xs, "))!important;}", euiMinBreakpoint(euiThemeContext, 'm'), "{transform:translateX(calc(100% + ", euiTheme.size.l, "))!important;};label:left;")
30
30
  }
31
31
  };
32
32
  };
33
33
  export var euiFlyoutStyles = function euiFlyoutStyles(euiThemeContext) {
34
34
  var euiTheme = euiThemeContext.euiTheme;
35
35
  return {
36
- euiFlyout: /*#__PURE__*/css("position:fixed;", logicalCSS('top', 0), " ", logicalCSS('bottom', 0), " ", logicalCSS('height', '100%'), " z-index:", euiTheme.levels.flyout, ";background:", euiTheme.colors.emptyShade, ";display:flex;flex-direction:column;align-items:stretch;&:focus{outline:none;}", euiBreakpoint(euiThemeContext, ['xs', 's']), "{", logicalCSS('max-width', '90vw !important'), ";};label:euiFlyout;"),
36
+ euiFlyout: /*#__PURE__*/css("position:fixed;", logicalCSS('top', 0), " ", logicalCSS('bottom', 0), " ", logicalCSS('height', '100%'), " z-index:", euiTheme.levels.flyout, ";background:", euiTheme.colors.emptyShade, ";display:flex;flex-direction:column;align-items:stretch;&:focus{outline:none;}", euiMaxBreakpoint(euiThemeContext, 'm'), "{", logicalCSS('max-width', '90vw !important'), ";};label:euiFlyout;"),
37
37
  // Flyout sizes
38
38
  s: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 's'), ";;label:s;"),
39
39
  m: /*#__PURE__*/css(composeFlyoutSizing(euiThemeContext, 'm'), ";;label:m;"),
@@ -42,7 +42,7 @@ export var euiFlyoutStyles = function euiFlyoutStyles(euiThemeContext) {
42
42
  // Side
43
43
  right: /*#__PURE__*/css("clip-path:polygon(-50% 0, 100% 0, 100% 100%, -50% 100%);", logicalCSS('right', 0), " ", euiCanAnimate, "{animation:", euiFlyoutSlideInRight, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ";};label:right;"),
44
44
  // Left-side flyouts should only be used for navigation
45
- left: /*#__PURE__*/css(logicalCSS('left', 0), " clip-path:polygon(0 0, 150% 0, 150% 100%, 0 100%);", euiCanAnimate, "{animation:", euiFlyoutSlideInLeft, ";};label:left;"),
45
+ left: /*#__PURE__*/css(logicalCSS('left', 0), " clip-path:polygon(0 0, 150% 0, 150% 100%, 0 100%);", euiCanAnimate, "{animation:", euiFlyoutSlideInLeft, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ";};label:left;"),
46
46
  // Type
47
47
  overlay: /*#__PURE__*/css(euiShadowXLarge(euiThemeContext), ";;label:overlay;"),
48
48
  push: /*#__PURE__*/css("clip-path:none;animation-duration:0s!important;z-index:", Number(euiTheme.levels.flyout) - 1, ";;label:push;"),
@@ -85,7 +85,7 @@ var composeFlyoutSizing = function composeFlyoutSizing(euiThemeContext, size) {
85
85
  max: "".concat(euiTheme.breakpoint.l, "px")
86
86
  }
87
87
  };
88
- return "\n ".concat(logicalCSS('max-width', flyoutSizes[size].max), "\n\n ").concat(euiBreakpoint(euiThemeContext, ['m', 'xl']), " {\n ").concat(logicalCSS('min-width', flyoutSizes[size].min), "\n ").concat(logicalCSS('width', flyoutSizes[size].width), "\n }\n ").concat(euiBreakpoint(euiThemeContext, ['xs', 's']), " {\n ").concat(logicalCSS('min-width', 0), "\n ").concat(logicalCSS('width', flyoutSizes[size].min), "\n }\n ");
88
+ return "\n ".concat(logicalCSS('max-width', flyoutSizes[size].max), "\n\n ").concat(euiMaxBreakpoint(euiThemeContext, 'm'), " {\n ").concat(logicalCSS('min-width', 0), "\n ").concat(logicalCSS('width', flyoutSizes[size].min), "\n }\n ").concat(euiMinBreakpoint(euiThemeContext, 'm'), " {\n ").concat(logicalCSS('min-width', flyoutSizes[size].min), "\n ").concat(logicalCSS('width', flyoutSizes[size].width), "\n }\n ");
89
89
  };
90
90
 
91
91
  var composeFlyoutPadding = function composeFlyoutPadding(euiThemeContext, paddingSize) {
@@ -8,7 +8,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
8
8
  * Side Public License, v 1.
9
9
  */
10
10
  import { css } from '@emotion/react';
11
- import { euiBreakpoint, logicalCSS, logicalTextAlignCSS, logicalSide } from '../../global_styling';
11
+ import { euiMinBreakpoint, logicalCSS, logicalTextAlignCSS, logicalSide } from '../../global_styling';
12
12
 
13
13
  var _ref = process.env.NODE_ENV === "production" ? {
14
14
  name: "gacnmc-allowFullScreen",
@@ -33,8 +33,8 @@ export var euiImageWrapperStyles = function euiImageWrapperStyles(euiThemeContex
33
33
  // Floats
34
34
  // 1: Logical properties/values in `float` is currently not yet supported by all browsers w/o flags
35
35
  // @see https://caniuse.com/mdn-css_properties_float_flow_relative_values for when we can remove left/right fallbacks
36
- left: /*#__PURE__*/css(euiBreakpoint(euiThemeContext, ['m', 'xl']), "{float:left;float:", logicalSide.left, ";", logicalCSS('margin-left', '0'), ";", logicalCSS('margin-top', '0'), ";};label:left;"),
37
- right: /*#__PURE__*/css(euiBreakpoint(euiThemeContext, ['m', 'xl']), "{float:right;float:", logicalSide.right, ";", logicalCSS('margin-right', '0'), ";", logicalCSS('margin-top', '0'), ";};label:right;"),
36
+ left: /*#__PURE__*/css(euiMinBreakpoint(euiThemeContext, 'm'), "{float:left;float:", logicalSide.left, ";", logicalCSS('margin-left', '0'), ";", logicalCSS('margin-top', '0'), ";};label:left;"),
37
+ right: /*#__PURE__*/css(euiMinBreakpoint(euiThemeContext, 'm'), "{float:right;float:", logicalSide.right, ";", logicalCSS('margin-right', '0'), ";", logicalCSS('margin-top', '0'), ";};label:right;"),
38
38
  // Sizes
39
39
  fullWidth: /*#__PURE__*/css(logicalCSS('width', '100%'), ";;label:fullWidth;")
40
40
  };
@@ -8,7 +8,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
8
8
  * Side Public License, v 1.
9
9
  */
10
10
  import { css } from '@emotion/react';
11
- import { euiBreakpoint, logicalCSS } from '../../global_styling';
11
+ import { euiMinBreakpoint, logicalCSS } from '../../global_styling';
12
12
 
13
13
  var _ref = process.env.NODE_ENV === "production" ? {
14
14
  name: "ll8kmq-column",
@@ -36,7 +36,7 @@ export var euiPageStyles = function euiPageStyles(euiThemeContext) {
36
36
  grow: _ref2,
37
37
  // Direction
38
38
  column: _ref,
39
- row: /*#__PURE__*/css("flex-direction:column;", euiBreakpoint(euiThemeContext, ['m', 'xl']), "{flex-direction:row;};label:row;"),
39
+ row: /*#__PURE__*/css("flex-direction:column;", euiMinBreakpoint(euiThemeContext, 'm'), "{flex-direction:row;};label:row;"),
40
40
  // Max widths
41
41
  restrictWidth: /*#__PURE__*/css(logicalCSS('margin-horizontal', 'auto'), ";;label:restrictWidth;")
42
42
  };
@@ -10,20 +10,20 @@ var _templateObject;
10
10
  * Side Public License, v 1.
11
11
  */
12
12
  import { css, keyframes } from '@emotion/react';
13
- import { euiBreakpoint, euiScrollBarStyles, logicalCSS, logicalCSSWithFallback, logicalSizeCSS } from '../../global_styling';
13
+ import { euiMaxBreakpoint, euiMinBreakpoint, euiScrollBarStyles, logicalCSS, logicalCSSWithFallback, logicalSizeCSS } from '../../global_styling';
14
14
  export var euiGlobalToastListStyles = function euiGlobalToastListStyles(euiThemeContext) {
15
15
  var euiTheme = euiThemeContext.euiTheme;
16
- var euiToastWidth = euiTheme.base * 20;
16
+ var euiToastWidth = euiTheme.base * 25;
17
17
  return {
18
18
  /**
19
19
  * 1. Allow list to expand as items are added, but cap it at the screen height.
20
20
  * 2. Allow some padding for shadow
21
21
  */
22
22
  // Base
23
- euiGlobalToastList: /*#__PURE__*/css(euiScrollBarStyles(euiThemeContext), " display:flex;flex-direction:column;align-items:stretch;position:fixed;z-index:", euiTheme.levels.toast, ";", logicalCSS('bottom', 0), ";", logicalCSS('width', "".concat(euiToastWidth + euiTheme.base * 5, "px")), ";", logicalCSS('max-height', '100vh'), ";", logicalCSSWithFallback('overflow-y', 'auto'), ";scrollbar-width:none;&::-webkit-scrollbar{", logicalSizeCSS(0, 0), ";}&:not(:empty){", logicalCSS('padding-left', euiTheme.size.base), ";", logicalCSS('padding-right', euiTheme.size.base), ";", logicalCSS('padding-vertical', euiTheme.size.base), ";}", euiBreakpoint(euiThemeContext, ['xs', 's']), "{&:not(:empty){", logicalCSS('left', 0), ";", logicalCSS('width', '100%'), ";}};label:euiGlobalToastList;"),
23
+ euiGlobalToastList: /*#__PURE__*/css(euiScrollBarStyles(euiThemeContext), " display:flex;flex-direction:column;align-items:stretch;position:fixed;z-index:", euiTheme.levels.toast, ";", logicalCSS('bottom', 0), ";", logicalCSS('width', "".concat(euiToastWidth, "px")), ";", logicalCSS('max-height', '100vh'), ";", logicalCSSWithFallback('overflow-y', 'auto'), ";scrollbar-width:none;&::-webkit-scrollbar{", logicalSizeCSS(0, 0), ";}&:not(:empty){", logicalCSS('padding-left', euiTheme.size.base), ";", logicalCSS('padding-right', euiTheme.size.base), ";", logicalCSS('padding-vertical', euiTheme.size.base), ";}", euiMaxBreakpoint(euiThemeContext, 'm'), "{&:not(:empty){", logicalCSS('left', 0), ";", logicalCSS('width', '100%'), ";}};label:euiGlobalToastList;"),
24
24
  // Variants
25
- right: /*#__PURE__*/css("&:not(:empty){", logicalCSS('right', 0), ";", logicalCSS('padding-left', "".concat(euiTheme.base * 4, "px")), ";}", euiBreakpoint(euiThemeContext, ['xs', 's']), "{&:not(:empty){", logicalCSS('padding-left', euiTheme.size.base), ";}};label:right;"),
26
- left: /*#__PURE__*/css("&:not(:empty){", logicalCSS('left', 0), ";", logicalCSS('padding-right', "".concat(euiTheme.base * 4, "px")), ";}", euiBreakpoint(euiThemeContext, ['xs', 's']), "{&:not(:empty){", logicalCSS('padding-right', euiTheme.size.base), ";}};label:left;")
25
+ right: /*#__PURE__*/css("&:not(:empty){", logicalCSS('right', 0), ";", euiMinBreakpoint(euiThemeContext, 'm'), "{", logicalCSS('padding-left', "".concat(euiTheme.base * 4, "px")), ";}};label:right;"),
26
+ left: /*#__PURE__*/css("&:not(:empty){", logicalCSS('left', 0), ";", euiMinBreakpoint(euiThemeContext, 'm'), "{", logicalCSS('padding-right', "".concat(euiTheme.base * 4, "px")), ";}};label:left;")
27
27
  };
28
28
  };
29
29
  export var euiGlobalToastListItemStyles = function euiGlobalToastListItemStyles(_ref) {
@@ -9,7 +9,7 @@ import { sortMapBySmallToLargeValues } from '../../services/breakpoint/_sorting'
9
9
  import { useEuiTheme } from '../../services/theme/hooks';
10
10
 
11
11
  /**
12
- * Generates a CSS media query rule string based on the input breakpoint ranges.
12
+ * Generates a CSS media query rule string based on the input breakpoint *ranges*.
13
13
  * Examples with default theme breakpoints:
14
14
  *
15
15
  * euiBreakpoint(['s']) becomes `@media only screen and (min-width: 575px) and (max-width: 767px)`
@@ -47,4 +47,49 @@ export var euiBreakpoint = function euiBreakpoint(_ref, sizes) {
47
47
  export var useEuiBreakpoint = function useEuiBreakpoint(sizes) {
48
48
  var euiTheme = useEuiTheme();
49
49
  return euiBreakpoint(euiTheme, sizes);
50
+ };
51
+ /**
52
+ * Min/Max width breakpoint utilities that generate only a single min/max query/bound
53
+ *
54
+ * *Unlike the above euiBreakpoint utility*, these utilities treat breakpoint
55
+ * sizes as a one-dimensional point, rather than a two-dimensional *screen range*.
56
+ * Examples with default theme breakpoints:
57
+ *
58
+ * euiMaxBreakpoint('m') becomes `@media only screen and (max-width: 767px)`
59
+ * euiMinBreakpoint('m') becomes `@media only screen and (min-width: 768px)`
60
+ *
61
+ * This is safer and more intentional to use than euiBreakpoint(['xs', 's']) / euiBreakpoint(['m', 'xl'])
62
+ * in the event that consumers add larger or smaller custom breakpoints (e.g 'xxs' or `xxl`)
63
+ * and if the intention of the media query is actually "m and below/above" vs. "only screens m/l/xl".
64
+ */
65
+
66
+ export var euiMinBreakpoint = function euiMinBreakpoint(_ref2, size) {
67
+ var euiTheme = _ref2.euiTheme;
68
+ var minBreakpointSize = euiTheme.breakpoint[size];
69
+
70
+ if (minBreakpointSize) {
71
+ return "@media only screen and (min-width: ".concat(minBreakpointSize, "px)");
72
+ } else {
73
+ console.warn("Invalid min breakpoint size: ".concat(size));
74
+ return '@media only screen';
75
+ }
76
+ };
77
+ export var useEuiMinBreakpoint = function useEuiMinBreakpoint(size) {
78
+ var euiTheme = useEuiTheme();
79
+ return euiMinBreakpoint(euiTheme, size);
80
+ };
81
+ export var euiMaxBreakpoint = function euiMaxBreakpoint(_ref3, size) {
82
+ var euiTheme = _ref3.euiTheme;
83
+ var maxBreakpointSize = euiTheme.breakpoint[size];
84
+
85
+ if (maxBreakpointSize) {
86
+ return "@media only screen and (max-width: ".concat(maxBreakpointSize - 1, "px)");
87
+ } else {
88
+ console.warn("Invalid max breakpoint size: ".concat(size));
89
+ return '@media only screen';
90
+ }
91
+ };
92
+ export var useEuiMaxBreakpoint = function useEuiMaxBreakpoint(size) {
93
+ var euiTheme = useEuiTheme();
94
+ return euiMaxBreakpoint(euiTheme, size);
50
95
  };
@@ -26,7 +26,7 @@ var euiDescriptionListStyles = function euiDescriptionListStyles(euiThemeContext
26
26
  inline: /*#__PURE__*/(0, _react.css)(";label:inline;"),
27
27
  column: /*#__PURE__*/(0, _react.css)(columnDisplay, ";;label:column;"),
28
28
  // Responsive columns behave as a row on breakpoints xs-s
29
- responsiveColumn: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{", columnDisplay, ";};label:responsiveColumn;"),
29
+ responsiveColumn: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{", columnDisplay, ";};label:responsiveColumn;"),
30
30
  // Alignment
31
31
  center: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalTextAlignCSS)('center'), ";;label:center;"),
32
32
  left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalTextAlignCSS)('left'), ";;label:left;")
@@ -45,6 +45,7 @@ var EuiDescriptionListDescription = function EuiDescriptionListDescription(_ref)
45
45
  align = _useContext.align,
46
46
  gutterSize = _useContext.gutterSize;
47
47
 
48
+ var showResponsiveColumns = (0, _services.useIsWithinMinBreakpoint)('m');
48
49
  var theme = (0, _services.useEuiTheme)();
49
50
  var styles = (0, _description_list_description.euiDescriptionListDescriptionStyles)(theme);
50
51
  var conditionalStyles = compressed && textStyle === 'reverse' ? [styles.fontStyles.compressed] : [styles.fontStyles[textStyle]];
@@ -60,7 +61,10 @@ var EuiDescriptionListDescription = function EuiDescriptionListDescription(_ref)
60
61
  conditionalStyles.push(styles.left);
61
62
  }
62
63
 
63
- conditionalStyles.push(styles[gutterSize]);
64
+ if (type === 'column' || showResponsiveColumns) {
65
+ conditionalStyles.push(styles[gutterSize]);
66
+ }
67
+
64
68
  break;
65
69
  }
66
70
 
@@ -30,7 +30,7 @@ var euiDescriptionListDescriptionStyles = function euiDescriptionListDescription
30
30
  // Types
31
31
  row: /*#__PURE__*/(0, _react.css)(";label:row;"),
32
32
  column: /*#__PURE__*/(0, _react.css)(columnDisplay, ";;label:column;"),
33
- responsiveColumn: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{", (0, _global_styling.logicalCSS)('width', '100%'), " padding:0;}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{", columnDisplay, ";};label:responsiveColumn;"),
33
+ responsiveColumn: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiMaxBreakpoint)(euiThemeContext, 'm'), "{", (0, _global_styling.logicalCSS)('width', '100%'), " padding:0;}", (0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{", columnDisplay, ";};label:responsiveColumn;"),
34
34
  inline: _ref,
35
35
  // This nested block handles just the font styling based on compressed and reverse
36
36
  fontStyles: {
@@ -29,7 +29,7 @@ var euiDescriptionListTitleStyles = function euiDescriptionListTitleStyles(euiTh
29
29
  // Types
30
30
  row: /*#__PURE__*/(0, _react.css)(";label:row;"),
31
31
  column: /*#__PURE__*/(0, _react.css)(columnDisplay, ";;label:column;"),
32
- responsiveColumn: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{", (0, _global_styling.logicalCSS)('width', '100%'), " padding:0;}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{", columnDisplay, ";};label:responsiveColumn;"),
32
+ responsiveColumn: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiMaxBreakpoint)(euiThemeContext, 'm'), "{", (0, _global_styling.logicalCSS)('width', '100%'), " padding:0;}", (0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{", columnDisplay, ";};label:responsiveColumn;"),
33
33
  inline: /*#__PURE__*/(0, _react.css)("display:inline;border-radius:", euiTheme.border.radius.small, ";font-weight:", euiTheme.font.weight.medium, ";background-color:", colorMode === 'DARK' ? (0, _services.tint)(euiTheme.colors.lightestShade, 0.5) : euiTheme.colors.lightestShade, ";", (0, _global_styling.logicalCSS)('margin-vertical', '0'), " ", (0, _global_styling.logicalCSS)('margin-horizontal', euiTheme.size.xs), "&:first-of-type{", (0, _global_styling.logicalCSS)('margin-left', '0'), ";};label:inline;"),
34
34
  // This nested block handles just the font styling based on compressed and reverse
35
35
  fontStyles: {
@@ -22,7 +22,7 @@ var _form = require("../form/form.styles");
22
22
  var _templateObject, _templateObject2;
23
23
 
24
24
  var euiFlyoutSlideInRight = (0, _react.keyframes)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n 0% {\n opacity: 0;\n transform: translateX(100%);\n }\n 75% {\n opacity: 1;\n transform: translateX(0%);\n }\n"])));
25
- var euiFlyoutSlideInLeft = (0, _react.keyframes)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n 0% {\n opacity: 0;\n transform: translateX(-100%);\n }\n 75% {\n opacity: 1;\n transform: translateX(0%);\n}\n"])));
25
+ var euiFlyoutSlideInLeft = (0, _react.keyframes)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n 0% {\n opacity: 0;\n transform: translateX(-100%);\n }\n 75% {\n opacity: 1;\n transform: translateX(0%);\n }\n"])));
26
26
 
27
27
  var euiFlyoutCloseButtonStyles = function euiFlyoutCloseButtonStyles(euiThemeContext) {
28
28
  var euiTheme = euiThemeContext.euiTheme;
@@ -33,8 +33,8 @@ var euiFlyoutCloseButtonStyles = function euiFlyoutCloseButtonStyles(euiThemeCon
33
33
  outsideSide: {
34
34
  // `transforms` pull in close buttons a little
35
35
  // `!important` is necessary here to override the hover/focus transitions of buttons
36
- right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', 0), " ", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{transform:translateX(calc(-100% - ", euiTheme.size.l, "))!important;}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{transform:translateX(calc(-100% - ", euiTheme.size.xs, "))!important;};label:right;"),
37
- left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('right', 0), " ", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{transform:translateX(calc(100% + ", euiTheme.size.l, "))!important;}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{transform:translateX(calc(100% + ", euiTheme.size.xs, "))!important;};label:left;")
36
+ right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', 0), " ", (0, _global_styling.euiMaxBreakpoint)(euiThemeContext, 'm'), "{transform:translateX(calc(-100% - ", euiTheme.size.xs, "))!important;}", (0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{transform:translateX(calc(-100% - ", euiTheme.size.l, "))!important;};label:right;"),
37
+ left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('right', 0), " ", (0, _global_styling.euiMaxBreakpoint)(euiThemeContext, 'm'), "{transform:translateX(calc(100% + ", euiTheme.size.xs, "))!important;}", (0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{transform:translateX(calc(100% + ", euiTheme.size.l, "))!important;};label:left;")
38
38
  }
39
39
  };
40
40
  };
@@ -44,7 +44,7 @@ exports.euiFlyoutCloseButtonStyles = euiFlyoutCloseButtonStyles;
44
44
  var euiFlyoutStyles = function euiFlyoutStyles(euiThemeContext) {
45
45
  var euiTheme = euiThemeContext.euiTheme;
46
46
  return {
47
- euiFlyout: /*#__PURE__*/(0, _react.css)("position:fixed;", (0, _global_styling.logicalCSS)('top', 0), " ", (0, _global_styling.logicalCSS)('bottom', 0), " ", (0, _global_styling.logicalCSS)('height', '100%'), " z-index:", euiTheme.levels.flyout, ";background:", euiTheme.colors.emptyShade, ";display:flex;flex-direction:column;align-items:stretch;&:focus{outline:none;}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{", (0, _global_styling.logicalCSS)('max-width', '90vw !important'), ";};label:euiFlyout;"),
47
+ euiFlyout: /*#__PURE__*/(0, _react.css)("position:fixed;", (0, _global_styling.logicalCSS)('top', 0), " ", (0, _global_styling.logicalCSS)('bottom', 0), " ", (0, _global_styling.logicalCSS)('height', '100%'), " z-index:", euiTheme.levels.flyout, ";background:", euiTheme.colors.emptyShade, ";display:flex;flex-direction:column;align-items:stretch;&:focus{outline:none;}", (0, _global_styling.euiMaxBreakpoint)(euiThemeContext, 'm'), "{", (0, _global_styling.logicalCSS)('max-width', '90vw !important'), ";};label:euiFlyout;"),
48
48
  // Flyout sizes
49
49
  s: /*#__PURE__*/(0, _react.css)(composeFlyoutSizing(euiThemeContext, 's'), ";;label:s;"),
50
50
  m: /*#__PURE__*/(0, _react.css)(composeFlyoutSizing(euiThemeContext, 'm'), ";;label:m;"),
@@ -53,7 +53,7 @@ var euiFlyoutStyles = function euiFlyoutStyles(euiThemeContext) {
53
53
  // Side
54
54
  right: /*#__PURE__*/(0, _react.css)("clip-path:polygon(-50% 0, 100% 0, 100% 100%, -50% 100%);", (0, _global_styling.logicalCSS)('right', 0), " ", _global_styling.euiCanAnimate, "{animation:", euiFlyoutSlideInRight, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ";};label:right;"),
55
55
  // Left-side flyouts should only be used for navigation
56
- left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', 0), " clip-path:polygon(0 0, 150% 0, 150% 100%, 0 100%);", _global_styling.euiCanAnimate, "{animation:", euiFlyoutSlideInLeft, ";};label:left;"),
56
+ left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', 0), " clip-path:polygon(0 0, 150% 0, 150% 100%, 0 100%);", _global_styling.euiCanAnimate, "{animation:", euiFlyoutSlideInLeft, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ";};label:left;"),
57
57
  // Type
58
58
  overlay: /*#__PURE__*/(0, _react.css)((0, _mixins.euiShadowXLarge)(euiThemeContext), ";;label:overlay;"),
59
59
  push: /*#__PURE__*/(0, _react.css)("clip-path:none;animation-duration:0s!important;z-index:", Number(euiTheme.levels.flyout) - 1, ";;label:push;"),
@@ -98,7 +98,7 @@ var composeFlyoutSizing = function composeFlyoutSizing(euiThemeContext, size) {
98
98
  max: "".concat(euiTheme.breakpoint.l, "px")
99
99
  }
100
100
  };
101
- return "\n ".concat((0, _global_styling.logicalCSS)('max-width', flyoutSizes[size].max), "\n\n ").concat((0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), " {\n ").concat((0, _global_styling.logicalCSS)('min-width', flyoutSizes[size].min), "\n ").concat((0, _global_styling.logicalCSS)('width', flyoutSizes[size].width), "\n }\n ").concat((0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), " {\n ").concat((0, _global_styling.logicalCSS)('min-width', 0), "\n ").concat((0, _global_styling.logicalCSS)('width', flyoutSizes[size].min), "\n }\n ");
101
+ return "\n ".concat((0, _global_styling.logicalCSS)('max-width', flyoutSizes[size].max), "\n\n ").concat((0, _global_styling.euiMaxBreakpoint)(euiThemeContext, 'm'), " {\n ").concat((0, _global_styling.logicalCSS)('min-width', 0), "\n ").concat((0, _global_styling.logicalCSS)('width', flyoutSizes[size].min), "\n }\n ").concat((0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), " {\n ").concat((0, _global_styling.logicalCSS)('min-width', flyoutSizes[size].min), "\n ").concat((0, _global_styling.logicalCSS)('width', flyoutSizes[size].width), "\n }\n ");
102
102
  };
103
103
 
104
104
  var composeFlyoutPadding = function composeFlyoutPadding(euiThemeContext, paddingSize) {
@@ -34,8 +34,8 @@ var euiImageWrapperStyles = function euiImageWrapperStyles(euiThemeContext) {
34
34
  // Floats
35
35
  // 1: Logical properties/values in `float` is currently not yet supported by all browsers w/o flags
36
36
  // @see https://caniuse.com/mdn-css_properties_float_flow_relative_values for when we can remove left/right fallbacks
37
- left: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{float:left;float:", _global_styling.logicalSide.left, ";", (0, _global_styling.logicalCSS)('margin-left', '0'), ";", (0, _global_styling.logicalCSS)('margin-top', '0'), ";};label:left;"),
38
- right: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{float:right;float:", _global_styling.logicalSide.right, ";", (0, _global_styling.logicalCSS)('margin-right', '0'), ";", (0, _global_styling.logicalCSS)('margin-top', '0'), ";};label:right;"),
37
+ left: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{float:left;float:", _global_styling.logicalSide.left, ";", (0, _global_styling.logicalCSS)('margin-left', '0'), ";", (0, _global_styling.logicalCSS)('margin-top', '0'), ";};label:left;"),
38
+ right: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{float:right;float:", _global_styling.logicalSide.right, ";", (0, _global_styling.logicalCSS)('margin-right', '0'), ";", (0, _global_styling.logicalCSS)('margin-top', '0'), ";};label:right;"),
39
39
  // Sizes
40
40
  fullWidth: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('width', '100%'), ";;label:fullWidth;")
41
41
  };
@@ -37,7 +37,7 @@ var euiPageStyles = function euiPageStyles(euiThemeContext) {
37
37
  grow: _ref2,
38
38
  // Direction
39
39
  column: _ref,
40
- row: /*#__PURE__*/(0, _react.css)("flex-direction:column;", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{flex-direction:row;};label:row;"),
40
+ row: /*#__PURE__*/(0, _react.css)("flex-direction:column;", (0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{flex-direction:row;};label:row;"),
41
41
  // Max widths
42
42
  restrictWidth: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-horizontal', 'auto'), ";;label:restrictWidth;")
43
43
  };
@@ -17,17 +17,17 @@ var _templateObject;
17
17
 
18
18
  var euiGlobalToastListStyles = function euiGlobalToastListStyles(euiThemeContext) {
19
19
  var euiTheme = euiThemeContext.euiTheme;
20
- var euiToastWidth = euiTheme.base * 20;
20
+ var euiToastWidth = euiTheme.base * 25;
21
21
  return {
22
22
  /**
23
23
  * 1. Allow list to expand as items are added, but cap it at the screen height.
24
24
  * 2. Allow some padding for shadow
25
25
  */
26
26
  // Base
27
- euiGlobalToastList: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiScrollBarStyles)(euiThemeContext), " display:flex;flex-direction:column;align-items:stretch;position:fixed;z-index:", euiTheme.levels.toast, ";", (0, _global_styling.logicalCSS)('bottom', 0), ";", (0, _global_styling.logicalCSS)('width', "".concat(euiToastWidth + euiTheme.base * 5, "px")), ";", (0, _global_styling.logicalCSS)('max-height', '100vh'), ";", (0, _global_styling.logicalCSSWithFallback)('overflow-y', 'auto'), ";scrollbar-width:none;&::-webkit-scrollbar{", (0, _global_styling.logicalSizeCSS)(0, 0), ";}&:not(:empty){", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.base), ";", (0, _global_styling.logicalCSS)('padding-right', euiTheme.size.base), ";", (0, _global_styling.logicalCSS)('padding-vertical', euiTheme.size.base), ";}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{&:not(:empty){", (0, _global_styling.logicalCSS)('left', 0), ";", (0, _global_styling.logicalCSS)('width', '100%'), ";}};label:euiGlobalToastList;"),
27
+ euiGlobalToastList: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiScrollBarStyles)(euiThemeContext), " display:flex;flex-direction:column;align-items:stretch;position:fixed;z-index:", euiTheme.levels.toast, ";", (0, _global_styling.logicalCSS)('bottom', 0), ";", (0, _global_styling.logicalCSS)('width', "".concat(euiToastWidth, "px")), ";", (0, _global_styling.logicalCSS)('max-height', '100vh'), ";", (0, _global_styling.logicalCSSWithFallback)('overflow-y', 'auto'), ";scrollbar-width:none;&::-webkit-scrollbar{", (0, _global_styling.logicalSizeCSS)(0, 0), ";}&:not(:empty){", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.base), ";", (0, _global_styling.logicalCSS)('padding-right', euiTheme.size.base), ";", (0, _global_styling.logicalCSS)('padding-vertical', euiTheme.size.base), ";}", (0, _global_styling.euiMaxBreakpoint)(euiThemeContext, 'm'), "{&:not(:empty){", (0, _global_styling.logicalCSS)('left', 0), ";", (0, _global_styling.logicalCSS)('width', '100%'), ";}};label:euiGlobalToastList;"),
28
28
  // Variants
29
- right: /*#__PURE__*/(0, _react.css)("&:not(:empty){", (0, _global_styling.logicalCSS)('right', 0), ";", (0, _global_styling.logicalCSS)('padding-left', "".concat(euiTheme.base * 4, "px")), ";}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{&:not(:empty){", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.base), ";}};label:right;"),
30
- left: /*#__PURE__*/(0, _react.css)("&:not(:empty){", (0, _global_styling.logicalCSS)('left', 0), ";", (0, _global_styling.logicalCSS)('padding-right', "".concat(euiTheme.base * 4, "px")), ";}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{&:not(:empty){", (0, _global_styling.logicalCSS)('padding-right', euiTheme.size.base), ";}};label:left;")
29
+ right: /*#__PURE__*/(0, _react.css)("&:not(:empty){", (0, _global_styling.logicalCSS)('right', 0), ";", (0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{", (0, _global_styling.logicalCSS)('padding-left', "".concat(euiTheme.base * 4, "px")), ";}};label:right;"),
30
+ left: /*#__PURE__*/(0, _react.css)("&:not(:empty){", (0, _global_styling.logicalCSS)('left', 0), ";", (0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{", (0, _global_styling.logicalCSS)('padding-right', "".concat(euiTheme.base * 4, "px")), ";}};label:left;")
31
31
  };
32
32
  };
33
33
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useEuiBreakpoint = exports.euiBreakpoint = void 0;
6
+ exports.useEuiMinBreakpoint = exports.useEuiMaxBreakpoint = exports.useEuiBreakpoint = exports.euiMinBreakpoint = exports.euiMaxBreakpoint = exports.euiBreakpoint = void 0;
7
7
 
8
8
  var _sorting = require("../../services/breakpoint/_sorting");
9
9
 
@@ -18,7 +18,7 @@ var _hooks = require("../../services/theme/hooks");
18
18
  */
19
19
 
20
20
  /**
21
- * Generates a CSS media query rule string based on the input breakpoint ranges.
21
+ * Generates a CSS media query rule string based on the input breakpoint *ranges*.
22
22
  * Examples with default theme breakpoints:
23
23
  *
24
24
  * euiBreakpoint(['s']) becomes `@media only screen and (min-width: 575px) and (max-width: 767px)`
@@ -60,5 +60,62 @@ var useEuiBreakpoint = function useEuiBreakpoint(sizes) {
60
60
  var euiTheme = (0, _hooks.useEuiTheme)();
61
61
  return euiBreakpoint(euiTheme, sizes);
62
62
  };
63
+ /**
64
+ * Min/Max width breakpoint utilities that generate only a single min/max query/bound
65
+ *
66
+ * *Unlike the above euiBreakpoint utility*, these utilities treat breakpoint
67
+ * sizes as a one-dimensional point, rather than a two-dimensional *screen range*.
68
+ * Examples with default theme breakpoints:
69
+ *
70
+ * euiMaxBreakpoint('m') becomes `@media only screen and (max-width: 767px)`
71
+ * euiMinBreakpoint('m') becomes `@media only screen and (min-width: 768px)`
72
+ *
73
+ * This is safer and more intentional to use than euiBreakpoint(['xs', 's']) / euiBreakpoint(['m', 'xl'])
74
+ * in the event that consumers add larger or smaller custom breakpoints (e.g 'xxs' or `xxl`)
75
+ * and if the intention of the media query is actually "m and below/above" vs. "only screens m/l/xl".
76
+ */
77
+
78
+
79
+ exports.useEuiBreakpoint = useEuiBreakpoint;
80
+
81
+ var euiMinBreakpoint = function euiMinBreakpoint(_ref2, size) {
82
+ var euiTheme = _ref2.euiTheme;
83
+ var minBreakpointSize = euiTheme.breakpoint[size];
84
+
85
+ if (minBreakpointSize) {
86
+ return "@media only screen and (min-width: ".concat(minBreakpointSize, "px)");
87
+ } else {
88
+ console.warn("Invalid min breakpoint size: ".concat(size));
89
+ return '@media only screen';
90
+ }
91
+ };
92
+
93
+ exports.euiMinBreakpoint = euiMinBreakpoint;
94
+
95
+ var useEuiMinBreakpoint = function useEuiMinBreakpoint(size) {
96
+ var euiTheme = (0, _hooks.useEuiTheme)();
97
+ return euiMinBreakpoint(euiTheme, size);
98
+ };
99
+
100
+ exports.useEuiMinBreakpoint = useEuiMinBreakpoint;
101
+
102
+ var euiMaxBreakpoint = function euiMaxBreakpoint(_ref3, size) {
103
+ var euiTheme = _ref3.euiTheme;
104
+ var maxBreakpointSize = euiTheme.breakpoint[size];
105
+
106
+ if (maxBreakpointSize) {
107
+ return "@media only screen and (max-width: ".concat(maxBreakpointSize - 1, "px)");
108
+ } else {
109
+ console.warn("Invalid max breakpoint size: ".concat(size));
110
+ return '@media only screen';
111
+ }
112
+ };
113
+
114
+ exports.euiMaxBreakpoint = euiMaxBreakpoint;
115
+
116
+ var useEuiMaxBreakpoint = function useEuiMaxBreakpoint(size) {
117
+ var euiTheme = (0, _hooks.useEuiTheme)();
118
+ return euiMaxBreakpoint(euiTheme, size);
119
+ };
63
120
 
64
- exports.useEuiBreakpoint = useEuiBreakpoint;
121
+ exports.useEuiMaxBreakpoint = useEuiMaxBreakpoint;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elastic/eui",
3
3
  "description": "Elastic UI Component Library",
4
- "version": "67.1.9",
4
+ "version": "67.1.10",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "lib",
7
7
  "module": "es",
@@ -26,7 +26,7 @@ var euiDescriptionListStyles = function euiDescriptionListStyles(euiThemeContext
26
26
  inline: /*#__PURE__*/(0, _react.css)(";label:inline;"),
27
27
  column: /*#__PURE__*/(0, _react.css)(columnDisplay, ";;label:column;"),
28
28
  // Responsive columns behave as a row on breakpoints xs-s
29
- responsiveColumn: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{", columnDisplay, ";};label:responsiveColumn;"),
29
+ responsiveColumn: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{", columnDisplay, ";};label:responsiveColumn;"),
30
30
  // Alignment
31
31
  center: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalTextAlignCSS)('center'), ";;label:center;"),
32
32
  left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalTextAlignCSS)('left'), ";;label:left;")
@@ -47,6 +47,7 @@ var EuiDescriptionListDescription = function EuiDescriptionListDescription(_ref)
47
47
  align = _useContext.align,
48
48
  gutterSize = _useContext.gutterSize;
49
49
 
50
+ var showResponsiveColumns = (0, _services.useIsWithinMinBreakpoint)('m');
50
51
  var theme = (0, _services.useEuiTheme)();
51
52
  var styles = (0, _description_list_description.euiDescriptionListDescriptionStyles)(theme);
52
53
  var conditionalStyles = compressed && textStyle === 'reverse' ? [styles.fontStyles.compressed] : [styles.fontStyles[textStyle]];
@@ -62,7 +63,10 @@ var EuiDescriptionListDescription = function EuiDescriptionListDescription(_ref)
62
63
  conditionalStyles.push(styles.left);
63
64
  }
64
65
 
65
- conditionalStyles.push(styles[gutterSize]);
66
+ if (type === 'column' || showResponsiveColumns) {
67
+ conditionalStyles.push(styles[gutterSize]);
68
+ }
69
+
66
70
  break;
67
71
  }
68
72
 
@@ -30,7 +30,7 @@ var euiDescriptionListDescriptionStyles = function euiDescriptionListDescription
30
30
  // Types
31
31
  row: /*#__PURE__*/(0, _react.css)(";label:row;"),
32
32
  column: /*#__PURE__*/(0, _react.css)(columnDisplay, ";;label:column;"),
33
- responsiveColumn: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{", (0, _global_styling.logicalCSS)('width', '100%'), " padding:0;}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{", columnDisplay, ";};label:responsiveColumn;"),
33
+ responsiveColumn: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiMaxBreakpoint)(euiThemeContext, 'm'), "{", (0, _global_styling.logicalCSS)('width', '100%'), " padding:0;}", (0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{", columnDisplay, ";};label:responsiveColumn;"),
34
34
  inline: _ref,
35
35
  // This nested block handles just the font styling based on compressed and reverse
36
36
  fontStyles: {
@@ -29,7 +29,7 @@ var euiDescriptionListTitleStyles = function euiDescriptionListTitleStyles(euiTh
29
29
  // Types
30
30
  row: /*#__PURE__*/(0, _react.css)(";label:row;"),
31
31
  column: /*#__PURE__*/(0, _react.css)(columnDisplay, ";;label:column;"),
32
- responsiveColumn: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{", (0, _global_styling.logicalCSS)('width', '100%'), " padding:0;}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{", columnDisplay, ";};label:responsiveColumn;"),
32
+ responsiveColumn: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiMaxBreakpoint)(euiThemeContext, 'm'), "{", (0, _global_styling.logicalCSS)('width', '100%'), " padding:0;}", (0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{", columnDisplay, ";};label:responsiveColumn;"),
33
33
  inline: /*#__PURE__*/(0, _react.css)("display:inline;border-radius:", euiTheme.border.radius.small, ";font-weight:", euiTheme.font.weight.medium, ";background-color:", colorMode === 'DARK' ? (0, _services.tint)(euiTheme.colors.lightestShade, 0.5) : euiTheme.colors.lightestShade, ";", (0, _global_styling.logicalCSS)('margin-vertical', '0'), " ", (0, _global_styling.logicalCSS)('margin-horizontal', euiTheme.size.xs), "&:first-of-type{", (0, _global_styling.logicalCSS)('margin-left', '0'), ";};label:inline;"),
34
34
  // This nested block handles just the font styling based on compressed and reverse
35
35
  fontStyles: {
@@ -22,7 +22,7 @@ var _form = require("../form/form.styles");
22
22
  var _templateObject, _templateObject2;
23
23
 
24
24
  var euiFlyoutSlideInRight = (0, _react.keyframes)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n 0% {\n opacity: 0;\n transform: translateX(100%);\n }\n 75% {\n opacity: 1;\n transform: translateX(0%);\n }\n"])));
25
- var euiFlyoutSlideInLeft = (0, _react.keyframes)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n 0% {\n opacity: 0;\n transform: translateX(-100%);\n }\n 75% {\n opacity: 1;\n transform: translateX(0%);\n}\n"])));
25
+ var euiFlyoutSlideInLeft = (0, _react.keyframes)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n 0% {\n opacity: 0;\n transform: translateX(-100%);\n }\n 75% {\n opacity: 1;\n transform: translateX(0%);\n }\n"])));
26
26
 
27
27
  var euiFlyoutCloseButtonStyles = function euiFlyoutCloseButtonStyles(euiThemeContext) {
28
28
  var euiTheme = euiThemeContext.euiTheme;
@@ -33,8 +33,8 @@ var euiFlyoutCloseButtonStyles = function euiFlyoutCloseButtonStyles(euiThemeCon
33
33
  outsideSide: {
34
34
  // `transforms` pull in close buttons a little
35
35
  // `!important` is necessary here to override the hover/focus transitions of buttons
36
- right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', 0), " ", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{transform:translateX(calc(-100% - ", euiTheme.size.l, "))!important;}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{transform:translateX(calc(-100% - ", euiTheme.size.xs, "))!important;};label:right;"),
37
- left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('right', 0), " ", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), "{transform:translateX(calc(100% + ", euiTheme.size.l, "))!important;}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{transform:translateX(calc(100% + ", euiTheme.size.xs, "))!important;};label:left;")
36
+ right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', 0), " ", (0, _global_styling.euiMaxBreakpoint)(euiThemeContext, 'm'), "{transform:translateX(calc(-100% - ", euiTheme.size.xs, "))!important;}", (0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{transform:translateX(calc(-100% - ", euiTheme.size.l, "))!important;};label:right;"),
37
+ left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('right', 0), " ", (0, _global_styling.euiMaxBreakpoint)(euiThemeContext, 'm'), "{transform:translateX(calc(100% + ", euiTheme.size.xs, "))!important;}", (0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{transform:translateX(calc(100% + ", euiTheme.size.l, "))!important;};label:left;")
38
38
  }
39
39
  };
40
40
  };
@@ -44,7 +44,7 @@ exports.euiFlyoutCloseButtonStyles = euiFlyoutCloseButtonStyles;
44
44
  var euiFlyoutStyles = function euiFlyoutStyles(euiThemeContext) {
45
45
  var euiTheme = euiThemeContext.euiTheme;
46
46
  return {
47
- euiFlyout: /*#__PURE__*/(0, _react.css)("position:fixed;", (0, _global_styling.logicalCSS)('top', 0), " ", (0, _global_styling.logicalCSS)('bottom', 0), " ", (0, _global_styling.logicalCSS)('height', '100%'), " z-index:", euiTheme.levels.flyout, ";background:", euiTheme.colors.emptyShade, ";display:flex;flex-direction:column;align-items:stretch;&:focus{outline:none;}", (0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), "{", (0, _global_styling.logicalCSS)('max-width', '90vw !important'), ";};label:euiFlyout;"),
47
+ euiFlyout: /*#__PURE__*/(0, _react.css)("position:fixed;", (0, _global_styling.logicalCSS)('top', 0), " ", (0, _global_styling.logicalCSS)('bottom', 0), " ", (0, _global_styling.logicalCSS)('height', '100%'), " z-index:", euiTheme.levels.flyout, ";background:", euiTheme.colors.emptyShade, ";display:flex;flex-direction:column;align-items:stretch;&:focus{outline:none;}", (0, _global_styling.euiMaxBreakpoint)(euiThemeContext, 'm'), "{", (0, _global_styling.logicalCSS)('max-width', '90vw !important'), ";};label:euiFlyout;"),
48
48
  // Flyout sizes
49
49
  s: /*#__PURE__*/(0, _react.css)(composeFlyoutSizing(euiThemeContext, 's'), ";;label:s;"),
50
50
  m: /*#__PURE__*/(0, _react.css)(composeFlyoutSizing(euiThemeContext, 'm'), ";;label:m;"),
@@ -53,7 +53,7 @@ var euiFlyoutStyles = function euiFlyoutStyles(euiThemeContext) {
53
53
  // Side
54
54
  right: /*#__PURE__*/(0, _react.css)("clip-path:polygon(-50% 0, 100% 0, 100% 100%, -50% 100%);", (0, _global_styling.logicalCSS)('right', 0), " ", _global_styling.euiCanAnimate, "{animation:", euiFlyoutSlideInRight, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ";};label:right;"),
55
55
  // Left-side flyouts should only be used for navigation
56
- left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', 0), " clip-path:polygon(0 0, 150% 0, 150% 100%, 0 100%);", _global_styling.euiCanAnimate, "{animation:", euiFlyoutSlideInLeft, ";};label:left;"),
56
+ left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', 0), " clip-path:polygon(0 0, 150% 0, 150% 100%, 0 100%);", _global_styling.euiCanAnimate, "{animation:", euiFlyoutSlideInLeft, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ";};label:left;"),
57
57
  // Type
58
58
  overlay: /*#__PURE__*/(0, _react.css)((0, _mixins.euiShadowXLarge)(euiThemeContext), ";;label:overlay;"),
59
59
  push: /*#__PURE__*/(0, _react.css)("clip-path:none;animation-duration:0s!important;z-index:", Number(euiTheme.levels.flyout) - 1, ";;label:push;"),
@@ -98,7 +98,7 @@ var composeFlyoutSizing = function composeFlyoutSizing(euiThemeContext, size) {
98
98
  max: "".concat(euiTheme.breakpoint.l, "px")
99
99
  }
100
100
  };
101
- return "\n ".concat((0, _global_styling.logicalCSS)('max-width', flyoutSizes[size].max), "\n\n ").concat((0, _global_styling.euiBreakpoint)(euiThemeContext, ['m', 'xl']), " {\n ").concat((0, _global_styling.logicalCSS)('min-width', flyoutSizes[size].min), "\n ").concat((0, _global_styling.logicalCSS)('width', flyoutSizes[size].width), "\n }\n ").concat((0, _global_styling.euiBreakpoint)(euiThemeContext, ['xs', 's']), " {\n ").concat((0, _global_styling.logicalCSS)('min-width', 0), "\n ").concat((0, _global_styling.logicalCSS)('width', flyoutSizes[size].min), "\n }\n ");
101
+ return "\n ".concat((0, _global_styling.logicalCSS)('max-width', flyoutSizes[size].max), "\n\n ").concat((0, _global_styling.euiMaxBreakpoint)(euiThemeContext, 'm'), " {\n ").concat((0, _global_styling.logicalCSS)('min-width', 0), "\n ").concat((0, _global_styling.logicalCSS)('width', flyoutSizes[size].min), "\n }\n ").concat((0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), " {\n ").concat((0, _global_styling.logicalCSS)('min-width', flyoutSizes[size].min), "\n ").concat((0, _global_styling.logicalCSS)('width', flyoutSizes[size].width), "\n }\n ");
102
102
  };
103
103
 
104
104
  var composeFlyoutPadding = function composeFlyoutPadding(euiThemeContext, paddingSize) {