@midscene/playground-app 1.7.3 → 1.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/es/PlaygroundApp.css +0 -128
  2. package/dist/es/PlaygroundApp.mjs +74 -464
  3. package/dist/es/PlaygroundThemeProvider.mjs +10 -0
  4. package/dist/es/PreviewRenderer.mjs +4 -1
  5. package/dist/es/ScrcpyPanel.mjs +97 -89
  6. package/dist/es/SessionSetupPanel.css +292 -0
  7. package/dist/es/SessionSetupPanel.mjs +60 -39
  8. package/dist/es/controller/ai-config.mjs +37 -0
  9. package/dist/es/controller/auto-create.mjs +19 -0
  10. package/dist/es/controller/selectors.mjs +66 -0
  11. package/dist/es/controller/types.mjs +0 -0
  12. package/dist/es/controller/usePlaygroundController.mjs +356 -0
  13. package/dist/es/icons/dropdown-chevron.mjs +61 -0
  14. package/dist/es/icons/midscene-logo.mjs +247 -0
  15. package/dist/es/index.mjs +4 -1
  16. package/dist/es/panels/PlaygroundConversationPanel.css +20 -0
  17. package/dist/es/panels/PlaygroundConversationPanel.mjs +134 -0
  18. package/dist/es/scrcpy-preview.mjs +30 -0
  19. package/dist/lib/PlaygroundApp.css +0 -128
  20. package/dist/lib/PlaygroundApp.js +70 -460
  21. package/dist/lib/PlaygroundThemeProvider.js +44 -0
  22. package/dist/lib/PreviewRenderer.js +4 -1
  23. package/dist/lib/ScrcpyPanel.js +96 -88
  24. package/dist/lib/SessionSetupPanel.css +292 -0
  25. package/dist/lib/SessionSetupPanel.js +70 -38
  26. package/dist/lib/controller/ai-config.js +74 -0
  27. package/dist/lib/controller/auto-create.js +59 -0
  28. package/dist/lib/controller/selectors.js +103 -0
  29. package/dist/lib/controller/types.js +18 -0
  30. package/dist/lib/controller/usePlaygroundController.js +390 -0
  31. package/dist/lib/icons/dropdown-chevron.js +95 -0
  32. package/dist/lib/icons/midscene-logo.js +281 -0
  33. package/dist/lib/index.js +14 -2
  34. package/dist/lib/panels/PlaygroundConversationPanel.css +20 -0
  35. package/dist/lib/panels/PlaygroundConversationPanel.js +168 -0
  36. package/dist/lib/scrcpy-preview.js +79 -0
  37. package/dist/types/PlaygroundPreview.d.ts +6 -0
  38. package/dist/types/PlaygroundThemeProvider.d.ts +2 -0
  39. package/dist/types/PreviewRenderer.d.ts +7 -1
  40. package/dist/types/ScrcpyPanel.d.ts +14 -1
  41. package/dist/types/SessionSetupPanel.d.ts +4 -3
  42. package/dist/types/controller/ai-config.d.ts +4 -0
  43. package/dist/types/controller/auto-create.d.ts +15 -0
  44. package/dist/types/controller/selectors.d.ts +5 -0
  45. package/dist/types/controller/types.d.ts +36 -0
  46. package/dist/types/controller/usePlaygroundController.d.ts +9 -0
  47. package/dist/types/index.d.ts +5 -0
  48. package/dist/types/panels/PlaygroundConversationPanel.d.ts +20 -0
  49. package/dist/types/scrcpy-preview.d.ts +11 -0
  50. package/package.json +4 -3
@@ -0,0 +1,390 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ usePlaygroundController: ()=>usePlaygroundController
28
+ });
29
+ const playground_namespaceObject = require("@midscene/playground");
30
+ const visualizer_namespaceObject = require("@midscene/visualizer");
31
+ const external_antd_namespaceObject = require("antd");
32
+ const external_react_namespaceObject = require("react");
33
+ const external_session_setup_js_namespaceObject = require("../session-setup.js");
34
+ const external_session_state_js_namespaceObject = require("../session-state.js");
35
+ const external_useServerStatus_js_namespaceObject = require("../useServerStatus.js");
36
+ const external_ai_config_js_namespaceObject = require("./ai-config.js");
37
+ const external_auto_create_js_namespaceObject = require("./auto-create.js");
38
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
39
+ try {
40
+ var info = gen[key](arg);
41
+ var value = info.value;
42
+ } catch (error) {
43
+ reject(error);
44
+ return;
45
+ }
46
+ if (info.done) resolve(value);
47
+ else Promise.resolve(value).then(_next, _throw);
48
+ }
49
+ function _async_to_generator(fn) {
50
+ return function() {
51
+ var self = this, args = arguments;
52
+ return new Promise(function(resolve, reject) {
53
+ var gen = fn.apply(self, args);
54
+ function _next(value) {
55
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
56
+ }
57
+ function _throw(err) {
58
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
59
+ }
60
+ _next(void 0);
61
+ });
62
+ };
63
+ }
64
+ function _define_property(obj, key, value) {
65
+ if (key in obj) Object.defineProperty(obj, key, {
66
+ value: value,
67
+ enumerable: true,
68
+ configurable: true,
69
+ writable: true
70
+ });
71
+ else obj[key] = value;
72
+ return obj;
73
+ }
74
+ function _object_spread(target) {
75
+ for(var i = 1; i < arguments.length; i++){
76
+ var source = null != arguments[i] ? arguments[i] : {};
77
+ var ownKeys = Object.keys(source);
78
+ if ("function" == typeof Object.getOwnPropertySymbols) ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
79
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
80
+ }));
81
+ ownKeys.forEach(function(key) {
82
+ _define_property(target, key, source[key]);
83
+ });
84
+ }
85
+ return target;
86
+ }
87
+ function usePlaygroundController_ownKeys(object, enumerableOnly) {
88
+ var keys = Object.keys(object);
89
+ if (Object.getOwnPropertySymbols) {
90
+ var symbols = Object.getOwnPropertySymbols(object);
91
+ if (enumerableOnly) symbols = symbols.filter(function(sym) {
92
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
93
+ });
94
+ keys.push.apply(keys, symbols);
95
+ }
96
+ return keys;
97
+ }
98
+ function _object_spread_props(target, source) {
99
+ source = null != source ? source : {};
100
+ if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
101
+ else usePlaygroundController_ownKeys(Object(source)).forEach(function(key) {
102
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
103
+ });
104
+ return target;
105
+ }
106
+ function getPlatformSelectorFieldKey(setup) {
107
+ var _setup_platformSelector;
108
+ return null == setup ? void 0 : null == (_setup_platformSelector = setup.platformSelector) ? void 0 : _setup_platformSelector.fieldKey;
109
+ }
110
+ function usePlaygroundController({ serverUrl, defaultDeviceType = 'web', pollIntervalMs = 5000, countdownSeconds = 3 }) {
111
+ const [form] = external_antd_namespaceObject.Form.useForm();
112
+ var _Form_useWatch;
113
+ const formValues = null != (_Form_useWatch = external_antd_namespaceObject.Form.useWatch([], form)) ? _Form_useWatch : {};
114
+ const [countdown, setCountdown] = (0, external_react_namespaceObject.useState)(null);
115
+ const [sessionSetup, setSessionSetup] = (0, external_react_namespaceObject.useState)(null);
116
+ const [sessionSetupError, setSessionSetupError] = (0, external_react_namespaceObject.useState)(null);
117
+ const [sessionLoading, setSessionLoading] = (0, external_react_namespaceObject.useState)(false);
118
+ const [sessionMutating, setSessionMutating] = (0, external_react_namespaceObject.useState)(false);
119
+ const aiConfig = (0, visualizer_namespaceObject.useEnvConfig)((state)=>state.config);
120
+ const platformSelectorFieldKey = getPlatformSelectorFieldKey(sessionSetup);
121
+ const selectedPlatformId = 'string' == typeof platformSelectorFieldKey ? formValues[platformSelectorFieldKey] : void 0;
122
+ const playgroundSDK = (0, external_react_namespaceObject.useMemo)(()=>new playground_namespaceObject.PlaygroundSDK({
123
+ type: 'remote-execution',
124
+ serverUrl
125
+ }), [
126
+ serverUrl
127
+ ]);
128
+ const { serverOnline, isUserOperating, deviceType, runtimeInfo, executionUxHints, refreshServerState } = (0, external_useServerStatus_js_namespaceObject.useServerStatus)(playgroundSDK, defaultDeviceType, pollIntervalMs);
129
+ const sessionViewState = (0, external_react_namespaceObject.useMemo)(()=>(0, external_session_state_js_namespaceObject.resolveSessionViewState)(runtimeInfo), [
130
+ runtimeInfo
131
+ ]);
132
+ const applyAiConfig = (0, external_react_namespaceObject.useCallback)(()=>_async_to_generator(function*() {
133
+ if (!(0, external_ai_config_js_namespaceObject.hasPlaygroundAiConfig)(aiConfig)) return true;
134
+ try {
135
+ yield (0, external_ai_config_js_namespaceObject.applyPlaygroundAiConfig)(playgroundSDK, aiConfig);
136
+ return true;
137
+ } catch (error) {
138
+ const errorMessage = error instanceof Error ? error.message : 'Failed to apply AI configuration';
139
+ external_antd_namespaceObject.message.error(errorMessage);
140
+ return false;
141
+ }
142
+ })(), [
143
+ aiConfig,
144
+ playgroundSDK
145
+ ]);
146
+ const countdownTimerRef = (0, external_react_namespaceObject.useRef)(null);
147
+ const countdownResolveRef = (0, external_react_namespaceObject.useRef)(null);
148
+ const mountedRef = (0, external_react_namespaceObject.useRef)(true);
149
+ const lastSetupPlatformIdRef = (0, external_react_namespaceObject.useRef)(void 0);
150
+ const autoCreateSignatureRef = (0, external_react_namespaceObject.useRef)(null);
151
+ const autoCreateBlockedSignatureRef = (0, external_react_namespaceObject.useRef)(null);
152
+ const finishCountdown = (0, external_react_namespaceObject.useCallback)(()=>{
153
+ if (null !== countdownTimerRef.current) {
154
+ window.clearInterval(countdownTimerRef.current);
155
+ countdownTimerRef.current = null;
156
+ }
157
+ const resolve = countdownResolveRef.current;
158
+ countdownResolveRef.current = null;
159
+ if (mountedRef.current) setCountdown(null);
160
+ null == resolve || resolve();
161
+ }, []);
162
+ const showCountdownModal = (0, external_react_namespaceObject.useCallback)(()=>_async_to_generator(function*() {
163
+ if (countdownSeconds <= 0) return;
164
+ finishCountdown();
165
+ return new Promise((resolve)=>{
166
+ countdownResolveRef.current = resolve;
167
+ let count = countdownSeconds;
168
+ if (mountedRef.current) setCountdown(count);
169
+ countdownTimerRef.current = window.setInterval(()=>{
170
+ count -= 1;
171
+ if (count > 0) {
172
+ if (mountedRef.current) setCountdown(count);
173
+ return;
174
+ }
175
+ if (0 === count) {
176
+ if (mountedRef.current) setCountdown('GO!');
177
+ return;
178
+ }
179
+ finishCountdown();
180
+ }, 1000);
181
+ });
182
+ })(), [
183
+ countdownSeconds,
184
+ finishCountdown
185
+ ]);
186
+ (0, external_react_namespaceObject.useEffect)(()=>{
187
+ mountedRef.current = true;
188
+ return ()=>{
189
+ mountedRef.current = false;
190
+ finishCountdown();
191
+ };
192
+ }, [
193
+ finishCountdown
194
+ ]);
195
+ (0, external_react_namespaceObject.useEffect)(()=>{
196
+ if (!executionUxHints.includes('countdown-before-run')) return void playgroundSDK.setBeforeActionHook(void 0);
197
+ playgroundSDK.setBeforeActionHook(()=>_async_to_generator(function*() {
198
+ yield showCountdownModal();
199
+ })());
200
+ return ()=>{
201
+ playgroundSDK.setBeforeActionHook(void 0);
202
+ };
203
+ }, [
204
+ executionUxHints,
205
+ playgroundSDK,
206
+ showCountdownModal
207
+ ]);
208
+ const refreshSessionSetup = (0, external_react_namespaceObject.useCallback)((input)=>_async_to_generator(function*() {
209
+ const currentValues = _object_spread({}, form.getFieldsValue(true), input || {});
210
+ setSessionLoading(true);
211
+ try {
212
+ const setup = yield playgroundSDK.getSessionSetup(input);
213
+ setSessionSetup(setup);
214
+ setSessionSetupError(null);
215
+ const currentPlatformSelectorFieldKey = getPlatformSelectorFieldKey(setup);
216
+ lastSetupPlatformIdRef.current = currentPlatformSelectorFieldKey && 'string' == typeof currentValues[currentPlatformSelectorFieldKey] ? currentValues[currentPlatformSelectorFieldKey] : void 0;
217
+ form.setFieldsValue((0, external_session_state_js_namespaceObject.buildSessionInitialValues)(setup, currentValues));
218
+ } catch (error) {
219
+ console.error('Failed to load session setup:', error);
220
+ setSessionSetupError(error instanceof Error ? error.message : 'Failed to load session setup');
221
+ } finally{
222
+ setSessionLoading(false);
223
+ }
224
+ })(), [
225
+ form,
226
+ playgroundSDK
227
+ ]);
228
+ const createSession = (0, external_react_namespaceObject.useCallback)((input, options)=>_async_to_generator(function*() {
229
+ try {
230
+ if (!(yield applyAiConfig())) return false;
231
+ const values = null != input ? input : yield form.validateFields();
232
+ setSessionMutating(true);
233
+ yield playgroundSDK.createSession(values);
234
+ if ((0, external_auto_create_js_namespaceObject.shouldResetAutoCreateBlock)(options)) autoCreateBlockedSignatureRef.current = null;
235
+ if (!(null == options ? void 0 : options.silent)) external_antd_namespaceObject.message.success('Agent created');
236
+ yield refreshServerState();
237
+ return true;
238
+ } catch (error) {
239
+ if (error.errorFields) return false;
240
+ const errorMessage = error instanceof Error ? error.message : 'Failed to create Agent';
241
+ external_antd_namespaceObject.message.error(errorMessage);
242
+ return false;
243
+ } finally{
244
+ setSessionMutating(false);
245
+ }
246
+ })(), [
247
+ applyAiConfig,
248
+ form,
249
+ playgroundSDK,
250
+ refreshServerState
251
+ ]);
252
+ const destroySession = (0, external_react_namespaceObject.useCallback)(()=>_async_to_generator(function*() {
253
+ try {
254
+ autoCreateBlockedSignatureRef.current = (0, external_auto_create_js_namespaceObject.serializeAutoCreateInput)((0, external_session_setup_js_namespaceObject.resolveAutoCreateSessionInput)(sessionSetup, form.getFieldsValue(true)));
255
+ setSessionMutating(true);
256
+ yield playgroundSDK.destroySession();
257
+ external_antd_namespaceObject.message.success('Session disconnected');
258
+ yield refreshServerState();
259
+ yield refreshSessionSetup();
260
+ } catch (error) {
261
+ const errorMessage = error instanceof Error ? error.message : 'Failed to disconnect session';
262
+ external_antd_namespaceObject.message.error(errorMessage);
263
+ } finally{
264
+ setSessionMutating(false);
265
+ }
266
+ })(), [
267
+ form,
268
+ playgroundSDK,
269
+ refreshServerState,
270
+ refreshSessionSetup,
271
+ sessionSetup
272
+ ]);
273
+ (0, external_react_namespaceObject.useEffect)(()=>{
274
+ if (!serverOnline) return;
275
+ applyAiConfig();
276
+ }, [
277
+ applyAiConfig,
278
+ serverOnline
279
+ ]);
280
+ (0, external_react_namespaceObject.useEffect)(()=>{
281
+ if (!serverOnline || sessionViewState.connected) return;
282
+ let disposed = false;
283
+ let refreshing = false;
284
+ const refreshTargets = ()=>_async_to_generator(function*() {
285
+ if (disposed || refreshing) return;
286
+ refreshing = true;
287
+ try {
288
+ yield refreshSessionSetup(form.getFieldsValue(true));
289
+ } finally{
290
+ refreshing = false;
291
+ }
292
+ })();
293
+ refreshTargets();
294
+ const intervalId = window.setInterval(()=>{
295
+ refreshTargets();
296
+ }, pollIntervalMs);
297
+ return ()=>{
298
+ disposed = true;
299
+ window.clearInterval(intervalId);
300
+ };
301
+ }, [
302
+ form,
303
+ pollIntervalMs,
304
+ refreshSessionSetup,
305
+ serverOnline,
306
+ sessionViewState.connected
307
+ ]);
308
+ (0, external_react_namespaceObject.useEffect)(()=>{
309
+ if (!serverOnline || sessionViewState.connected || !selectedPlatformId) return;
310
+ const currentPlatformSelectorFieldKey = getPlatformSelectorFieldKey(sessionSetup);
311
+ if (!currentPlatformSelectorFieldKey) return;
312
+ if (lastSetupPlatformIdRef.current === selectedPlatformId) return;
313
+ refreshSessionSetup(_object_spread_props(_object_spread({}, form.getFieldsValue(true)), {
314
+ [currentPlatformSelectorFieldKey]: selectedPlatformId
315
+ }));
316
+ }, [
317
+ form,
318
+ refreshSessionSetup,
319
+ selectedPlatformId,
320
+ serverOnline,
321
+ sessionSetup,
322
+ sessionViewState.connected
323
+ ]);
324
+ (0, external_react_namespaceObject.useEffect)(()=>{
325
+ if (sessionViewState.connected) {
326
+ autoCreateSignatureRef.current = null;
327
+ return;
328
+ }
329
+ if (!serverOnline || sessionLoading || sessionMutating || sessionSetupError) return;
330
+ const autoCreateInput = (0, external_session_setup_js_namespaceObject.resolveAutoCreateSessionInput)(sessionSetup, form.getFieldsValue(true));
331
+ const { signature, shouldCreate } = (0, external_auto_create_js_namespaceObject.resolveAutoCreateDecision)({
332
+ autoCreateInput,
333
+ lastAttemptedSignature: autoCreateSignatureRef.current,
334
+ blockedSignature: autoCreateBlockedSignatureRef.current
335
+ });
336
+ if (!shouldCreate || !signature) {
337
+ if (!signature) autoCreateSignatureRef.current = null;
338
+ return;
339
+ }
340
+ autoCreateSignatureRef.current = signature;
341
+ (()=>_async_to_generator(function*() {
342
+ const created = yield createSession(null != autoCreateInput ? autoCreateInput : void 0, {
343
+ silent: true
344
+ });
345
+ if (!created) autoCreateSignatureRef.current = null;
346
+ })())();
347
+ }, [
348
+ createSession,
349
+ form,
350
+ serverOnline,
351
+ sessionLoading,
352
+ sessionMutating,
353
+ sessionSetup,
354
+ sessionSetupError,
355
+ sessionViewState.connected
356
+ ]);
357
+ return {
358
+ state: {
359
+ playgroundSDK,
360
+ form,
361
+ formValues,
362
+ serverOnline,
363
+ isUserOperating,
364
+ deviceType,
365
+ runtimeInfo,
366
+ executionUxHints,
367
+ sessionViewState,
368
+ sessionSetup,
369
+ sessionSetupError,
370
+ sessionLoading,
371
+ sessionMutating,
372
+ countdown,
373
+ countdownSeconds
374
+ },
375
+ actions: {
376
+ refreshServerState,
377
+ refreshSessionSetup,
378
+ createSession,
379
+ destroySession,
380
+ finishCountdown
381
+ }
382
+ };
383
+ }
384
+ exports.usePlaygroundController = __webpack_exports__.usePlaygroundController;
385
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
386
+ "usePlaygroundController"
387
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
388
+ Object.defineProperty(exports, '__esModule', {
389
+ value: true
390
+ });
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ default: ()=>dropdown_chevron
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ require("react");
31
+ function _define_property(obj, key, value) {
32
+ if (key in obj) Object.defineProperty(obj, key, {
33
+ value: value,
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true
37
+ });
38
+ else obj[key] = value;
39
+ return obj;
40
+ }
41
+ function _object_spread(target) {
42
+ for(var i = 1; i < arguments.length; i++){
43
+ var source = null != arguments[i] ? arguments[i] : {};
44
+ var ownKeys = Object.keys(source);
45
+ if ("function" == typeof Object.getOwnPropertySymbols) ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
46
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
47
+ }));
48
+ ownKeys.forEach(function(key) {
49
+ _define_property(target, key, source[key]);
50
+ });
51
+ }
52
+ return target;
53
+ }
54
+ function dropdown_chevron_ownKeys(object, enumerableOnly) {
55
+ var keys = Object.keys(object);
56
+ if (Object.getOwnPropertySymbols) {
57
+ var symbols = Object.getOwnPropertySymbols(object);
58
+ if (enumerableOnly) symbols = symbols.filter(function(sym) {
59
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
60
+ });
61
+ keys.push.apply(keys, symbols);
62
+ }
63
+ return keys;
64
+ }
65
+ function _object_spread_props(target, source) {
66
+ source = null != source ? source : {};
67
+ if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
68
+ else dropdown_chevron_ownKeys(Object(source)).forEach(function(key) {
69
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
70
+ });
71
+ return target;
72
+ }
73
+ const SvgDropdownChevron = (props)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("svg", _object_spread_props(_object_spread({
74
+ xmlns: "http://www.w3.org/2000/svg",
75
+ width: 16,
76
+ height: 16,
77
+ fill: "none",
78
+ viewBox: "0 0 16 16"
79
+ }, props), {
80
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("path", {
81
+ stroke: "#333",
82
+ strokeLinecap: "round",
83
+ strokeLinejoin: "round",
84
+ strokeWidth: 1.333,
85
+ d: "m12 6-4 4-4-4"
86
+ })
87
+ }));
88
+ const dropdown_chevron = SvgDropdownChevron;
89
+ exports["default"] = __webpack_exports__["default"];
90
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
91
+ "default"
92
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
93
+ Object.defineProperty(exports, '__esModule', {
94
+ value: true
95
+ });