@elice/material-runbox 1.260825.0-runboxusability.2 → 1.260825.0-runboxusability.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/_virtual/_rollupPluginBabelHelpers.js +114 -0
- package/cjs/components/material-runbox/MaterialRunboxContent.js +7 -0
- package/cjs/components/material-runbox/MaterialRunboxHeader.js +21 -18
- package/cjs/components/material-runbox/disk/MaterialRunboxDiskUsageAlert.d.ts +11 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxDiskUsageAlert.js +69 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxDiskUsageDialog.d.ts +10 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxDiskUsageDialog.js +98 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxEnvResetButton.d.ts +16 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxEnvResetButton.js +72 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxEnvResetDialog.d.ts +14 -0
- package/cjs/components/material-runbox/disk/MaterialRunboxEnvResetDialog.js +103 -0
- package/cjs/components/material-runbox/disk/index.d.ts +8 -1
- package/cjs/components/material-runbox/disk/index.js +8 -2
- package/cjs/components/material-runbox/hooks/index.d.ts +2 -0
- package/cjs/components/material-runbox/hooks/index.js +6 -0
- package/cjs/components/material-runbox/hooks/useRunboxDiskUsage.d.ts +16 -0
- package/cjs/components/material-runbox/hooks/useRunboxDiskUsage.js +50 -0
- package/cjs/components/material-runbox/hooks/useRunboxEnvReset.d.ts +23 -0
- package/cjs/components/material-runbox/hooks/useRunboxEnvReset.js +132 -0
- package/cjs/components/material-runbox/locales/en.json.js +1 -1
- package/cjs/components/material-runbox/locales/ja.json.js +1 -1
- package/cjs/components/material-runbox/locales/ko.json.js +1 -1
- package/cjs/components/material-runbox/locales/th.json.js +1 -1
- package/cjs/components/material-runbox/runtime/Runtime.js +4 -2
- package/cjs/components/material-runbox/runtime/RuntimeOverlayTerminated.d.ts +2 -0
- package/cjs/components/material-runbox/runtime/RuntimeOverlayTerminated.js +14 -4
- package/cjs/components/material-runbox/status/MaterialRunboxStatusButton.d.ts +2 -7
- package/cjs/components/material-runbox/status/MaterialRunboxStatusButton.js +41 -15
- package/cjs/components/material-runbox/status/MaterialRunboxStatusPopover.d.ts +2 -7
- package/cjs/components/material-runbox/status/MaterialRunboxStatusPopover.js +14 -3
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.js +3 -0
- package/cjs/utils/polling.d.ts +56 -0
- package/cjs/utils/polling.js +108 -0
- package/es/_virtual/_rollupPluginBabelHelpers.js +99 -1
- package/es/components/material-runbox/MaterialRunboxContent.js +7 -0
- package/es/components/material-runbox/MaterialRunboxHeader.js +21 -18
- package/es/components/material-runbox/disk/MaterialRunboxDiskUsageAlert.d.ts +11 -0
- package/es/components/material-runbox/disk/MaterialRunboxDiskUsageAlert.js +65 -0
- package/es/components/material-runbox/disk/MaterialRunboxDiskUsageDialog.d.ts +10 -0
- package/es/components/material-runbox/disk/MaterialRunboxDiskUsageDialog.js +94 -0
- package/es/components/material-runbox/disk/MaterialRunboxEnvResetButton.d.ts +16 -0
- package/es/components/material-runbox/disk/MaterialRunboxEnvResetButton.js +64 -0
- package/es/components/material-runbox/disk/MaterialRunboxEnvResetDialog.d.ts +14 -0
- package/es/components/material-runbox/disk/MaterialRunboxEnvResetDialog.js +95 -0
- package/es/components/material-runbox/disk/index.d.ts +8 -1
- package/es/components/material-runbox/disk/index.js +4 -1
- package/es/components/material-runbox/hooks/index.d.ts +2 -0
- package/es/components/material-runbox/hooks/index.js +2 -0
- package/es/components/material-runbox/hooks/useRunboxDiskUsage.d.ts +16 -0
- package/es/components/material-runbox/hooks/useRunboxDiskUsage.js +42 -0
- package/es/components/material-runbox/hooks/useRunboxEnvReset.d.ts +23 -0
- package/es/components/material-runbox/hooks/useRunboxEnvReset.js +126 -0
- package/es/components/material-runbox/locales/en.json.js +1 -1
- package/es/components/material-runbox/locales/ja.json.js +1 -1
- package/es/components/material-runbox/locales/ko.json.js +1 -1
- package/es/components/material-runbox/locales/th.json.js +1 -1
- package/es/components/material-runbox/runtime/Runtime.js +4 -2
- package/es/components/material-runbox/runtime/RuntimeOverlayTerminated.d.ts +2 -0
- package/es/components/material-runbox/runtime/RuntimeOverlayTerminated.js +16 -6
- package/es/components/material-runbox/status/MaterialRunboxStatusButton.d.ts +2 -7
- package/es/components/material-runbox/status/MaterialRunboxStatusButton.js +44 -18
- package/es/components/material-runbox/status/MaterialRunboxStatusPopover.d.ts +2 -7
- package/es/components/material-runbox/status/MaterialRunboxStatusPopover.js +15 -4
- package/es/utils/index.d.ts +1 -0
- package/es/utils/index.js +1 -0
- package/es/utils/polling.d.ts +56 -0
- package/es/utils/polling.js +105 -0
- package/package.json +6 -6
- package/cjs/components/material-runbox/disk/MaterialRunboxDiskAlmostFullSnackbar.d.ts +0 -5
- package/cjs/components/material-runbox/disk/MaterialRunboxDiskAlmostFullSnackbar.js +0 -98
- package/es/components/material-runbox/disk/MaterialRunboxDiskAlmostFullSnackbar.d.ts +0 -5
- package/es/components/material-runbox/disk/MaterialRunboxDiskAlmostFullSnackbar.js +0 -94
|
@@ -8,6 +8,13 @@ function _arrayLikeToArray(r, a) {
|
|
|
8
8
|
function _arrayWithHoles(r) {
|
|
9
9
|
if (Array.isArray(r)) return r;
|
|
10
10
|
}
|
|
11
|
+
function _arrayWithoutHoles(r) {
|
|
12
|
+
if (Array.isArray(r)) return _arrayLikeToArray(r);
|
|
13
|
+
}
|
|
14
|
+
function _assertThisInitialized(e) {
|
|
15
|
+
if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
16
|
+
return e;
|
|
17
|
+
}
|
|
11
18
|
function asyncGeneratorStep(n, t, e, r, o, a, c) {
|
|
12
19
|
try {
|
|
13
20
|
var i = n[a](c),
|
|
@@ -33,6 +40,24 @@ function _asyncToGenerator(n) {
|
|
|
33
40
|
});
|
|
34
41
|
};
|
|
35
42
|
}
|
|
43
|
+
function _callSuper(t, o, e) {
|
|
44
|
+
return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
|
|
45
|
+
}
|
|
46
|
+
function _classCallCheck(a, n) {
|
|
47
|
+
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
|
|
48
|
+
}
|
|
49
|
+
function _construct(t, e, r) {
|
|
50
|
+
if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);
|
|
51
|
+
var o = [null];
|
|
52
|
+
o.push.apply(o, e);
|
|
53
|
+
var p = new (t.bind.apply(t, o))();
|
|
54
|
+
return r && _setPrototypeOf(p, r.prototype), p;
|
|
55
|
+
}
|
|
56
|
+
function _createClass(e, r, t) {
|
|
57
|
+
return Object.defineProperty(e, "prototype", {
|
|
58
|
+
writable: false
|
|
59
|
+
}), e;
|
|
60
|
+
}
|
|
36
61
|
function _defineProperty(e, r, t) {
|
|
37
62
|
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
38
63
|
value: t,
|
|
@@ -41,6 +66,41 @@ function _defineProperty(e, r, t) {
|
|
|
41
66
|
writable: true
|
|
42
67
|
}) : e[r] = t, e;
|
|
43
68
|
}
|
|
69
|
+
function _getPrototypeOf(t) {
|
|
70
|
+
return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {
|
|
71
|
+
return t.__proto__ || Object.getPrototypeOf(t);
|
|
72
|
+
}, _getPrototypeOf(t);
|
|
73
|
+
}
|
|
74
|
+
function _inherits(t, e) {
|
|
75
|
+
if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
|
|
76
|
+
t.prototype = Object.create(e && e.prototype, {
|
|
77
|
+
constructor: {
|
|
78
|
+
value: t,
|
|
79
|
+
writable: true,
|
|
80
|
+
configurable: true
|
|
81
|
+
}
|
|
82
|
+
}), Object.defineProperty(t, "prototype", {
|
|
83
|
+
writable: false
|
|
84
|
+
}), e && _setPrototypeOf(t, e);
|
|
85
|
+
}
|
|
86
|
+
function _isNativeFunction(t) {
|
|
87
|
+
try {
|
|
88
|
+
return -1 !== Function.toString.call(t).indexOf("[native code]");
|
|
89
|
+
} catch (n) {
|
|
90
|
+
return "function" == typeof t;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function _isNativeReflectConstruct() {
|
|
94
|
+
try {
|
|
95
|
+
var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
|
|
96
|
+
} catch (t) {}
|
|
97
|
+
return (_isNativeReflectConstruct = function () {
|
|
98
|
+
return !!t;
|
|
99
|
+
})();
|
|
100
|
+
}
|
|
101
|
+
function _iterableToArray(r) {
|
|
102
|
+
if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
|
|
103
|
+
}
|
|
44
104
|
function _iterableToArrayLimit(r, l) {
|
|
45
105
|
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
46
106
|
if (null != t) {
|
|
@@ -71,6 +131,14 @@ function _iterableToArrayLimit(r, l) {
|
|
|
71
131
|
function _nonIterableRest() {
|
|
72
132
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
73
133
|
}
|
|
134
|
+
function _nonIterableSpread() {
|
|
135
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
136
|
+
}
|
|
137
|
+
function _possibleConstructorReturn(t, e) {
|
|
138
|
+
if (e && ("object" == typeof e || "function" == typeof e)) return e;
|
|
139
|
+
if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
|
|
140
|
+
return _assertThisInitialized(t);
|
|
141
|
+
}
|
|
74
142
|
function _regenerator() {
|
|
75
143
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
76
144
|
var e,
|
|
@@ -179,6 +247,11 @@ function _regeneratorDefine(e, r, n, t) {
|
|
|
179
247
|
}) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
|
|
180
248
|
}, _regeneratorDefine(e, r, n, t);
|
|
181
249
|
}
|
|
250
|
+
function _setPrototypeOf(t, e) {
|
|
251
|
+
return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
|
|
252
|
+
return t.__proto__ = e, t;
|
|
253
|
+
}, _setPrototypeOf(t, e);
|
|
254
|
+
}
|
|
182
255
|
function _slicedToArray(r, e) {
|
|
183
256
|
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
|
|
184
257
|
}
|
|
@@ -189,6 +262,9 @@ function _taggedTemplateLiteral(e, t) {
|
|
|
189
262
|
}
|
|
190
263
|
}));
|
|
191
264
|
}
|
|
265
|
+
function _toConsumableArray(r) {
|
|
266
|
+
return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
|
|
267
|
+
}
|
|
192
268
|
function _toPrimitive(t, r) {
|
|
193
269
|
if ("object" != typeof t || !t) return t;
|
|
194
270
|
var e = t[Symbol.toPrimitive];
|
|
@@ -210,17 +286,55 @@ function _unsupportedIterableToArray(r, a) {
|
|
|
210
286
|
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
|
|
211
287
|
}
|
|
212
288
|
}
|
|
289
|
+
function _wrapNativeSuper(t) {
|
|
290
|
+
var r = "function" == typeof Map ? new Map() : void 0;
|
|
291
|
+
return _wrapNativeSuper = function (t) {
|
|
292
|
+
if (null === t || !_isNativeFunction(t)) return t;
|
|
293
|
+
if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function");
|
|
294
|
+
if (void 0 !== r) {
|
|
295
|
+
if (r.has(t)) return r.get(t);
|
|
296
|
+
r.set(t, Wrapper);
|
|
297
|
+
}
|
|
298
|
+
function Wrapper() {
|
|
299
|
+
return _construct(t, arguments, _getPrototypeOf(this).constructor);
|
|
300
|
+
}
|
|
301
|
+
return Wrapper.prototype = Object.create(t.prototype, {
|
|
302
|
+
constructor: {
|
|
303
|
+
value: Wrapper,
|
|
304
|
+
enumerable: false,
|
|
305
|
+
writable: true,
|
|
306
|
+
configurable: true
|
|
307
|
+
}
|
|
308
|
+
}), _setPrototypeOf(Wrapper, t);
|
|
309
|
+
}, _wrapNativeSuper(t);
|
|
310
|
+
}
|
|
213
311
|
|
|
214
312
|
exports.arrayLikeToArray = _arrayLikeToArray;
|
|
215
313
|
exports.arrayWithHoles = _arrayWithHoles;
|
|
314
|
+
exports.arrayWithoutHoles = _arrayWithoutHoles;
|
|
315
|
+
exports.assertThisInitialized = _assertThisInitialized;
|
|
216
316
|
exports.asyncToGenerator = _asyncToGenerator;
|
|
317
|
+
exports.callSuper = _callSuper;
|
|
318
|
+
exports.classCallCheck = _classCallCheck;
|
|
319
|
+
exports.construct = _construct;
|
|
320
|
+
exports.createClass = _createClass;
|
|
217
321
|
exports.defineProperty = _defineProperty;
|
|
322
|
+
exports.getPrototypeOf = _getPrototypeOf;
|
|
323
|
+
exports.inherits = _inherits;
|
|
324
|
+
exports.isNativeFunction = _isNativeFunction;
|
|
325
|
+
exports.isNativeReflectConstruct = _isNativeReflectConstruct;
|
|
326
|
+
exports.iterableToArray = _iterableToArray;
|
|
218
327
|
exports.iterableToArrayLimit = _iterableToArrayLimit;
|
|
219
328
|
exports.nonIterableRest = _nonIterableRest;
|
|
329
|
+
exports.nonIterableSpread = _nonIterableSpread;
|
|
330
|
+
exports.possibleConstructorReturn = _possibleConstructorReturn;
|
|
220
331
|
exports.regenerator = _regenerator;
|
|
221
332
|
exports.regeneratorDefine = _regeneratorDefine;
|
|
333
|
+
exports.setPrototypeOf = _setPrototypeOf;
|
|
222
334
|
exports.slicedToArray = _slicedToArray;
|
|
223
335
|
exports.taggedTemplateLiteral = _taggedTemplateLiteral;
|
|
336
|
+
exports.toConsumableArray = _toConsumableArray;
|
|
224
337
|
exports.toPrimitive = _toPrimitive;
|
|
225
338
|
exports.toPropertyKey = _toPropertyKey;
|
|
226
339
|
exports.unsupportedIterableToArray = _unsupportedIterableToArray;
|
|
340
|
+
exports.wrapNativeSuper = _wrapNativeSuper;
|
|
@@ -19,6 +19,8 @@ var MaterialRunboxHeader = require('./MaterialRunboxHeader.js');
|
|
|
19
19
|
var MaterialRunboxContext = require('./contexts/MaterialRunboxContext.js');
|
|
20
20
|
var MaterialRunboxApiContext = require('./contexts/MaterialRunboxApiContext.js');
|
|
21
21
|
var MaterialRunboxCommandContext = require('./contexts/MaterialRunboxCommandContext.js');
|
|
22
|
+
var MaterialRunboxDiskUsageAlert = require('./disk/MaterialRunboxDiskUsageAlert.js');
|
|
23
|
+
var MaterialRunboxDiskUsageDialog = require('./disk/MaterialRunboxDiskUsageDialog.js');
|
|
22
24
|
var useMaterialRunboxRunboxIdStarterGet = require('./hooks/useMaterialRunboxRunboxIdStarterGet.js');
|
|
23
25
|
|
|
24
26
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -288,6 +290,11 @@ var MaterialRunboxContent = function MaterialRunboxContent(_ref) {
|
|
|
288
290
|
studentUserId: studentUserId,
|
|
289
291
|
userId: userId,
|
|
290
292
|
isTutoring: isTutoring
|
|
293
|
+
}), jsxRuntime.jsx(MaterialRunboxDiskUsageAlert.default, {
|
|
294
|
+
runboxId: runbox.id,
|
|
295
|
+
courseId: courseId
|
|
296
|
+
}), jsxRuntime.jsx(MaterialRunboxDiskUsageDialog.default, {
|
|
297
|
+
runboxId: runbox.id
|
|
291
298
|
}), jsxRuntime.jsx(MaterialRunboxBody.default, Object.assign({
|
|
292
299
|
setSnackbarRoot: setSnackbarRoot
|
|
293
300
|
}, props))]
|
|
@@ -22,7 +22,6 @@ var MaterialRunboxContext = require('./contexts/MaterialRunboxContext.js');
|
|
|
22
22
|
var MaterialRunboxApiContext = require('./contexts/MaterialRunboxApiContext.js');
|
|
23
23
|
var MaterialRunboxTimer = require('./timer/MaterialRunboxTimer.js');
|
|
24
24
|
var MaterialRunboxStatusButton = require('./status/MaterialRunboxStatusButton.js');
|
|
25
|
-
var MaterialRunboxDiskAlmostFullSnackbar = require('./disk/MaterialRunboxDiskAlmostFullSnackbar.js');
|
|
26
25
|
var useRunboxControl = require('./hooks/useRunboxControl.js');
|
|
27
26
|
|
|
28
27
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -35,25 +34,28 @@ var StyledHeader = /*#__PURE__*/_styled__default.default("div", {
|
|
|
35
34
|
})("position:relative;flex:0 0 3rem;display:flex;justify-content:flex-start;align-items:center;gap:1rem;padding:0 1rem;width:100%;border-bottom:1px solid ", function (_ref) {
|
|
36
35
|
var theme = _ref.theme;
|
|
37
36
|
return theme.palette.divider;
|
|
38
|
-
}, ";overflow:hidden;
|
|
37
|
+
}, ";overflow:hidden;color:", function (_ref2) {
|
|
39
38
|
var theme = _ref2.theme;
|
|
39
|
+
return theme.palette.text.primary;
|
|
40
|
+
}, ";background-color:", function (_ref3) {
|
|
41
|
+
var theme = _ref3.theme;
|
|
40
42
|
return theme.palette.background.paper;
|
|
41
43
|
}, ";");
|
|
42
44
|
//
|
|
43
45
|
//
|
|
44
46
|
//
|
|
45
|
-
var MaterialRunboxHeader = function MaterialRunboxHeader(
|
|
46
|
-
var runbox =
|
|
47
|
-
runtime =
|
|
48
|
-
runtimeTemplate =
|
|
49
|
-
courseId =
|
|
50
|
-
userId =
|
|
51
|
-
studentUserId =
|
|
52
|
-
isTutoring =
|
|
53
|
-
refetch =
|
|
54
|
-
getAchievementColor =
|
|
55
|
-
|
|
56
|
-
hideTimerPopover =
|
|
47
|
+
var MaterialRunboxHeader = function MaterialRunboxHeader(_ref4) {
|
|
48
|
+
var runbox = _ref4.runbox,
|
|
49
|
+
runtime = _ref4.runtime,
|
|
50
|
+
runtimeTemplate = _ref4.runtimeTemplate,
|
|
51
|
+
courseId = _ref4.courseId,
|
|
52
|
+
userId = _ref4.userId,
|
|
53
|
+
studentUserId = _ref4.studentUserId,
|
|
54
|
+
isTutoring = _ref4.isTutoring,
|
|
55
|
+
refetch = _ref4.refetch,
|
|
56
|
+
getAchievementColor = _ref4.getAchievementColor,
|
|
57
|
+
_ref4$hideTimerPopove = _ref4.hideTimerPopover,
|
|
58
|
+
hideTimerPopover = _ref4$hideTimerPopove === void 0 ? false : _ref4$hideTimerPopove;
|
|
57
59
|
var intl$1 = intl.useRawEliceIntl();
|
|
58
60
|
var _useMaterialRunboxCon = MaterialRunboxContext.useMaterialRunboxContext(),
|
|
59
61
|
enableAutoShutdownToggle = _useMaterialRunboxCon.enableAutoShutdownToggle;
|
|
@@ -104,8 +106,8 @@ var MaterialRunboxHeader = function MaterialRunboxHeader(_ref3) {
|
|
|
104
106
|
courseId: courseId,
|
|
105
107
|
runtime: runtime
|
|
106
108
|
}],
|
|
107
|
-
queryFn: function queryFn(
|
|
108
|
-
var signal =
|
|
109
|
+
queryFn: function queryFn(_ref5) {
|
|
110
|
+
var signal = _ref5.signal;
|
|
109
111
|
return materialRunboxApi.runbox.runboxRunboxIdSubmitInfoGet({
|
|
110
112
|
eliceCourseId: courseId,
|
|
111
113
|
runboxId: runtime === null || runtime === void 0 ? void 0 : runtime.runboxId
|
|
@@ -226,8 +228,9 @@ var MaterialRunboxHeader = function MaterialRunboxHeader(_ref3) {
|
|
|
226
228
|
stopRuntime: stopRuntime,
|
|
227
229
|
hideTimerPopover: hideTimerPopover,
|
|
228
230
|
isTutoring: isTutoring
|
|
229
|
-
}) : null, jsxRuntime.jsx(MaterialRunboxStatusButton.default, {
|
|
230
|
-
runboxId: runbox.id
|
|
231
|
+
}) : null, jsxRuntime.jsx(MaterialRunboxStatusButton.default, {
|
|
232
|
+
runboxId: runbox.id,
|
|
233
|
+
courseId: courseId
|
|
231
234
|
}), jsxRuntime.jsxs(material.Stack, {
|
|
232
235
|
direction: "row",
|
|
233
236
|
alignItems: "center",
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
export interface MaterialRunboxDiskUsageAlertProps {
|
|
3
|
+
runboxId: string;
|
|
4
|
+
courseId: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Persistent bar under the header once disk usage passes 80%. Unlike the notice
|
|
8
|
+
* dialog it stays put, because it carries the only way out — the reset CTA.
|
|
9
|
+
*/
|
|
10
|
+
declare const MaterialRunboxDiskUsageAlert: React.FC<MaterialRunboxDiskUsageAlertProps>;
|
|
11
|
+
export default MaterialRunboxDiskUsageAlert;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var intl = require('@elice/intl');
|
|
7
|
+
var muiElements = require('@elice/mui-elements');
|
|
8
|
+
var proSolidSvgIcons = require('@fortawesome/pro-solid-svg-icons');
|
|
9
|
+
var material = require('@mui/material');
|
|
10
|
+
var MaterialRunboxEnvResetButton = require('./MaterialRunboxEnvResetButton.js');
|
|
11
|
+
var useRunboxDiskUsage = require('../hooks/useRunboxDiskUsage.js');
|
|
12
|
+
|
|
13
|
+
//
|
|
14
|
+
//
|
|
15
|
+
//
|
|
16
|
+
/**
|
|
17
|
+
* Persistent bar under the header once disk usage passes 80%. Unlike the notice
|
|
18
|
+
* dialog it stays put, because it carries the only way out — the reset CTA.
|
|
19
|
+
*/
|
|
20
|
+
var MaterialRunboxDiskUsageAlert = function MaterialRunboxDiskUsageAlert(_ref) {
|
|
21
|
+
var runboxId = _ref.runboxId,
|
|
22
|
+
courseId = _ref.courseId;
|
|
23
|
+
var intl$1 = intl.useRawEliceIntl();
|
|
24
|
+
var _useRunboxDiskUsage = useRunboxDiskUsage.useRunboxDiskUsage(),
|
|
25
|
+
severity = _useRunboxDiskUsage.severity,
|
|
26
|
+
diskCurrent = _useRunboxDiskUsage.diskCurrent,
|
|
27
|
+
diskTotal = _useRunboxDiskUsage.diskTotal;
|
|
28
|
+
if (!severity) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
//
|
|
32
|
+
//
|
|
33
|
+
//
|
|
34
|
+
return jsxRuntime.jsx(material.Alert, {
|
|
35
|
+
severity: severity,
|
|
36
|
+
sx: {
|
|
37
|
+
width: '100%',
|
|
38
|
+
borderRadius: '0',
|
|
39
|
+
alignItems: 'center'
|
|
40
|
+
},
|
|
41
|
+
action: jsxRuntime.jsx(MaterialRunboxEnvResetButton.default, {
|
|
42
|
+
variant: "text",
|
|
43
|
+
size: "small",
|
|
44
|
+
color: "inherit",
|
|
45
|
+
startIcon: jsxRuntime.jsx(muiElements.EliceIcon, {
|
|
46
|
+
icon: proSolidSvgIcons.faArrowsRotate
|
|
47
|
+
}),
|
|
48
|
+
runboxId: runboxId,
|
|
49
|
+
courseId: courseId
|
|
50
|
+
}),
|
|
51
|
+
children: jsxRuntime.jsx(material.Typography, {
|
|
52
|
+
variant: "body2",
|
|
53
|
+
children: intl$1.formatMessage({
|
|
54
|
+
id: "runbox.disk.usage.alert.".concat(severity)
|
|
55
|
+
}, {
|
|
56
|
+
used: intl$1.formatDataSize(diskCurrent, {
|
|
57
|
+
unitSystem: 'iec',
|
|
58
|
+
maximumFractionDigits: 2
|
|
59
|
+
}),
|
|
60
|
+
total: intl$1.formatDataSize(diskTotal, {
|
|
61
|
+
unitSystem: 'iec',
|
|
62
|
+
maximumFractionDigits: 2
|
|
63
|
+
})
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
exports.default = MaterialRunboxDiskUsageAlert;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
export interface MaterialRunboxDiskUsageDialogProps {
|
|
3
|
+
runboxId: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Notice shown once per severity per runbox for the browser session. The reset
|
|
7
|
+
* CTA lives in the alert bar, so this only has to be acknowledged.
|
|
8
|
+
*/
|
|
9
|
+
declare const MaterialRunboxDiskUsageDialog: React.FC<MaterialRunboxDiskUsageDialogProps>;
|
|
10
|
+
export default MaterialRunboxDiskUsageDialog;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
var reactUse = require('react-use');
|
|
8
|
+
var intl = require('@elice/intl');
|
|
9
|
+
var muiElements = require('@elice/mui-elements');
|
|
10
|
+
var proSolidSvgIcons = require('@fortawesome/pro-solid-svg-icons');
|
|
11
|
+
var material = require('@mui/material');
|
|
12
|
+
var useRunboxDiskUsage = require('../hooks/useRunboxDiskUsage.js');
|
|
13
|
+
|
|
14
|
+
//
|
|
15
|
+
//
|
|
16
|
+
//
|
|
17
|
+
var SEEN_STORAGE_KEY = 'MaterialRunboxDiskUsage.seenNotice';
|
|
18
|
+
//
|
|
19
|
+
//
|
|
20
|
+
//
|
|
21
|
+
/**
|
|
22
|
+
* Notice shown once per severity per runbox for the browser session. The reset
|
|
23
|
+
* CTA lives in the alert bar, so this only has to be acknowledged.
|
|
24
|
+
*/
|
|
25
|
+
var MaterialRunboxDiskUsageDialog = function MaterialRunboxDiskUsageDialog(_ref) {
|
|
26
|
+
var runboxId = _ref.runboxId;
|
|
27
|
+
var _a;
|
|
28
|
+
var intl$1 = intl.useRawEliceIntl();
|
|
29
|
+
var _useRunboxDiskUsage = useRunboxDiskUsage.useRunboxDiskUsage(),
|
|
30
|
+
severity = _useRunboxDiskUsage.severity,
|
|
31
|
+
diskCurrent = _useRunboxDiskUsage.diskCurrent,
|
|
32
|
+
diskTotal = _useRunboxDiskUsage.diskTotal;
|
|
33
|
+
var _useSessionStorage = reactUse.useSessionStorage(SEEN_STORAGE_KEY, {}),
|
|
34
|
+
_useSessionStorage2 = _rollupPluginBabelHelpers.slicedToArray(_useSessionStorage, 2),
|
|
35
|
+
seen = _useSessionStorage2[0],
|
|
36
|
+
setSeen = _useSessionStorage2[1];
|
|
37
|
+
var seenSeverities = (_a = seen === null || seen === void 0 ? void 0 : seen[runboxId]) !== null && _a !== void 0 ? _a : [];
|
|
38
|
+
/**
|
|
39
|
+
*
|
|
40
|
+
*/
|
|
41
|
+
var handleClose = function handleClose() {
|
|
42
|
+
if (!severity) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
setSeen(Object.assign(Object.assign({}, seen), _rollupPluginBabelHelpers.defineProperty({}, runboxId, [].concat(_rollupPluginBabelHelpers.toConsumableArray(seenSeverities), [severity]))));
|
|
46
|
+
};
|
|
47
|
+
//
|
|
48
|
+
//
|
|
49
|
+
//
|
|
50
|
+
if (!severity) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
return jsxRuntime.jsxs(material.Dialog, {
|
|
54
|
+
fullWidth: true,
|
|
55
|
+
open: !seenSeverities.includes(severity),
|
|
56
|
+
maxWidth: "xs",
|
|
57
|
+
onClose: handleClose,
|
|
58
|
+
children: [jsxRuntime.jsx(material.DialogTitle, {
|
|
59
|
+
children: jsxRuntime.jsxs(material.Stack, {
|
|
60
|
+
direction: "row",
|
|
61
|
+
alignItems: "center",
|
|
62
|
+
gap: "0.5rem",
|
|
63
|
+
children: [jsxRuntime.jsx(muiElements.EliceIcon, {
|
|
64
|
+
icon: severity === 'error' ? proSolidSvgIcons.faCircleExclamation : proSolidSvgIcons.faTriangleExclamation,
|
|
65
|
+
color: severity
|
|
66
|
+
}), intl$1.formatMessage({
|
|
67
|
+
id: 'runbox.disk.usage.dialog.title'
|
|
68
|
+
})]
|
|
69
|
+
})
|
|
70
|
+
}), jsxRuntime.jsx(material.DialogContent, {
|
|
71
|
+
children: jsxRuntime.jsx(material.DialogContentText, {
|
|
72
|
+
whiteSpace: "pre-line",
|
|
73
|
+
children: intl$1.formatMessage({
|
|
74
|
+
id: "runbox.disk.usage.dialog.description.".concat(severity)
|
|
75
|
+
}, {
|
|
76
|
+
used: intl$1.formatDataSize(diskCurrent, {
|
|
77
|
+
unitSystem: 'iec',
|
|
78
|
+
maximumFractionDigits: 2
|
|
79
|
+
}),
|
|
80
|
+
total: intl$1.formatDataSize(diskTotal, {
|
|
81
|
+
unitSystem: 'iec',
|
|
82
|
+
maximumFractionDigits: 2
|
|
83
|
+
})
|
|
84
|
+
})
|
|
85
|
+
})
|
|
86
|
+
}), jsxRuntime.jsx(material.DialogActions, {
|
|
87
|
+
children: jsxRuntime.jsx(material.Button, {
|
|
88
|
+
color: "inherit",
|
|
89
|
+
onClick: handleClose,
|
|
90
|
+
children: intl$1.formatMessage({
|
|
91
|
+
id: 'runbox.disk.usage.dialog.actions.close'
|
|
92
|
+
})
|
|
93
|
+
})
|
|
94
|
+
})]
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
exports.default = MaterialRunboxDiskUsageDialog;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ButtonProps } from '@mui/material';
|
|
3
|
+
export interface MaterialRunboxEnvResetButtonProps extends Omit<ButtonProps, 'onClick'> {
|
|
4
|
+
runboxId: string;
|
|
5
|
+
courseId: number;
|
|
6
|
+
/** User ID for tutoring. */
|
|
7
|
+
userId?: number;
|
|
8
|
+
/** Called once the clear has finished. */
|
|
9
|
+
onSuccess?: () => void;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Shared "실습 환경 초기화" CTA: owns the confirm dialog and the clear request,
|
|
13
|
+
* and leaves the appearance to whoever renders it.
|
|
14
|
+
*/
|
|
15
|
+
declare const MaterialRunboxEnvResetButton: React.FC<MaterialRunboxEnvResetButtonProps>;
|
|
16
|
+
export default MaterialRunboxEnvResetButton;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
|
+
var tslib = require('tslib');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var intl = require('@elice/intl');
|
|
10
|
+
var material = require('@mui/material');
|
|
11
|
+
var MaterialRunboxEnvResetDialog = require('./MaterialRunboxEnvResetDialog.js');
|
|
12
|
+
var useRunboxEnvReset = require('../hooks/useRunboxEnvReset.js');
|
|
13
|
+
|
|
14
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
15
|
+
|
|
16
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
17
|
+
|
|
18
|
+
//
|
|
19
|
+
//
|
|
20
|
+
//
|
|
21
|
+
/**
|
|
22
|
+
* Shared "실습 환경 초기화" CTA: owns the confirm dialog and the clear request,
|
|
23
|
+
* and leaves the appearance to whoever renders it.
|
|
24
|
+
*/
|
|
25
|
+
var MaterialRunboxEnvResetButton = function MaterialRunboxEnvResetButton(_a) {
|
|
26
|
+
var runboxId = _a.runboxId,
|
|
27
|
+
courseId = _a.courseId,
|
|
28
|
+
userId = _a.userId,
|
|
29
|
+
_onSuccess = _a.onSuccess,
|
|
30
|
+
props = tslib.__rest(_a, ["runboxId", "courseId", "userId", "onSuccess"]);
|
|
31
|
+
var intl$1 = intl.useRawEliceIntl();
|
|
32
|
+
var _React$useState = React__default.default.useState(false),
|
|
33
|
+
_React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
|
|
34
|
+
isDialogOpened = _React$useState2[0],
|
|
35
|
+
setDialogOpened = _React$useState2[1];
|
|
36
|
+
var _useRunboxEnvReset = useRunboxEnvReset.useRunboxEnvReset({
|
|
37
|
+
onSuccess: function onSuccess() {
|
|
38
|
+
setDialogOpened(false);
|
|
39
|
+
_onSuccess === null || _onSuccess === void 0 ? void 0 : _onSuccess();
|
|
40
|
+
}
|
|
41
|
+
}),
|
|
42
|
+
reset = _useRunboxEnvReset.reset,
|
|
43
|
+
isResetting = _useRunboxEnvReset.isResetting;
|
|
44
|
+
//
|
|
45
|
+
//
|
|
46
|
+
//
|
|
47
|
+
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
48
|
+
children: [jsxRuntime.jsx(material.Button, Object.assign({}, props, {
|
|
49
|
+
onClick: function onClick() {
|
|
50
|
+
return setDialogOpened(true);
|
|
51
|
+
},
|
|
52
|
+
children: intl$1.formatMessage({
|
|
53
|
+
id: 'runbox.disk.env_reset.title'
|
|
54
|
+
})
|
|
55
|
+
})), jsxRuntime.jsx(MaterialRunboxEnvResetDialog.default, {
|
|
56
|
+
open: isDialogOpened,
|
|
57
|
+
isResetting: isResetting,
|
|
58
|
+
onClose: function onClose() {
|
|
59
|
+
return setDialogOpened(false);
|
|
60
|
+
},
|
|
61
|
+
onConfirm: function onConfirm() {
|
|
62
|
+
return void reset({
|
|
63
|
+
runboxId: runboxId,
|
|
64
|
+
courseId: courseId,
|
|
65
|
+
userId: userId
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
})]
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
exports.default = MaterialRunboxEnvResetButton;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface MaterialRunboxEnvResetDialogProps {
|
|
3
|
+
open: boolean;
|
|
4
|
+
isResetting?: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
onConfirm: () => void;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Confirms clearing the practice environment. The checkbox is the explicit
|
|
10
|
+
* acknowledgement `[R-3]` asks for: the delete action stays disabled until it
|
|
11
|
+
* is ticked.
|
|
12
|
+
*/
|
|
13
|
+
declare const MaterialRunboxEnvResetDialog: React.FC<MaterialRunboxEnvResetDialogProps>;
|
|
14
|
+
export default MaterialRunboxEnvResetDialog;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
var React = require('react');
|
|
8
|
+
var intl = require('@elice/intl');
|
|
9
|
+
var muiElements = require('@elice/mui-elements');
|
|
10
|
+
var proSolidSvgIcons = require('@fortawesome/pro-solid-svg-icons');
|
|
11
|
+
var lab = require('@mui/lab');
|
|
12
|
+
var material = require('@mui/material');
|
|
13
|
+
|
|
14
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
15
|
+
|
|
16
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
17
|
+
|
|
18
|
+
//
|
|
19
|
+
//
|
|
20
|
+
//
|
|
21
|
+
/**
|
|
22
|
+
* Confirms clearing the practice environment. The checkbox is the explicit
|
|
23
|
+
* acknowledgement `[R-3]` asks for: the delete action stays disabled until it
|
|
24
|
+
* is ticked.
|
|
25
|
+
*/
|
|
26
|
+
var MaterialRunboxEnvResetDialog = function MaterialRunboxEnvResetDialog(_ref) {
|
|
27
|
+
var open = _ref.open,
|
|
28
|
+
_ref$isResetting = _ref.isResetting,
|
|
29
|
+
isResetting = _ref$isResetting === void 0 ? false : _ref$isResetting,
|
|
30
|
+
onClose = _ref.onClose,
|
|
31
|
+
onConfirm = _ref.onConfirm;
|
|
32
|
+
var intl$1 = intl.useRawEliceIntl();
|
|
33
|
+
var _React$useState = React__default.default.useState(false),
|
|
34
|
+
_React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
|
|
35
|
+
isAcknowledged = _React$useState2[0],
|
|
36
|
+
setAcknowledged = _React$useState2[1];
|
|
37
|
+
React__default.default.useEffect(function () {
|
|
38
|
+
if (!open) {
|
|
39
|
+
setAcknowledged(false);
|
|
40
|
+
}
|
|
41
|
+
}, [open]);
|
|
42
|
+
//
|
|
43
|
+
//
|
|
44
|
+
//
|
|
45
|
+
return jsxRuntime.jsxs(material.Dialog, {
|
|
46
|
+
fullWidth: true,
|
|
47
|
+
open: open,
|
|
48
|
+
maxWidth: "xs",
|
|
49
|
+
onClose: onClose,
|
|
50
|
+
children: [jsxRuntime.jsx(material.DialogTitle, {
|
|
51
|
+
children: jsxRuntime.jsxs(material.Stack, {
|
|
52
|
+
direction: "row",
|
|
53
|
+
alignItems: "center",
|
|
54
|
+
gap: "0.5rem",
|
|
55
|
+
children: [jsxRuntime.jsx(muiElements.EliceIcon, {
|
|
56
|
+
icon: proSolidSvgIcons.faCircleExclamation,
|
|
57
|
+
color: "error"
|
|
58
|
+
}), intl$1.formatMessage({
|
|
59
|
+
id: 'runbox.disk.env_reset.dialog.title'
|
|
60
|
+
})]
|
|
61
|
+
})
|
|
62
|
+
}), jsxRuntime.jsxs(material.DialogContent, {
|
|
63
|
+
children: [jsxRuntime.jsx(material.DialogContentText, {
|
|
64
|
+
whiteSpace: "pre-line",
|
|
65
|
+
children: intl$1.formatMessage({
|
|
66
|
+
id: 'runbox.disk.env_reset.dialog.description'
|
|
67
|
+
})
|
|
68
|
+
}), jsxRuntime.jsx(material.FormControlLabel, {
|
|
69
|
+
sx: {
|
|
70
|
+
marginTop: '1rem'
|
|
71
|
+
},
|
|
72
|
+
control: jsxRuntime.jsx(material.Checkbox, {
|
|
73
|
+
checked: isAcknowledged,
|
|
74
|
+
onChange: function onChange(e) {
|
|
75
|
+
return setAcknowledged(e.target.checked);
|
|
76
|
+
}
|
|
77
|
+
}),
|
|
78
|
+
label: intl$1.formatMessage({
|
|
79
|
+
id: 'runbox.disk.env_reset.dialog.acknowledge'
|
|
80
|
+
})
|
|
81
|
+
})]
|
|
82
|
+
}), jsxRuntime.jsxs(material.DialogActions, {
|
|
83
|
+
children: [jsxRuntime.jsx(material.Button, {
|
|
84
|
+
color: "inherit",
|
|
85
|
+
disabled: isResetting,
|
|
86
|
+
onClick: onClose,
|
|
87
|
+
children: intl$1.formatMessage({
|
|
88
|
+
id: 'runbox.disk.env_reset.dialog.actions.cancel'
|
|
89
|
+
})
|
|
90
|
+
}), jsxRuntime.jsx(lab.LoadingButton, {
|
|
91
|
+
color: "error",
|
|
92
|
+
loading: isResetting,
|
|
93
|
+
disabled: !isAcknowledged,
|
|
94
|
+
onClick: onConfirm,
|
|
95
|
+
children: intl$1.formatMessage({
|
|
96
|
+
id: 'runbox.disk.env_reset.dialog.actions.confirm'
|
|
97
|
+
})
|
|
98
|
+
})]
|
|
99
|
+
})]
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
exports.default = MaterialRunboxEnvResetDialog;
|
|
@@ -1 +1,8 @@
|
|
|
1
|
-
export { default as
|
|
1
|
+
export { default as MaterialRunboxDiskUsageAlert } from './MaterialRunboxDiskUsageAlert';
|
|
2
|
+
export { default as MaterialRunboxDiskUsageDialog } from './MaterialRunboxDiskUsageDialog';
|
|
3
|
+
export { default as MaterialRunboxEnvResetButton } from './MaterialRunboxEnvResetButton';
|
|
4
|
+
export { default as MaterialRunboxEnvResetDialog } from './MaterialRunboxEnvResetDialog';
|
|
5
|
+
export type { MaterialRunboxDiskUsageAlertProps } from './MaterialRunboxDiskUsageAlert';
|
|
6
|
+
export type { MaterialRunboxDiskUsageDialogProps } from './MaterialRunboxDiskUsageDialog';
|
|
7
|
+
export type { MaterialRunboxEnvResetButtonProps } from './MaterialRunboxEnvResetButton';
|
|
8
|
+
export type { MaterialRunboxEnvResetDialogProps } from './MaterialRunboxEnvResetDialog';
|