@elastic/eui 69.0.0 → 70.0.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.
Files changed (191) hide show
  1. package/dist/eui_theme_dark.css +0 -375
  2. package/dist/eui_theme_dark.json +0 -27
  3. package/dist/eui_theme_dark.json.d.ts +0 -27
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +0 -375
  6. package/dist/eui_theme_light.json +0 -27
  7. package/dist/eui_theme_light.json.d.ts +0 -27
  8. package/dist/eui_theme_light.min.css +1 -1
  9. package/es/components/basic_table/in_memory_table.js +8 -2
  10. package/es/components/code/code.js +7 -3
  11. package/es/components/code/code.styles.js +32 -0
  12. package/es/components/code/code_block.js +72 -315
  13. package/es/components/code/code_block.styles.js +153 -0
  14. package/es/components/code/code_block_controls.js +29 -0
  15. package/es/components/code/code_block_controls.styles.js +43 -0
  16. package/es/components/code/code_block_copy.js +65 -0
  17. package/es/components/code/code_block_full_screen.js +90 -0
  18. package/es/components/code/code_block_line.styles.js +49 -0
  19. package/es/components/code/code_block_overflow.js +78 -0
  20. package/es/components/code/code_block_virtualized.js +59 -0
  21. package/es/components/code/code_syntax.styles.js +43 -0
  22. package/es/components/code/utils.js +43 -37
  23. package/es/components/collapsible_nav/collapsible_nav.js +0 -5
  24. package/es/components/overlay_mask/overlay_mask.js +8 -14
  25. package/es/components/overlay_mask/overlay_mask.styles.js +4 -14
  26. package/es/components/overlay_mask/overlay_mask_body.styles.js +18 -0
  27. package/es/components/provider/provider.js +1 -5
  28. package/es/components/resizable_container/helpers.js +2 -2
  29. package/es/components/resizable_container/resizable_container.js +6 -9
  30. package/es/components/resizable_container/resizable_container.styles.js +28 -0
  31. package/es/components/resizable_container/resizable_panel.js +25 -48
  32. package/es/components/resizable_container/resizable_panel.styles.js +69 -0
  33. package/es/components/search_bar/query/ast.js +14 -3
  34. package/es/components/tool_tip/tool_tip.js +3 -2
  35. package/es/components/tool_tip/tool_tip.styles.js +17 -22
  36. package/es/components/tool_tip/tool_tip_arrow.js +17 -3
  37. package/es/components/tool_tip/tool_tip_popover.js +7 -7
  38. package/es/components/tour/tour.styles.js +4 -3
  39. package/es/components/tour/tour_step.js +7 -5
  40. package/es/global_styling/functions/logicals.js +5 -3
  41. package/es/global_styling/functions/math.js +37 -19
  42. package/es/global_styling/mixins/_padding.js +13 -9
  43. package/eui.d.ts +291 -37
  44. package/i18ntokens.json +22 -22
  45. package/lib/components/basic_table/in_memory_table.js +8 -2
  46. package/lib/components/code/code.js +9 -3
  47. package/lib/components/code/code.styles.js +35 -0
  48. package/lib/components/code/code_block.js +72 -320
  49. package/lib/components/code/code_block.styles.js +154 -0
  50. package/lib/components/code/code_block_controls.js +48 -0
  51. package/lib/components/code/code_block_controls.styles.js +39 -0
  52. package/lib/components/code/code_block_copy.js +78 -0
  53. package/lib/components/code/code_block_full_screen.js +108 -0
  54. package/lib/components/code/code_block_line.styles.js +45 -0
  55. package/lib/components/code/code_block_overflow.js +82 -0
  56. package/lib/components/code/code_block_virtualized.js +72 -0
  57. package/lib/components/code/code_syntax.styles.js +57 -0
  58. package/lib/components/code/utils.js +40 -39
  59. package/lib/components/collapsible_nav/collapsible_nav.js +0 -5
  60. package/lib/components/overlay_mask/overlay_mask.js +9 -14
  61. package/lib/components/overlay_mask/overlay_mask.styles.js +13 -17
  62. package/lib/components/overlay_mask/overlay_mask_body.styles.js +20 -0
  63. package/lib/components/provider/provider.js +7 -12
  64. package/lib/components/resizable_container/helpers.js +2 -2
  65. package/lib/components/resizable_container/resizable_container.js +7 -9
  66. package/lib/components/resizable_container/resizable_container.styles.js +31 -0
  67. package/lib/components/resizable_container/resizable_panel.js +28 -49
  68. package/lib/components/resizable_container/resizable_panel.styles.js +74 -0
  69. package/lib/components/search_bar/query/ast.js +14 -3
  70. package/lib/components/tool_tip/tool_tip.js +3 -2
  71. package/lib/components/tool_tip/tool_tip.styles.js +18 -26
  72. package/lib/components/tool_tip/tool_tip_arrow.js +19 -4
  73. package/lib/components/tool_tip/tool_tip_popover.js +6 -6
  74. package/lib/components/tour/tour.styles.js +3 -2
  75. package/lib/components/tour/tour_step.js +7 -5
  76. package/lib/global_styling/functions/logicals.js +5 -3
  77. package/lib/global_styling/functions/math.js +37 -19
  78. package/lib/global_styling/mixins/_padding.js +17 -10
  79. package/optimize/es/components/basic_table/in_memory_table.js +1 -1
  80. package/optimize/es/components/code/code.js +7 -3
  81. package/optimize/es/components/code/code.styles.js +32 -0
  82. package/optimize/es/components/code/code_block.js +70 -299
  83. package/optimize/es/components/code/code_block.styles.js +153 -0
  84. package/optimize/es/components/code/code_block_controls.js +29 -0
  85. package/optimize/es/components/code/code_block_controls.styles.js +43 -0
  86. package/optimize/es/components/code/code_block_copy.js +55 -0
  87. package/optimize/es/components/code/code_block_full_screen.js +80 -0
  88. package/optimize/es/components/code/code_block_line.styles.js +49 -0
  89. package/optimize/es/components/code/code_block_overflow.js +67 -0
  90. package/optimize/es/components/code/code_block_virtualized.js +59 -0
  91. package/optimize/es/components/code/code_syntax.styles.js +43 -0
  92. package/optimize/es/components/code/utils.js +43 -37
  93. package/optimize/es/components/overlay_mask/overlay_mask.js +8 -9
  94. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +4 -14
  95. package/optimize/es/components/overlay_mask/overlay_mask_body.styles.js +18 -0
  96. package/optimize/es/components/provider/provider.js +1 -5
  97. package/optimize/es/components/resizable_container/helpers.js +2 -2
  98. package/optimize/es/components/resizable_container/resizable_container.js +6 -9
  99. package/optimize/es/components/resizable_container/resizable_container.styles.js +28 -0
  100. package/optimize/es/components/resizable_container/resizable_panel.js +25 -48
  101. package/optimize/es/components/resizable_container/resizable_panel.styles.js +69 -0
  102. package/optimize/es/components/search_bar/query/ast.js +14 -3
  103. package/optimize/es/components/tool_tip/tool_tip.js +3 -2
  104. package/optimize/es/components/tool_tip/tool_tip.styles.js +17 -22
  105. package/optimize/es/components/tool_tip/tool_tip_arrow.js +9 -3
  106. package/optimize/es/components/tool_tip/tool_tip_popover.js +7 -7
  107. package/optimize/es/components/tour/tour.styles.js +4 -3
  108. package/optimize/es/components/tour/tour_step.js +7 -5
  109. package/optimize/es/global_styling/functions/logicals.js +5 -3
  110. package/optimize/es/global_styling/functions/math.js +35 -17
  111. package/optimize/es/global_styling/mixins/_padding.js +13 -9
  112. package/optimize/lib/components/basic_table/in_memory_table.js +1 -1
  113. package/optimize/lib/components/code/code.js +9 -3
  114. package/optimize/lib/components/code/code.styles.js +35 -0
  115. package/optimize/lib/components/code/code_block.js +71 -306
  116. package/optimize/lib/components/code/code_block.styles.js +156 -0
  117. package/optimize/lib/components/code/code_block_controls.js +48 -0
  118. package/optimize/lib/components/code/code_block_controls.styles.js +39 -0
  119. package/optimize/lib/components/code/code_block_copy.js +78 -0
  120. package/optimize/lib/components/code/code_block_full_screen.js +108 -0
  121. package/optimize/lib/components/code/code_block_line.styles.js +45 -0
  122. package/optimize/lib/components/code/code_block_overflow.js +82 -0
  123. package/optimize/lib/components/code/code_block_virtualized.js +81 -0
  124. package/optimize/lib/components/code/code_syntax.styles.js +57 -0
  125. package/optimize/lib/components/code/utils.js +40 -37
  126. package/optimize/lib/components/overlay_mask/overlay_mask.js +9 -9
  127. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +13 -17
  128. package/optimize/lib/components/overlay_mask/overlay_mask_body.styles.js +20 -0
  129. package/optimize/lib/components/provider/provider.js +7 -12
  130. package/optimize/lib/components/resizable_container/helpers.js +2 -2
  131. package/optimize/lib/components/resizable_container/resizable_container.js +7 -9
  132. package/optimize/lib/components/resizable_container/resizable_container.styles.js +31 -0
  133. package/optimize/lib/components/resizable_container/resizable_panel.js +28 -49
  134. package/optimize/lib/components/resizable_container/resizable_panel.styles.js +76 -0
  135. package/optimize/lib/components/search_bar/query/ast.js +14 -3
  136. package/optimize/lib/components/tool_tip/tool_tip.js +3 -2
  137. package/optimize/lib/components/tool_tip/tool_tip.styles.js +18 -26
  138. package/optimize/lib/components/tool_tip/tool_tip_arrow.js +10 -10
  139. package/optimize/lib/components/tool_tip/tool_tip_popover.js +6 -6
  140. package/optimize/lib/components/tour/tour.styles.js +3 -2
  141. package/optimize/lib/components/tour/tour_step.js +7 -5
  142. package/optimize/lib/global_styling/functions/logicals.js +4 -10
  143. package/optimize/lib/global_styling/functions/math.js +37 -19
  144. package/optimize/lib/global_styling/mixins/_padding.js +17 -10
  145. package/package.json +8 -7
  146. package/src/components/index.scss +0 -1
  147. package/src/components/resizable_container/_index.scss +0 -2
  148. package/src/global_styling/mixins/_header.scss +1 -1
  149. package/src/global_styling/variables/_index.scss +0 -1
  150. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  151. package/test-env/components/basic_table/in_memory_table.js +8 -2
  152. package/test-env/components/code/code.styles.js +35 -0
  153. package/test-env/components/code/code_block.styles.js +156 -0
  154. package/test-env/components/code/code_block_controls.js +48 -0
  155. package/test-env/components/code/code_block_controls.styles.js +39 -0
  156. package/test-env/components/code/code_block_copy.js +78 -0
  157. package/test-env/components/code/code_block_full_screen.js +108 -0
  158. package/test-env/components/code/code_block_line.styles.js +45 -0
  159. package/test-env/components/code/code_block_overflow.js +82 -0
  160. package/test-env/components/code/code_block_virtualized.js +81 -0
  161. package/test-env/components/code/code_syntax.styles.js +57 -0
  162. package/test-env/components/code/utils.js +40 -37
  163. package/test-env/components/collapsible_nav/collapsible_nav.js +0 -5
  164. package/test-env/components/overlay_mask/overlay_mask.js +9 -14
  165. package/test-env/components/overlay_mask/overlay_mask.styles.js +13 -17
  166. package/test-env/components/overlay_mask/overlay_mask_body.styles.js +20 -0
  167. package/test-env/components/provider/provider.js +7 -12
  168. package/test-env/components/resizable_container/helpers.js +2 -2
  169. package/test-env/components/resizable_container/resizable_container.js +7 -9
  170. package/test-env/components/resizable_container/resizable_container.styles.js +31 -0
  171. package/test-env/components/resizable_container/resizable_panel.js +28 -49
  172. package/test-env/components/resizable_container/resizable_panel.styles.js +76 -0
  173. package/test-env/components/search_bar/query/ast.js +14 -3
  174. package/test-env/components/tool_tip/tool_tip.js +3 -2
  175. package/test-env/components/tool_tip/tool_tip.styles.js +18 -26
  176. package/test-env/components/tool_tip/tool_tip_arrow.js +16 -11
  177. package/test-env/components/tool_tip/tool_tip_popover.js +6 -6
  178. package/test-env/components/tour/tour.styles.js +3 -2
  179. package/test-env/components/tour/tour_step.js +7 -5
  180. package/test-env/global_styling/functions/logicals.js +4 -10
  181. package/test-env/global_styling/functions/math.js +37 -19
  182. package/test-env/global_styling/mixins/_padding.js +17 -10
  183. package/src/components/code/_code.scss +0 -15
  184. package/src/components/code/_code_block.scss +0 -177
  185. package/src/components/code/_index.scss +0 -4
  186. package/src/components/code/_mixins.scss +0 -127
  187. package/src/components/code/_variables.scss +0 -5
  188. package/src/components/resizable_container/_resizable_container.scss +0 -8
  189. package/src/components/resizable_container/_resizable_panel.scss +0 -51
  190. package/src/global_styling/variables/_colors_code.scss +0 -23
  191. package/src/themes/amsterdam/overrides/_code.scss +0 -9
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiCodeBlockStyles = exports.euiCodeBlockPreStyles = exports.euiCodeBlockCodeStyles = void 0;
7
+
8
+ var _react = require("@emotion/react");
9
+
10
+ var _global_styling = require("../../global_styling");
11
+
12
+ var _code_syntax = require("./code_syntax.styles");
13
+
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
15
+
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
17
+
18
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+
20
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
21
+
22
+ var _ref4 = process.env.NODE_ENV === "production" ? {
23
+ name: "i92zwx-isFullScreen",
24
+ styles: "position:fixed;inset:0;label:isFullScreen;"
25
+ } : {
26
+ name: "i92zwx-isFullScreen",
27
+ styles: "position:fixed;inset:0;label:isFullScreen;",
28
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
29
+ };
30
+
31
+ var _ref5 = process.env.NODE_ENV === "production" ? {
32
+ name: "gfiv3z-transparentBackground",
33
+ styles: "background:transparent;label:transparentBackground;"
34
+ } : {
35
+ name: "gfiv3z-transparentBackground",
36
+ styles: "background:transparent;label:transparentBackground;",
37
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
38
+ };
39
+
40
+ var euiCodeBlockStyles = function euiCodeBlockStyles(euiThemeContext) {
41
+ var euiTheme = euiThemeContext.euiTheme;
42
+ var euiCodeSyntax = (0, _code_syntax.euiCodeSyntaxColors)(euiThemeContext);
43
+ return {
44
+ euiCodeBlock: /*#__PURE__*/(0, _react.css)("max-inline-size:100%;display:block;position:relative;background:", euiCodeSyntax.backgroundColor, ";", (0, _code_syntax.euiCodeSyntaxTokens)(euiThemeContext), ";;label:euiCodeBlock;"),
45
+ // Font size
46
+ s: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 'xs'), ";;label:s;"),
47
+ m: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 's'), ";;label:m;"),
48
+ l: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiFontSize)(euiThemeContext, 'm'), ";;label:l;"),
49
+ // Variants
50
+ transparentBackground: _ref5,
51
+ isFullScreen: _ref4,
52
+ // Account for control heights
53
+ hasControls: generatePaddingCss(euiThemeContext, function (paddingSize) {
54
+ return /*#__PURE__*/(0, _react.css)("min-block-size:", (0, _global_styling.mathWithUnits)([euiTheme.size.l, paddingSize], function (iconSize, paddingSize) {
55
+ return iconSize + paddingSize * 2;
56
+ }), ";;label:hasControls;");
57
+ }),
58
+ hasBothControls: generatePaddingCss(euiThemeContext, function (paddingSize) {
59
+ return /*#__PURE__*/(0, _react.css)("min-block-size:", (0, _global_styling.mathWithUnits)([euiTheme.size.l, euiTheme.size.xs, paddingSize], function (iconSize, gap, paddingSize) {
60
+ return iconSize * 2 + gap + paddingSize * 2;
61
+ }), ";;label:hasBothControls;");
62
+ })
63
+ };
64
+ };
65
+
66
+ exports.euiCodeBlockStyles = euiCodeBlockStyles;
67
+
68
+ var _ref2 = process.env.NODE_ENV === "production" ? {
69
+ name: "eav5br-preWrap",
70
+ styles: "white-space:pre-wrap;label:preWrap;"
71
+ } : {
72
+ name: "eav5br-preWrap",
73
+ styles: "white-space:pre-wrap;label:preWrap;",
74
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
75
+ };
76
+
77
+ var _ref3 = process.env.NODE_ENV === "production" ? {
78
+ name: "4dmmkq-pre",
79
+ styles: "white-space:pre;label:pre;"
80
+ } : {
81
+ name: "4dmmkq-pre",
82
+ styles: "white-space:pre;label:pre;",
83
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
84
+ };
85
+
86
+ var euiCodeBlockPreStyles = function euiCodeBlockPreStyles(euiThemeContext) {
87
+ var euiTheme = euiThemeContext.euiTheme;
88
+ return {
89
+ euiCodeBlock__pre: /*#__PURE__*/(0, _react.css)("block-size:100%;overflow:auto;display:block;", (0, _global_styling.euiScrollBarStyles)(euiThemeContext), ";;label:euiCodeBlock__pre;"),
90
+ padding: _objectSpread({}, generatePaddingCss(euiThemeContext, function (paddingSize) {
91
+ return /*#__PURE__*/(0, _react.css)("padding:", paddingSize, ";;label:padding;");
92
+ })),
93
+ whiteSpace: {
94
+ pre: {
95
+ pre: _ref3,
96
+ controlsOffset: generatePaddingCss(euiThemeContext, function (paddingSize) {
97
+ return /*#__PURE__*/(0, _react.css)("margin-inline-end:", (0, _global_styling.mathWithUnits)([paddingSize, euiTheme.size.l, euiTheme.size.xs], function (paddingSize, iconSize, gap) {
98
+ return paddingSize + gap + iconSize;
99
+ }), ";;label:controlsOffset;");
100
+ })
101
+ },
102
+ preWrap: {
103
+ preWrap: _ref2,
104
+ controlsOffset: generatePaddingCss(euiThemeContext, function (paddingSize) {
105
+ return /*#__PURE__*/(0, _react.css)("padding-inline-end:", (0, _global_styling.mathWithUnits)([paddingSize, euiTheme.size.l, euiTheme.size.xs], function (paddingSize, iconSize, gap) {
106
+ return paddingSize + gap + iconSize;
107
+ }), ";;label:controlsOffset;");
108
+ })
109
+ }
110
+ }
111
+ };
112
+ };
113
+
114
+ exports.euiCodeBlockPreStyles = euiCodeBlockPreStyles;
115
+
116
+ var _ref = process.env.NODE_ENV === "production" ? {
117
+ name: "9y8iu3-isVirtualized",
118
+ styles: "position:relative;label:isVirtualized;"
119
+ } : {
120
+ name: "9y8iu3-isVirtualized",
121
+ styles: "position:relative;label:isVirtualized;",
122
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
123
+ };
124
+
125
+ var euiCodeBlockCodeStyles = function euiCodeBlockCodeStyles(euiThemeContext) {
126
+ var euiTheme = euiThemeContext.euiTheme;
127
+ var euiCodeSyntax = (0, _code_syntax.euiCodeSyntaxColors)(euiThemeContext);
128
+ return {
129
+ euiCodeBlock__code: /*#__PURE__*/(0, _react.css)("font-family:", euiTheme.font.familyCode, ";font-size:inherit;color:", euiCodeSyntax.color, ";display:block;;label:euiCodeBlock__code;"),
130
+ isVirtualized: _ref
131
+ };
132
+ };
133
+ /**
134
+ * Helper for generating keys for each code block padding size
135
+ */
136
+
137
+
138
+ exports.euiCodeBlockCodeStyles = euiCodeBlockCodeStyles;
139
+
140
+ var generatePaddingCss = function generatePaddingCss(euiThemeContext, callback) {
141
+ var cssKeys = {
142
+ none: /*#__PURE__*/(0, _react.css)(";label:none;"),
143
+ s: /*#__PURE__*/(0, _react.css)(";label:s;"),
144
+ m: /*#__PURE__*/(0, _react.css)(";label:m;"),
145
+ l: /*#__PURE__*/(0, _react.css)(";label:l;"),
146
+ xl: /*#__PURE__*/(0, _react.css)(";label:xl;")
147
+ }; // xl padding used by fullscreen mode
148
+
149
+ ['none', 's', 'm', 'l', 'xl'].forEach(function (size) {
150
+ var paddingSize = (0, _global_styling.euiPaddingSize)(euiThemeContext, size) || 0;
151
+ cssKeys[size] = callback(paddingSize);
152
+ });
153
+ return cssKeys;
154
+ };
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EuiCodeBlockControls = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _services = require("../../services");
13
+
14
+ var _code_block_controls = require("./code_block_controls.styles");
15
+
16
+ var _react2 = require("@emotion/react");
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ /*
23
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
24
+ * or more contributor license agreements. Licensed under the Elastic License
25
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
26
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
27
+ * Side Public License, v 1.
28
+ */
29
+ var EuiCodeBlockControls = function EuiCodeBlockControls(_ref) {
30
+ var paddingSize = _ref.paddingSize,
31
+ controls = _ref.controls;
32
+ var euiTheme = (0, _services.useEuiTheme)();
33
+ var styles = (0, _code_block_controls.euiCodeBlockControlsStyles)(euiTheme);
34
+ var cssStyles = [styles.euiCodeBlock__controls, styles.offset[paddingSize]];
35
+ var hasControls = controls.some(function (control) {
36
+ return !!control;
37
+ });
38
+ return hasControls ? (0, _react2.jsx)("div", {
39
+ className: "euiCodeBlock__controls",
40
+ css: cssStyles
41
+ }, controls.map(function (control, i) {
42
+ return (0, _react2.jsx)(_react.Fragment, {
43
+ key: i
44
+ }, control);
45
+ })) : null;
46
+ };
47
+
48
+ exports.EuiCodeBlockControls = EuiCodeBlockControls;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiCodeBlockControlsStyles = void 0;
7
+
8
+ var _react = require("@emotion/react");
9
+
10
+ var _global_styling = require("../../global_styling");
11
+
12
+ var _code_syntax = require("./code_syntax.styles");
13
+
14
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
15
+
16
+ var _ref = process.env.NODE_ENV === "production" ? {
17
+ name: "to86kv-none",
18
+ styles: "inset-block-start:0;inset-inline-end:0;label:none;"
19
+ } : {
20
+ name: "to86kv-none",
21
+ styles: "inset-block-start:0;inset-inline-end:0;label:none;",
22
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
23
+ };
24
+
25
+ var euiCodeBlockControlsStyles = function euiCodeBlockControlsStyles(euiThemeContext) {
26
+ var euiTheme = euiThemeContext.euiTheme;
27
+ var euiCodeSyntax = (0, _code_syntax.euiCodeSyntaxColors)(euiThemeContext);
28
+ return {
29
+ euiCodeBlock__controls: /*#__PURE__*/(0, _react.css)("position:absolute;display:flex;flex-direction:column;gap:", euiTheme.size.xs, ";background:", euiCodeSyntax.backgroundColor, ";;label:euiCodeBlock__controls;"),
30
+ offset: {
31
+ none: _ref,
32
+ s: /*#__PURE__*/(0, _react.css)("inset-block-start:", (0, _global_styling.euiPaddingSize)(euiThemeContext, 's'), ";inset-inline-end:", (0, _global_styling.euiPaddingSize)(euiThemeContext, 's'), ";;label:s;"),
33
+ m: /*#__PURE__*/(0, _react.css)("inset-block-start:", (0, _global_styling.euiPaddingSize)(euiThemeContext, 'm'), ";inset-inline-end:", (0, _global_styling.euiPaddingSize)(euiThemeContext, 'm'), ";;label:m;"),
34
+ l: /*#__PURE__*/(0, _react.css)("inset-block-start:", (0, _global_styling.euiPaddingSize)(euiThemeContext, 'l'), ";inset-inline-end:", (0, _global_styling.euiPaddingSize)(euiThemeContext, 'l'), ";;label:l;")
35
+ }
36
+ };
37
+ };
38
+
39
+ exports.euiCodeBlockControlsStyles = euiCodeBlockControlsStyles;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useCopy = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _inner_text = require("../inner_text");
13
+
14
+ var _copy = require("../copy");
15
+
16
+ var _i18n = require("../i18n");
17
+
18
+ var _button = require("../button");
19
+
20
+ var _react2 = require("@emotion/react");
21
+
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
26
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
27
+
28
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
29
+
30
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
31
+
32
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
33
+
34
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
35
+
36
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
+
38
+ /**
39
+ * Hook that returns copy-related state/logic/utils
40
+ */
41
+ var useCopy = function useCopy(_ref) {
42
+ var isCopyable = _ref.isCopyable,
43
+ isVirtualized = _ref.isVirtualized,
44
+ children = _ref.children;
45
+
46
+ var _useInnerText = (0, _inner_text.useInnerText)(''),
47
+ _useInnerText2 = _slicedToArray(_useInnerText, 2),
48
+ innerTextRef = _useInnerText2[0],
49
+ _innerText = _useInnerText2[1];
50
+
51
+ var innerText = (0, _react.useMemo)(function () {
52
+ return (_innerText === null || _innerText === void 0 ? void 0 : _innerText.replace(/[\r\n?]{2}|\n\n/g, '\n')) || '';
53
+ }, [_innerText]);
54
+ var textToCopy = isVirtualized ? "".concat(children) : innerText; // Virtualized code blocks do not have inner text
55
+
56
+ var showCopyButton = isCopyable && textToCopy;
57
+ var copyAriaLabel = (0, _i18n.useEuiI18n)('euiCodeBlockCopy.copy', 'Copy');
58
+ var copyButton = (0, _react.useMemo)(function () {
59
+ return showCopyButton ? (0, _react2.jsx)("div", {
60
+ className: "euiCodeBlock__copyButton"
61
+ }, (0, _react2.jsx)(_copy.EuiCopy, {
62
+ textToCopy: textToCopy
63
+ }, function (copy) {
64
+ return (0, _react2.jsx)(_button.EuiButtonIcon, {
65
+ onClick: copy,
66
+ iconType: "copyClipboard",
67
+ color: "text",
68
+ "aria-label": copyAriaLabel
69
+ });
70
+ })) : null;
71
+ }, [showCopyButton, textToCopy, copyAriaLabel]);
72
+ return {
73
+ innerTextRef: innerTextRef,
74
+ copyButton: copyButton
75
+ };
76
+ };
77
+
78
+ exports.useCopy = useCopy;
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useFullScreen = exports.EuiCodeBlockFullScreenWrapper = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _services = require("../../services");
13
+
14
+ var _i18n = require("../i18n");
15
+
16
+ var _button = require("../button");
17
+
18
+ var _focus_trap = require("../focus_trap");
19
+
20
+ var _overlay_mask = require("../overlay_mask");
21
+
22
+ var _code_block = require("./code_block.styles");
23
+
24
+ var _react2 = require("@emotion/react");
25
+
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
30
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
31
+
32
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
33
+
34
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
35
+
36
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
37
+
38
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
39
+
40
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
+
42
+ /**
43
+ * Hook that returns fullscreen-related state/logic/utils
44
+ */
45
+ var useFullScreen = function useFullScreen(_ref) {
46
+ var overflowHeight = _ref.overflowHeight;
47
+ var showFullScreenButton = !!overflowHeight;
48
+
49
+ var _useState = (0, _react.useState)(false),
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ isFullScreen = _useState2[0],
52
+ setIsFullScreen = _useState2[1];
53
+
54
+ var toggleFullScreen = (0, _react.useCallback)(function () {
55
+ setIsFullScreen(function (isFullScreen) {
56
+ return !isFullScreen;
57
+ });
58
+ }, []);
59
+ var onKeyDown = (0, _react.useCallback)(function (event) {
60
+ if (event.key === _services.keys.ESCAPE) {
61
+ event.preventDefault();
62
+ event.stopPropagation();
63
+ setIsFullScreen(false);
64
+ }
65
+ }, []);
66
+
67
+ var _useEuiI18n = (0, _i18n.useEuiI18n)(['euiCodeBlockFullScreen.fullscreenCollapse', 'euiCodeBlockFullScreen.fullscreenExpand'], ['Collapse', 'Expand']),
68
+ _useEuiI18n2 = _slicedToArray(_useEuiI18n, 2),
69
+ fullscreenCollapse = _useEuiI18n2[0],
70
+ fullscreenExpand = _useEuiI18n2[1];
71
+
72
+ var fullScreenButton = (0, _react.useMemo)(function () {
73
+ return showFullScreenButton ? (0, _react2.jsx)(_button.EuiButtonIcon, {
74
+ className: "euiCodeBlock__fullScreenButton",
75
+ onClick: toggleFullScreen,
76
+ iconType: isFullScreen ? 'fullScreenExit' : 'fullScreen',
77
+ color: "text",
78
+ "aria-label": isFullScreen ? fullscreenCollapse : fullscreenExpand
79
+ }) : null;
80
+ }, [showFullScreenButton, toggleFullScreen, isFullScreen, fullscreenCollapse, fullscreenExpand]);
81
+ return {
82
+ fullScreenButton: fullScreenButton,
83
+ isFullScreen: isFullScreen,
84
+ onKeyDown: onKeyDown
85
+ };
86
+ };
87
+ /**
88
+ * Portalled full screen wrapper
89
+ */
90
+
91
+
92
+ exports.useFullScreen = useFullScreen;
93
+
94
+ var EuiCodeBlockFullScreenWrapper = function EuiCodeBlockFullScreenWrapper(_ref2) {
95
+ var children = _ref2.children;
96
+ var euiThemeContext = (0, _services.useEuiTheme)();
97
+ var styles = (0, _code_block.euiCodeBlockStyles)(euiThemeContext);
98
+ var cssStyles = [styles.euiCodeBlock, styles.l, // Force fullscreen to use large font
99
+ styles.isFullScreen];
100
+ return (0, _react2.jsx)(_overlay_mask.EuiOverlayMask, null, (0, _react2.jsx)(_focus_trap.EuiFocusTrap, {
101
+ clickOutsideDisables: true
102
+ }, (0, _react2.jsx)("div", {
103
+ className: "euiCodeBlockFullScreen",
104
+ css: cssStyles
105
+ }, children)));
106
+ };
107
+
108
+ exports.EuiCodeBlockFullScreenWrapper = EuiCodeBlockFullScreenWrapper;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiCodeBlockLineStyles = void 0;
7
+
8
+ var _css = require("@emotion/css");
9
+
10
+ var _global_styling = require("../../global_styling");
11
+
12
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
13
+
14
+ // Note: These styles must be in a separate file due to using `css` from `@emotion/css`
15
+ // (i.e., applying styles in vanilla JS / directly to DOM nodes instead of React)
16
+ var euiCodeBlockLineStyles = function euiCodeBlockLineStyles(euiThemeContext) {
17
+ var euiTheme = euiThemeContext.euiTheme;
18
+ return {
19
+ euiCodeBlock__line: /*#__PURE__*/(0, _css.css)(process.env.NODE_ENV === "production" ? {
20
+ name: "yn676d-euiCodeBlock__line",
21
+ styles: "display:block;label:euiCodeBlock__line;"
22
+ } : {
23
+ name: "yn676d-euiCodeBlock__line",
24
+ styles: "display:block;label:euiCodeBlock__line;",
25
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
26
+ }),
27
+ hasLineNumbers: /*#__PURE__*/(0, _css.css)(process.env.NODE_ENV === "production" ? {
28
+ name: "156gjef-hasLineNumbers",
29
+ styles: "display:flex;user-select:none;label:hasLineNumbers;"
30
+ } : {
31
+ name: "156gjef-hasLineNumbers",
32
+ styles: "display:flex;user-select:none;label:hasLineNumbers;",
33
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
34
+ }),
35
+ lineText: {
36
+ euiCodeBlock__lineText: /*#__PURE__*/(0, _css.css)("flex-grow:1;display:inline-block;padding-inline-start:", euiTheme.size.s, ";border-inline-start:", euiTheme.border.thin, ";user-select:text;;label:euiCodeBlock__lineText;"),
37
+ isHighlighted: /*#__PURE__*/(0, _css.css)("background:", (0, _global_styling.euiBackgroundColor)(euiThemeContext, 'primary'), ";border-inline-start:", euiTheme.border.width.thick, " solid ", euiTheme.colors.primary, ";;label:isHighlighted;")
38
+ },
39
+ lineNumber: {
40
+ euiCodeBlock__lineNumber: /*#__PURE__*/(0, _css.css)("flex-grow:0;flex-shrink:0;user-select:none;padding-inline-end:", euiTheme.size.s, ";box-sizing:content-box;&:before{content:attr(data-line-number);color:", euiTheme.colors.subduedText, ";text-align:end;display:block;};label:euiCodeBlock__lineNumber;")
41
+ }
42
+ };
43
+ };
44
+
45
+ exports.euiCodeBlockLineStyles = euiCodeBlockLineStyles;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useOverflow = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _mutation_observer = require("../observer/mutation_observer");
11
+
12
+ var _resize_observer = require("../observer/resize_observer");
13
+
14
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+
16
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
+
18
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
+
20
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
+
22
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
+
24
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
25
+
26
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
+
28
+ /**
29
+ * Overflow logic - returns overflow-related state/logic/utils
30
+ *
31
+ * Detects whether the code block overflows and returns a tabIndex of 0 if so,
32
+ * which allows keyboard users to use the up/down arrow keys to scroll through
33
+ * the container.
34
+ */
35
+ var useOverflow = function useOverflow(_ref) {
36
+ var overflowHeight = _ref.overflowHeight;
37
+
38
+ var _useState = (0, _react.useState)(null),
39
+ _useState2 = _slicedToArray(_useState, 2),
40
+ wrapperRef = _useState2[0],
41
+ setWrapperRef = _useState2[1];
42
+
43
+ var _useState3 = (0, _react.useState)(-1),
44
+ _useState4 = _slicedToArray(_useState3, 2),
45
+ tabIndex = _useState4[0],
46
+ setTabIndex = _useState4[1];
47
+
48
+ var _useResizeObserver = (0, _resize_observer.useResizeObserver)(wrapperRef),
49
+ width = _useResizeObserver.width,
50
+ height = _useResizeObserver.height;
51
+
52
+ var doesOverflow = function doesOverflow() {
53
+ if (!wrapperRef) return;
54
+ var clientWidth = wrapperRef.clientWidth,
55
+ clientHeight = wrapperRef.clientHeight,
56
+ scrollWidth = wrapperRef.scrollWidth,
57
+ scrollHeight = wrapperRef.scrollHeight;
58
+ var doesOverflow = scrollHeight > clientHeight || scrollWidth > clientWidth;
59
+ setTabIndex(doesOverflow ? 0 : -1);
60
+ };
61
+
62
+ (0, _mutation_observer.useMutationObserver)(wrapperRef, doesOverflow, {
63
+ subtree: true,
64
+ childList: true
65
+ });
66
+ (0, _react.useEffect)(doesOverflow, [width, height, wrapperRef]);
67
+ var overflowHeightStyles = (0, _react.useMemo)(function () {
68
+ if (overflowHeight) {
69
+ var property = typeof overflowHeight === 'string' ? 'blockSize' : 'maxBlockSize';
70
+ return _defineProperty({}, property, overflowHeight);
71
+ }
72
+
73
+ return {};
74
+ }, [overflowHeight]);
75
+ return {
76
+ setWrapperRef: setWrapperRef,
77
+ tabIndex: tabIndex,
78
+ overflowHeightStyles: overflowHeightStyles
79
+ };
80
+ };
81
+
82
+ exports.useOverflow = useOverflow;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EuiCodeBlockVirtualized = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _reactWindow = require("react-window");
13
+
14
+ var _auto_sizer = require("../auto_sizer");
15
+
16
+ var _utils = require("./utils");
17
+
18
+ var _react2 = require("@emotion/react");
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
+
26
+ var EuiCodeBlockVirtualized = function EuiCodeBlockVirtualized(_ref) {
27
+ var data = _ref.data,
28
+ rowHeight = _ref.rowHeight,
29
+ overflowHeight = _ref.overflowHeight,
30
+ preProps = _ref.preProps,
31
+ codeProps = _ref.codeProps;
32
+ var VirtualizedOuterElement = (0, _react.useMemo)(function () {
33
+ return /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
34
+ return (0, _react2.jsx)("pre", _extends({}, props, {
35
+ ref: ref
36
+ }, preProps));
37
+ });
38
+ }, [preProps]);
39
+ var VirtualizedInnerElement = (0, _react.useMemo)(function () {
40
+ return /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
41
+ return (0, _react2.jsx)("code", _extends({}, props, {
42
+ ref: ref
43
+ }, codeProps));
44
+ });
45
+ }, [codeProps]);
46
+ return (0, _react2.jsx)(_auto_sizer.EuiAutoSizer, {
47
+ disableHeight: typeof overflowHeight === 'number'
48
+ }, function (_ref2) {
49
+ var height = _ref2.height,
50
+ width = _ref2.width;
51
+ return (0, _react2.jsx)(_reactWindow.FixedSizeList, {
52
+ height: height !== null && height !== void 0 ? height : overflowHeight,
53
+ width: width,
54
+ itemData: data,
55
+ itemSize: rowHeight,
56
+ itemCount: data.length,
57
+ outerElementType: VirtualizedOuterElement,
58
+ innerElementType: VirtualizedInnerElement
59
+ }, ListRow);
60
+ });
61
+ };
62
+
63
+ exports.EuiCodeBlockVirtualized = EuiCodeBlockVirtualized;
64
+
65
+ var ListRow = function ListRow(_ref3) {
66
+ var data = _ref3.data,
67
+ index = _ref3.index,
68
+ style = _ref3.style;
69
+ var row = data[index];
70
+ row.properties.style = style;
71
+ return (0, _utils.nodeToHtml)(row, index, data, 0);
72
+ };