@dovetail-v2/refine 0.0.34 → 0.0.35-beta.2

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.
@@ -10,9 +10,9 @@ import React__default, { createElement, isValidElement, cloneElement, Children,
10
10
  import { ResourceContext, matchResourceFromRoute, useResource, useDelete, useNavigation, useBreadcrumb, useList, useParsed, useGo, useDeleteMany, useShow, useUpdate, useDataProvider, useRefineContext, useTranslate, useWarnAboutChange, useForm as useForm$1, flattenObjectKeys, useInvalidate, useUserFriendlyName, useModal, pickNotDeprecated, useMenu, useTable, Refine } from "@refinedev/core";
11
11
  import { parse, stringify } from "qs";
12
12
  import { useLocation, useHistory, useParams, matchPath, Link, Route, NavLink, Router } from "react-router-dom";
13
- import { Typo, useUIKit, kitContext, Link as Link$1, OverflowTooltip, Tooltip, pushModal, StatusCapsule, Button, Icon as Icon$1, popModal, Loading, Divider, Fields, Form, Space, Modal, useMessage, ModalStack, KitStoreProvider } from "@cloudtower/eagle";
13
+ import { Typo, useUIKit, kitContext, Link as Link$1, OverflowTooltip, Tooltip, StatusCapsule, pushModal, Button, Icon as Icon$1, popModal, Loading, Divider, Fields, Form, Space, Modal, useMessage, ModalStack, KitStoreProvider } from "@cloudtower/eagle";
14
+ import { PlusAddCreateNew16BoldOntintIcon, EditPen16PrimaryIcon, Download16GradientBlueIcon, TrashBinDelete16Icon, MoreEllipsis324BoldSecondaryIcon, MoreEllipsis324BoldBlueIcon, MoreEllipsis316BoldBlueIcon, ArrowChevronLeft16BoldTertiaryIcon, ArrowChevronLeftSmall16BoldBlueIcon, EditPen16GradientBlueIcon, ViewEye16GrayIcon, RecoverContinue16GradientBlueIcon, SuspendedPause16GradientBlueIcon, Retry16GradientBlueIcon, HierarchyTriangleRight16GrayIcon, HierarchyTriangleRight16BlueIcon, ClipboardCopy16GradientGrayIcon, ClipboardCopy16GradientBlueIcon, Retry16GradientGrayIcon, EditPen16GradientGrayIcon, Showdiff16GradientGrayIcon, Showdiff16GradientBlueIcon, XmarkFailedSeriousWarningFill16RedIcon, ExclamationErrorCircleFill16RedIcon, Pause16GradientBlueIcon } from "@cloudtower/icons-react";
14
15
  import { get as get$2, first, debounce, last, isObject as isObject$2, merge, keyBy } from "lodash-es";
15
- import { PlusAddCreateNew16BoldOntintIcon, EditPen16PrimaryIcon, Download16GradientBlueIcon, TrashBinDelete16Icon, MoreEllipsis324BoldSecondaryIcon, MoreEllipsis324BoldBlueIcon, MoreEllipsis316BoldBlueIcon, ArrowChevronLeft16BoldTertiaryIcon, ArrowChevronLeftSmall16BoldBlueIcon, ViewEye16GrayIcon, RecoverContinue16GradientBlueIcon, SuspendedPause16GradientBlueIcon, Retry16GradientBlueIcon, HierarchyTriangleRight16GrayIcon, HierarchyTriangleRight16BlueIcon, ClipboardCopy16GradientGrayIcon, ClipboardCopy16GradientBlueIcon, Retry16GradientGrayIcon, EditPen16GradientGrayIcon, EditPen16GradientBlueIcon, Showdiff16GradientGrayIcon, Showdiff16GradientBlueIcon, XmarkFailedSeriousWarningFill16RedIcon, ExclamationErrorCircleFill16RedIcon, Pause16GradientBlueIcon } from "@cloudtower/icons-react";
16
16
  import yaml from "js-yaml";
17
17
  import * as monaco from "monaco-editor";
18
18
  import { setDiagnosticsOptions } from "monaco-yaml";
@@ -25,308 +25,301 @@ function getDefaultExportFromCjs(x) {
25
25
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
26
26
  }
27
27
  var dayjs_min = { exports: {} };
28
- var hasRequiredDayjs_min;
29
- function requireDayjs_min() {
30
- if (hasRequiredDayjs_min)
31
- return dayjs_min.exports;
32
- hasRequiredDayjs_min = 1;
33
- (function(module, exports) {
34
- !function(t2, e2) {
35
- module.exports = e2();
36
- }(commonjsGlobal, function() {
37
- var t2 = 1e3, e2 = 6e4, n2 = 36e5, r2 = "millisecond", i2 = "second", s2 = "minute", u = "hour", a2 = "day", o = "week", c2 = "month", f = "quarter", h = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t3) {
38
- var e3 = ["th", "st", "nd", "rd"], n3 = t3 % 100;
39
- return "[" + t3 + (e3[(n3 - 20) % 10] || e3[n3] || e3[0]) + "]";
40
- } }, m2 = function(t3, e3, n3) {
41
- var r3 = String(t3);
42
- return !r3 || r3.length >= e3 ? t3 : "" + Array(e3 + 1 - r3.length).join(n3) + t3;
43
- }, v = { s: m2, z: function(t3) {
44
- var e3 = -t3.utcOffset(), n3 = Math.abs(e3), r3 = Math.floor(n3 / 60), i3 = n3 % 60;
45
- return (e3 <= 0 ? "+" : "-") + m2(r3, 2, "0") + ":" + m2(i3, 2, "0");
46
- }, m: function t3(e3, n3) {
47
- if (e3.date() < n3.date())
48
- return -t3(n3, e3);
49
- var r3 = 12 * (n3.year() - e3.year()) + (n3.month() - e3.month()), i3 = e3.clone().add(r3, c2), s3 = n3 - i3 < 0, u2 = e3.clone().add(r3 + (s3 ? -1 : 1), c2);
50
- return +(-(r3 + (n3 - i3) / (s3 ? i3 - u2 : u2 - i3)) || 0);
51
- }, a: function(t3) {
52
- return t3 < 0 ? Math.ceil(t3) || 0 : Math.floor(t3);
53
- }, p: function(t3) {
54
- return { M: c2, y: h, w: o, d: a2, D: d, h: u, m: s2, s: i2, ms: r2, Q: f }[t3] || String(t3 || "").toLowerCase().replace(/s$/, "");
55
- }, u: function(t3) {
56
- return void 0 === t3;
57
- } }, g = "en", D = {};
58
- D[g] = M;
59
- var p = "$isDayjsObject", S = function(t3) {
60
- return t3 instanceof _ || !(!t3 || !t3[p]);
61
- }, w = function t3(e3, n3, r3) {
62
- var i3;
63
- if (!e3)
64
- return g;
65
- if ("string" == typeof e3) {
66
- var s3 = e3.toLowerCase();
67
- D[s3] && (i3 = s3), n3 && (D[s3] = n3, i3 = s3);
68
- var u2 = e3.split("-");
69
- if (!i3 && u2.length > 1)
70
- return t3(u2[0]);
71
- } else {
72
- var a3 = e3.name;
73
- D[a3] = e3, i3 = a3;
74
- }
75
- return !r3 && i3 && (g = i3), i3 || !r3 && g;
76
- }, O = function(t3, e3) {
77
- if (S(t3))
78
- return t3.clone();
79
- var n3 = "object" == typeof e3 ? e3 : {};
80
- return n3.date = t3, n3.args = arguments, new _(n3);
81
- }, b = v;
82
- b.l = w, b.i = S, b.w = function(t3, e3) {
83
- return O(t3, { locale: e3.$L, utc: e3.$u, x: e3.$x, $offset: e3.$offset });
84
- };
85
- var _ = function() {
86
- function M2(t3) {
87
- this.$L = w(t3.locale, null, true), this.parse(t3), this.$x = this.$x || t3.x || {}, this[p] = true;
88
- }
89
- var m3 = M2.prototype;
90
- return m3.parse = function(t3) {
91
- this.$d = function(t4) {
92
- var e3 = t4.date, n3 = t4.utc;
93
- if (null === e3)
94
- return /* @__PURE__ */ new Date(NaN);
95
- if (b.u(e3))
96
- return /* @__PURE__ */ new Date();
97
- if (e3 instanceof Date)
98
- return new Date(e3);
99
- if ("string" == typeof e3 && !/Z$/i.test(e3)) {
100
- var r3 = e3.match($);
101
- if (r3) {
102
- var i3 = r3[2] - 1 || 0, s3 = (r3[7] || "0").substring(0, 3);
103
- return n3 ? new Date(Date.UTC(r3[1], i3, r3[3] || 1, r3[4] || 0, r3[5] || 0, r3[6] || 0, s3)) : new Date(r3[1], i3, r3[3] || 1, r3[4] || 0, r3[5] || 0, r3[6] || 0, s3);
104
- }
105
- }
28
+ (function(module, exports) {
29
+ !function(t2, e2) {
30
+ module.exports = e2();
31
+ }(commonjsGlobal, function() {
32
+ var t2 = 1e3, e2 = 6e4, n2 = 36e5, r2 = "millisecond", i2 = "second", s2 = "minute", u = "hour", a2 = "day", o = "week", c2 = "month", f = "quarter", h = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t3) {
33
+ var e3 = ["th", "st", "nd", "rd"], n3 = t3 % 100;
34
+ return "[" + t3 + (e3[(n3 - 20) % 10] || e3[n3] || e3[0]) + "]";
35
+ } }, m2 = function(t3, e3, n3) {
36
+ var r3 = String(t3);
37
+ return !r3 || r3.length >= e3 ? t3 : "" + Array(e3 + 1 - r3.length).join(n3) + t3;
38
+ }, v = { s: m2, z: function(t3) {
39
+ var e3 = -t3.utcOffset(), n3 = Math.abs(e3), r3 = Math.floor(n3 / 60), i3 = n3 % 60;
40
+ return (e3 <= 0 ? "+" : "-") + m2(r3, 2, "0") + ":" + m2(i3, 2, "0");
41
+ }, m: function t3(e3, n3) {
42
+ if (e3.date() < n3.date())
43
+ return -t3(n3, e3);
44
+ var r3 = 12 * (n3.year() - e3.year()) + (n3.month() - e3.month()), i3 = e3.clone().add(r3, c2), s3 = n3 - i3 < 0, u2 = e3.clone().add(r3 + (s3 ? -1 : 1), c2);
45
+ return +(-(r3 + (n3 - i3) / (s3 ? i3 - u2 : u2 - i3)) || 0);
46
+ }, a: function(t3) {
47
+ return t3 < 0 ? Math.ceil(t3) || 0 : Math.floor(t3);
48
+ }, p: function(t3) {
49
+ return { M: c2, y: h, w: o, d: a2, D: d, h: u, m: s2, s: i2, ms: r2, Q: f }[t3] || String(t3 || "").toLowerCase().replace(/s$/, "");
50
+ }, u: function(t3) {
51
+ return void 0 === t3;
52
+ } }, g = "en", D = {};
53
+ D[g] = M;
54
+ var p = "$isDayjsObject", S = function(t3) {
55
+ return t3 instanceof _ || !(!t3 || !t3[p]);
56
+ }, w = function t3(e3, n3, r3) {
57
+ var i3;
58
+ if (!e3)
59
+ return g;
60
+ if ("string" == typeof e3) {
61
+ var s3 = e3.toLowerCase();
62
+ D[s3] && (i3 = s3), n3 && (D[s3] = n3, i3 = s3);
63
+ var u2 = e3.split("-");
64
+ if (!i3 && u2.length > 1)
65
+ return t3(u2[0]);
66
+ } else {
67
+ var a3 = e3.name;
68
+ D[a3] = e3, i3 = a3;
69
+ }
70
+ return !r3 && i3 && (g = i3), i3 || !r3 && g;
71
+ }, O = function(t3, e3) {
72
+ if (S(t3))
73
+ return t3.clone();
74
+ var n3 = "object" == typeof e3 ? e3 : {};
75
+ return n3.date = t3, n3.args = arguments, new _(n3);
76
+ }, b = v;
77
+ b.l = w, b.i = S, b.w = function(t3, e3) {
78
+ return O(t3, { locale: e3.$L, utc: e3.$u, x: e3.$x, $offset: e3.$offset });
79
+ };
80
+ var _ = function() {
81
+ function M2(t3) {
82
+ this.$L = w(t3.locale, null, true), this.parse(t3), this.$x = this.$x || t3.x || {}, this[p] = true;
83
+ }
84
+ var m3 = M2.prototype;
85
+ return m3.parse = function(t3) {
86
+ this.$d = function(t4) {
87
+ var e3 = t4.date, n3 = t4.utc;
88
+ if (null === e3)
89
+ return /* @__PURE__ */ new Date(NaN);
90
+ if (b.u(e3))
91
+ return /* @__PURE__ */ new Date();
92
+ if (e3 instanceof Date)
106
93
  return new Date(e3);
107
- }(t3), this.init();
108
- }, m3.init = function() {
109
- var t3 = this.$d;
110
- this.$y = t3.getFullYear(), this.$M = t3.getMonth(), this.$D = t3.getDate(), this.$W = t3.getDay(), this.$H = t3.getHours(), this.$m = t3.getMinutes(), this.$s = t3.getSeconds(), this.$ms = t3.getMilliseconds();
111
- }, m3.$utils = function() {
112
- return b;
113
- }, m3.isValid = function() {
114
- return !(this.$d.toString() === l);
115
- }, m3.isSame = function(t3, e3) {
116
- var n3 = O(t3);
117
- return this.startOf(e3) <= n3 && n3 <= this.endOf(e3);
118
- }, m3.isAfter = function(t3, e3) {
119
- return O(t3) < this.startOf(e3);
120
- }, m3.isBefore = function(t3, e3) {
121
- return this.endOf(e3) < O(t3);
122
- }, m3.$g = function(t3, e3, n3) {
123
- return b.u(t3) ? this[e3] : this.set(n3, t3);
124
- }, m3.unix = function() {
125
- return Math.floor(this.valueOf() / 1e3);
126
- }, m3.valueOf = function() {
127
- return this.$d.getTime();
128
- }, m3.startOf = function(t3, e3) {
129
- var n3 = this, r3 = !!b.u(e3) || e3, f2 = b.p(t3), l2 = function(t4, e4) {
130
- var i3 = b.w(n3.$u ? Date.UTC(n3.$y, e4, t4) : new Date(n3.$y, e4, t4), n3);
131
- return r3 ? i3 : i3.endOf(a2);
132
- }, $2 = function(t4, e4) {
133
- return b.w(n3.toDate()[t4].apply(n3.toDate("s"), (r3 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e4)), n3);
134
- }, y2 = this.$W, M3 = this.$M, m4 = this.$D, v2 = "set" + (this.$u ? "UTC" : "");
135
- switch (f2) {
136
- case h:
137
- return r3 ? l2(1, 0) : l2(31, 11);
138
- case c2:
139
- return r3 ? l2(1, M3) : l2(0, M3 + 1);
140
- case o:
141
- var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;
142
- return l2(r3 ? m4 - D2 : m4 + (6 - D2), M3);
143
- case a2:
144
- case d:
145
- return $2(v2 + "Hours", 0);
146
- case u:
147
- return $2(v2 + "Minutes", 1);
148
- case s2:
149
- return $2(v2 + "Seconds", 2);
150
- case i2:
151
- return $2(v2 + "Milliseconds", 3);
152
- default:
153
- return this.clone();
154
- }
155
- }, m3.endOf = function(t3) {
156
- return this.startOf(t3, false);
157
- }, m3.$set = function(t3, e3) {
158
- var n3, o2 = b.p(t3), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n3 = {}, n3[a2] = f2 + "Date", n3[d] = f2 + "Date", n3[c2] = f2 + "Month", n3[h] = f2 + "FullYear", n3[u] = f2 + "Hours", n3[s2] = f2 + "Minutes", n3[i2] = f2 + "Seconds", n3[r2] = f2 + "Milliseconds", n3)[o2], $2 = o2 === a2 ? this.$D + (e3 - this.$W) : e3;
159
- if (o2 === c2 || o2 === h) {
160
- var y2 = this.clone().set(d, 1);
161
- y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
162
- } else
163
- l2 && this.$d[l2]($2);
164
- return this.init(), this;
165
- }, m3.set = function(t3, e3) {
166
- return this.clone().$set(t3, e3);
167
- }, m3.get = function(t3) {
168
- return this[b.p(t3)]();
169
- }, m3.add = function(r3, f2) {
170
- var d2, l2 = this;
171
- r3 = Number(r3);
172
- var $2 = b.p(f2), y2 = function(t3) {
173
- var e3 = O(l2);
174
- return b.w(e3.date(e3.date() + Math.round(t3 * r3)), l2);
175
- };
176
- if ($2 === c2)
177
- return this.set(c2, this.$M + r3);
178
- if ($2 === h)
179
- return this.set(h, this.$y + r3);
180
- if ($2 === a2)
181
- return y2(1);
182
- if ($2 === o)
183
- return y2(7);
184
- var M3 = (d2 = {}, d2[s2] = e2, d2[u] = n2, d2[i2] = t2, d2)[$2] || 1, m4 = this.$d.getTime() + r3 * M3;
185
- return b.w(m4, this);
186
- }, m3.subtract = function(t3, e3) {
187
- return this.add(-1 * t3, e3);
188
- }, m3.format = function(t3) {
189
- var e3 = this, n3 = this.$locale();
190
- if (!this.isValid())
191
- return n3.invalidDate || l;
192
- var r3 = t3 || "YYYY-MM-DDTHH:mm:ssZ", i3 = b.z(this), s3 = this.$H, u2 = this.$m, a3 = this.$M, o2 = n3.weekdays, c3 = n3.months, f2 = n3.meridiem, h2 = function(t4, n4, i4, s4) {
193
- return t4 && (t4[n4] || t4(e3, r3)) || i4[n4].slice(0, s4);
194
- }, d2 = function(t4) {
195
- return b.s(s3 % 12 || 12, t4, "0");
196
- }, $2 = f2 || function(t4, e4, n4) {
197
- var r4 = t4 < 12 ? "AM" : "PM";
198
- return n4 ? r4.toLowerCase() : r4;
199
- };
200
- return r3.replace(y, function(t4, r4) {
201
- return r4 || function(t5) {
202
- switch (t5) {
203
- case "YY":
204
- return String(e3.$y).slice(-2);
205
- case "YYYY":
206
- return b.s(e3.$y, 4, "0");
207
- case "M":
208
- return a3 + 1;
209
- case "MM":
210
- return b.s(a3 + 1, 2, "0");
211
- case "MMM":
212
- return h2(n3.monthsShort, a3, c3, 3);
213
- case "MMMM":
214
- return h2(c3, a3);
215
- case "D":
216
- return e3.$D;
217
- case "DD":
218
- return b.s(e3.$D, 2, "0");
219
- case "d":
220
- return String(e3.$W);
221
- case "dd":
222
- return h2(n3.weekdaysMin, e3.$W, o2, 2);
223
- case "ddd":
224
- return h2(n3.weekdaysShort, e3.$W, o2, 3);
225
- case "dddd":
226
- return o2[e3.$W];
227
- case "H":
228
- return String(s3);
229
- case "HH":
230
- return b.s(s3, 2, "0");
231
- case "h":
232
- return d2(1);
233
- case "hh":
234
- return d2(2);
235
- case "a":
236
- return $2(s3, u2, true);
237
- case "A":
238
- return $2(s3, u2, false);
239
- case "m":
240
- return String(u2);
241
- case "mm":
242
- return b.s(u2, 2, "0");
243
- case "s":
244
- return String(e3.$s);
245
- case "ss":
246
- return b.s(e3.$s, 2, "0");
247
- case "SSS":
248
- return b.s(e3.$ms, 3, "0");
249
- case "Z":
250
- return i3;
251
- }
252
- return null;
253
- }(t4) || i3.replace(":", "");
254
- });
255
- }, m3.utcOffset = function() {
256
- return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
257
- }, m3.diff = function(r3, d2, l2) {
258
- var $2, y2 = this, M3 = b.p(d2), m4 = O(r3), v2 = (m4.utcOffset() - this.utcOffset()) * e2, g2 = this - m4, D2 = function() {
259
- return b.m(y2, m4);
260
- };
261
- switch (M3) {
262
- case h:
263
- $2 = D2() / 12;
264
- break;
265
- case c2:
266
- $2 = D2();
267
- break;
268
- case f:
269
- $2 = D2() / 3;
270
- break;
271
- case o:
272
- $2 = (g2 - v2) / 6048e5;
273
- break;
274
- case a2:
275
- $2 = (g2 - v2) / 864e5;
276
- break;
277
- case u:
278
- $2 = g2 / n2;
279
- break;
280
- case s2:
281
- $2 = g2 / e2;
282
- break;
283
- case i2:
284
- $2 = g2 / t2;
285
- break;
286
- default:
287
- $2 = g2;
288
- }
289
- return l2 ? $2 : b.a($2);
290
- }, m3.daysInMonth = function() {
291
- return this.endOf(c2).$D;
292
- }, m3.$locale = function() {
293
- return D[this.$L];
294
- }, m3.locale = function(t3, e3) {
295
- if (!t3)
296
- return this.$L;
297
- var n3 = this.clone(), r3 = w(t3, e3, true);
298
- return r3 && (n3.$L = r3), n3;
299
- }, m3.clone = function() {
300
- return b.w(this.$d, this);
301
- }, m3.toDate = function() {
302
- return new Date(this.valueOf());
303
- }, m3.toJSON = function() {
304
- return this.isValid() ? this.toISOString() : null;
305
- }, m3.toISOString = function() {
306
- return this.$d.toISOString();
307
- }, m3.toString = function() {
308
- return this.$d.toUTCString();
309
- }, M2;
310
- }(), k = _.prototype;
311
- return O.prototype = k, [["$ms", r2], ["$s", i2], ["$m", s2], ["$H", u], ["$W", a2], ["$M", c2], ["$y", h], ["$D", d]].forEach(function(t3) {
312
- k[t3[1]] = function(e3) {
313
- return this.$g(e3, t3[0], t3[1]);
94
+ if ("string" == typeof e3 && !/Z$/i.test(e3)) {
95
+ var r3 = e3.match($);
96
+ if (r3) {
97
+ var i3 = r3[2] - 1 || 0, s3 = (r3[7] || "0").substring(0, 3);
98
+ return n3 ? new Date(Date.UTC(r3[1], i3, r3[3] || 1, r3[4] || 0, r3[5] || 0, r3[6] || 0, s3)) : new Date(r3[1], i3, r3[3] || 1, r3[4] || 0, r3[5] || 0, r3[6] || 0, s3);
99
+ }
100
+ }
101
+ return new Date(e3);
102
+ }(t3), this.init();
103
+ }, m3.init = function() {
104
+ var t3 = this.$d;
105
+ this.$y = t3.getFullYear(), this.$M = t3.getMonth(), this.$D = t3.getDate(), this.$W = t3.getDay(), this.$H = t3.getHours(), this.$m = t3.getMinutes(), this.$s = t3.getSeconds(), this.$ms = t3.getMilliseconds();
106
+ }, m3.$utils = function() {
107
+ return b;
108
+ }, m3.isValid = function() {
109
+ return !(this.$d.toString() === l);
110
+ }, m3.isSame = function(t3, e3) {
111
+ var n3 = O(t3);
112
+ return this.startOf(e3) <= n3 && n3 <= this.endOf(e3);
113
+ }, m3.isAfter = function(t3, e3) {
114
+ return O(t3) < this.startOf(e3);
115
+ }, m3.isBefore = function(t3, e3) {
116
+ return this.endOf(e3) < O(t3);
117
+ }, m3.$g = function(t3, e3, n3) {
118
+ return b.u(t3) ? this[e3] : this.set(n3, t3);
119
+ }, m3.unix = function() {
120
+ return Math.floor(this.valueOf() / 1e3);
121
+ }, m3.valueOf = function() {
122
+ return this.$d.getTime();
123
+ }, m3.startOf = function(t3, e3) {
124
+ var n3 = this, r3 = !!b.u(e3) || e3, f2 = b.p(t3), l2 = function(t4, e4) {
125
+ var i3 = b.w(n3.$u ? Date.UTC(n3.$y, e4, t4) : new Date(n3.$y, e4, t4), n3);
126
+ return r3 ? i3 : i3.endOf(a2);
127
+ }, $2 = function(t4, e4) {
128
+ return b.w(n3.toDate()[t4].apply(n3.toDate("s"), (r3 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e4)), n3);
129
+ }, y2 = this.$W, M3 = this.$M, m4 = this.$D, v2 = "set" + (this.$u ? "UTC" : "");
130
+ switch (f2) {
131
+ case h:
132
+ return r3 ? l2(1, 0) : l2(31, 11);
133
+ case c2:
134
+ return r3 ? l2(1, M3) : l2(0, M3 + 1);
135
+ case o:
136
+ var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;
137
+ return l2(r3 ? m4 - D2 : m4 + (6 - D2), M3);
138
+ case a2:
139
+ case d:
140
+ return $2(v2 + "Hours", 0);
141
+ case u:
142
+ return $2(v2 + "Minutes", 1);
143
+ case s2:
144
+ return $2(v2 + "Seconds", 2);
145
+ case i2:
146
+ return $2(v2 + "Milliseconds", 3);
147
+ default:
148
+ return this.clone();
149
+ }
150
+ }, m3.endOf = function(t3) {
151
+ return this.startOf(t3, false);
152
+ }, m3.$set = function(t3, e3) {
153
+ var n3, o2 = b.p(t3), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n3 = {}, n3[a2] = f2 + "Date", n3[d] = f2 + "Date", n3[c2] = f2 + "Month", n3[h] = f2 + "FullYear", n3[u] = f2 + "Hours", n3[s2] = f2 + "Minutes", n3[i2] = f2 + "Seconds", n3[r2] = f2 + "Milliseconds", n3)[o2], $2 = o2 === a2 ? this.$D + (e3 - this.$W) : e3;
154
+ if (o2 === c2 || o2 === h) {
155
+ var y2 = this.clone().set(d, 1);
156
+ y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
157
+ } else
158
+ l2 && this.$d[l2]($2);
159
+ return this.init(), this;
160
+ }, m3.set = function(t3, e3) {
161
+ return this.clone().$set(t3, e3);
162
+ }, m3.get = function(t3) {
163
+ return this[b.p(t3)]();
164
+ }, m3.add = function(r3, f2) {
165
+ var d2, l2 = this;
166
+ r3 = Number(r3);
167
+ var $2 = b.p(f2), y2 = function(t3) {
168
+ var e3 = O(l2);
169
+ return b.w(e3.date(e3.date() + Math.round(t3 * r3)), l2);
314
170
  };
315
- }), O.extend = function(t3, e3) {
316
- return t3.$i || (t3(e3, _, O), t3.$i = true), O;
317
- }, O.locale = w, O.isDayjs = S, O.unix = function(t3) {
318
- return O(1e3 * t3);
319
- }, O.en = D[g], O.Ls = D, O.p = {}, O;
320
- });
321
- })(dayjs_min);
322
- return dayjs_min.exports;
323
- }
324
- var dayjs_minExports = requireDayjs_min();
171
+ if ($2 === c2)
172
+ return this.set(c2, this.$M + r3);
173
+ if ($2 === h)
174
+ return this.set(h, this.$y + r3);
175
+ if ($2 === a2)
176
+ return y2(1);
177
+ if ($2 === o)
178
+ return y2(7);
179
+ var M3 = (d2 = {}, d2[s2] = e2, d2[u] = n2, d2[i2] = t2, d2)[$2] || 1, m4 = this.$d.getTime() + r3 * M3;
180
+ return b.w(m4, this);
181
+ }, m3.subtract = function(t3, e3) {
182
+ return this.add(-1 * t3, e3);
183
+ }, m3.format = function(t3) {
184
+ var e3 = this, n3 = this.$locale();
185
+ if (!this.isValid())
186
+ return n3.invalidDate || l;
187
+ var r3 = t3 || "YYYY-MM-DDTHH:mm:ssZ", i3 = b.z(this), s3 = this.$H, u2 = this.$m, a3 = this.$M, o2 = n3.weekdays, c3 = n3.months, f2 = n3.meridiem, h2 = function(t4, n4, i4, s4) {
188
+ return t4 && (t4[n4] || t4(e3, r3)) || i4[n4].slice(0, s4);
189
+ }, d2 = function(t4) {
190
+ return b.s(s3 % 12 || 12, t4, "0");
191
+ }, $2 = f2 || function(t4, e4, n4) {
192
+ var r4 = t4 < 12 ? "AM" : "PM";
193
+ return n4 ? r4.toLowerCase() : r4;
194
+ };
195
+ return r3.replace(y, function(t4, r4) {
196
+ return r4 || function(t5) {
197
+ switch (t5) {
198
+ case "YY":
199
+ return String(e3.$y).slice(-2);
200
+ case "YYYY":
201
+ return b.s(e3.$y, 4, "0");
202
+ case "M":
203
+ return a3 + 1;
204
+ case "MM":
205
+ return b.s(a3 + 1, 2, "0");
206
+ case "MMM":
207
+ return h2(n3.monthsShort, a3, c3, 3);
208
+ case "MMMM":
209
+ return h2(c3, a3);
210
+ case "D":
211
+ return e3.$D;
212
+ case "DD":
213
+ return b.s(e3.$D, 2, "0");
214
+ case "d":
215
+ return String(e3.$W);
216
+ case "dd":
217
+ return h2(n3.weekdaysMin, e3.$W, o2, 2);
218
+ case "ddd":
219
+ return h2(n3.weekdaysShort, e3.$W, o2, 3);
220
+ case "dddd":
221
+ return o2[e3.$W];
222
+ case "H":
223
+ return String(s3);
224
+ case "HH":
225
+ return b.s(s3, 2, "0");
226
+ case "h":
227
+ return d2(1);
228
+ case "hh":
229
+ return d2(2);
230
+ case "a":
231
+ return $2(s3, u2, true);
232
+ case "A":
233
+ return $2(s3, u2, false);
234
+ case "m":
235
+ return String(u2);
236
+ case "mm":
237
+ return b.s(u2, 2, "0");
238
+ case "s":
239
+ return String(e3.$s);
240
+ case "ss":
241
+ return b.s(e3.$s, 2, "0");
242
+ case "SSS":
243
+ return b.s(e3.$ms, 3, "0");
244
+ case "Z":
245
+ return i3;
246
+ }
247
+ return null;
248
+ }(t4) || i3.replace(":", "");
249
+ });
250
+ }, m3.utcOffset = function() {
251
+ return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
252
+ }, m3.diff = function(r3, d2, l2) {
253
+ var $2, y2 = this, M3 = b.p(d2), m4 = O(r3), v2 = (m4.utcOffset() - this.utcOffset()) * e2, g2 = this - m4, D2 = function() {
254
+ return b.m(y2, m4);
255
+ };
256
+ switch (M3) {
257
+ case h:
258
+ $2 = D2() / 12;
259
+ break;
260
+ case c2:
261
+ $2 = D2();
262
+ break;
263
+ case f:
264
+ $2 = D2() / 3;
265
+ break;
266
+ case o:
267
+ $2 = (g2 - v2) / 6048e5;
268
+ break;
269
+ case a2:
270
+ $2 = (g2 - v2) / 864e5;
271
+ break;
272
+ case u:
273
+ $2 = g2 / n2;
274
+ break;
275
+ case s2:
276
+ $2 = g2 / e2;
277
+ break;
278
+ case i2:
279
+ $2 = g2 / t2;
280
+ break;
281
+ default:
282
+ $2 = g2;
283
+ }
284
+ return l2 ? $2 : b.a($2);
285
+ }, m3.daysInMonth = function() {
286
+ return this.endOf(c2).$D;
287
+ }, m3.$locale = function() {
288
+ return D[this.$L];
289
+ }, m3.locale = function(t3, e3) {
290
+ if (!t3)
291
+ return this.$L;
292
+ var n3 = this.clone(), r3 = w(t3, e3, true);
293
+ return r3 && (n3.$L = r3), n3;
294
+ }, m3.clone = function() {
295
+ return b.w(this.$d, this);
296
+ }, m3.toDate = function() {
297
+ return new Date(this.valueOf());
298
+ }, m3.toJSON = function() {
299
+ return this.isValid() ? this.toISOString() : null;
300
+ }, m3.toISOString = function() {
301
+ return this.$d.toISOString();
302
+ }, m3.toString = function() {
303
+ return this.$d.toUTCString();
304
+ }, M2;
305
+ }(), k = _.prototype;
306
+ return O.prototype = k, [["$ms", r2], ["$s", i2], ["$m", s2], ["$H", u], ["$W", a2], ["$M", c2], ["$y", h], ["$D", d]].forEach(function(t3) {
307
+ k[t3[1]] = function(e3) {
308
+ return this.$g(e3, t3[0], t3[1]);
309
+ };
310
+ }), O.extend = function(t3, e3) {
311
+ return t3.$i || (t3(e3, _, O), t3.$i = true), O;
312
+ }, O.locale = w, O.isDayjs = S, O.unix = function(t3) {
313
+ return O(1e3 * t3);
314
+ }, O.en = D[g], O.Ls = D, O.p = {}, O;
315
+ });
316
+ })(dayjs_min);
317
+ var dayjs_minExports = dayjs_min.exports;
325
318
  const dayjs = /* @__PURE__ */ getDefaultExportFromCjs(dayjs_minExports);
326
319
  var zh = { exports: {} };
327
320
  (function(module, exports) {
328
321
  !function(e2, _) {
329
- module.exports = _(requireDayjs_min());
322
+ module.exports = _(dayjs_minExports);
330
323
  }(commonjsGlobal, function(e2) {
331
324
  function _(e3) {
332
325
  return e3 && "object" == typeof e3 && "default" in e3 ? e3 : { default: e3 };
@@ -1284,7 +1277,7 @@ const updated_time = "变更时间";
1284
1277
  const message = "信息";
1285
1278
  const save = "保存";
1286
1279
  const workload = "工作负载";
1287
- const all_namespaces = "所有名字空间";
1280
+ const all_namespaces = "全部名字空间";
1288
1281
  const empty = "暂无数据";
1289
1282
  const schedule = "调度时间表";
1290
1283
  const lastScheduleTime = "上次调度时间";
@@ -8424,180 +8417,406 @@ const WidgetErrorContent$1 = (props) => {
8424
8417
  })
8425
8418
  });
8426
8419
  };
8427
- const PodSelectorTable = ({ podSelectors = {} }) => {
8428
- const kit = useUIKit();
8429
- const { t: t2 } = useTranslation();
8430
- const datas = Object.keys(podSelectors).map((key2) => ({
8431
- id: key2,
8432
- key: key2,
8433
- value: podSelectors[key2]
8434
- }));
8435
- const columns = [
8436
- {
8437
- key: "key",
8438
- display: true,
8439
- dataIndex: "key",
8440
- title: t2("dovetail.key"),
8441
- sortable: true
8442
- },
8443
- {
8444
- key: "value",
8445
- display: true,
8446
- dataIndex: "value",
8447
- title: t2("dovetail.value"),
8448
- sortable: true
8449
- }
8450
- ];
8451
- if (datas.length === 0) {
8452
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
8453
- WidgetErrorContent$1,
8454
- {
8455
- errorText: t2("dovetail.no_resource", { kind: ` ${t2("dovetail.pod_selector")}` }),
8456
- style: { padding: "15px 0" }
8457
- }
8458
- );
8459
- }
8460
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
8461
- kit.table,
8462
- {
8463
- loading: false,
8464
- dataSource: datas,
8465
- columns: addDefaultRenderToColumns(columns),
8466
- rowKey: "type",
8467
- empty: t2("dovetail.empty")
8468
- }
8469
- );
8470
- };
8471
- const PortsTable = ({ service }) => {
8472
- const kit = useUIKit();
8473
- const { t: t2 } = useTranslation();
8474
- const columns = [
8475
- {
8476
- key: "name",
8477
- display: true,
8478
- dataIndex: "name",
8479
- title: t2("dovetail.name"),
8480
- sortable: true
8481
- },
8482
- {
8483
- key: "servicePort",
8484
- display: true,
8485
- dataIndex: "port",
8486
- title: t2("dovetail.service_port"),
8487
- sortable: true
8488
- },
8489
- {
8490
- key: "protocol",
8491
- display: true,
8492
- dataIndex: "protocol",
8493
- title: t2("dovetail.protocol"),
8494
- sortable: true
8495
- },
8496
- {
8497
- key: "podPort",
8498
- display: true,
8499
- dataIndex: "targetPort",
8500
- title: t2("dovetail.pod_port"),
8501
- sortable: true
8502
- },
8503
- {
8504
- key: "nodePort",
8505
- display: true,
8506
- dataIndex: "nodePort",
8507
- title: t2("dovetail.node_port"),
8508
- sortable: true
8509
- }
8510
- ];
8511
- const ports = (service._rawYaml.spec.ports || []).map((port2) => ({
8512
- ...port2,
8513
- id: port2.name || ""
8514
- }));
8515
- if ((ports == null ? void 0 : ports.length) === 0) {
8516
- return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, { errorText: t2("dovetail.no_resource", { kind: t2("dovetail.port") }), style: { padding: "15px 0" } });
8420
+ function memoize$1(fn) {
8421
+ var cache = /* @__PURE__ */ Object.create(null);
8422
+ return function(arg) {
8423
+ if (cache[arg] === void 0)
8424
+ cache[arg] = fn(arg);
8425
+ return cache[arg];
8426
+ };
8427
+ }
8428
+ var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/;
8429
+ var isPropValid = /* @__PURE__ */ memoize$1(
8430
+ function(prop) {
8431
+ return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91;
8517
8432
  }
8518
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
8519
- kit.table,
8520
- {
8521
- loading: false,
8522
- dataSource: ports,
8523
- columns: addDefaultRenderToColumns(columns),
8524
- rowKey: "type",
8525
- empty: t2("dovetail.empty")
8526
- }
8527
- );
8433
+ /* Z+1 */
8434
+ );
8435
+ var isCapital = (ch) => ch.toUpperCase() === ch;
8436
+ var filterKey = (keys) => (key2) => keys.indexOf(key2) === -1;
8437
+ var omit = (obj, keys) => {
8438
+ const res = {};
8439
+ Object.keys(obj).filter(filterKey(keys)).forEach((key2) => {
8440
+ res[key2] = obj[key2];
8441
+ });
8442
+ return res;
8528
8443
  };
8529
- class ResourceModel {
8530
- constructor(_rawYaml, _globalStore) {
8531
- __publicField(this, "id");
8532
- __publicField(this, "apiVersion");
8533
- __publicField(this, "kind");
8534
- __publicField(this, "metadata");
8535
- this._rawYaml = _rawYaml;
8536
- this._globalStore = _globalStore;
8537
- Object.keys(_rawYaml).forEach((key2) => {
8538
- Object.defineProperty(this, key2, {
8539
- value: _rawYaml[key2]
8540
- });
8444
+ function filterProps(asIs, props, omitKeys) {
8445
+ const filteredProps = omit(props, omitKeys);
8446
+ if (!asIs) {
8447
+ const interopValidAttr = typeof isPropValid === "function" ? { default: isPropValid } : isPropValid;
8448
+ Object.keys(filteredProps).forEach((key2) => {
8449
+ if (!interopValidAttr.default(key2)) {
8450
+ delete filteredProps[key2];
8451
+ }
8541
8452
  });
8542
8453
  }
8543
- // eslint-disable-next-line @typescript-eslint/no-empty-function
8544
- async init() {
8545
- }
8546
- get name() {
8547
- var _a;
8548
- return (_a = this._rawYaml.metadata) == null ? void 0 : _a.name;
8549
- }
8550
- get namespace() {
8551
- var _a;
8552
- return (_a = this._rawYaml.metadata) == null ? void 0 : _a.namespace;
8553
- }
8554
- get labels() {
8555
- var _a;
8556
- return (_a = this._rawYaml.metadata) == null ? void 0 : _a.labels;
8557
- }
8558
- get annotations() {
8559
- var _a;
8560
- return (_a = this._rawYaml.metadata) == null ? void 0 : _a.annotations;
8561
- }
8562
- restore() {
8563
- return this._rawYaml;
8564
- }
8454
+ return filteredProps;
8565
8455
  }
8566
- class IngressModel extends ResourceModel {
8567
- constructor(_rawYaml, _globalStore) {
8568
- var _a;
8569
- super(_rawYaml, _globalStore);
8570
- __publicField(this, "flattenedRules");
8571
- this._rawYaml = _rawYaml;
8572
- this._globalStore = _globalStore;
8573
- this.flattenedRules = ((_a = this._rawYaml.spec.rules) == null ? void 0 : _a.reduce((res, rule2) => {
8574
- var _a2;
8575
- const paths = (_a2 = rule2.http) == null ? void 0 : _a2.paths.map((p) => {
8576
- var _a3, _b, _c, _d, _e, _f;
8577
- return {
8578
- resourceName: ((_a3 = p.backend.resource) == null ? void 0 : _a3.name) || "",
8579
- serviceName: ((_b = p.backend.service) == null ? void 0 : _b.name) || "",
8580
- fullPath: this.getFullPath(rule2, p.path),
8581
- pathType: p.pathType,
8582
- servicePort: ((_d = (_c = p.backend.service) == null ? void 0 : _c.port) == null ? void 0 : _d.number) || ((_f = (_e = p.backend.service) == null ? void 0 : _e.port) == null ? void 0 : _f.name),
8583
- host: rule2.host
8584
- };
8585
- });
8586
- return [...res, ...paths || []];
8587
- }, [])) || [];
8456
+ var warnIfInvalid = (value2, componentName) => {
8457
+ if (process.env.NODE_ENV !== "production") {
8458
+ if (typeof value2 === "string" || typeof value2 === "number" && isFinite(value2)) {
8459
+ return;
8460
+ }
8461
+ const stringified = typeof value2 === "object" ? JSON.stringify(value2) : String(value2);
8462
+ console.warn(
8463
+ `An interpolation evaluated to '${stringified}' in the component '${componentName}', which is probably a mistake. You should explicitly cast or transform the value to a string.`
8464
+ );
8588
8465
  }
8589
- getFullPath(rule2, path2 = "") {
8590
- if (!rule2.host) {
8591
- return path2 || "";
8466
+ };
8467
+ var idx = 0;
8468
+ function styled(tag) {
8469
+ var _a;
8470
+ let mockedClass = "";
8471
+ if (process.env.NODE_ENV === "test") {
8472
+ mockedClass += `mocked-styled-${idx++}`;
8473
+ if ((_a = tag == null ? void 0 : tag.__linaria) == null ? void 0 : _a.className) {
8474
+ mockedClass += ` ${tag.__linaria.className}`;
8592
8475
  }
8593
- const hostValue = rule2.host || "";
8594
- const protocal = this._rawYaml.spec.tls ? "https://" : "http://";
8595
- return `${protocal}${hostValue}${path2}`;
8596
8476
  }
8597
- }
8598
- class NetworkPolicyModel extends ResourceModel {
8599
- constructor(_rawYaml, _globalStore) {
8600
- super(_rawYaml, _globalStore);
8477
+ return (options) => {
8478
+ if (process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "test") {
8479
+ if (Array.isArray(options)) {
8480
+ throw new Error(
8481
+ 'Using the "styled" tag in runtime is not supported. Make sure you have set up the Babel plugin correctly. See https://github.com/callstack/linaria#setup'
8482
+ );
8483
+ }
8484
+ }
8485
+ const render = (props, ref) => {
8486
+ const { as: component = tag, class: className = mockedClass } = props;
8487
+ const shouldKeepProps = options.propsAsIs === void 0 ? !(typeof component === "string" && component.indexOf("-") === -1 && !isCapital(component[0])) : options.propsAsIs;
8488
+ const filteredProps = filterProps(shouldKeepProps, props, [
8489
+ "as",
8490
+ "class"
8491
+ ]);
8492
+ filteredProps.ref = ref;
8493
+ filteredProps.className = options.atomic ? cx_default(options.class, filteredProps.className || className) : cx_default(filteredProps.className || className, options.class);
8494
+ const { vars } = options;
8495
+ if (vars) {
8496
+ const style = {};
8497
+ for (const name2 in vars) {
8498
+ const variable = vars[name2];
8499
+ const result = variable[0];
8500
+ const unit = variable[1] || "";
8501
+ const value2 = typeof result === "function" ? result(props) : result;
8502
+ warnIfInvalid(value2, options.name);
8503
+ style[`--${name2}`] = `${value2}${unit}`;
8504
+ }
8505
+ const ownStyle = filteredProps.style || {};
8506
+ const keys = Object.keys(ownStyle);
8507
+ if (keys.length > 0) {
8508
+ keys.forEach((key2) => {
8509
+ style[key2] = ownStyle[key2];
8510
+ });
8511
+ }
8512
+ filteredProps.style = style;
8513
+ }
8514
+ if (tag.__linaria && tag !== component) {
8515
+ filteredProps.as = component;
8516
+ return React__default.createElement(tag, filteredProps);
8517
+ }
8518
+ return React__default.createElement(component, filteredProps);
8519
+ };
8520
+ const Result = React__default.forwardRef ? React__default.forwardRef(render) : (props) => {
8521
+ const rest = omit(props, ["innerRef"]);
8522
+ return render(rest, props.innerRef);
8523
+ };
8524
+ Result.displayName = options.name;
8525
+ Result.__linaria = {
8526
+ className: options.class || mockedClass,
8527
+ extends: tag
8528
+ };
8529
+ return Result;
8530
+ };
8531
+ }
8532
+ var styled_default = process.env.NODE_ENV !== "production" ? new Proxy(styled, {
8533
+ get(o, prop) {
8534
+ return o(prop);
8535
+ }
8536
+ }) : styled;
8537
+ const TableWidgets_ny30pi = "";
8538
+ const AuxiliaryLine = /* @__PURE__ */ styled_default("div")({
8539
+ name: "AuxiliaryLine",
8540
+ class: "ax1qopv",
8541
+ propsAsIs: false
8542
+ });
8543
+ const index_dmbxj3 = "";
8544
+ const TableContainerStyle = "t1upn1sz";
8545
+ function Table(props) {
8546
+ const kit = useUIKit();
8547
+ const {
8548
+ t: t2
8549
+ } = useTranslation();
8550
+ const {
8551
+ loading,
8552
+ error,
8553
+ data: dataSource,
8554
+ rowKey,
8555
+ columns,
8556
+ scroll,
8557
+ currentPage,
8558
+ currentSize,
8559
+ RowMenu,
8560
+ refetch,
8561
+ onPageChange,
8562
+ onSizeChange,
8563
+ empty: empty2
8564
+ } = props;
8565
+ const auxiliaryLineRef = useRef(null);
8566
+ const wrapperRef = useRef(null);
8567
+ const pagination = useMemo(() => ({
8568
+ current: currentPage,
8569
+ pageSize: currentSize,
8570
+ onChange: onPageChange
8571
+ }), [currentPage, currentSize, onPageChange]);
8572
+ const finalColumns = useMemo(() => {
8573
+ if (RowMenu) {
8574
+ const actionColumn = {
8575
+ key: "_action_",
8576
+ display: true,
8577
+ dataIndex: [],
8578
+ title: "",
8579
+ render: (_, record) => {
8580
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(RowMenu, {
8581
+ record
8582
+ });
8583
+ }
8584
+ };
8585
+ return [...columns, actionColumn];
8586
+ }
8587
+ return columns;
8588
+ }, [columns, RowMenu]);
8589
+ if (loading) {
8590
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(kit.loading, {});
8591
+ } else if (error) {
8592
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, {
8593
+ errorText: t2("dovetail.retry_when_access_data_failed"),
8594
+ refetch,
8595
+ style: {
8596
+ padding: "15px 0"
8597
+ }
8598
+ });
8599
+ } else if (dataSource.length === 0) {
8600
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, {
8601
+ errorText: empty2 || t2("dovetail.empty"),
8602
+ style: {
8603
+ padding: "15px 0"
8604
+ }
8605
+ });
8606
+ }
8607
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
8608
+ ref: wrapperRef,
8609
+ className: cx_default(TableContainerStyle, props.className, "table-wrapper"),
8610
+ children: [/* @__PURE__ */ jsxRuntimeExports.jsx(kit.table, {
8611
+ tableLayout: "fixed",
8612
+ columns: finalColumns,
8613
+ dataSource,
8614
+ pagination,
8615
+ error,
8616
+ loading,
8617
+ rowKey,
8618
+ wrapper: wrapperRef,
8619
+ scroll
8620
+ }), /* @__PURE__ */ jsxRuntimeExports.jsx(AuxiliaryLine, {
8621
+ ref: auxiliaryLineRef
8622
+ }), /* @__PURE__ */ jsxRuntimeExports.jsx(kit.pagination, {
8623
+ current: currentPage,
8624
+ size: currentSize,
8625
+ count: dataSource.length,
8626
+ onChange: onPageChange,
8627
+ onSizeChange
8628
+ })]
8629
+ });
8630
+ }
8631
+ const ComponentContext = createContext({});
8632
+ const PodSelectorTable = ({ podSelectors = {} }) => {
8633
+ const { t: t2 } = useTranslation();
8634
+ const component = useContext(ComponentContext);
8635
+ const Table$1 = component.Table || Table;
8636
+ const [currentPage, setCurrentPage] = useState(1);
8637
+ const datas = Object.keys(podSelectors).map((key2) => ({
8638
+ id: key2,
8639
+ key: key2,
8640
+ value: podSelectors[key2]
8641
+ }));
8642
+ const columns = [
8643
+ {
8644
+ key: "key",
8645
+ display: true,
8646
+ dataIndex: "key",
8647
+ title: t2("dovetail.key"),
8648
+ sortable: true
8649
+ },
8650
+ {
8651
+ key: "value",
8652
+ display: true,
8653
+ dataIndex: "value",
8654
+ title: t2("dovetail.value"),
8655
+ sortable: true
8656
+ }
8657
+ ];
8658
+ if (datas.length === 0) {
8659
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
8660
+ WidgetErrorContent$1,
8661
+ {
8662
+ errorText: t2("dovetail.no_resource", { kind: ` ${t2("dovetail.pod_selector")}` }),
8663
+ style: { padding: "15px 0" }
8664
+ }
8665
+ );
8666
+ }
8667
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
8668
+ Table$1,
8669
+ {
8670
+ tableKey: "podSelector",
8671
+ loading: false,
8672
+ data: datas,
8673
+ columns: addDefaultRenderToColumns(columns),
8674
+ rowKey: "key",
8675
+ empty: t2("dovetail.empty"),
8676
+ currentSize: 10,
8677
+ currentPage,
8678
+ onPageChange: setCurrentPage,
8679
+ showMenuColumn: false
8680
+ }
8681
+ );
8682
+ };
8683
+ const PortsTable = ({ service }) => {
8684
+ const { t: t2 } = useTranslation();
8685
+ const component = useContext(ComponentContext);
8686
+ const Table$1 = component.Table || Table;
8687
+ const [currentPage, setCurrentPage] = useState(1);
8688
+ const columns = [
8689
+ {
8690
+ key: "name",
8691
+ display: true,
8692
+ dataIndex: "name",
8693
+ title: t2("dovetail.name"),
8694
+ sortable: true
8695
+ },
8696
+ {
8697
+ key: "servicePort",
8698
+ display: true,
8699
+ dataIndex: "port",
8700
+ title: t2("dovetail.service_port"),
8701
+ sortable: true
8702
+ },
8703
+ {
8704
+ key: "protocol",
8705
+ display: true,
8706
+ dataIndex: "protocol",
8707
+ title: t2("dovetail.protocol"),
8708
+ sortable: true
8709
+ },
8710
+ {
8711
+ key: "podPort",
8712
+ display: true,
8713
+ dataIndex: "targetPort",
8714
+ title: t2("dovetail.pod_port"),
8715
+ sortable: true
8716
+ },
8717
+ {
8718
+ key: "nodePort",
8719
+ display: true,
8720
+ dataIndex: "nodePort",
8721
+ title: t2("dovetail.node_port"),
8722
+ sortable: true
8723
+ }
8724
+ ];
8725
+ const ports = (service._rawYaml.spec.ports || []).map((port2) => ({
8726
+ ...port2,
8727
+ id: port2.name || ""
8728
+ }));
8729
+ if ((ports == null ? void 0 : ports.length) === 0) {
8730
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, { errorText: t2("dovetail.no_resource", { kind: t2("dovetail.port") }), style: { padding: "15px 0" } });
8731
+ }
8732
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
8733
+ Table$1,
8734
+ {
8735
+ tableKey: "ports",
8736
+ loading: false,
8737
+ data: ports,
8738
+ columns: addDefaultRenderToColumns(columns),
8739
+ rowKey: "name",
8740
+ empty: t2("dovetail.empty"),
8741
+ currentSize: 10,
8742
+ currentPage,
8743
+ onPageChange: setCurrentPage,
8744
+ showMenuColumn: false
8745
+ }
8746
+ );
8747
+ };
8748
+ class ResourceModel {
8749
+ constructor(_rawYaml, _globalStore) {
8750
+ __publicField(this, "id");
8751
+ __publicField(this, "apiVersion");
8752
+ __publicField(this, "kind");
8753
+ __publicField(this, "metadata");
8754
+ this._rawYaml = _rawYaml;
8755
+ this._globalStore = _globalStore;
8756
+ Object.keys(_rawYaml).forEach((key2) => {
8757
+ Object.defineProperty(this, key2, {
8758
+ value: _rawYaml[key2]
8759
+ });
8760
+ });
8761
+ }
8762
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
8763
+ async init() {
8764
+ }
8765
+ get name() {
8766
+ var _a;
8767
+ return (_a = this._rawYaml.metadata) == null ? void 0 : _a.name;
8768
+ }
8769
+ get namespace() {
8770
+ var _a;
8771
+ return (_a = this._rawYaml.metadata) == null ? void 0 : _a.namespace;
8772
+ }
8773
+ get labels() {
8774
+ var _a;
8775
+ return (_a = this._rawYaml.metadata) == null ? void 0 : _a.labels;
8776
+ }
8777
+ get annotations() {
8778
+ var _a;
8779
+ return (_a = this._rawYaml.metadata) == null ? void 0 : _a.annotations;
8780
+ }
8781
+ restore() {
8782
+ return this._rawYaml;
8783
+ }
8784
+ }
8785
+ class IngressModel extends ResourceModel {
8786
+ constructor(_rawYaml, _globalStore) {
8787
+ var _a;
8788
+ super(_rawYaml, _globalStore);
8789
+ __publicField(this, "flattenedRules");
8790
+ this._rawYaml = _rawYaml;
8791
+ this._globalStore = _globalStore;
8792
+ this.flattenedRules = ((_a = this._rawYaml.spec.rules) == null ? void 0 : _a.reduce((res, rule2) => {
8793
+ var _a2;
8794
+ const paths = (_a2 = rule2.http) == null ? void 0 : _a2.paths.map((p) => {
8795
+ var _a3, _b, _c, _d, _e, _f;
8796
+ return {
8797
+ resourceName: ((_a3 = p.backend.resource) == null ? void 0 : _a3.name) || "",
8798
+ serviceName: ((_b = p.backend.service) == null ? void 0 : _b.name) || "",
8799
+ fullPath: this.getFullPath(rule2, p.path),
8800
+ pathType: p.pathType,
8801
+ servicePort: ((_d = (_c = p.backend.service) == null ? void 0 : _c.port) == null ? void 0 : _d.number) || ((_f = (_e = p.backend.service) == null ? void 0 : _e.port) == null ? void 0 : _f.name),
8802
+ host: rule2.host
8803
+ };
8804
+ });
8805
+ return [...res, ...paths || []];
8806
+ }, [])) || [];
8807
+ }
8808
+ getFullPath(rule2, path2 = "") {
8809
+ if (!rule2.host) {
8810
+ return path2 || "";
8811
+ }
8812
+ const hostValue = rule2.host || "";
8813
+ const protocal = this._rawYaml.spec.tls ? "https://" : "http://";
8814
+ return `${protocal}${hostValue}${path2}`;
8815
+ }
8816
+ }
8817
+ class NetworkPolicyModel extends ResourceModel {
8818
+ constructor(_rawYaml, _globalStore) {
8819
+ super(_rawYaml, _globalStore);
8601
8820
  this._rawYaml = _rawYaml;
8602
8821
  this._globalStore = _globalStore;
8603
8822
  }
@@ -9742,352 +9961,148 @@ var relativeTime$1 = { exports: {} };
9742
9961
  };
9743
9962
  n2.toNow = function(r3) {
9744
9963
  return this.to(d(this), r3);
9745
- }, n2.fromNow = function(r3) {
9746
- return this.from(d(this), r3);
9747
- };
9748
- };
9749
- });
9750
- })(relativeTime$1);
9751
- var relativeTimeExports = relativeTime$1.exports;
9752
- const relativeTime = /* @__PURE__ */ getDefaultExportFromCjs(relativeTimeExports);
9753
- const index_fmx695 = "";
9754
- dayjs.extend(relativeTime, {
9755
- thresholds: [{
9756
- l: "s",
9757
- r: 1
9758
- }, {
9759
- l: "m",
9760
- r: 1
9761
- }, {
9762
- l: "mm",
9763
- r: 59,
9764
- d: "minute"
9765
- }, {
9766
- l: "h",
9767
- r: 1
9768
- }, {
9769
- l: "hh",
9770
- r: 23,
9771
- d: "hour"
9772
- }, {
9773
- l: "d",
9774
- r: 1
9775
- }, {
9776
- l: "dd",
9777
- r: Infinity,
9778
- d: "day"
9779
- }]
9780
- });
9781
- const TimeStyle = "t19ustft";
9782
- const Time = (props) => {
9783
- const {
9784
- className,
9785
- date,
9786
- dateTemplate = "YYYY-MM-DD",
9787
- timeTemplate = "HH:mm"
9788
- } = props;
9789
- const {
9790
- i18n: i18n2
9791
- } = useTranslation();
9792
- const [text, setText] = useState(dayjs(date).fromNow());
9793
- useEffect(() => {
9794
- const onChange = () => {
9795
- setText(dayjs(date).fromNow());
9796
- };
9797
- i18n2.on("languageChanged", onChange);
9798
- return () => i18n2.off("languageChanged", onChange);
9799
- }, [date, i18n2]);
9800
- if (!date)
9801
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, {
9802
- children: "-"
9803
- });
9804
- const time = dayjs(date);
9805
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, {
9806
- title: `${time.format(dateTemplate)} ${time.format(timeTemplate)}`,
9807
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
9808
- className: cx_default(className, TimeStyle),
9809
- children: text
9810
- })
9811
- });
9812
- };
9813
- const ConditionsTable = ({ conditions = [] }) => {
9814
- const kit = useUIKit();
9815
- const { t: t2 } = useTranslation();
9816
- const conditionsWithId = addId(conditions, "type");
9817
- const columns = [
9818
- {
9819
- key: "type",
9820
- display: true,
9821
- dataIndex: "type",
9822
- title: t2("dovetail.type"),
9823
- sortable: true
9824
- },
9825
- {
9826
- key: "status",
9827
- display: true,
9828
- dataIndex: "status",
9829
- title: t2("dovetail.state"),
9830
- render(value2) {
9831
- const colorMap = {
9832
- "True": "green",
9833
- "False": "red",
9834
- "Unknown": "warning"
9835
- };
9836
- return /* @__PURE__ */ jsxRuntimeExports.jsx(kit.statusCapsule, { color: colorMap[value2 || "Unknown"], className: cx_default(StateTagStyle, "no-background"), children: t2(`dovetail.${value2.toLowerCase()}`) });
9837
- },
9838
- sortable: true
9839
- },
9840
- {
9841
- key: "lastUpdateTime",
9842
- display: true,
9843
- dataIndex: "lastUpdateTime",
9844
- title: t2("dovetail.updated_time"),
9845
- sortable: true,
9846
- render: (value2, record) => {
9847
- const time = value2 || record.lastTransitionTime;
9848
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Time, { date: new Date(time) });
9849
- }
9850
- },
9851
- {
9852
- key: "reason",
9853
- display: true,
9854
- dataIndex: "reason",
9855
- title: t2("dovetail.reason"),
9856
- sortable: true
9857
- },
9858
- {
9859
- key: "message",
9860
- display: true,
9861
- dataIndex: "message",
9862
- title: t2("dovetail.message"),
9863
- sortable: true
9864
- }
9865
- ];
9866
- if (conditionsWithId.length === 0) {
9867
- return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, { errorText: t2("dovetail.no_resource", { kind: t2("dovetail.condition") }), style: { padding: "15px 0" } });
9868
- }
9869
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
9870
- kit.table,
9871
- {
9872
- loading: false,
9873
- dataSource: conditionsWithId,
9874
- columns: addDefaultRenderToColumns(columns),
9875
- rowKey: "type",
9876
- empty: t2("dovetail.empty")
9877
- }
9878
- );
9879
- };
9880
- function memoize$1(fn) {
9881
- var cache = /* @__PURE__ */ Object.create(null);
9882
- return function(arg) {
9883
- if (cache[arg] === void 0)
9884
- cache[arg] = fn(arg);
9885
- return cache[arg];
9886
- };
9887
- }
9888
- var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/;
9889
- var isPropValid = /* @__PURE__ */ memoize$1(
9890
- function(prop) {
9891
- return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91;
9892
- }
9893
- /* Z+1 */
9894
- );
9895
- var isCapital = (ch) => ch.toUpperCase() === ch;
9896
- var filterKey = (keys) => (key2) => keys.indexOf(key2) === -1;
9897
- var omit = (obj, keys) => {
9898
- const res = {};
9899
- Object.keys(obj).filter(filterKey(keys)).forEach((key2) => {
9900
- res[key2] = obj[key2];
9901
- });
9902
- return res;
9903
- };
9904
- function filterProps(asIs, props, omitKeys) {
9905
- const filteredProps = omit(props, omitKeys);
9906
- if (!asIs) {
9907
- const interopValidAttr = typeof isPropValid === "function" ? { default: isPropValid } : isPropValid;
9908
- Object.keys(filteredProps).forEach((key2) => {
9909
- if (!interopValidAttr.default(key2)) {
9910
- delete filteredProps[key2];
9911
- }
9912
- });
9913
- }
9914
- return filteredProps;
9915
- }
9916
- var warnIfInvalid = (value2, componentName) => {
9917
- if (process.env.NODE_ENV !== "production") {
9918
- if (typeof value2 === "string" || typeof value2 === "number" && isFinite(value2)) {
9919
- return;
9920
- }
9921
- const stringified = typeof value2 === "object" ? JSON.stringify(value2) : String(value2);
9922
- console.warn(
9923
- `An interpolation evaluated to '${stringified}' in the component '${componentName}', which is probably a mistake. You should explicitly cast or transform the value to a string.`
9924
- );
9925
- }
9926
- };
9927
- var idx = 0;
9928
- function styled(tag) {
9929
- var _a;
9930
- let mockedClass = "";
9931
- if (process.env.NODE_ENV === "test") {
9932
- mockedClass += `mocked-styled-${idx++}`;
9933
- if ((_a = tag == null ? void 0 : tag.__linaria) == null ? void 0 : _a.className) {
9934
- mockedClass += ` ${tag.__linaria.className}`;
9935
- }
9936
- }
9937
- return (options) => {
9938
- if (process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "test") {
9939
- if (Array.isArray(options)) {
9940
- throw new Error(
9941
- 'Using the "styled" tag in runtime is not supported. Make sure you have set up the Babel plugin correctly. See https://github.com/callstack/linaria#setup'
9942
- );
9943
- }
9944
- }
9945
- const render = (props, ref) => {
9946
- const { as: component = tag, class: className = mockedClass } = props;
9947
- const shouldKeepProps = options.propsAsIs === void 0 ? !(typeof component === "string" && component.indexOf("-") === -1 && !isCapital(component[0])) : options.propsAsIs;
9948
- const filteredProps = filterProps(shouldKeepProps, props, [
9949
- "as",
9950
- "class"
9951
- ]);
9952
- filteredProps.ref = ref;
9953
- filteredProps.className = options.atomic ? cx_default(options.class, filteredProps.className || className) : cx_default(filteredProps.className || className, options.class);
9954
- const { vars } = options;
9955
- if (vars) {
9956
- const style = {};
9957
- for (const name2 in vars) {
9958
- const variable = vars[name2];
9959
- const result = variable[0];
9960
- const unit = variable[1] || "";
9961
- const value2 = typeof result === "function" ? result(props) : result;
9962
- warnIfInvalid(value2, options.name);
9963
- style[`--${name2}`] = `${value2}${unit}`;
9964
- }
9965
- const ownStyle = filteredProps.style || {};
9966
- const keys = Object.keys(ownStyle);
9967
- if (keys.length > 0) {
9968
- keys.forEach((key2) => {
9969
- style[key2] = ownStyle[key2];
9970
- });
9971
- }
9972
- filteredProps.style = style;
9973
- }
9974
- if (tag.__linaria && tag !== component) {
9975
- filteredProps.as = component;
9976
- return React__default.createElement(tag, filteredProps);
9977
- }
9978
- return React__default.createElement(component, filteredProps);
9979
- };
9980
- const Result = React__default.forwardRef ? React__default.forwardRef(render) : (props) => {
9981
- const rest = omit(props, ["innerRef"]);
9982
- return render(rest, props.innerRef);
9983
- };
9984
- Result.displayName = options.name;
9985
- Result.__linaria = {
9986
- className: options.class || mockedClass,
9987
- extends: tag
9988
- };
9989
- return Result;
9990
- };
9991
- }
9992
- var styled_default = process.env.NODE_ENV !== "production" ? new Proxy(styled, {
9993
- get(o, prop) {
9994
- return o(prop);
9995
- }
9996
- }) : styled;
9997
- const TableWidgets_ny30pi = "";
9998
- const AuxiliaryLine = /* @__PURE__ */ styled_default("div")({
9999
- name: "AuxiliaryLine",
10000
- class: "ax1qopv",
10001
- propsAsIs: false
9964
+ }, n2.fromNow = function(r3) {
9965
+ return this.from(d(this), r3);
9966
+ };
9967
+ };
9968
+ });
9969
+ })(relativeTime$1);
9970
+ var relativeTimeExports = relativeTime$1.exports;
9971
+ const relativeTime = /* @__PURE__ */ getDefaultExportFromCjs(relativeTimeExports);
9972
+ const index_fmx695 = "";
9973
+ dayjs.extend(relativeTime, {
9974
+ thresholds: [{
9975
+ l: "s",
9976
+ r: 1
9977
+ }, {
9978
+ l: "m",
9979
+ r: 1
9980
+ }, {
9981
+ l: "mm",
9982
+ r: 59,
9983
+ d: "minute"
9984
+ }, {
9985
+ l: "h",
9986
+ r: 1
9987
+ }, {
9988
+ l: "hh",
9989
+ r: 23,
9990
+ d: "hour"
9991
+ }, {
9992
+ l: "d",
9993
+ r: 1
9994
+ }, {
9995
+ l: "dd",
9996
+ r: Infinity,
9997
+ d: "day"
9998
+ }]
10002
9999
  });
10003
- const index_dmbxj3 = "";
10004
- const TableContainerStyle = "t1upn1sz";
10005
- function Table(props) {
10006
- const kit = useUIKit();
10007
- const {
10008
- t: t2
10009
- } = useTranslation();
10000
+ const TimeStyle = "t19ustft";
10001
+ const Time = (props) => {
10010
10002
  const {
10011
- loading,
10012
- error,
10013
- data: dataSource,
10014
- rowKey,
10015
- columns,
10016
- scroll,
10017
- currentPage,
10018
- currentSize,
10019
- RowMenu,
10020
- refetch,
10021
- onPageChange,
10022
- onSizeChange,
10023
- empty: empty2
10003
+ className,
10004
+ date,
10005
+ dateTemplate = "YYYY-MM-DD",
10006
+ timeTemplate = "HH:mm"
10024
10007
  } = props;
10025
- const auxiliaryLineRef = useRef(null);
10026
- const wrapperRef = useRef(null);
10027
- const pagination = useMemo(() => ({
10028
- current: currentPage,
10029
- pageSize: currentSize,
10030
- onChange: onPageChange
10031
- }), [currentPage, currentSize, onPageChange]);
10032
- const finalColumns = useMemo(() => {
10033
- if (RowMenu) {
10034
- const actionColumn = {
10035
- key: "_action_",
10036
- display: true,
10037
- dataIndex: [],
10038
- title: "",
10039
- render: (_, record) => {
10040
- return /* @__PURE__ */ jsxRuntimeExports.jsx(RowMenu, {
10041
- record
10042
- });
10043
- }
10044
- };
10045
- return [...columns, actionColumn];
10046
- }
10047
- return columns;
10048
- }, [columns, RowMenu]);
10049
- if (loading) {
10050
- return /* @__PURE__ */ jsxRuntimeExports.jsx(kit.loading, {});
10051
- } else if (error) {
10052
- return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, {
10053
- errorText: t2("dovetail.retry_when_access_data_failed"),
10054
- refetch,
10055
- style: {
10056
- padding: "15px 0"
10057
- }
10008
+ const {
10009
+ i18n: i18n2
10010
+ } = useTranslation();
10011
+ const [text, setText] = useState(dayjs(date).fromNow());
10012
+ useEffect(() => {
10013
+ const onChange = () => {
10014
+ setText(dayjs(date).fromNow());
10015
+ };
10016
+ i18n2.on("languageChanged", onChange);
10017
+ return () => i18n2.off("languageChanged", onChange);
10018
+ }, [date, i18n2]);
10019
+ if (!date)
10020
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, {
10021
+ children: "-"
10058
10022
  });
10059
- } else if (dataSource.length === 0) {
10060
- return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, {
10061
- errorText: empty2 || t2("dovetail.empty"),
10062
- style: {
10063
- padding: "15px 0"
10023
+ const time = dayjs(date);
10024
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, {
10025
+ title: `${time.format(dateTemplate)} ${time.format(timeTemplate)}`,
10026
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
10027
+ className: cx_default(className, TimeStyle),
10028
+ children: text
10029
+ })
10030
+ });
10031
+ };
10032
+ const ConditionsTable = ({ conditions = [] }) => {
10033
+ const [currentPage, setCurrentPage] = useState(1);
10034
+ const { t: t2 } = useTranslation();
10035
+ const component = useContext(ComponentContext);
10036
+ const Table$1 = component.Table || Table;
10037
+ const conditionsWithId = addId(conditions, "type");
10038
+ const columns = [
10039
+ {
10040
+ key: "type",
10041
+ display: true,
10042
+ dataIndex: "type",
10043
+ title: t2("dovetail.type"),
10044
+ sortable: true
10045
+ },
10046
+ {
10047
+ key: "status",
10048
+ display: true,
10049
+ dataIndex: "status",
10050
+ title: t2("dovetail.state"),
10051
+ render(value2) {
10052
+ const colorMap = {
10053
+ "True": "green",
10054
+ "False": "red",
10055
+ "Unknown": "warning"
10056
+ };
10057
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(StatusCapsule, { color: colorMap[value2 || "Unknown"], className: cx_default(StateTagStyle, "no-background"), children: t2(`dovetail.${value2.toLowerCase()}`) });
10058
+ },
10059
+ sortable: true
10060
+ },
10061
+ {
10062
+ key: "lastUpdateTime",
10063
+ display: true,
10064
+ dataIndex: "lastUpdateTime",
10065
+ title: t2("dovetail.updated_time"),
10066
+ sortable: true,
10067
+ render: (value2, record) => {
10068
+ const time = value2 || record.lastTransitionTime;
10069
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Time, { date: new Date(time) });
10064
10070
  }
10065
- });
10071
+ },
10072
+ {
10073
+ key: "reason",
10074
+ display: true,
10075
+ dataIndex: "reason",
10076
+ title: t2("dovetail.reason"),
10077
+ sortable: true
10078
+ },
10079
+ {
10080
+ key: "message",
10081
+ display: true,
10082
+ dataIndex: "message",
10083
+ title: t2("dovetail.message"),
10084
+ sortable: true
10085
+ }
10086
+ ];
10087
+ if (conditionsWithId.length === 0) {
10088
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, { errorText: t2("dovetail.no_resource", { kind: t2("dovetail.condition") }), style: { padding: "15px 0" } });
10066
10089
  }
10067
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
10068
- ref: wrapperRef,
10069
- className: cx_default(TableContainerStyle, props.className, "table-wrapper"),
10070
- children: [/* @__PURE__ */ jsxRuntimeExports.jsx(kit.table, {
10071
- tableLayout: "fixed",
10072
- columns: finalColumns,
10073
- dataSource,
10074
- pagination,
10075
- error,
10076
- loading,
10077
- rowKey,
10078
- wrapper: wrapperRef,
10079
- scroll
10080
- }), /* @__PURE__ */ jsxRuntimeExports.jsx(AuxiliaryLine, {
10081
- ref: auxiliaryLineRef
10082
- }), /* @__PURE__ */ jsxRuntimeExports.jsx(kit.pagination, {
10083
- current: currentPage,
10084
- size: currentSize,
10085
- count: dataSource.length,
10086
- onChange: onPageChange,
10087
- onSizeChange
10088
- })]
10089
- });
10090
- }
10090
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
10091
+ Table$1,
10092
+ {
10093
+ tableKey: "condition",
10094
+ loading: false,
10095
+ data: conditionsWithId,
10096
+ columns: addDefaultRenderToColumns(columns),
10097
+ rowKey: "type",
10098
+ empty: t2("dovetail.empty"),
10099
+ currentSize: 10,
10100
+ currentPage,
10101
+ onPageChange: setCurrentPage,
10102
+ showMenuColumn: false
10103
+ }
10104
+ );
10105
+ };
10091
10106
  function useEdit() {
10092
10107
  const { resource } = useParsed();
10093
10108
  const go = useGo();
@@ -10281,6 +10296,8 @@ const CronjobJobsTable = ({
10281
10296
  const kit = useUIKit();
10282
10297
  const [selectedKeys] = useState([]);
10283
10298
  const [currentPage, setCurrentPage] = useState(1);
10299
+ const component = useContext(ComponentContext);
10300
+ const Table$1 = component.Table || Table;
10284
10301
  const {
10285
10302
  data: data2
10286
10303
  } = useList({
@@ -10302,7 +10319,7 @@ const CronjobJobsTable = ({
10302
10319
  children: [hideToolBar ? null : /* @__PURE__ */ jsxRuntimeExports.jsx(TableToolBar, {
10303
10320
  selectedKeys,
10304
10321
  hideCreate: true
10305
- }), /* @__PURE__ */ jsxRuntimeExports.jsx(Table, {
10322
+ }), /* @__PURE__ */ jsxRuntimeExports.jsx(Table$1, {
10306
10323
  tableKey: "cronjobs",
10307
10324
  loading: !dataSource,
10308
10325
  data: dataSource || [],
@@ -10312,7 +10329,8 @@ const CronjobJobsTable = ({
10312
10329
  currentPage,
10313
10330
  onPageChange: (p) => setCurrentPage(p),
10314
10331
  currentSize: 10,
10315
- refetch: () => null
10332
+ refetch: () => null,
10333
+ showMenuColumn: false
10316
10334
  })]
10317
10335
  });
10318
10336
  };
@@ -10401,6 +10419,8 @@ const EventsTable = ({}) => {
10401
10419
  ],
10402
10420
  [i18n2]
10403
10421
  );
10422
+ const component = useContext(ComponentContext);
10423
+ const Table$1 = component.Table || Table;
10404
10424
  const dataSource = useMemo(() => {
10405
10425
  return data2 == null ? void 0 : data2.data.filter((d) => {
10406
10426
  const objectId = `${d.regarding.namespace}/${d.regarding.name}`;
@@ -10417,7 +10437,7 @@ const EventsTable = ({}) => {
10417
10437
  );
10418
10438
  }
10419
10439
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
10420
- Table,
10440
+ Table$1,
10421
10441
  {
10422
10442
  tableKey: "events",
10423
10443
  loading: isLoading,
@@ -10428,7 +10448,8 @@ const EventsTable = ({}) => {
10428
10448
  currentPage,
10429
10449
  onPageChange: (p) => setCurrentPage(p),
10430
10450
  currentSize: 10,
10431
- refetch: () => null
10451
+ refetch: () => null,
10452
+ showMenuColumn: false
10432
10453
  }
10433
10454
  );
10434
10455
  };
@@ -10465,11 +10486,13 @@ const ResourceLink = (props) => {
10465
10486
  return /* @__PURE__ */ jsxRuntimeExports.jsx(kit.Link, { onClick, children: resourceId });
10466
10487
  };
10467
10488
  const IngressRulesTable = ({ ingress }) => {
10468
- const kit = useUIKit();
10469
10489
  const { t: t2 } = useTranslation();
10470
10490
  const rows = useMemo(() => {
10471
10491
  return addId(ingress.flattenedRules || [], "fullPath");
10472
10492
  }, [ingress.flattenedRules]);
10493
+ const component = useContext(ComponentContext);
10494
+ const Table$1 = component.Table || Table;
10495
+ const [currentPage, setCurrentPage] = useState(1);
10473
10496
  const columns = [
10474
10497
  {
10475
10498
  key: "pathType",
@@ -10533,13 +10556,18 @@ const IngressRulesTable = ({ ingress }) => {
10533
10556
  return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, { errorText: t2("dovetail.no_resource", { kind: t2("dovetail.rule") }), style: { padding: "15px 0" } });
10534
10557
  }
10535
10558
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
10536
- kit.table,
10559
+ Table$1,
10537
10560
  {
10561
+ tableKey: "ingressRules",
10538
10562
  loading: false,
10539
- dataSource: rows,
10563
+ data: rows,
10540
10564
  columns: addDefaultRenderToColumns(columns),
10541
- rowKey: "type",
10542
- empty: t2("dovetail.empty")
10565
+ rowKey: "pathType",
10566
+ empty: t2("dovetail.empty"),
10567
+ currentSize: 10,
10568
+ currentPage,
10569
+ onPageChange: setCurrentPage,
10570
+ showMenuColumn: false
10543
10571
  }
10544
10572
  );
10545
10573
  };
@@ -10603,7 +10631,7 @@ function KeyValueAnnotation(props) {
10603
10631
  children: Object.keys(data2).length
10604
10632
  }), /* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
10605
10633
  type: "link",
10606
- className: ExpandButtonStyle,
10634
+ className: cx_default(ExpandButtonStyle, Typo.Label.l4_regular_title),
10607
10635
  onClick: () => {
10608
10636
  setIsExpand(!isExpand);
10609
10637
  },
@@ -10718,8 +10746,7 @@ function Tabs(props) {
10718
10746
  return /* @__PURE__ */ jsxRuntimeExports.jsx(kit.tabsTabPane, { tab: tab.title, children: tab.children }, tab.title);
10719
10747
  }) });
10720
10748
  }
10721
- const ComponentContext = createContext({});
10722
- const ShowContent_tusz9j = "";
10749
+ const ShowContent_eym19u = "";
10723
10750
  const ShowContentWrapperStyle = "s9agep2";
10724
10751
  const BackButton = "bo89gfi";
10725
10752
  const ToolBarWrapper = "t1ohe42f";
@@ -10802,7 +10829,7 @@ const ShowContent = (props) => {
10802
10829
  children: field.render ? field.render(value2, record, field) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
10803
10830
  className: FieldWrapperStyle,
10804
10831
  children: [field.title && /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
10805
- className: Typo.Label.l3_regular,
10832
+ className: Typo.Label.l4_regular_title,
10806
10833
  style: {
10807
10834
  width: field.labelWidth || "165px",
10808
10835
  marginRight: 8,
@@ -10815,6 +10842,7 @@ const ShowContent = (props) => {
10815
10842
  minWidth: 0
10816
10843
  },
10817
10844
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(ValueDisplay, {
10845
+ className: Typo.Label.l4_regular_title,
10818
10846
  value: content,
10819
10847
  useOverflow: false
10820
10848
  })
@@ -10868,6 +10896,7 @@ const ShowContent = (props) => {
10868
10896
  marginRight: 8
10869
10897
  },
10870
10898
  onClick: openForm,
10899
+ prefixIcon: /* @__PURE__ */ jsxRuntimeExports.jsx(EditPen16GradientBlueIcon, {}),
10871
10900
  children: t2("dovetail.edit_yaml")
10872
10901
  }), /* @__PURE__ */ jsxRuntimeExports.jsx(Dropdown, {
10873
10902
  record,
@@ -10937,6 +10966,8 @@ const WorkloadPodsTable = ({
10937
10966
  const kit = useUIKit();
10938
10967
  const [selectedKeys, setSelectedKeys] = useState([]);
10939
10968
  const [currentPage, setCurrentPage] = useState(1);
10969
+ const component = useContext(ComponentContext);
10970
+ const Table$1 = component.Table || Table;
10940
10971
  const {
10941
10972
  data: data2
10942
10973
  } = useList({
@@ -10977,7 +11008,7 @@ const WorkloadPodsTable = ({
10977
11008
  children: [hideToolbar ? null : /* @__PURE__ */ jsxRuntimeExports.jsx(TableToolBar, {
10978
11009
  selectedKeys,
10979
11010
  hideCreate: true
10980
- }), /* @__PURE__ */ jsxRuntimeExports.jsx(Table, {
11011
+ }), /* @__PURE__ */ jsxRuntimeExports.jsx(Table$1, {
10981
11012
  tableKey: "pods",
10982
11013
  loading: !dataSource,
10983
11014
  data: dataSource || [],
@@ -10988,7 +11019,8 @@ const WorkloadPodsTable = ({
10988
11019
  currentPage,
10989
11020
  onPageChange: (p) => setCurrentPage(p),
10990
11021
  currentSize: 10,
10991
- refetch: () => null
11022
+ refetch: () => null,
11023
+ showMenuColumn: false
10992
11024
  })]
10993
11025
  });
10994
11026
  };
@@ -11162,7 +11194,7 @@ function EditField(props) {
11162
11194
  children: i18n2.t("dovetail.edit")
11163
11195
  });
11164
11196
  }
11165
- const index_1qy3pu6 = "";
11197
+ const index_psn0hb = "";
11166
11198
  const WorkloadReplicasWrapperStyle = "w8ychfk";
11167
11199
  const DonutChartWrapperStyle = "d1o004do";
11168
11200
  const DonutChartStyle = "dfo80qq";
@@ -11262,10 +11294,10 @@ function WorkloadReplicas({
11262
11294
  color: "rgba(33, 190, 106, 1)"
11263
11295
  }];
11264
11296
  const remain = replicas - readyReplicas;
11265
- if (remain > 0) {
11297
+ if (remain > 0 || replicas === 0) {
11266
11298
  data2.push({
11267
11299
  name: "remain",
11268
- value: remain,
11300
+ value: replicas === 0 ? 1 : remain,
11269
11301
  color: "rgba(162, 240, 213, 1)"
11270
11302
  });
11271
11303
  }
@@ -11297,20 +11329,20 @@ function WorkloadReplicas({
11297
11329
  })
11298
11330
  }), /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
11299
11331
  className: ContentWrapperStyle,
11300
- children: [/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
11301
- children: [/* @__PURE__ */ jsxRuntimeExports.jsx("span", {
11332
+ children: [/* @__PURE__ */ jsxRuntimeExports.jsxs("tr", {
11333
+ children: [/* @__PURE__ */ jsxRuntimeExports.jsx("td", {
11302
11334
  className: LabelStyle,
11303
11335
  children: t2("dovetail.pod_ready_num")
11304
- }), /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
11336
+ }), /* @__PURE__ */ jsxRuntimeExports.jsx("td", {
11305
11337
  children: readyReplicas
11306
11338
  })]
11307
- }), /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
11308
- children: [/* @__PURE__ */ jsxRuntimeExports.jsx("span", {
11339
+ }), /* @__PURE__ */ jsxRuntimeExports.jsxs("tr", {
11340
+ children: [/* @__PURE__ */ jsxRuntimeExports.jsx("td", {
11309
11341
  className: LabelStyle,
11310
11342
  children: t2("dovetail.pod_replicas_num")
11311
- }), /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
11343
+ }), /* @__PURE__ */ jsxRuntimeExports.jsx("td", {
11312
11344
  children: replicas
11313
- }), /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
11345
+ }), /* @__PURE__ */ jsxRuntimeExports.jsx("td", {
11314
11346
  children: editable && canScale && /* @__PURE__ */ jsxRuntimeExports.jsx(EditField, {
11315
11347
  modalProps: {
11316
11348
  formRef,
@@ -17545,8 +17577,8 @@ const MonacoYamlEditor$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.
17545
17577
  __proto__: null,
17546
17578
  default: MonacoYamlEditor$1
17547
17579
  }, Symbol.toStringTag, { value: "Module" }));
17548
- const NetworkPolicyRulesTable_1ig139p = "";
17549
- const EditorStyle$1 = "e151npt0";
17580
+ const NetworkPolicyRulesViewer_13asgaq = "";
17581
+ const EditorStyle$1 = "e1cjl2b8";
17550
17582
  const NetworkPolicyRulesViewer = ({
17551
17583
  ingressOrEgress,
17552
17584
  kind
@@ -17576,8 +17608,10 @@ const PodContainersTable = ({
17576
17608
  containerStatuses,
17577
17609
  initContainerStatuses
17578
17610
  }) => {
17579
- const kit = useUIKit();
17580
17611
  const { i18n: i18n2 } = useTranslation();
17612
+ const component = useContext(ComponentContext);
17613
+ const Table$1 = component.Table || Table;
17614
+ const [currentPage, setCurrentPage] = useState(1);
17581
17615
  const columns = useMemo(
17582
17616
  () => [
17583
17617
  {
@@ -17643,13 +17677,18 @@ const PodContainersTable = ({
17643
17677
  return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent, { errorText: i18n2.t("dovetail.no_resource", { kind: i18n2.t("dovetail.container") }), style: { padding: "15px 0" } });
17644
17678
  }
17645
17679
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
17646
- kit.table,
17680
+ Table$1,
17647
17681
  {
17682
+ tableKey: "podContainers",
17648
17683
  loading: false,
17649
- dataSource,
17684
+ data: dataSource,
17650
17685
  columns: addDefaultRenderToColumns(columns),
17651
17686
  rowKey: "containerID",
17652
- error: false
17687
+ error: false,
17688
+ currentSize: 10,
17689
+ currentPage,
17690
+ onPageChange: setCurrentPage,
17691
+ showMenuColumn: false
17653
17692
  }
17654
17693
  );
17655
17694
  };
@@ -17917,6 +17956,44 @@ function WorkloadDropdown(props) {
17917
17956
  children
17918
17957
  ] });
17919
17958
  }
17959
+ function ReplicasDropdown(props) {
17960
+ const { record, size, children } = props;
17961
+ const kit = useUIKit();
17962
+ const { t: t2 } = useTranslation();
17963
+ const formRef = useRef(null);
17964
+ const { action } = useResource();
17965
+ const isInShowPage = action === "show";
17966
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(WorkloadDropdown, { record, size, children: [
17967
+ isInShowPage ? null : /* @__PURE__ */ jsxRuntimeExports.jsx(
17968
+ kit.menu.Item,
17969
+ {
17970
+ onClick: () => {
17971
+ const modalProps = {
17972
+ formRef,
17973
+ title: t2("dovetail.edit_replicas"),
17974
+ renderContent() {
17975
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
17976
+ WorkloadReplicasForm,
17977
+ {
17978
+ ref: formRef,
17979
+ defaultValue: record.replicas || 0,
17980
+ record,
17981
+ label: t2("dovetail.pod_replicas_num")
17982
+ }
17983
+ );
17984
+ }
17985
+ };
17986
+ pushModal({
17987
+ component: EditFieldModal,
17988
+ props: modalProps
17989
+ });
17990
+ },
17991
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon$1, { src: EditPen16PrimaryIcon, children: t2("dovetail.edit_replicas") })
17992
+ }
17993
+ ),
17994
+ children
17995
+ ] });
17996
+ }
17920
17997
  globalThis && globalThis.__awaiter || function(thisArg, _arguments, P, generator) {
17921
17998
  function adopt(value2) {
17922
17999
  return value2 instanceof P ? value2 : new P(function(resolve) {
@@ -18169,7 +18246,7 @@ const NamespacesFilter = ({
18169
18246
  })]
18170
18247
  });
18171
18248
  };
18172
- const index_1srrgg6 = "";
18249
+ const index_hp158y = "";
18173
18250
  const ListPageStyle = "laykzsq";
18174
18251
  const ListContentStyle = "l1ng0psc";
18175
18252
  const TableStyle = "tj6zpn4";
@@ -18205,15 +18282,23 @@ function ListPage(props) {
18205
18282
  className: ListContentStyle,
18206
18283
  children: [/* @__PURE__ */ jsxRuntimeExports.jsx(NamespacesFilter, {
18207
18284
  className: NamespaceFilterStyle
18208
- }), /* @__PURE__ */ jsxRuntimeExports.jsx(Table$1, {
18209
- ...tableProps,
18210
- empty: tableProps.empty || t2("dovetail.no_resource", {
18211
- kind: ` ${config.kind}`
18212
- }),
18213
- className: cx_default(tableProps.className, TableStyle),
18214
- scroll: {
18215
- y: "calc(100% - 48px)"
18216
- }
18285
+ }), /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
18286
+ className: TableStyle,
18287
+ children: !(tableProps.data.length || tableProps.loading) ? /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent, {
18288
+ errorText: tableProps.empty || t2("dovetail.no_resource", {
18289
+ kind: ` ${config.kind}`
18290
+ }),
18291
+ hiddenRetry: true
18292
+ }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Table$1, {
18293
+ ...tableProps,
18294
+ empty: tableProps.empty || t2("dovetail.no_resource", {
18295
+ kind: ` ${config.kind}`
18296
+ }),
18297
+ className: cx_default(tableProps.className),
18298
+ scroll: {
18299
+ y: "calc(100% - 48px)"
18300
+ }
18301
+ })
18217
18302
  })]
18218
18303
  })]
18219
18304
  });
@@ -22089,7 +22174,7 @@ const Separator = () => {
22089
22174
  });
22090
22175
  };
22091
22176
  const MonacoYamlEditor = React__default.lazy(() => Promise.resolve().then(() => MonacoYamlEditor$2));
22092
- const MonacoYamlDiffEditor = React__default.lazy(() => import("./MonacoYamlDiffEditor-799d6dfe.js"));
22177
+ const MonacoYamlDiffEditor = React__default.lazy(() => import("./MonacoYamlDiffEditor-d8d76ced.js"));
22093
22178
  const YamlEditorComponent = forwardRef(
22094
22179
  function YamlEditorComponent2(props, ref) {
22095
22180
  const {
@@ -23441,6 +23526,7 @@ const CompletionsCountColumnRenderer = (i18n2) => {
23441
23526
  }),
23442
23527
  sortable: true,
23443
23528
  width: 120,
23529
+ align: "right",
23444
23530
  sorter: CommonSorter(dataIndex)
23445
23531
  };
23446
23532
  };
@@ -23658,6 +23744,7 @@ const PodContainersNumColumnRenderer = (i18n2) => {
23658
23744
  }),
23659
23745
  width: 120,
23660
23746
  sortable: true,
23747
+ align: "right",
23661
23748
  sorter: CommonSorter(["readyDisplay"])
23662
23749
  };
23663
23750
  };
@@ -23984,7 +24071,7 @@ const relationPlugin = new RelationPlugin();
23984
24071
  const ProviderPlugins = [relationPlugin, modelPlugin];
23985
24072
  const dovetailRefineI18n = i18n;
23986
24073
  export {
23987
- ResourceShow as $,
24074
+ ResourceList as $,
23988
24075
  AgeColumnRenderer as A,
23989
24076
  useOpenForm as B,
23990
24077
  CommonSorter as C,
@@ -24009,140 +24096,141 @@ export {
24009
24096
  PodContainersTable as V,
24010
24097
  WorkloadImageColumnRenderer as W,
24011
24098
  WorkloadDropdown as X,
24012
- CreateButton as Y,
24013
- ImageNames as Z,
24014
- ResourceList as _,
24099
+ ReplicasDropdown as Y,
24100
+ CreateButton as Z,
24101
+ ImageNames as _,
24015
24102
  useDeleteModal as a,
24016
- ReferenceLink as a$,
24017
- ResourceForm as a0,
24018
- ResourceCRUD as a1,
24019
- WorkloadPodsTable as a2,
24020
- CronJobDropdown as a3,
24021
- ResourceUsageBar as a4,
24022
- WorkloadReplicasForm as a5,
24023
- WorkloadReplicas as a6,
24024
- CronjobJobsTable as a7,
24025
- KeyValue as a8,
24026
- KeyValueAnnotation as a9,
24027
- PodSelectorField as aA,
24028
- PortsTableField as aB,
24029
- DurationField as aC,
24030
- EventsTab as aD,
24031
- PodLogTab as aE,
24032
- BasicGroup as aF,
24033
- PodsGroup as aG,
24034
- PodContainersGroup as aH,
24035
- ServicePodsGroup as aI,
24036
- ConditionsGroup as aJ,
24037
- SecretDataGroup as aK,
24038
- JobsGroup as aL,
24039
- IngressRulesGroup as aM,
24040
- PodSelectorGroup as aN,
24041
- PortsGroup as aO,
24042
- DataGroup as aP,
24043
- NetworkPolicyIngressRulesGroup as aQ,
24044
- NetworkPolicyEgressRulesGroup as aR,
24045
- ShowGroupComponent as aS,
24046
- ShowContent as aT,
24047
- DeleteManyButton as aU,
24048
- ListPage as aV,
24049
- StateTagStyle as aW,
24050
- StateTag as aX,
24051
- DrawerShow as aY,
24052
- Menu as aZ,
24053
- EditButton as a_,
24054
- KeyValueSecret as aa,
24055
- Separator as ab,
24056
- YamlEditorComponent as ac,
24057
- DeleteButton as ad,
24058
- Layout as ae,
24059
- AreaType as af,
24060
- ImageField as ag,
24061
- ReplicaField as ah,
24062
- ConditionsField as ai,
24063
- PodsField as aj,
24064
- JobsField as ak,
24065
- DataField as al,
24066
- SecretDataField as am,
24067
- StartTimeField as an,
24068
- ServiceTypeField as ao,
24069
- ClusterIpField as ap,
24070
- SessionAffinityField as aq,
24071
- ServicePodsField as ar,
24072
- IngressRulesTableTabField as as,
24073
- EventsTableTabField as at,
24074
- NamespaceField as au,
24075
- AgeField as av,
24076
- LabelsField as aw,
24077
- AnnotationsField as ax,
24078
- ServiceInnerClusterAccessField as ay,
24079
- ServiceOutClusterAccessField as az,
24103
+ EditButton as a$,
24104
+ ResourceShow as a0,
24105
+ ResourceForm as a1,
24106
+ ResourceCRUD as a2,
24107
+ WorkloadPodsTable as a3,
24108
+ CronJobDropdown as a4,
24109
+ ResourceUsageBar as a5,
24110
+ WorkloadReplicasForm as a6,
24111
+ WorkloadReplicas as a7,
24112
+ CronjobJobsTable as a8,
24113
+ KeyValue as a9,
24114
+ ServiceOutClusterAccessField as aA,
24115
+ PodSelectorField as aB,
24116
+ PortsTableField as aC,
24117
+ DurationField as aD,
24118
+ EventsTab as aE,
24119
+ PodLogTab as aF,
24120
+ BasicGroup as aG,
24121
+ PodsGroup as aH,
24122
+ PodContainersGroup as aI,
24123
+ ServicePodsGroup as aJ,
24124
+ ConditionsGroup as aK,
24125
+ SecretDataGroup as aL,
24126
+ JobsGroup as aM,
24127
+ IngressRulesGroup as aN,
24128
+ PodSelectorGroup as aO,
24129
+ PortsGroup as aP,
24130
+ DataGroup as aQ,
24131
+ NetworkPolicyIngressRulesGroup as aR,
24132
+ NetworkPolicyEgressRulesGroup as aS,
24133
+ ShowGroupComponent as aT,
24134
+ ShowContent as aU,
24135
+ DeleteManyButton as aV,
24136
+ ListPage as aW,
24137
+ StateTagStyle as aX,
24138
+ StateTag as aY,
24139
+ DrawerShow as aZ,
24140
+ Menu as a_,
24141
+ KeyValueAnnotation as aa,
24142
+ KeyValueSecret as ab,
24143
+ Separator as ac,
24144
+ YamlEditorComponent as ad,
24145
+ DeleteButton as ae,
24146
+ Layout as af,
24147
+ AreaType as ag,
24148
+ ImageField as ah,
24149
+ ReplicaField as ai,
24150
+ ConditionsField as aj,
24151
+ PodsField as ak,
24152
+ JobsField as al,
24153
+ DataField as am,
24154
+ SecretDataField as an,
24155
+ StartTimeField as ao,
24156
+ ServiceTypeField as ap,
24157
+ ClusterIpField as aq,
24158
+ SessionAffinityField as ar,
24159
+ ServicePodsField as as,
24160
+ IngressRulesTableTabField as at,
24161
+ EventsTableTabField as au,
24162
+ NamespaceField as av,
24163
+ AgeField as aw,
24164
+ LabelsField as ax,
24165
+ AnnotationsField as ay,
24166
+ ServiceInnerClusterAccessField as az,
24080
24167
  NameSpaceColumnRenderer as b,
24081
- ProviderPlugins as b$,
24082
- ResourceLink as b0,
24083
- NS_STORE_KEY as b1,
24084
- ALL_NS as b2,
24085
- useNamespacesFilter as b3,
24086
- NamespacesFilter as b4,
24087
- FormModal as b5,
24088
- RefineFormContent as b6,
24089
- RefineFormPage as b7,
24090
- SchemaStrategy as b8,
24091
- YamlForm as b9,
24092
- SECRET_IMAGE_REPO_INIT_VALUE as bA,
24093
- SECRET_BASIC_AUTH_INIT_VALUE as bB,
24094
- SECRET_SSH_AUTH_INIT_VALUE as bC,
24095
- SECRET_TLS_INIT_VALUE as bD,
24096
- SECRET_CUSTOM_INIT_VALUE as bE,
24097
- WorkloadState as bF,
24098
- Dovetail as bG,
24099
- RESOURCE_GROUP as bH,
24100
- FormType as bI,
24101
- ComponentContext as bJ,
24102
- GlobalStoreContext as bK,
24103
- ConfigsContext as bL,
24104
- IngressModel as bM,
24105
- NetworkPolicyModel as bN,
24106
- JobModel as bO,
24107
- WorkloadModel as bP,
24108
- WorkloadBaseModel as bQ,
24109
- PodModel as bR,
24110
- PodMetricsModel as bS,
24111
- ResourceModel as bT,
24112
- CronJobModel as bU,
24113
- EventModel as bV,
24114
- DeploymentModel as bW,
24115
- DaemonSetModel as bX,
24116
- StatefulSetModel as bY,
24117
- ServiceTypeEnum as bZ,
24118
- ServiceModel as b_,
24119
- useRefineForm as ba,
24120
- ServiceInClusterAccessComponent as bb,
24121
- ServiceOutClusterAccessComponent as bc,
24122
- Tags as bd,
24123
- TextTags as be,
24124
- PodLog as bf,
24125
- NetworkPolicyRulesViewer as bg,
24126
- Tabs as bh,
24127
- BASE_INIT_VALUE as bi,
24128
- DEPLOYMENT_INIT_VALUE as bj,
24129
- CRONJOB_INIT_VALUE as bk,
24130
- DAEMONSET_INIT_VALUE as bl,
24131
- JOB_INIT_VALUE as bm,
24132
- STATEFULSET_INIT_VALUE as bn,
24133
- POD_INIT_VALUE as bo,
24134
- SERVICE_CLUSTER_IP_INIT_VALUE as bp,
24135
- SERVICE_NODE_PORT_INIT_VALUE as bq,
24136
- SERVICE_LOAD_BALANCER_INIT_VALUE as br,
24137
- SERVICE_EXTERNAL_NAME_INIT_VALUE as bs,
24138
- SERVICE_HEADLESS_INIT_VALUE as bt,
24139
- INGRESS_INIT_VALUE as bu,
24140
- NETWORK_POLICY_INIT_VALUE as bv,
24141
- CONFIG_MAP_INIT_VALUE as bw,
24142
- SERVER_INSTANCE_INIT_VALUE as bx,
24143
- TIMESTAMP_LABEL as by,
24144
- SECRET_OPAQUE_INIT_VALUE as bz,
24168
+ ServiceModel as b$,
24169
+ ReferenceLink as b0,
24170
+ ResourceLink as b1,
24171
+ NS_STORE_KEY as b2,
24172
+ ALL_NS as b3,
24173
+ useNamespacesFilter as b4,
24174
+ NamespacesFilter as b5,
24175
+ FormModal as b6,
24176
+ RefineFormContent as b7,
24177
+ RefineFormPage as b8,
24178
+ SchemaStrategy as b9,
24179
+ SECRET_OPAQUE_INIT_VALUE as bA,
24180
+ SECRET_IMAGE_REPO_INIT_VALUE as bB,
24181
+ SECRET_BASIC_AUTH_INIT_VALUE as bC,
24182
+ SECRET_SSH_AUTH_INIT_VALUE as bD,
24183
+ SECRET_TLS_INIT_VALUE as bE,
24184
+ SECRET_CUSTOM_INIT_VALUE as bF,
24185
+ WorkloadState as bG,
24186
+ Dovetail as bH,
24187
+ RESOURCE_GROUP as bI,
24188
+ FormType as bJ,
24189
+ ComponentContext as bK,
24190
+ GlobalStoreContext as bL,
24191
+ ConfigsContext as bM,
24192
+ IngressModel as bN,
24193
+ NetworkPolicyModel as bO,
24194
+ JobModel as bP,
24195
+ WorkloadModel as bQ,
24196
+ WorkloadBaseModel as bR,
24197
+ PodModel as bS,
24198
+ PodMetricsModel as bT,
24199
+ ResourceModel as bU,
24200
+ CronJobModel as bV,
24201
+ EventModel as bW,
24202
+ DeploymentModel as bX,
24203
+ DaemonSetModel as bY,
24204
+ StatefulSetModel as bZ,
24205
+ ServiceTypeEnum as b_,
24206
+ YamlForm as ba,
24207
+ useRefineForm as bb,
24208
+ ServiceInClusterAccessComponent as bc,
24209
+ ServiceOutClusterAccessComponent as bd,
24210
+ Tags as be,
24211
+ TextTags as bf,
24212
+ PodLog as bg,
24213
+ NetworkPolicyRulesViewer as bh,
24214
+ Tabs as bi,
24215
+ BASE_INIT_VALUE as bj,
24216
+ DEPLOYMENT_INIT_VALUE as bk,
24217
+ CRONJOB_INIT_VALUE as bl,
24218
+ DAEMONSET_INIT_VALUE as bm,
24219
+ JOB_INIT_VALUE as bn,
24220
+ STATEFULSET_INIT_VALUE as bo,
24221
+ POD_INIT_VALUE as bp,
24222
+ SERVICE_CLUSTER_IP_INIT_VALUE as bq,
24223
+ SERVICE_NODE_PORT_INIT_VALUE as br,
24224
+ SERVICE_LOAD_BALANCER_INIT_VALUE as bs,
24225
+ SERVICE_EXTERNAL_NAME_INIT_VALUE as bt,
24226
+ SERVICE_HEADLESS_INIT_VALUE as bu,
24227
+ INGRESS_INIT_VALUE as bv,
24228
+ NETWORK_POLICY_INIT_VALUE as bw,
24229
+ CONFIG_MAP_INIT_VALUE as bx,
24230
+ SERVER_INSTANCE_INIT_VALUE as by,
24231
+ TIMESTAMP_LABEL as bz,
24145
24232
  WorkloadRestartsColumnRenderer as c,
24233
+ ProviderPlugins as c0,
24146
24234
  dovetailRefineI18n as d,
24147
24235
  NodeNameColumnRenderer as e,
24148
24236
  RestartCountColumnRenderer as f,