@cloudtower/eagle 4100.0.1 → 4100.0.3

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 (236) hide show
  1. package/dist/cjs/core/AccordionCard/index.js +1 -1
  2. package/dist/cjs/core/Alert/alert.style.js +2 -2
  3. package/dist/cjs/core/Avatar/index.js +1 -1
  4. package/dist/cjs/core/Banner/banner.style.js +4 -4
  5. package/dist/cjs/core/BasicCTError/BasicCTError.style.js +1 -1
  6. package/dist/cjs/core/BlankState/style.js +1 -1
  7. package/dist/cjs/core/Breadcrumb/index.js +1 -1
  8. package/dist/cjs/core/Button/index.js +1 -1
  9. package/dist/cjs/core/ButtonGroup/index.js +2 -2
  10. package/dist/cjs/core/Card/CardBody.js +1 -1
  11. package/dist/cjs/core/Card/CardTitle.js +1 -1
  12. package/dist/cjs/core/Card/CardWrapper.js +2 -2
  13. package/dist/cjs/core/Cascader/cascader.style.js +11 -11
  14. package/dist/cjs/core/Checkbox/checkbox.style.js +1 -1
  15. package/dist/cjs/core/DetailCard/index.js +1 -1
  16. package/dist/cjs/core/DonutChart/index.js +2 -2
  17. package/dist/cjs/core/DropdownMenu/index.js +1 -1
  18. package/dist/cjs/core/ExpandableList/ExpandIcon.js +1 -1
  19. package/dist/cjs/core/ExpandableList/ExpandableContainer.js +1 -1
  20. package/dist/cjs/core/ExpandableList/ExpandableItem.js +2 -2
  21. package/dist/cjs/core/ExpandableList/RoundOrder.js +1 -1
  22. package/dist/cjs/core/FailedLoad/index.js +1 -1
  23. package/dist/cjs/core/FormItem/index.js +1 -1
  24. package/dist/cjs/core/Icon/index.js +1 -1
  25. package/dist/cjs/core/ImmersiveDialog/styles.js +14 -14
  26. package/dist/cjs/core/Input/index.js +1 -1
  27. package/dist/cjs/core/InputGroup/index.js +1 -1
  28. package/dist/cjs/core/InputInteger/index.js +1 -1
  29. package/dist/cjs/core/InputNumber/index.js +1 -1
  30. package/dist/cjs/core/InputPassword/index.js +1 -1
  31. package/dist/cjs/core/InputTagItem/index.js +1 -1
  32. package/dist/cjs/core/LegacySelect/select.style.js +1 -1
  33. package/dist/cjs/core/Legend/index.js +5 -5
  34. package/dist/cjs/core/LineChart/LineChartActions.js +2 -2
  35. package/dist/cjs/core/LineChart/TooltipFormatter.js +1 -1
  36. package/dist/cjs/core/LineChart/styled.js +9 -9
  37. package/dist/cjs/core/Link/index.js +1 -1
  38. package/dist/cjs/core/Loading/style.js +4 -4
  39. package/dist/cjs/core/LocalUpload/LocalUpload.style.js +2 -2
  40. package/dist/cjs/core/LogView/LogView.js +354 -0
  41. package/dist/cjs/core/LogView/LogView.style.js +31 -0
  42. package/dist/cjs/core/LogView/LogView.utils.js +154 -0
  43. package/dist/cjs/core/MediumDialog/MediumDialog.js +1 -1
  44. package/dist/cjs/core/Metric/styled.js +8 -8
  45. package/dist/cjs/core/Nav/index.js +1 -1
  46. package/dist/cjs/core/Nav/style.js +2 -2
  47. package/dist/cjs/core/Overflow/index.js +2 -2
  48. package/dist/cjs/core/Pagination/index.js +2 -2
  49. package/dist/cjs/core/Progress/components.js +2 -2
  50. package/dist/cjs/core/Progress/index.js +2 -2
  51. package/dist/cjs/core/Progress/progress.style.js +4 -4
  52. package/dist/cjs/core/Progress/progress.widgets.js +2 -2
  53. package/dist/cjs/core/Radio/index.js +3 -3
  54. package/dist/cjs/core/SearchInput/SearchInput.style.js +5 -5
  55. package/dist/cjs/core/SegmentControl/index.js +4 -4
  56. package/dist/cjs/core/Select/select.style.js +4 -4
  57. package/dist/cjs/core/Select/select.widgets.js +3 -3
  58. package/dist/cjs/core/SimplePagination/index.js +2 -2
  59. package/dist/cjs/core/Skeleton/Content.js +1 -1
  60. package/dist/cjs/core/SmallDialog/SmallDialog.style.js +7 -7
  61. package/dist/cjs/core/StatusCapsule/index.js +2 -2
  62. package/dist/cjs/core/StepProgress/index.js +1 -1
  63. package/dist/cjs/core/Steps/style.js +5 -5
  64. package/dist/cjs/core/Styled/index.js +40 -40
  65. package/dist/cjs/core/Switch/index.js +2 -2
  66. package/dist/cjs/core/Tab/Tab.js +1 -1
  67. package/dist/cjs/core/Tab/Tab.style.js +4 -4
  68. package/dist/cjs/core/Table/TableSkeleton.js +1 -1
  69. package/dist/cjs/core/Table/TableWidget.js +1 -1
  70. package/dist/cjs/core/Table/index.js +3 -3
  71. package/dist/cjs/core/TableForm/Columns/FormItem.js +1 -1
  72. package/dist/cjs/core/TableForm/style.js +7 -7
  73. package/dist/cjs/core/Tag/SplitTag.js +1 -1
  74. package/dist/cjs/core/Tag/style.js +5 -5
  75. package/dist/cjs/core/Time/index.js +1 -1
  76. package/dist/cjs/core/TimeZoneSelect/index.js +7 -7
  77. package/dist/cjs/core/Timeline/Timeline.style.js +5 -5
  78. package/dist/cjs/core/Token/index.js +4 -4
  79. package/dist/cjs/core/Token/style.js +1 -1
  80. package/dist/cjs/core/Tooltip/EllipsisTooltipContent.js +1 -1
  81. package/dist/cjs/core/Tooltip/index.js +1 -1
  82. package/dist/cjs/core/Truncate/index.js +1 -1
  83. package/dist/cjs/core/Typo/index.js +109 -57
  84. package/dist/cjs/core/WizardDialog/styles.js +4 -4
  85. package/dist/cjs/coreX/BarChart/index.js +1 -1
  86. package/dist/cjs/coreX/BatchOperation/index.js +2 -2
  87. package/dist/cjs/coreX/ChartWithTooltip/index.js +6 -6
  88. package/dist/cjs/coreX/CheckPointList/checkpointlist.style.js +3 -3
  89. package/dist/cjs/coreX/CircleLoading/index.js +1 -1
  90. package/dist/cjs/coreX/CronCalendar/index.js +4 -4
  91. package/dist/cjs/coreX/CronPlan/index.js +4 -4
  92. package/dist/cjs/coreX/DateRangePicker/DateRangePicker.style.js +12 -12
  93. package/dist/cjs/coreX/DateRangePicker/RelativeTime.js +1 -1
  94. package/dist/cjs/coreX/Dialogs/DeleteDialog/DeleteDialog.js +2 -2
  95. package/dist/cjs/coreX/Dialogs/RejectDialog/RejectDialog.js +6 -6
  96. package/dist/cjs/coreX/GoBackButton/index.js +1 -1
  97. package/dist/cjs/coreX/I18nNameTag/index.js +1 -1
  98. package/dist/cjs/coreX/InfoRowList/InfoRow.js +1 -1
  99. package/dist/cjs/coreX/InfoRowList/InfoRowList.js +4 -4
  100. package/dist/cjs/coreX/KubeConfigModal/KubeConfigModal.style.js +8 -8
  101. package/dist/cjs/coreX/NamesTooltip/index.js +3 -3
  102. package/dist/cjs/coreX/OverflowTooltip/index.js +4 -4
  103. package/dist/cjs/coreX/Sider/index.js +3 -3
  104. package/dist/cjs/coreX/SummaryTable/index.js +5 -5
  105. package/dist/cjs/coreX/SwitchWithText/index.js +1 -1
  106. package/dist/cjs/coreX/TabMenu/index.js +2 -2
  107. package/dist/cjs/coreX/UnderlineTootip/index.js +1 -1
  108. package/dist/cjs/coreX/UnitWithChart/index.js +3 -3
  109. package/dist/cjs/index.js +3 -0
  110. package/dist/cjs/stats1.html +1 -1
  111. package/dist/components.css +3509 -3151
  112. package/dist/esm/core/AccordionCard/index.js +1 -1
  113. package/dist/esm/core/Alert/alert.style.js +2 -2
  114. package/dist/esm/core/Avatar/index.js +1 -1
  115. package/dist/esm/core/Banner/banner.style.js +4 -4
  116. package/dist/esm/core/BasicCTError/BasicCTError.style.js +1 -1
  117. package/dist/esm/core/BlankState/style.js +1 -1
  118. package/dist/esm/core/Breadcrumb/index.js +1 -1
  119. package/dist/esm/core/Button/index.js +1 -1
  120. package/dist/esm/core/ButtonGroup/index.js +2 -2
  121. package/dist/esm/core/Card/CardBody.js +1 -1
  122. package/dist/esm/core/Card/CardTitle.js +1 -1
  123. package/dist/esm/core/Card/CardWrapper.js +2 -2
  124. package/dist/esm/core/Cascader/cascader.style.js +11 -11
  125. package/dist/esm/core/Checkbox/checkbox.style.js +1 -1
  126. package/dist/esm/core/DetailCard/index.js +1 -1
  127. package/dist/esm/core/DonutChart/index.js +2 -2
  128. package/dist/esm/core/DropdownMenu/index.js +1 -1
  129. package/dist/esm/core/ExpandableList/ExpandIcon.js +1 -1
  130. package/dist/esm/core/ExpandableList/ExpandableContainer.js +1 -1
  131. package/dist/esm/core/ExpandableList/ExpandableItem.js +2 -2
  132. package/dist/esm/core/ExpandableList/RoundOrder.js +1 -1
  133. package/dist/esm/core/FailedLoad/index.js +1 -1
  134. package/dist/esm/core/FormItem/index.js +1 -1
  135. package/dist/esm/core/Icon/index.js +1 -1
  136. package/dist/esm/core/ImmersiveDialog/styles.js +14 -14
  137. package/dist/esm/core/Input/index.js +1 -1
  138. package/dist/esm/core/InputGroup/index.js +1 -1
  139. package/dist/esm/core/InputInteger/index.js +1 -1
  140. package/dist/esm/core/InputNumber/index.js +1 -1
  141. package/dist/esm/core/InputPassword/index.js +1 -1
  142. package/dist/esm/core/InputTagItem/index.js +1 -1
  143. package/dist/esm/core/LegacySelect/select.style.js +1 -1
  144. package/dist/esm/core/Legend/index.js +5 -5
  145. package/dist/esm/core/LineChart/LineChartActions.js +2 -2
  146. package/dist/esm/core/LineChart/TooltipFormatter.js +1 -1
  147. package/dist/esm/core/LineChart/styled.js +9 -9
  148. package/dist/esm/core/Link/index.js +1 -1
  149. package/dist/esm/core/Loading/style.js +4 -4
  150. package/dist/esm/core/LocalUpload/LocalUpload.style.js +2 -2
  151. package/dist/esm/core/LogView/LogView.js +348 -0
  152. package/dist/esm/core/LogView/LogView.style.js +25 -0
  153. package/dist/esm/core/LogView/LogView.utils.js +144 -0
  154. package/dist/esm/core/MediumDialog/MediumDialog.js +1 -1
  155. package/dist/esm/core/Metric/styled.js +8 -8
  156. package/dist/esm/core/Nav/index.js +1 -1
  157. package/dist/esm/core/Nav/style.js +2 -2
  158. package/dist/esm/core/Overflow/index.js +2 -2
  159. package/dist/esm/core/Pagination/index.js +2 -2
  160. package/dist/esm/core/Progress/components.js +2 -2
  161. package/dist/esm/core/Progress/index.js +2 -2
  162. package/dist/esm/core/Progress/progress.style.js +4 -4
  163. package/dist/esm/core/Progress/progress.widgets.js +2 -2
  164. package/dist/esm/core/Radio/index.js +3 -3
  165. package/dist/esm/core/SearchInput/SearchInput.style.js +5 -5
  166. package/dist/esm/core/SegmentControl/index.js +4 -4
  167. package/dist/esm/core/Select/select.style.js +4 -4
  168. package/dist/esm/core/Select/select.widgets.js +3 -3
  169. package/dist/esm/core/SimplePagination/index.js +2 -2
  170. package/dist/esm/core/Skeleton/Content.js +1 -1
  171. package/dist/esm/core/SmallDialog/SmallDialog.style.js +7 -7
  172. package/dist/esm/core/StatusCapsule/index.js +2 -2
  173. package/dist/esm/core/StepProgress/index.js +1 -1
  174. package/dist/esm/core/Steps/style.js +5 -5
  175. package/dist/esm/core/Styled/index.js +40 -40
  176. package/dist/esm/core/Switch/index.js +2 -2
  177. package/dist/esm/core/Tab/Tab.js +1 -1
  178. package/dist/esm/core/Tab/Tab.style.js +4 -4
  179. package/dist/esm/core/Table/TableSkeleton.js +1 -1
  180. package/dist/esm/core/Table/TableWidget.js +1 -1
  181. package/dist/esm/core/Table/index.js +3 -3
  182. package/dist/esm/core/TableForm/Columns/FormItem.js +1 -1
  183. package/dist/esm/core/TableForm/style.js +7 -7
  184. package/dist/esm/core/Tag/SplitTag.js +1 -1
  185. package/dist/esm/core/Tag/style.js +5 -5
  186. package/dist/esm/core/Time/index.js +1 -1
  187. package/dist/esm/core/TimeZoneSelect/index.js +7 -7
  188. package/dist/esm/core/Timeline/Timeline.style.js +5 -5
  189. package/dist/esm/core/Token/index.js +4 -4
  190. package/dist/esm/core/Token/style.js +1 -1
  191. package/dist/esm/core/Tooltip/EllipsisTooltipContent.js +1 -1
  192. package/dist/esm/core/Tooltip/index.js +1 -1
  193. package/dist/esm/core/Truncate/index.js +1 -1
  194. package/dist/esm/core/Typo/index.js +109 -58
  195. package/dist/esm/core/WizardDialog/styles.js +4 -4
  196. package/dist/esm/coreX/BarChart/index.js +1 -1
  197. package/dist/esm/coreX/BatchOperation/index.js +2 -2
  198. package/dist/esm/coreX/ChartWithTooltip/index.js +6 -6
  199. package/dist/esm/coreX/CheckPointList/checkpointlist.style.js +3 -3
  200. package/dist/esm/coreX/CircleLoading/index.js +1 -1
  201. package/dist/esm/coreX/CronCalendar/index.js +4 -4
  202. package/dist/esm/coreX/CronPlan/index.js +4 -4
  203. package/dist/esm/coreX/DateRangePicker/DateRangePicker.style.js +12 -12
  204. package/dist/esm/coreX/DateRangePicker/RelativeTime.js +1 -1
  205. package/dist/esm/coreX/Dialogs/DeleteDialog/DeleteDialog.js +2 -2
  206. package/dist/esm/coreX/Dialogs/RejectDialog/RejectDialog.js +6 -6
  207. package/dist/esm/coreX/GoBackButton/index.js +1 -1
  208. package/dist/esm/coreX/I18nNameTag/index.js +1 -1
  209. package/dist/esm/coreX/InfoRowList/InfoRow.js +1 -1
  210. package/dist/esm/coreX/InfoRowList/InfoRowList.js +4 -4
  211. package/dist/esm/coreX/KubeConfigModal/KubeConfigModal.style.js +8 -8
  212. package/dist/esm/coreX/NamesTooltip/index.js +3 -3
  213. package/dist/esm/coreX/OverflowTooltip/index.js +4 -4
  214. package/dist/esm/coreX/Sider/index.js +3 -3
  215. package/dist/esm/coreX/SummaryTable/index.js +5 -5
  216. package/dist/esm/coreX/SwitchWithText/index.js +1 -1
  217. package/dist/esm/coreX/TabMenu/index.js +2 -2
  218. package/dist/esm/coreX/UnderlineTootip/index.js +1 -1
  219. package/dist/esm/coreX/UnitWithChart/index.js +3 -3
  220. package/dist/esm/index.js +2 -1
  221. package/dist/esm/stats1.html +1 -1
  222. package/dist/linaria.merged.scss +2617 -2505
  223. package/dist/src/core/LogView/LogView.d.ts +3 -0
  224. package/dist/src/core/LogView/LogView.style.d.ts +6 -0
  225. package/dist/src/core/LogView/LogView.types.d.ts +103 -0
  226. package/dist/src/core/LogView/LogView.utils.d.ts +23 -0
  227. package/dist/src/core/LogView/index.d.ts +2 -0
  228. package/dist/src/core/Typo/index.d.ts +51 -1
  229. package/dist/src/core/index.d.ts +1 -0
  230. package/dist/stories/docs/core/LogView.stories.d.ts +156 -0
  231. package/dist/style.css +3513 -3156
  232. package/dist/token.css +229 -455
  233. package/dist/variables.scss +1 -1
  234. package/docs/core/LogView/guide.md +187 -0
  235. package/docs/llms.txt +3 -1
  236. package/package.json +14 -5
@@ -0,0 +1,354 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var core = require('@linaria/core');
5
+ var xterm = require('@xterm/xterm');
6
+ var addonSearch = require('@xterm/addon-search');
7
+ var addonFit = require('@xterm/addon-fit');
8
+ var iconsReact = require('@cloudtower/icons-react');
9
+ var useParrotTranslation = require('../../hooks/useParrotTranslation.js');
10
+ var LogView_style = require('./LogView.style.js');
11
+ var LogView_utils = require('./LogView.utils.js');
12
+ var color = require('../../styles/token/color.js');
13
+ var index = require('../../coreX/Show/index.js');
14
+ var SearchInput = require('../SearchInput/SearchInput.js');
15
+
16
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
17
+
18
+ var React__default = /*#__PURE__*/_interopDefault(React);
19
+
20
+ var __defProp = Object.defineProperty;
21
+ var __defProps = Object.defineProperties;
22
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
23
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
24
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
25
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
26
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
27
+ var __spreadValues = (a, b) => {
28
+ for (var prop in b || (b = {}))
29
+ if (__hasOwnProp.call(b, prop))
30
+ __defNormalProp(a, prop, b[prop]);
31
+ if (__getOwnPropSymbols)
32
+ for (var prop of __getOwnPropSymbols(b)) {
33
+ if (__propIsEnum.call(b, prop))
34
+ __defNormalProp(a, prop, b[prop]);
35
+ }
36
+ return a;
37
+ };
38
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
39
+ const useLogViewEventSource = ({
40
+ enabled,
41
+ terminal,
42
+ options,
43
+ setHasData,
44
+ setEventSourceError
45
+ }) => {
46
+ const reconnectFnRef = React.useRef(null);
47
+ const optionsRef = React.useRef(options);
48
+ optionsRef.current = options;
49
+ const {
50
+ url,
51
+ closeEventName,
52
+ errorEventName,
53
+ messageEventName,
54
+ openEventName,
55
+ reconnect,
56
+ reconnectWait
57
+ } = options;
58
+ React.useEffect(() => {
59
+ var _a, _b;
60
+ let closeEventSource;
61
+ if (!enabled) {
62
+ setEventSourceError(null);
63
+ reconnectFnRef.current = null;
64
+ return;
65
+ }
66
+ if (!terminal)
67
+ return;
68
+ const setupEventSource = () => {
69
+ var _a2;
70
+ closeEventSource == null ? void 0 : closeEventSource();
71
+ setEventSourceError(null);
72
+ closeEventSource = LogView_utils.eventsource(
73
+ ((_a2 = optionsRef.current) == null ? void 0 : _a2.url) || "",
74
+ __spreadProps(__spreadValues({}, optionsRef.current), {
75
+ onOpen: (...props) => {
76
+ var _a3, _b2;
77
+ (_b2 = (_a3 = optionsRef.current) == null ? void 0 : _a3.onOpen) == null ? void 0 : _b2.call(_a3, ...props);
78
+ },
79
+ onClose: (...props) => {
80
+ var _a3, _b2;
81
+ (_b2 = (_a3 = optionsRef.current) == null ? void 0 : _a3.onClose) == null ? void 0 : _b2.call(_a3, ...props);
82
+ },
83
+ onMessage: (...props) => {
84
+ var _a3, _b2;
85
+ (_b2 = (_a3 = optionsRef.current) == null ? void 0 : _a3.onMessage) == null ? void 0 : _b2.call(_a3, ...props);
86
+ setEventSourceError(null);
87
+ },
88
+ // 注入数据检测
89
+ formatMessage: (data) => {
90
+ var _a3;
91
+ const formatMessage = (_a3 = optionsRef.current) == null ? void 0 : _a3.formatMessage;
92
+ const message = formatMessage ? formatMessage(data) : data;
93
+ if (typeof message === "string" && message.length > 0)
94
+ setHasData(true);
95
+ return message;
96
+ },
97
+ // 增强错误处理
98
+ onError: (err) => {
99
+ var _a3, _b2;
100
+ setEventSourceError(err);
101
+ (_b2 = (_a3 = optionsRef.current) == null ? void 0 : _a3.onError) == null ? void 0 : _b2.call(_a3, err);
102
+ }
103
+ }),
104
+ terminal
105
+ );
106
+ };
107
+ reconnectFnRef.current = setupEventSource;
108
+ (_b = (_a = optionsRef.current) == null ? void 0 : _a.onSetupEventSource) == null ? void 0 : _b.call(_a, {
109
+ setupFn: setupEventSource
110
+ });
111
+ setupEventSource();
112
+ return () => {
113
+ closeEventSource == null ? void 0 : closeEventSource();
114
+ if (reconnectFnRef.current === setupEventSource)
115
+ reconnectFnRef.current = null;
116
+ };
117
+ }, [
118
+ enabled,
119
+ terminal,
120
+ url,
121
+ closeEventName,
122
+ errorEventName,
123
+ messageEventName,
124
+ openEventName,
125
+ reconnect,
126
+ reconnectWait
127
+ ]);
128
+ return {
129
+ reconnectFnRef
130
+ };
131
+ };
132
+ const LogView = ({
133
+ className,
134
+ content = "",
135
+ showSearch = true,
136
+ eventSource = false,
137
+ eventSourceOptions = {},
138
+ rows = 23,
139
+ scrollback = 9999999,
140
+ searchHighlightLimit = 1e3,
141
+ enableKeyboardShortcuts = true,
142
+ emptyRenderer,
143
+ errorRenderer,
144
+ searchInputProps
145
+ }) => {
146
+ const { t } = useParrotTranslation();
147
+ const terminalContainerRef = React.useRef(null);
148
+ const terminalRef = React.useRef({ enableKeyboardShortcuts });
149
+ terminalRef.current.enableKeyboardShortcuts = enableKeyboardShortcuts;
150
+ const [readyTerminal, setReadyTerminal] = React.useState(null);
151
+ const [hasData, setHasData] = React.useState(!!content);
152
+ const [searchCount, setSearchCount] = React.useState(0);
153
+ const [current, setCurrent] = React.useState(1);
154
+ const [eventSourceError, setEventSourceError] = React.useState(null);
155
+ React.useEffect(() => {
156
+ var _a;
157
+ if (!terminalContainerRef.current)
158
+ return;
159
+ const terminal = new xterm.Terminal({
160
+ fontFamily: "Roboto Mono, monospace",
161
+ fontSize: 12,
162
+ scrollOnUserInput: false,
163
+ lineHeight: 1.5,
164
+ theme: {
165
+ background: "#00122E",
166
+ foreground: "#FFFFFF",
167
+ cursor: "#FFFFFF"
168
+ },
169
+ rows,
170
+ convertEol: true,
171
+ cursorBlink: false,
172
+ disableStdin: true,
173
+ allowProposedApi: true,
174
+ scrollback
175
+ });
176
+ terminal.attachCustomKeyEventHandler((event) => {
177
+ if (!terminalRef.current.enableKeyboardShortcuts)
178
+ return true;
179
+ const target = event.target;
180
+ const isXtermEvent = target instanceof HTMLElement && target.closest(".xterm");
181
+ if (!isXtermEvent)
182
+ return true;
183
+ const shortcuts = LogView_utils.isMacOS() ? LogView_utils.customShortcutsForMac : LogView_utils.customShortcutsForWin;
184
+ if (event.type === "keydown" && LogView_utils.isCustomKeyboardAction(event, shortcuts)) {
185
+ event.stopPropagation();
186
+ event.preventDefault();
187
+ const keyActions = {
188
+ arrowup: () => LogView_utils.scrollLines("up", terminal),
189
+ arrowdown: () => LogView_utils.scrollLines("down", terminal),
190
+ pageup: () => LogView_utils.scrollPages("up", terminal),
191
+ pagedown: () => LogView_utils.scrollPages("down", terminal),
192
+ c: () => LogView_utils.copySelectLines(terminal),
193
+ a: () => LogView_utils.selectAll(terminal)
194
+ };
195
+ const action = keyActions[event.key.toLowerCase()];
196
+ if (action)
197
+ action();
198
+ return false;
199
+ }
200
+ return true;
201
+ });
202
+ const search = new addonSearch.SearchAddon({
203
+ highlightLimit: searchHighlightLimit
204
+ });
205
+ terminal.loadAddon(search);
206
+ const fit = new addonFit.FitAddon();
207
+ terminal.loadAddon(fit);
208
+ terminalRef.current = {
209
+ searchAddon: search,
210
+ fitAddon: fit
211
+ };
212
+ terminal.open(terminalContainerRef.current);
213
+ setReadyTerminal(terminal);
214
+ try {
215
+ fit.fit();
216
+ } catch (e) {
217
+ console.error("Error fitting terminal:", e);
218
+ }
219
+ if (content) {
220
+ terminal.write(content);
221
+ terminalRef.current.previousContent = content;
222
+ setHasData(true);
223
+ } else {
224
+ setHasData(false);
225
+ }
226
+ (_a = terminalRef.current.searchAddon) == null ? void 0 : _a.onDidChangeResults(
227
+ ({ resultCount, resultIndex }) => {
228
+ setSearchCount(resultCount);
229
+ setCurrent(resultIndex + 1);
230
+ }
231
+ );
232
+ return () => {
233
+ terminal.dispose();
234
+ };
235
+ }, [rows, scrollback, searchHighlightLimit]);
236
+ React.useEffect(() => {
237
+ if (!readyTerminal || !terminalContainerRef.current)
238
+ return;
239
+ const fitTerminal = () => {
240
+ var _a;
241
+ if ((_a = terminalRef.current) == null ? void 0 : _a.fitAddon)
242
+ try {
243
+ terminalRef.current.fitAddon.fit();
244
+ } catch (e) {
245
+ console.error("Error resizing terminal:", e);
246
+ }
247
+ };
248
+ if (typeof ResizeObserver !== "undefined") {
249
+ const resizeObserver = new ResizeObserver(fitTerminal);
250
+ resizeObserver.observe(terminalContainerRef.current);
251
+ return () => {
252
+ resizeObserver.disconnect();
253
+ };
254
+ }
255
+ window.addEventListener("resize", fitTerminal);
256
+ return () => {
257
+ window.removeEventListener("resize", fitTerminal);
258
+ };
259
+ }, [readyTerminal]);
260
+ React.useEffect(() => {
261
+ var _a;
262
+ if (!readyTerminal)
263
+ return;
264
+ if (content) {
265
+ const previousContent = (_a = terminalRef.current) == null ? void 0 : _a.previousContent;
266
+ if (content !== previousContent) {
267
+ if (previousContent && content.startsWith(previousContent)) {
268
+ const appendedContent = content.slice(previousContent.length);
269
+ if (appendedContent)
270
+ readyTerminal.write(appendedContent);
271
+ } else {
272
+ readyTerminal.clear();
273
+ readyTerminal.write(content);
274
+ }
275
+ }
276
+ terminalRef.current = __spreadProps(__spreadValues({}, terminalRef.current), {
277
+ previousContent: content
278
+ });
279
+ setHasData(true);
280
+ } else if (!eventSource) {
281
+ readyTerminal.clear();
282
+ terminalRef.current = __spreadProps(__spreadValues({}, terminalRef.current), { previousContent: "" });
283
+ setHasData(false);
284
+ }
285
+ }, [readyTerminal, content, eventSource]);
286
+ const { searchNext, searchPrevious } = React.useMemo(() => {
287
+ const searchOptions = {
288
+ caseSensitive: false,
289
+ decorations: {
290
+ activeMatchColorOverviewRuler: "#000000",
291
+ matchOverviewRuler: "#000000",
292
+ activeMatchBackground: color.Color.chart.yellow["yellow-5"],
293
+ matchBackground: color.Color.chart.yellow["yellow-1"]
294
+ }
295
+ };
296
+ return {
297
+ searchNext: (search) => {
298
+ var _a, _b;
299
+ (_b = (_a = terminalRef.current) == null ? void 0 : _a.searchAddon) == null ? void 0 : _b.findNext(search || "", searchOptions);
300
+ },
301
+ searchPrevious: (search) => {
302
+ var _a, _b;
303
+ (_b = (_a = terminalRef.current) == null ? void 0 : _a.searchAddon) == null ? void 0 : _b.findPrevious(
304
+ search || "",
305
+ searchOptions
306
+ );
307
+ }
308
+ };
309
+ }, []);
310
+ const { reconnectFnRef: eventSourceReconnectFnRef } = useLogViewEventSource({
311
+ enabled: eventSource,
312
+ terminal: readyTerminal,
313
+ options: eventSourceOptions,
314
+ setHasData,
315
+ setEventSourceError
316
+ });
317
+ const reconnect = React.useCallback(() => {
318
+ if (eventSourceReconnectFnRef.current) {
319
+ setEventSourceError(null);
320
+ eventSourceReconnectFnRef.current();
321
+ }
322
+ }, []);
323
+ const renderCustomContent = () => {
324
+ if (eventSourceError && errorRenderer && readyTerminal)
325
+ return /* @__PURE__ */ React__default.default.createElement(LogView_style.CustomContentOverlay, null, errorRenderer(readyTerminal, eventSourceError, reconnect));
326
+ if (!hasData && emptyRenderer && readyTerminal)
327
+ return /* @__PURE__ */ React__default.default.createElement(LogView_style.CustomContentOverlay, null, emptyRenderer(readyTerminal));
328
+ return null;
329
+ };
330
+ return /* @__PURE__ */ React__default.default.createElement(LogView_style.LogViewContainer, { className: core.cx("log-view-container", className) }, /* @__PURE__ */ React__default.default.createElement(LogView_style.LogViewInnerContaier, { className: "log-view-inner-container" }, /* @__PURE__ */ React__default.default.createElement(index.Show, { condition: showSearch }, /* @__PURE__ */ React__default.default.createElement(
331
+ SearchInput.SearchInput,
332
+ __spreadValues({
333
+ type: "text",
334
+ className: LogView_style.SearchInputStyle,
335
+ width: "100%",
336
+ debounceWait: 100,
337
+ placeholder: t("common.search_log"),
338
+ searchIcon: iconsReact.Search16OntintIcon,
339
+ prefixIcon: iconsReact.ArrowChevronUp16OntintIcon,
340
+ prefixHoverIcon: iconsReact.ArrowChevronUp16BlueIcon,
341
+ nextIcon: iconsReact.ArrowChevronDown16OntintIcon,
342
+ nextHoverIcon: iconsReact.ArrowChevronDown16BlueIcon,
343
+ clearIcon: iconsReact.XmarkCloseCircleFill16OntintIcon,
344
+ clearHoverIcon: iconsReact.XmarkCloseCircleFill16OntintLightIcon,
345
+ total: searchCount,
346
+ current,
347
+ onChange: searchNext,
348
+ onSearchNext: searchNext,
349
+ onSearchPrev: searchPrevious
350
+ }, searchInputProps)
351
+ )), /* @__PURE__ */ React__default.default.createElement(LogView_style.LogTerminal, { className: "log-terminal", ref: terminalContainerRef }, renderCustomContent())));
352
+ };
353
+
354
+ exports.LogView = LogView;
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ var react = require('@linaria/react');
4
+
5
+ const LogViewContainer = /*#__PURE__*/react.styled('div')({
6
+ name: "LogViewContainer",
7
+ class: "E_4100_0_3_l1v1luhz",
8
+ propsAsIs: false
9
+ });
10
+ const LogViewInnerContaier = /*#__PURE__*/react.styled('div')({
11
+ name: "LogViewInnerContaier",
12
+ class: "E_4100_0_3_lranxiw",
13
+ propsAsIs: false
14
+ });
15
+ const LogTerminal = /*#__PURE__*/react.styled('div')({
16
+ name: "LogTerminal",
17
+ class: "E_4100_0_3_l1y3zqy5",
18
+ propsAsIs: false
19
+ });
20
+ const CustomContentOverlay = /*#__PURE__*/react.styled('div')({
21
+ name: "CustomContentOverlay",
22
+ class: "E_4100_0_3_c1x4mn5u",
23
+ propsAsIs: false
24
+ });
25
+ const SearchInputStyle = "E_4100_0_3_s4pilip";
26
+
27
+ exports.CustomContentOverlay = CustomContentOverlay;
28
+ exports.LogTerminal = LogTerminal;
29
+ exports.LogViewContainer = LogViewContainer;
30
+ exports.LogViewInnerContaier = LogViewInnerContaier;
31
+ exports.SearchInputStyle = SearchInputStyle;
@@ -0,0 +1,154 @@
1
+ 'use strict';
2
+
3
+ var eventsource$1 = require('eventsource');
4
+
5
+ var __defProp = Object.defineProperty;
6
+ var __defProps = Object.defineProperties;
7
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ const eventsource = (url, options, terminal) => {
25
+ const {
26
+ initOptions,
27
+ onOpen,
28
+ onClose,
29
+ onError,
30
+ formatMessage,
31
+ closeEventName = "close",
32
+ openEventName = "open",
33
+ errorEventName = "error",
34
+ messageEventName = "message",
35
+ onMessage
36
+ } = options;
37
+ let aborted = false;
38
+ let eventSource = null;
39
+ const close = () => {
40
+ aborted = true;
41
+ if (eventSource) {
42
+ eventSource.close();
43
+ eventSource = null;
44
+ }
45
+ };
46
+ const start = () => {
47
+ var _a;
48
+ try {
49
+ eventSource = new eventsource$1.EventSource(url, initOptions);
50
+ eventSource.addEventListener(openEventName, (e) => {
51
+ onOpen && onOpen(e, eventSource, {
52
+ terminal
53
+ });
54
+ });
55
+ eventSource.addEventListener(errorEventName, (err) => {
56
+ var _a2;
57
+ onError && onError(err);
58
+ if (!aborted && options.reconnect && (eventSource == null ? void 0 : eventSource.readyState) === eventsource$1.EventSource.CLOSED) {
59
+ const timeout = (_a2 = options.reconnectWait) != null ? _a2 : 1;
60
+ setTimeout(start, timeout * 1e3);
61
+ }
62
+ });
63
+ eventSource.addEventListener(messageEventName, (e) => {
64
+ onMessage && onMessage(e);
65
+ let msg = formatMessage ? formatMessage(e.data) : e.data;
66
+ if (typeof msg !== "string") {
67
+ return;
68
+ }
69
+ msg = msg.endsWith("\n") ? msg : `${msg}
70
+ `;
71
+ terminal.write(msg);
72
+ });
73
+ eventSource.addEventListener(closeEventName, (e) => {
74
+ var _a2;
75
+ onClose == null ? void 0 : onClose(e);
76
+ close();
77
+ if (!aborted && options.reconnect) {
78
+ const timeout = (_a2 = options.reconnectWait) != null ? _a2 : 1;
79
+ setTimeout(start, timeout * 1e3);
80
+ }
81
+ });
82
+ } catch (err) {
83
+ console.error("Error connecting to EventSource:", err);
84
+ if (!aborted && options.reconnect) {
85
+ const timeout = (_a = options.reconnectWait) != null ? _a : 1;
86
+ setTimeout(start, timeout * 1e3);
87
+ }
88
+ }
89
+ };
90
+ start();
91
+ return close;
92
+ };
93
+ const macBasic = {
94
+ ctrlKey: false,
95
+ shiftKey: false
96
+ };
97
+ const customShortcutsForMac = [
98
+ __spreadProps(__spreadValues({}, macBasic), { metaKey: false, key: "arrowup" }),
99
+ __spreadProps(__spreadValues({}, macBasic), { metaKey: false, key: "arrowdown" }),
100
+ __spreadProps(__spreadValues({}, macBasic), { metaKey: false, key: "pageup" }),
101
+ __spreadProps(__spreadValues({}, macBasic), { metaKey: false, key: "pagedown" }),
102
+ __spreadProps(__spreadValues({}, macBasic), { metaKey: true, key: "c" }),
103
+ __spreadProps(__spreadValues({}, macBasic), { metaKey: true, key: "a" })
104
+ ];
105
+ const winBasic = {
106
+ metaKey: false,
107
+ shiftKey: false
108
+ };
109
+ const customShortcutsForWin = [
110
+ __spreadProps(__spreadValues({}, winBasic), { ctrlKey: false, key: "pageup" }),
111
+ __spreadProps(__spreadValues({}, winBasic), { ctrlKey: false, key: "pagedown" }),
112
+ __spreadProps(__spreadValues({}, winBasic), { ctrlKey: true, key: "arrowup" }),
113
+ __spreadProps(__spreadValues({}, winBasic), { ctrlKey: true, key: "arrowdown" }),
114
+ __spreadProps(__spreadValues({}, winBasic), { ctrlKey: true, key: "c" }),
115
+ __spreadProps(__spreadValues({}, winBasic), { ctrlKey: true, key: "a" })
116
+ ];
117
+ const isCustomKeyboardAction = (event, actions) => actions.some(
118
+ (a) => a.ctrlKey === event.ctrlKey && a.shiftKey == event.shiftKey && a.metaKey === event.metaKey && a.key.toLocaleLowerCase() === event.key.toLocaleLowerCase()
119
+ );
120
+ const isMacOS = () => {
121
+ return navigator.platform.indexOf("Mac") !== -1 || navigator.userAgent.indexOf("Mac") !== -1;
122
+ };
123
+ const scrollPages = (direction, terminal) => {
124
+ if (terminal) {
125
+ const pageCount = direction === "up" ? -1 : 1;
126
+ terminal.scrollPages(pageCount);
127
+ }
128
+ };
129
+ const scrollLines = (direction, terminal) => {
130
+ if (terminal) {
131
+ const lineCount = direction === "up" ? -1 : 1;
132
+ terminal.scrollLines(lineCount);
133
+ }
134
+ };
135
+ const selectAll = (terminal) => {
136
+ if (terminal) {
137
+ terminal.selectAll();
138
+ }
139
+ };
140
+ const copySelectLines = (terminal) => {
141
+ if (terminal) {
142
+ navigator.clipboard.writeText(terminal.getSelection());
143
+ }
144
+ };
145
+
146
+ exports.copySelectLines = copySelectLines;
147
+ exports.customShortcutsForMac = customShortcutsForMac;
148
+ exports.customShortcutsForWin = customShortcutsForWin;
149
+ exports.eventsource = eventsource;
150
+ exports.isCustomKeyboardAction = isCustomKeyboardAction;
151
+ exports.isMacOS = isMacOS;
152
+ exports.scrollLines = scrollLines;
153
+ exports.scrollPages = scrollPages;
154
+ exports.selectAll = selectAll;
@@ -34,7 +34,7 @@ var __objRest = (source, exclude) => {
34
34
  }
35
35
  return target;
36
36
  };
37
- const MediumDialogStyle = "E_m5foqp8";
37
+ const MediumDialogStyle = "E_4100_0_3_m5foqp8";
38
38
  const MediumDialog = _a => {
39
39
  var _b = _a,
40
40
  {
@@ -2,24 +2,24 @@
2
2
 
3
3
  var react = require('@linaria/react');
4
4
 
5
- const MetricLegendTabStyle = "E_mp64wfi";
6
- const LegendStyle = "E_l1oyigan";
7
- const LegendItemStyle = "E_l1noi4n1";
8
- const ColorBlockStyle = "E_cz19rz6";
9
- const ExtraResource = "E_e17r5r9c";
5
+ const MetricLegendTabStyle = "E_4100_0_3_mp64wfi";
6
+ const LegendStyle = "E_4100_0_3_l1oyigan";
7
+ const LegendItemStyle = "E_4100_0_3_l1noi4n1";
8
+ const ColorBlockStyle = "E_4100_0_3_cz19rz6";
9
+ const ExtraResource = "E_4100_0_3_e17r5r9c";
10
10
  const MetricWrapper = /*#__PURE__*/react.styled('div')({
11
11
  name: "MetricWrapper",
12
- class: "E_m1y1hhnr",
12
+ class: "E_4100_0_3_m1y1hhnr",
13
13
  propsAsIs: false
14
14
  });
15
15
  const TooltipWrapper = /*#__PURE__*/react.styled('div')({
16
16
  name: "TooltipWrapper",
17
- class: "E_tnvijvs",
17
+ class: "E_4100_0_3_tnvijvs",
18
18
  propsAsIs: false
19
19
  });
20
20
  const TooltipColumn = /*#__PURE__*/react.styled('div')({
21
21
  name: "TooltipColumn",
22
- class: "E_t1ub2aex",
22
+ class: "E_4100_0_3_t1ub2aex",
23
23
  propsAsIs: false
24
24
  });
25
25
 
@@ -10,7 +10,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
10
  var cs__default = /*#__PURE__*/_interopDefault(cs);
11
11
  var React__default = /*#__PURE__*/_interopDefault(React);
12
12
 
13
- const MinWidth = "E_m196gn1d";
13
+ const MinWidth = "E_4100_0_3_m196gn1d";
14
14
  const Nav = ({
15
15
  left,
16
16
  right,
@@ -4,10 +4,10 @@ var react = require('@linaria/react');
4
4
 
5
5
  const Header = /*#__PURE__*/react.styled('header')({
6
6
  name: "Header",
7
- class: "E_h12yihis",
7
+ class: "E_4100_0_3_h12yihis",
8
8
  propsAsIs: false
9
9
  });
10
- const NavCenterStyle = "E_ncaepor";
10
+ const NavCenterStyle = "E_4100_0_3_ncaepor";
11
11
 
12
12
  exports.Header = Header;
13
13
  exports.NavCenterStyle = NavCenterStyle;
@@ -11,8 +11,8 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
11
  var cs__default = /*#__PURE__*/_interopDefault(cs);
12
12
  var React__default = /*#__PURE__*/_interopDefault(React);
13
13
 
14
- const OverflowWrapper = "E_owd0kml";
15
- const HiddenStyle = "E_h1jsgezc";
14
+ const OverflowWrapper = "E_4100_0_3_owd0kml";
15
+ const HiddenStyle = "E_4100_0_3_h1jsgezc";
16
16
  const Overflow = props => {
17
17
  const {
18
18
  children,
@@ -15,8 +15,8 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
15
15
  var cs__default = /*#__PURE__*/_interopDefault(cs);
16
16
  var React__default = /*#__PURE__*/_interopDefault(React);
17
17
 
18
- const PaginationStyle = "E_phljevk";
19
- const DropdownOverlayStyle = "E_d12rtyeg";
18
+ const PaginationStyle = "E_4100_0_3_phljevk";
19
+ const DropdownOverlayStyle = "E_4100_0_3_d12rtyeg";
20
20
  const Pagination = props => {
21
21
  const {
22
22
  current,
@@ -49,7 +49,7 @@ const _exp = /*#__PURE__*/() => ({
49
49
  }) => color || "";
50
50
  const IconFieldText = /*#__PURE__*/react.styled('div')({
51
51
  name: "IconFieldText",
52
- class: "E_i14c7jc8",
52
+ class: "E_4100_0_3_i14c7jc8",
53
53
  propsAsIs: false,
54
54
  vars: {
55
55
  "i14c7jc8-0": [_exp()]
@@ -66,7 +66,7 @@ const StatusIconMap = {
66
66
  };
67
67
  const IconFieldWrapper = /*#__PURE__*/react.styled('div')({
68
68
  name: "IconFieldWrapper",
69
- class: "E_i1ibuolf",
69
+ class: "E_4100_0_3_i1ibuolf",
70
70
  propsAsIs: false
71
71
  });
72
72
  const IconField = _a => {
@@ -44,7 +44,7 @@ var __objRest = (source, exclude) => {
44
44
  };
45
45
  const Row = /*#__PURE__*/react.styled('div')({
46
46
  name: "Row",
47
- class: "E_r77hffu",
47
+ class: "E_4100_0_3_r77hffu",
48
48
  propsAsIs: false
49
49
  });
50
50
  const _exp = /*#__PURE__*/() => ({
@@ -52,7 +52,7 @@ const _exp = /*#__PURE__*/() => ({
52
52
  }) => type === "rich" ? "6px" : "4px";
53
53
  const ProgressContainer = /*#__PURE__*/react.styled('div')({
54
54
  name: "ProgressContainer",
55
- class: "E_p1cmxsf7",
55
+ class: "E_4100_0_3_p1cmxsf7",
56
56
  propsAsIs: false,
57
57
  vars: {
58
58
  "p1cmxsf7-0": [_exp()]
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- const DescriptionStyle = "E_d1u4ndxc";
4
- const FlexFullContentStyle = "E_f6xb0iv";
5
- const BaseProgressStyle = "E_b1dhu7ov";
6
- const ProgressStyle = "E_p1as1j2z";
3
+ const DescriptionStyle = "E_4100_0_3_d1u4ndxc";
4
+ const FlexFullContentStyle = "E_4100_0_3_f6xb0iv";
5
+ const BaseProgressStyle = "E_4100_0_3_b1dhu7ov";
6
+ const ProgressStyle = "E_4100_0_3_p1as1j2z";
7
7
 
8
8
  exports.BaseProgressStyle = BaseProgressStyle;
9
9
  exports.DescriptionStyle = DescriptionStyle;