@bryan-thompson/inspector-assessment 1.7.1 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/client/dist/assets/{OAuthCallback-cGhwkoyY.js → OAuthCallback-C6NJ8fGr.js} +1 -1
- package/client/dist/assets/{OAuthDebugCallback-2rmUqser.js → OAuthDebugCallback-MIqvflwd.js} +1 -1
- package/client/dist/assets/{index-BnFixpvH.js → index-CW7GS_di.js} +759 -283
- package/client/dist/assets/{index-Bj7kEsw0.css → index-Cuc9GxjD.css} +5 -1
- package/client/dist/index.html +2 -2
- package/client/lib/services/assessment/lib/concurrencyLimit.d.ts +20 -0
- package/client/lib/services/assessment/lib/concurrencyLimit.d.ts.map +1 -0
- package/client/lib/services/assessment/lib/concurrencyLimit.js +51 -0
- package/client/lib/services/assessment/modules/ErrorHandlingAssessor.d.ts.map +1 -1
- package/client/lib/services/assessment/modules/ErrorHandlingAssessor.js +14 -4
- package/client/lib/services/assessment/modules/FunctionalityAssessor.d.ts.map +1 -1
- package/client/lib/services/assessment/modules/FunctionalityAssessor.js +15 -5
- package/client/lib/services/assessment/modules/SecurityAssessor.d.ts.map +1 -1
- package/client/lib/services/assessment/modules/SecurityAssessor.js +15 -5
- package/package.json +6 -6
- package/server/build/index.js +20 -5
- package/client/README.md +0 -50
|
@@ -54,6 +54,15 @@ var jsxRuntime = { exports: {} };
|
|
|
54
54
|
var reactJsxRuntime_production_min = {};
|
|
55
55
|
var react = { exports: {} };
|
|
56
56
|
var react_production_min = {};
|
|
57
|
+
/**
|
|
58
|
+
* @license React
|
|
59
|
+
* react.production.min.js
|
|
60
|
+
*
|
|
61
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
62
|
+
*
|
|
63
|
+
* This source code is licensed under the MIT license found in the
|
|
64
|
+
* LICENSE file in the root directory of this source tree.
|
|
65
|
+
*/
|
|
57
66
|
var hasRequiredReact_production_min;
|
|
58
67
|
function requireReact_production_min() {
|
|
59
68
|
if (hasRequiredReact_production_min) return react_production_min;
|
|
@@ -317,6 +326,15 @@ function requireReact() {
|
|
|
317
326
|
}
|
|
318
327
|
return react.exports;
|
|
319
328
|
}
|
|
329
|
+
/**
|
|
330
|
+
* @license React
|
|
331
|
+
* react-jsx-runtime.production.min.js
|
|
332
|
+
*
|
|
333
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
334
|
+
*
|
|
335
|
+
* This source code is licensed under the MIT license found in the
|
|
336
|
+
* LICENSE file in the root directory of this source tree.
|
|
337
|
+
*/
|
|
320
338
|
var hasRequiredReactJsxRuntime_production_min;
|
|
321
339
|
function requireReactJsxRuntime_production_min() {
|
|
322
340
|
if (hasRequiredReactJsxRuntime_production_min) return reactJsxRuntime_production_min;
|
|
@@ -357,6 +375,15 @@ var reactDom = { exports: {} };
|
|
|
357
375
|
var reactDom_production_min = {};
|
|
358
376
|
var scheduler = { exports: {} };
|
|
359
377
|
var scheduler_production_min = {};
|
|
378
|
+
/**
|
|
379
|
+
* @license React
|
|
380
|
+
* scheduler.production.min.js
|
|
381
|
+
*
|
|
382
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
383
|
+
*
|
|
384
|
+
* This source code is licensed under the MIT license found in the
|
|
385
|
+
* LICENSE file in the root directory of this source tree.
|
|
386
|
+
*/
|
|
360
387
|
var hasRequiredScheduler_production_min;
|
|
361
388
|
function requireScheduler_production_min() {
|
|
362
389
|
if (hasRequiredScheduler_production_min) return scheduler_production_min;
|
|
@@ -601,6 +628,15 @@ function requireScheduler() {
|
|
|
601
628
|
}
|
|
602
629
|
return scheduler.exports;
|
|
603
630
|
}
|
|
631
|
+
/**
|
|
632
|
+
* @license React
|
|
633
|
+
* react-dom.production.min.js
|
|
634
|
+
*
|
|
635
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
636
|
+
*
|
|
637
|
+
* This source code is licensed under the MIT license found in the
|
|
638
|
+
* LICENSE file in the root directory of this source tree.
|
|
639
|
+
*/
|
|
604
640
|
var hasRequiredReactDom_production_min;
|
|
605
641
|
function requireReactDom_production_min() {
|
|
606
642
|
if (hasRequiredReactDom_production_min) return reactDom_production_min;
|
|
@@ -1078,13 +1114,13 @@ function requireReactDom_production_min() {
|
|
|
1078
1114
|
function lb(a, b) {
|
|
1079
1115
|
return null == a || "http://www.w3.org/1999/xhtml" === a ? kb(b) : "http://www.w3.org/2000/svg" === a && "foreignObject" === b ? "http://www.w3.org/1999/xhtml" : a;
|
|
1080
1116
|
}
|
|
1081
|
-
var mb, nb =
|
|
1117
|
+
var mb, nb = function(a) {
|
|
1082
1118
|
return "undefined" !== typeof MSApp && MSApp.execUnsafeLocalFunction ? function(b, c, d, e) {
|
|
1083
1119
|
MSApp.execUnsafeLocalFunction(function() {
|
|
1084
1120
|
return a(b, c, d, e);
|
|
1085
1121
|
});
|
|
1086
1122
|
} : a;
|
|
1087
|
-
}
|
|
1123
|
+
}(function(a, b) {
|
|
1088
1124
|
if ("http://www.w3.org/2000/svg" !== a.namespaceURI || "innerHTML" in a) a.innerHTML = b;
|
|
1089
1125
|
else {
|
|
1090
1126
|
mb = mb || document.createElement("div");
|
|
@@ -7154,7 +7190,7 @@ function useToast() {
|
|
|
7154
7190
|
}
|
|
7155
7191
|
var reactDomExports = requireReactDom();
|
|
7156
7192
|
const ReactDOM = /* @__PURE__ */ getDefaultExportFromCjs(reactDomExports);
|
|
7157
|
-
function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
|
|
7193
|
+
function composeEventHandlers$1(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
|
|
7158
7194
|
return function handleEvent(event) {
|
|
7159
7195
|
originalEventHandler?.(event);
|
|
7160
7196
|
if (checkForDefaultPrevented === false || !event.defaultPrevented) {
|
|
@@ -7573,9 +7609,9 @@ var DismissableLayer = reactExports.forwardRef(
|
|
|
7573
7609
|
pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? "auto" : "none" : void 0,
|
|
7574
7610
|
...props.style
|
|
7575
7611
|
},
|
|
7576
|
-
onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),
|
|
7577
|
-
onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),
|
|
7578
|
-
onPointerDownCapture: composeEventHandlers(
|
|
7612
|
+
onFocusCapture: composeEventHandlers$1(props.onFocusCapture, focusOutside.onFocusCapture),
|
|
7613
|
+
onBlurCapture: composeEventHandlers$1(props.onBlurCapture, focusOutside.onBlurCapture),
|
|
7614
|
+
onPointerDownCapture: composeEventHandlers$1(
|
|
7579
7615
|
props.onPointerDownCapture,
|
|
7580
7616
|
pointerDownOutside.onPointerDownCapture
|
|
7581
7617
|
)
|
|
@@ -7757,7 +7793,7 @@ function usePresence(present) {
|
|
|
7757
7793
|
const ownerWindow = node.ownerDocument.defaultView ?? window;
|
|
7758
7794
|
const handleAnimationEnd = (event) => {
|
|
7759
7795
|
const currentAnimationName = getAnimationName(stylesRef.current);
|
|
7760
|
-
const isCurrentAnimation = currentAnimationName.includes(
|
|
7796
|
+
const isCurrentAnimation = currentAnimationName.includes(event.animationName);
|
|
7761
7797
|
if (event.target === node && isCurrentAnimation) {
|
|
7762
7798
|
send("ANIMATION_END");
|
|
7763
7799
|
if (!prevPresentRef.current) {
|
|
@@ -8106,6 +8142,7 @@ var FocusProxy = reactExports.forwardRef(
|
|
|
8106
8142
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
8107
8143
|
VisuallyHidden,
|
|
8108
8144
|
{
|
|
8145
|
+
"aria-hidden": true,
|
|
8109
8146
|
tabIndex: 0,
|
|
8110
8147
|
...proxyProps,
|
|
8111
8148
|
ref: forwardedRef,
|
|
@@ -8143,23 +8180,23 @@ var Toast$1 = reactExports.forwardRef(
|
|
|
8143
8180
|
onClose: () => setOpen(false),
|
|
8144
8181
|
onPause: useCallbackRef$1(props.onPause),
|
|
8145
8182
|
onResume: useCallbackRef$1(props.onResume),
|
|
8146
|
-
onSwipeStart: composeEventHandlers(props.onSwipeStart, (event) => {
|
|
8183
|
+
onSwipeStart: composeEventHandlers$1(props.onSwipeStart, (event) => {
|
|
8147
8184
|
event.currentTarget.setAttribute("data-swipe", "start");
|
|
8148
8185
|
}),
|
|
8149
|
-
onSwipeMove: composeEventHandlers(props.onSwipeMove, (event) => {
|
|
8186
|
+
onSwipeMove: composeEventHandlers$1(props.onSwipeMove, (event) => {
|
|
8150
8187
|
const { x, y } = event.detail.delta;
|
|
8151
8188
|
event.currentTarget.setAttribute("data-swipe", "move");
|
|
8152
8189
|
event.currentTarget.style.setProperty("--radix-toast-swipe-move-x", `${x}px`);
|
|
8153
8190
|
event.currentTarget.style.setProperty("--radix-toast-swipe-move-y", `${y}px`);
|
|
8154
8191
|
}),
|
|
8155
|
-
onSwipeCancel: composeEventHandlers(props.onSwipeCancel, (event) => {
|
|
8192
|
+
onSwipeCancel: composeEventHandlers$1(props.onSwipeCancel, (event) => {
|
|
8156
8193
|
event.currentTarget.setAttribute("data-swipe", "cancel");
|
|
8157
8194
|
event.currentTarget.style.removeProperty("--radix-toast-swipe-move-x");
|
|
8158
8195
|
event.currentTarget.style.removeProperty("--radix-toast-swipe-move-y");
|
|
8159
8196
|
event.currentTarget.style.removeProperty("--radix-toast-swipe-end-x");
|
|
8160
8197
|
event.currentTarget.style.removeProperty("--radix-toast-swipe-end-y");
|
|
8161
8198
|
}),
|
|
8162
|
-
onSwipeEnd: composeEventHandlers(props.onSwipeEnd, (event) => {
|
|
8199
|
+
onSwipeEnd: composeEventHandlers$1(props.onSwipeEnd, (event) => {
|
|
8163
8200
|
const { x, y } = event.detail.delta;
|
|
8164
8201
|
event.currentTarget.setAttribute("data-swipe", "end");
|
|
8165
8202
|
event.currentTarget.style.removeProperty("--radix-toast-swipe-move-x");
|
|
@@ -8257,6 +8294,7 @@ var ToastImpl = reactExports.forwardRef(
|
|
|
8257
8294
|
__scopeToast,
|
|
8258
8295
|
role: "status",
|
|
8259
8296
|
"aria-live": type2 === "foreground" ? "assertive" : "polite",
|
|
8297
|
+
"aria-atomic": true,
|
|
8260
8298
|
children: announceTextContent
|
|
8261
8299
|
}
|
|
8262
8300
|
),
|
|
@@ -8265,20 +8303,23 @@ var ToastImpl = reactExports.forwardRef(
|
|
|
8265
8303
|
Root$6,
|
|
8266
8304
|
{
|
|
8267
8305
|
asChild: true,
|
|
8268
|
-
onEscapeKeyDown: composeEventHandlers(onEscapeKeyDown, () => {
|
|
8306
|
+
onEscapeKeyDown: composeEventHandlers$1(onEscapeKeyDown, () => {
|
|
8269
8307
|
if (!context.isFocusedToastEscapeKeyDownRef.current) handleClose();
|
|
8270
8308
|
context.isFocusedToastEscapeKeyDownRef.current = false;
|
|
8271
8309
|
}),
|
|
8272
8310
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
8273
8311
|
Primitive.li,
|
|
8274
8312
|
{
|
|
8313
|
+
role: "status",
|
|
8314
|
+
"aria-live": "off",
|
|
8315
|
+
"aria-atomic": true,
|
|
8275
8316
|
tabIndex: 0,
|
|
8276
8317
|
"data-state": open ? "open" : "closed",
|
|
8277
8318
|
"data-swipe-direction": context.swipeDirection,
|
|
8278
8319
|
...toastProps,
|
|
8279
8320
|
ref: composedRefs,
|
|
8280
8321
|
style: { userSelect: "none", touchAction: "none", ...props.style },
|
|
8281
|
-
onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
|
|
8322
|
+
onKeyDown: composeEventHandlers$1(props.onKeyDown, (event) => {
|
|
8282
8323
|
if (event.key !== "Escape") return;
|
|
8283
8324
|
onEscapeKeyDown?.(event.nativeEvent);
|
|
8284
8325
|
if (!event.nativeEvent.defaultPrevented) {
|
|
@@ -8286,11 +8327,11 @@ var ToastImpl = reactExports.forwardRef(
|
|
|
8286
8327
|
handleClose();
|
|
8287
8328
|
}
|
|
8288
8329
|
}),
|
|
8289
|
-
onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {
|
|
8330
|
+
onPointerDown: composeEventHandlers$1(props.onPointerDown, (event) => {
|
|
8290
8331
|
if (event.button !== 0) return;
|
|
8291
8332
|
pointerStartRef.current = { x: event.clientX, y: event.clientY };
|
|
8292
8333
|
}),
|
|
8293
|
-
onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {
|
|
8334
|
+
onPointerMove: composeEventHandlers$1(props.onPointerMove, (event) => {
|
|
8294
8335
|
if (!pointerStartRef.current) return;
|
|
8295
8336
|
const x = event.clientX - pointerStartRef.current.x;
|
|
8296
8337
|
const y = event.clientY - pointerStartRef.current.y;
|
|
@@ -8317,7 +8358,7 @@ var ToastImpl = reactExports.forwardRef(
|
|
|
8317
8358
|
pointerStartRef.current = null;
|
|
8318
8359
|
}
|
|
8319
8360
|
}),
|
|
8320
|
-
onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {
|
|
8361
|
+
onPointerUp: composeEventHandlers$1(props.onPointerUp, (event) => {
|
|
8321
8362
|
const delta = swipeDeltaRef.current;
|
|
8322
8363
|
const target = event.target;
|
|
8323
8364
|
if (target.hasPointerCapture(event.pointerId)) {
|
|
@@ -8413,7 +8454,7 @@ var ToastClose$1 = reactExports.forwardRef(
|
|
|
8413
8454
|
type: "button",
|
|
8414
8455
|
...closeProps,
|
|
8415
8456
|
ref: forwardedRef,
|
|
8416
|
-
onClick: composeEventHandlers(props.onClick, interactiveContext.onClose)
|
|
8457
|
+
onClick: composeEventHandlers$1(props.onClick, interactiveContext.onClose)
|
|
8417
8458
|
}
|
|
8418
8459
|
) });
|
|
8419
8460
|
}
|
|
@@ -14077,10 +14118,10 @@ const ZodType$1 = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
|
|
|
14077
14118
|
};
|
|
14078
14119
|
inst.clone = (def2, params) => clone(inst, def2, params);
|
|
14079
14120
|
inst.brand = () => inst;
|
|
14080
|
-
inst.register = (
|
|
14121
|
+
inst.register = (reg, meta) => {
|
|
14081
14122
|
reg.add(inst, meta);
|
|
14082
14123
|
return inst;
|
|
14083
|
-
}
|
|
14124
|
+
};
|
|
14084
14125
|
inst.parse = (data2, params) => parse$1(inst, data2, params, { callee: inst.parse });
|
|
14085
14126
|
inst.safeParse = (data2, params) => safeParse$1(inst, data2, params);
|
|
14086
14127
|
inst.parseAsync = async (data2, params) => parseAsync(inst, data2, params, { callee: inst.parseAsync });
|
|
@@ -16279,7 +16320,7 @@ object({
|
|
|
16279
16320
|
token_type_hint: string().optional()
|
|
16280
16321
|
}).strip();
|
|
16281
16322
|
const name = "@bryan-thompson/inspector-assessment-client";
|
|
16282
|
-
const version$1 = "1.
|
|
16323
|
+
const version$1 = "1.8.0";
|
|
16283
16324
|
const packageJson = {
|
|
16284
16325
|
name,
|
|
16285
16326
|
version: version$1
|
|
@@ -17490,6 +17531,7 @@ class OAuthStateMachine {
|
|
|
17490
17531
|
}
|
|
17491
17532
|
}
|
|
17492
17533
|
var uri_all$1 = { exports: {} };
|
|
17534
|
+
/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */
|
|
17493
17535
|
var uri_all = uri_all$1.exports;
|
|
17494
17536
|
var hasRequiredUri_all;
|
|
17495
17537
|
function requireUri_all() {
|
|
@@ -17498,7 +17540,7 @@ function requireUri_all() {
|
|
|
17498
17540
|
(function(module, exports) {
|
|
17499
17541
|
(function(global2, factory) {
|
|
17500
17542
|
factory(exports);
|
|
17501
|
-
})(uri_all,
|
|
17543
|
+
})(uri_all, function(exports2) {
|
|
17502
17544
|
function merge2() {
|
|
17503
17545
|
for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) {
|
|
17504
17546
|
sets[_key] = arguments[_key];
|
|
@@ -17565,7 +17607,7 @@ function requireUri_all() {
|
|
|
17565
17607
|
}
|
|
17566
17608
|
var URI_PROTOCOL = buildExps(false);
|
|
17567
17609
|
var IRI_PROTOCOL = buildExps(true);
|
|
17568
|
-
var slicedToArray = /* @__PURE__ */
|
|
17610
|
+
var slicedToArray = /* @__PURE__ */ function() {
|
|
17569
17611
|
function sliceIterator(arr, i) {
|
|
17570
17612
|
var _arr = [];
|
|
17571
17613
|
var _n = true;
|
|
@@ -17597,7 +17639,7 @@ function requireUri_all() {
|
|
|
17597
17639
|
throw new TypeError("Invalid attempt to destructure non-iterable instance");
|
|
17598
17640
|
}
|
|
17599
17641
|
};
|
|
17600
|
-
}
|
|
17642
|
+
}();
|
|
17601
17643
|
var toConsumableArray = function(arr) {
|
|
17602
17644
|
if (Array.isArray(arr)) {
|
|
17603
17645
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
|
@@ -18512,7 +18554,7 @@ function requireUri_all() {
|
|
|
18512
18554
|
exports2.escapeComponent = escapeComponent;
|
|
18513
18555
|
exports2.unescapeComponent = unescapeComponent;
|
|
18514
18556
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
18515
|
-
})
|
|
18557
|
+
});
|
|
18516
18558
|
})(uri_all$1, uri_all$1.exports);
|
|
18517
18559
|
return uri_all$1.exports;
|
|
18518
18560
|
}
|
|
@@ -19106,7 +19148,7 @@ function requireFastJsonStableStringify() {
|
|
|
19106
19148
|
if (!opts) opts = {};
|
|
19107
19149
|
if (typeof opts === "function") opts = { cmp: opts };
|
|
19108
19150
|
var cycles = typeof opts.cycles === "boolean" ? opts.cycles : false;
|
|
19109
|
-
var cmp = opts.cmp && /* @__PURE__ */
|
|
19151
|
+
var cmp = opts.cmp && /* @__PURE__ */ function(f) {
|
|
19110
19152
|
return function(node) {
|
|
19111
19153
|
return function(a, b) {
|
|
19112
19154
|
var aobj = { key: a, value: node[a] };
|
|
@@ -19114,9 +19156,9 @@ function requireFastJsonStableStringify() {
|
|
|
19114
19156
|
return f(aobj, bobj);
|
|
19115
19157
|
};
|
|
19116
19158
|
};
|
|
19117
|
-
}
|
|
19159
|
+
}(opts.cmp);
|
|
19118
19160
|
var seen2 = [];
|
|
19119
|
-
return
|
|
19161
|
+
return function stringify(node) {
|
|
19120
19162
|
if (node && node.toJSON && typeof node.toJSON === "function") {
|
|
19121
19163
|
node = node.toJSON();
|
|
19122
19164
|
}
|
|
@@ -19149,7 +19191,7 @@ function requireFastJsonStableStringify() {
|
|
|
19149
19191
|
}
|
|
19150
19192
|
seen2.splice(seenIndex, 1);
|
|
19151
19193
|
return "{" + out + "}";
|
|
19152
|
-
}
|
|
19194
|
+
}(data2);
|
|
19153
19195
|
};
|
|
19154
19196
|
return fastJsonStableStringify;
|
|
19155
19197
|
}
|
|
@@ -23512,7 +23554,7 @@ function requireAjv$1() {
|
|
|
23512
23554
|
function setLogger(self2) {
|
|
23513
23555
|
var logger = self2._opts.logger;
|
|
23514
23556
|
if (logger === false) {
|
|
23515
|
-
self2.logger = { log:
|
|
23557
|
+
self2.logger = { log: noop2, warn: noop2, error: noop2 };
|
|
23516
23558
|
} else {
|
|
23517
23559
|
if (logger === void 0) logger = console;
|
|
23518
23560
|
if (!(typeof logger == "object" && logger.log && logger.warn && logger.error))
|
|
@@ -23520,7 +23562,7 @@ function requireAjv$1() {
|
|
|
23520
23562
|
self2.logger = logger;
|
|
23521
23563
|
}
|
|
23522
23564
|
}
|
|
23523
|
-
function
|
|
23565
|
+
function noop2() {
|
|
23524
23566
|
}
|
|
23525
23567
|
return ajv$2;
|
|
23526
23568
|
}
|
|
@@ -23569,6 +23611,7 @@ function generateDefaultValue(schema, propertyName, parentSchema) {
|
|
|
23569
23611
|
return schema.default;
|
|
23570
23612
|
}
|
|
23571
23613
|
const isRequired = propertyName && parentSchema ? isPropertyRequired(propertyName, parentSchema) : false;
|
|
23614
|
+
const isRootSchema = propertyName === void 0 && parentSchema === void 0;
|
|
23572
23615
|
switch (schema.type) {
|
|
23573
23616
|
case "string":
|
|
23574
23617
|
return isRequired ? "" : void 0;
|
|
@@ -23580,17 +23623,23 @@ function generateDefaultValue(schema, propertyName, parentSchema) {
|
|
|
23580
23623
|
case "array":
|
|
23581
23624
|
return isRequired ? [] : void 0;
|
|
23582
23625
|
case "object": {
|
|
23583
|
-
if (!schema.properties)
|
|
23626
|
+
if (!schema.properties) {
|
|
23627
|
+
return isRequired || isRootSchema ? {} : void 0;
|
|
23628
|
+
}
|
|
23584
23629
|
const obj = {};
|
|
23585
23630
|
Object.entries(schema.properties).forEach(([key, prop]) => {
|
|
23586
|
-
|
|
23631
|
+
const hasExplicitDefault = "default" in prop && prop.default !== void 0;
|
|
23632
|
+
if (isPropertyRequired(key, schema) || hasExplicitDefault) {
|
|
23587
23633
|
const value = generateDefaultValue(prop, key, schema);
|
|
23588
23634
|
if (value !== void 0) {
|
|
23589
23635
|
obj[key] = value;
|
|
23590
23636
|
}
|
|
23591
23637
|
}
|
|
23592
23638
|
});
|
|
23593
|
-
|
|
23639
|
+
if (Object.keys(obj).length === 0) {
|
|
23640
|
+
return isRequired || isRootSchema ? {} : void 0;
|
|
23641
|
+
}
|
|
23642
|
+
return obj;
|
|
23594
23643
|
}
|
|
23595
23644
|
case "null":
|
|
23596
23645
|
return null;
|
|
@@ -35595,14 +35644,14 @@ class ParseError extends Error {
|
|
|
35595
35644
|
super(message), this.name = "ParseError", this.type = options.type, this.field = options.field, this.value = options.value, this.line = options.line;
|
|
35596
35645
|
}
|
|
35597
35646
|
}
|
|
35598
|
-
function noop
|
|
35647
|
+
function noop(_arg) {
|
|
35599
35648
|
}
|
|
35600
35649
|
function createParser(callbacks) {
|
|
35601
35650
|
if (typeof callbacks == "function")
|
|
35602
35651
|
throw new TypeError(
|
|
35603
35652
|
"`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?"
|
|
35604
35653
|
);
|
|
35605
|
-
const { onEvent = noop
|
|
35654
|
+
const { onEvent = noop, onError = noop, onRetry = noop, onComment } = callbacks;
|
|
35606
35655
|
let incompleteLine = "", isFirstChunk = true, id2, data2 = "", eventType = "";
|
|
35607
35656
|
function feed(newChunk) {
|
|
35608
35657
|
const chunk = isFirstChunk ? newChunk.replace(/^\xEF\xBB\xBF/, "") : newChunk, [complete, incomplete] = splitLines(`${incompleteLine}${chunk}`);
|
|
@@ -35680,7 +35729,7 @@ function splitLines(chunk) {
|
|
|
35680
35729
|
const crIndex = chunk.indexOf("\r", searchIndex), lfIndex = chunk.indexOf(`
|
|
35681
35730
|
`, searchIndex);
|
|
35682
35731
|
let lineEnd = -1;
|
|
35683
|
-
if (crIndex !== -1 && lfIndex !== -1 ? lineEnd = Math.min(crIndex, lfIndex) : crIndex !== -1 ?
|
|
35732
|
+
if (crIndex !== -1 && lfIndex !== -1 ? lineEnd = Math.min(crIndex, lfIndex) : crIndex !== -1 ? lineEnd = crIndex : lfIndex !== -1 && (lineEnd = lfIndex), lineEnd === -1) {
|
|
35684
35733
|
incompleteLine = chunk.slice(searchIndex);
|
|
35685
35734
|
break;
|
|
35686
35735
|
} else {
|
|
@@ -37507,10 +37556,10 @@ var RovingFocusGroupImpl = reactExports.forwardRef((props, forwardedRef) => {
|
|
|
37507
37556
|
...groupProps,
|
|
37508
37557
|
ref: composedRefs,
|
|
37509
37558
|
style: { outline: "none", ...props.style },
|
|
37510
|
-
onMouseDown: composeEventHandlers(props.onMouseDown, () => {
|
|
37559
|
+
onMouseDown: composeEventHandlers$1(props.onMouseDown, () => {
|
|
37511
37560
|
isClickFocusRef.current = true;
|
|
37512
37561
|
}),
|
|
37513
|
-
onFocus: composeEventHandlers(props.onFocus, (event) => {
|
|
37562
|
+
onFocus: composeEventHandlers$1(props.onFocus, (event) => {
|
|
37514
37563
|
const isKeyboardFocus = !isClickFocusRef.current;
|
|
37515
37564
|
if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {
|
|
37516
37565
|
const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS$1);
|
|
@@ -37528,7 +37577,7 @@ var RovingFocusGroupImpl = reactExports.forwardRef((props, forwardedRef) => {
|
|
|
37528
37577
|
}
|
|
37529
37578
|
isClickFocusRef.current = false;
|
|
37530
37579
|
}),
|
|
37531
|
-
onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))
|
|
37580
|
+
onBlur: composeEventHandlers$1(props.onBlur, () => setIsTabbingBackOut(false))
|
|
37532
37581
|
}
|
|
37533
37582
|
)
|
|
37534
37583
|
}
|
|
@@ -37571,12 +37620,12 @@ var RovingFocusGroupItem = reactExports.forwardRef(
|
|
|
37571
37620
|
"data-orientation": context.orientation,
|
|
37572
37621
|
...itemProps,
|
|
37573
37622
|
ref: forwardedRef,
|
|
37574
|
-
onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {
|
|
37623
|
+
onMouseDown: composeEventHandlers$1(props.onMouseDown, (event) => {
|
|
37575
37624
|
if (!focusable) event.preventDefault();
|
|
37576
37625
|
else context.onItemFocus(id2);
|
|
37577
37626
|
}),
|
|
37578
|
-
onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id2)),
|
|
37579
|
-
onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
|
|
37627
|
+
onFocus: composeEventHandlers$1(props.onFocus, () => context.onItemFocus(id2)),
|
|
37628
|
+
onKeyDown: composeEventHandlers$1(props.onKeyDown, (event) => {
|
|
37580
37629
|
if (event.key === "Tab" && event.shiftKey) {
|
|
37581
37630
|
context.onItemShiftTab();
|
|
37582
37631
|
return;
|
|
@@ -37744,17 +37793,17 @@ var TabsTrigger$1 = reactExports.forwardRef(
|
|
|
37744
37793
|
id: triggerId,
|
|
37745
37794
|
...triggerProps,
|
|
37746
37795
|
ref: forwardedRef,
|
|
37747
|
-
onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {
|
|
37796
|
+
onMouseDown: composeEventHandlers$1(props.onMouseDown, (event) => {
|
|
37748
37797
|
if (!disabled && event.button === 0 && event.ctrlKey === false) {
|
|
37749
37798
|
context.onValueChange(value);
|
|
37750
37799
|
} else {
|
|
37751
37800
|
event.preventDefault();
|
|
37752
37801
|
}
|
|
37753
37802
|
}),
|
|
37754
|
-
onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
|
|
37803
|
+
onKeyDown: composeEventHandlers$1(props.onKeyDown, (event) => {
|
|
37755
37804
|
if ([" ", "Enter"].includes(event.key)) context.onValueChange(value);
|
|
37756
37805
|
}),
|
|
37757
|
-
onFocus: composeEventHandlers(props.onFocus, () => {
|
|
37806
|
+
onFocus: composeEventHandlers$1(props.onFocus, () => {
|
|
37758
37807
|
const isAutomaticActivation = context.activationMode !== "manual";
|
|
37759
37808
|
if (!isSelected && !disabled && isAutomaticActivation) {
|
|
37760
37809
|
context.onValueChange(value);
|
|
@@ -37888,6 +37937,12 @@ const Button = reactExports.forwardRef(
|
|
|
37888
37937
|
}
|
|
37889
37938
|
);
|
|
37890
37939
|
Button.displayName = "Button";
|
|
37940
|
+
/**
|
|
37941
|
+
* @license lucide-react v0.523.0 - ISC
|
|
37942
|
+
*
|
|
37943
|
+
* This source code is licensed under the ISC license.
|
|
37944
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
37945
|
+
*/
|
|
37891
37946
|
const toKebabCase = (string2) => string2.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
37892
37947
|
const toCamelCase = (string2) => string2.replace(
|
|
37893
37948
|
/^([A-Z])|[\s-_]+(\w)/g,
|
|
@@ -37907,6 +37962,12 @@ const hasA11yProp = (props) => {
|
|
|
37907
37962
|
}
|
|
37908
37963
|
}
|
|
37909
37964
|
};
|
|
37965
|
+
/**
|
|
37966
|
+
* @license lucide-react v0.523.0 - ISC
|
|
37967
|
+
*
|
|
37968
|
+
* This source code is licensed under the ISC license.
|
|
37969
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
37970
|
+
*/
|
|
37910
37971
|
var defaultAttributes = {
|
|
37911
37972
|
xmlns: "http://www.w3.org/2000/svg",
|
|
37912
37973
|
width: 24,
|
|
@@ -37918,6 +37979,12 @@ var defaultAttributes = {
|
|
|
37918
37979
|
strokeLinecap: "round",
|
|
37919
37980
|
strokeLinejoin: "round"
|
|
37920
37981
|
};
|
|
37982
|
+
/**
|
|
37983
|
+
* @license lucide-react v0.523.0 - ISC
|
|
37984
|
+
*
|
|
37985
|
+
* This source code is licensed under the ISC license.
|
|
37986
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
37987
|
+
*/
|
|
37921
37988
|
const Icon$1 = reactExports.forwardRef(
|
|
37922
37989
|
({
|
|
37923
37990
|
color = "currentColor",
|
|
@@ -37947,6 +38014,12 @@ const Icon$1 = reactExports.forwardRef(
|
|
|
37947
38014
|
]
|
|
37948
38015
|
)
|
|
37949
38016
|
);
|
|
38017
|
+
/**
|
|
38018
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38019
|
+
*
|
|
38020
|
+
* This source code is licensed under the ISC license.
|
|
38021
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38022
|
+
*/
|
|
37950
38023
|
const createLucideIcon = (iconName, iconNode) => {
|
|
37951
38024
|
const Component = reactExports.forwardRef(
|
|
37952
38025
|
({ className, ...props }, ref2) => reactExports.createElement(Icon$1, {
|
|
@@ -37963,6 +38036,12 @@ const createLucideIcon = (iconName, iconNode) => {
|
|
|
37963
38036
|
Component.displayName = toPascalCase(iconName);
|
|
37964
38037
|
return Component;
|
|
37965
38038
|
};
|
|
38039
|
+
/**
|
|
38040
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38041
|
+
*
|
|
38042
|
+
* This source code is licensed under the ISC license.
|
|
38043
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38044
|
+
*/
|
|
37966
38045
|
const __iconNode$J = [
|
|
37967
38046
|
["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }],
|
|
37968
38047
|
[
|
|
@@ -37974,6 +38053,12 @@ const __iconNode$J = [
|
|
|
37974
38053
|
]
|
|
37975
38054
|
];
|
|
37976
38055
|
const Bell = createLucideIcon("bell", __iconNode$J);
|
|
38056
|
+
/**
|
|
38057
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38058
|
+
*
|
|
38059
|
+
* This source code is licensed under the ISC license.
|
|
38060
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38061
|
+
*/
|
|
37977
38062
|
const __iconNode$I = [
|
|
37978
38063
|
["path", { d: "m8 2 1.88 1.88", key: "fmnt4t" }],
|
|
37979
38064
|
["path", { d: "M14.12 3.88 16 2", key: "qol33r" }],
|
|
@@ -37994,54 +38079,132 @@ const __iconNode$I = [
|
|
|
37994
38079
|
["path", { d: "M17.2 17c2.1.1 3.8 1.9 3.8 4", key: "k3fwyw" }]
|
|
37995
38080
|
];
|
|
37996
38081
|
const Bug = createLucideIcon("bug", __iconNode$I);
|
|
38082
|
+
/**
|
|
38083
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38084
|
+
*
|
|
38085
|
+
* This source code is licensed under the ISC license.
|
|
38086
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38087
|
+
*/
|
|
37997
38088
|
const __iconNode$H = [
|
|
37998
38089
|
["path", { d: "M18 6 7 17l-5-5", key: "116fxf" }],
|
|
37999
38090
|
["path", { d: "m22 10-7.5 7.5L13 16", key: "ke71qq" }]
|
|
38000
38091
|
];
|
|
38001
38092
|
const CheckCheck = createLucideIcon("check-check", __iconNode$H);
|
|
38093
|
+
/**
|
|
38094
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38095
|
+
*
|
|
38096
|
+
* This source code is licensed under the ISC license.
|
|
38097
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38098
|
+
*/
|
|
38002
38099
|
const __iconNode$G = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
38003
38100
|
const Check = createLucideIcon("check", __iconNode$G);
|
|
38101
|
+
/**
|
|
38102
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38103
|
+
*
|
|
38104
|
+
* This source code is licensed under the ISC license.
|
|
38105
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38106
|
+
*/
|
|
38004
38107
|
const __iconNode$F = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
38005
38108
|
const ChevronDown = createLucideIcon("chevron-down", __iconNode$F);
|
|
38109
|
+
/**
|
|
38110
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38111
|
+
*
|
|
38112
|
+
* This source code is licensed under the ISC license.
|
|
38113
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38114
|
+
*/
|
|
38006
38115
|
const __iconNode$E = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
38007
38116
|
const ChevronRight = createLucideIcon("chevron-right", __iconNode$E);
|
|
38117
|
+
/**
|
|
38118
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38119
|
+
*
|
|
38120
|
+
* This source code is licensed under the ISC license.
|
|
38121
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38122
|
+
*/
|
|
38008
38123
|
const __iconNode$D = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
|
|
38009
38124
|
const ChevronUp = createLucideIcon("chevron-up", __iconNode$D);
|
|
38125
|
+
/**
|
|
38126
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38127
|
+
*
|
|
38128
|
+
* This source code is licensed under the ISC license.
|
|
38129
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38130
|
+
*/
|
|
38010
38131
|
const __iconNode$C = [
|
|
38011
38132
|
["path", { d: "m7 15 5 5 5-5", key: "1hf1tw" }],
|
|
38012
38133
|
["path", { d: "m7 9 5-5 5 5", key: "sgt6xg" }]
|
|
38013
38134
|
];
|
|
38014
38135
|
const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$C);
|
|
38136
|
+
/**
|
|
38137
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38138
|
+
*
|
|
38139
|
+
* This source code is licensed under the ISC license.
|
|
38140
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38141
|
+
*/
|
|
38015
38142
|
const __iconNode$B = [
|
|
38016
38143
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
38017
38144
|
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
|
|
38018
38145
|
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
|
|
38019
38146
|
];
|
|
38020
38147
|
const CircleAlert = createLucideIcon("circle-alert", __iconNode$B);
|
|
38148
|
+
/**
|
|
38149
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38150
|
+
*
|
|
38151
|
+
* This source code is licensed under the ISC license.
|
|
38152
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38153
|
+
*/
|
|
38021
38154
|
const __iconNode$A = [
|
|
38022
38155
|
["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
|
|
38023
38156
|
["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
|
|
38024
38157
|
];
|
|
38025
38158
|
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$A);
|
|
38159
|
+
/**
|
|
38160
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38161
|
+
*
|
|
38162
|
+
* This source code is licensed under the ISC license.
|
|
38163
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38164
|
+
*/
|
|
38026
38165
|
const __iconNode$z = [
|
|
38027
38166
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
38028
38167
|
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
38029
38168
|
];
|
|
38030
38169
|
const CircleCheck = createLucideIcon("circle-check", __iconNode$z);
|
|
38170
|
+
/**
|
|
38171
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38172
|
+
*
|
|
38173
|
+
* This source code is licensed under the ISC license.
|
|
38174
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38175
|
+
*/
|
|
38031
38176
|
const __iconNode$y = [
|
|
38032
38177
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
38033
38178
|
["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }],
|
|
38034
38179
|
["path", { d: "M12 17h.01", key: "p32p05" }]
|
|
38035
38180
|
];
|
|
38036
38181
|
const CircleQuestionMark = createLucideIcon("circle-question-mark", __iconNode$y);
|
|
38182
|
+
/**
|
|
38183
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38184
|
+
*
|
|
38185
|
+
* This source code is licensed under the ISC license.
|
|
38186
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38187
|
+
*/
|
|
38037
38188
|
const __iconNode$x = [
|
|
38038
38189
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
38039
38190
|
["path", { d: "m15 9-6 6", key: "1uzhvr" }],
|
|
38040
38191
|
["path", { d: "m9 9 6 6", key: "z0biqf" }]
|
|
38041
38192
|
];
|
|
38042
38193
|
const CircleX = createLucideIcon("circle-x", __iconNode$x);
|
|
38194
|
+
/**
|
|
38195
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38196
|
+
*
|
|
38197
|
+
* This source code is licensed under the ISC license.
|
|
38198
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38199
|
+
*/
|
|
38043
38200
|
const __iconNode$w = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
|
|
38044
38201
|
const Circle = createLucideIcon("circle", __iconNode$w);
|
|
38202
|
+
/**
|
|
38203
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38204
|
+
*
|
|
38205
|
+
* This source code is licensed under the ISC license.
|
|
38206
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38207
|
+
*/
|
|
38045
38208
|
const __iconNode$v = [
|
|
38046
38209
|
["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
|
|
38047
38210
|
[
|
|
@@ -38054,29 +38217,59 @@ const __iconNode$v = [
|
|
|
38054
38217
|
["path", { d: "m9 14 2 2 4-4", key: "df797q" }]
|
|
38055
38218
|
];
|
|
38056
38219
|
const ClipboardCheck = createLucideIcon("clipboard-check", __iconNode$v);
|
|
38220
|
+
/**
|
|
38221
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38222
|
+
*
|
|
38223
|
+
* This source code is licensed under the ISC license.
|
|
38224
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38225
|
+
*/
|
|
38057
38226
|
const __iconNode$u = [
|
|
38058
38227
|
["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
|
|
38059
38228
|
["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
|
|
38060
38229
|
["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
|
|
38061
38230
|
];
|
|
38062
38231
|
const CodeXml = createLucideIcon("code-xml", __iconNode$u);
|
|
38232
|
+
/**
|
|
38233
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38234
|
+
*
|
|
38235
|
+
* This source code is licensed under the ISC license.
|
|
38236
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38237
|
+
*/
|
|
38063
38238
|
const __iconNode$t = [
|
|
38064
38239
|
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
38065
38240
|
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
38066
38241
|
];
|
|
38067
38242
|
const Copy = createLucideIcon("copy", __iconNode$t);
|
|
38243
|
+
/**
|
|
38244
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38245
|
+
*
|
|
38246
|
+
* This source code is licensed under the ISC license.
|
|
38247
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38248
|
+
*/
|
|
38068
38249
|
const __iconNode$s = [
|
|
38069
38250
|
["path", { d: "M12 15V3", key: "m9g1x1" }],
|
|
38070
38251
|
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
|
|
38071
38252
|
["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
|
|
38072
38253
|
];
|
|
38073
38254
|
const Download = createLucideIcon("download", __iconNode$s);
|
|
38255
|
+
/**
|
|
38256
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38257
|
+
*
|
|
38258
|
+
* This source code is licensed under the ISC license.
|
|
38259
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38260
|
+
*/
|
|
38074
38261
|
const __iconNode$r = [
|
|
38075
38262
|
["path", { d: "M15 3h6v6", key: "1q9fwt" }],
|
|
38076
38263
|
["path", { d: "M10 14 21 3", key: "gplh6r" }],
|
|
38077
38264
|
["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
|
|
38078
38265
|
];
|
|
38079
38266
|
const ExternalLink = createLucideIcon("external-link", __iconNode$r);
|
|
38267
|
+
/**
|
|
38268
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38269
|
+
*
|
|
38270
|
+
* This source code is licensed under the ISC license.
|
|
38271
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38272
|
+
*/
|
|
38080
38273
|
const __iconNode$q = [
|
|
38081
38274
|
[
|
|
38082
38275
|
"path",
|
|
@@ -38096,6 +38289,12 @@ const __iconNode$q = [
|
|
|
38096
38289
|
["path", { d: "m2 2 20 20", key: "1ooewy" }]
|
|
38097
38290
|
];
|
|
38098
38291
|
const EyeOff = createLucideIcon("eye-off", __iconNode$q);
|
|
38292
|
+
/**
|
|
38293
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38294
|
+
*
|
|
38295
|
+
* This source code is licensed under the ISC license.
|
|
38296
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38297
|
+
*/
|
|
38099
38298
|
const __iconNode$p = [
|
|
38100
38299
|
[
|
|
38101
38300
|
"path",
|
|
@@ -38107,6 +38306,12 @@ const __iconNode$p = [
|
|
|
38107
38306
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
38108
38307
|
];
|
|
38109
38308
|
const Eye = createLucideIcon("eye", __iconNode$p);
|
|
38309
|
+
/**
|
|
38310
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38311
|
+
*
|
|
38312
|
+
* This source code is licensed under the ISC license.
|
|
38313
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38314
|
+
*/
|
|
38110
38315
|
const __iconNode$o = [
|
|
38111
38316
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
38112
38317
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
@@ -38115,12 +38320,24 @@ const __iconNode$o = [
|
|
|
38115
38320
|
["path", { d: "M16 17H8", key: "z1uh3a" }]
|
|
38116
38321
|
];
|
|
38117
38322
|
const FileText = createLucideIcon("file-text", __iconNode$o);
|
|
38323
|
+
/**
|
|
38324
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38325
|
+
*
|
|
38326
|
+
* This source code is licensed under the ISC license.
|
|
38327
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38328
|
+
*/
|
|
38118
38329
|
const __iconNode$n = [
|
|
38119
38330
|
["path", { d: "M20 7h-3a2 2 0 0 1-2-2V2", key: "x099mo" }],
|
|
38120
38331
|
["path", { d: "M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z", key: "18t6ie" }],
|
|
38121
38332
|
["path", { d: "M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8", key: "1nja0z" }]
|
|
38122
38333
|
];
|
|
38123
38334
|
const Files = createLucideIcon("files", __iconNode$n);
|
|
38335
|
+
/**
|
|
38336
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38337
|
+
*
|
|
38338
|
+
* This source code is licensed under the ISC license.
|
|
38339
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38340
|
+
*/
|
|
38124
38341
|
const __iconNode$m = [
|
|
38125
38342
|
[
|
|
38126
38343
|
"path",
|
|
@@ -38140,6 +38357,12 @@ const __iconNode$m = [
|
|
|
38140
38357
|
["path", { d: "M3 3v13a2 2 0 0 0 2 2h3", key: "k8epm1" }]
|
|
38141
38358
|
];
|
|
38142
38359
|
const FolderTree = createLucideIcon("folder-tree", __iconNode$m);
|
|
38360
|
+
/**
|
|
38361
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38362
|
+
*
|
|
38363
|
+
* This source code is licensed under the ISC license.
|
|
38364
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38365
|
+
*/
|
|
38143
38366
|
const __iconNode$l = [
|
|
38144
38367
|
[
|
|
38145
38368
|
"path",
|
|
@@ -38150,6 +38373,12 @@ const __iconNode$l = [
|
|
|
38150
38373
|
]
|
|
38151
38374
|
];
|
|
38152
38375
|
const Funnel = createLucideIcon("funnel", __iconNode$l);
|
|
38376
|
+
/**
|
|
38377
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38378
|
+
*
|
|
38379
|
+
* This source code is licensed under the ISC license.
|
|
38380
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38381
|
+
*/
|
|
38153
38382
|
const __iconNode$k = [
|
|
38154
38383
|
[
|
|
38155
38384
|
"path",
|
|
@@ -38161,6 +38390,12 @@ const __iconNode$k = [
|
|
|
38161
38390
|
["path", { d: "M9 18c-4.51 2-5-2-7-2", key: "9comsn" }]
|
|
38162
38391
|
];
|
|
38163
38392
|
const Github = createLucideIcon("github", __iconNode$k);
|
|
38393
|
+
/**
|
|
38394
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38395
|
+
*
|
|
38396
|
+
* This source code is licensed under the ISC license.
|
|
38397
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38398
|
+
*/
|
|
38164
38399
|
const __iconNode$j = [
|
|
38165
38400
|
["path", { d: "m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9", key: "eefl8a" }],
|
|
38166
38401
|
["path", { d: "m18 15 4-4", key: "16gjal" }],
|
|
@@ -38173,6 +38408,12 @@ const __iconNode$j = [
|
|
|
38173
38408
|
]
|
|
38174
38409
|
];
|
|
38175
38410
|
const Hammer = createLucideIcon("hammer", __iconNode$j);
|
|
38411
|
+
/**
|
|
38412
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38413
|
+
*
|
|
38414
|
+
* This source code is licensed under the ISC license.
|
|
38415
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38416
|
+
*/
|
|
38176
38417
|
const __iconNode$i = [
|
|
38177
38418
|
["line", { x1: "4", x2: "20", y1: "9", y2: "9", key: "4lhtct" }],
|
|
38178
38419
|
["line", { x1: "4", x2: "20", y1: "15", y2: "15", key: "vyu0kd" }],
|
|
@@ -38180,33 +38421,81 @@ const __iconNode$i = [
|
|
|
38180
38421
|
["line", { x1: "16", x2: "14", y1: "3", y2: "21", key: "weycgp" }]
|
|
38181
38422
|
];
|
|
38182
38423
|
const Hash = createLucideIcon("hash", __iconNode$i);
|
|
38424
|
+
/**
|
|
38425
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38426
|
+
*
|
|
38427
|
+
* This source code is licensed under the ISC license.
|
|
38428
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38429
|
+
*/
|
|
38183
38430
|
const __iconNode$h = [
|
|
38184
38431
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
38185
38432
|
["path", { d: "M12 16v-4", key: "1dtifu" }],
|
|
38186
38433
|
["path", { d: "M12 8h.01", key: "e9boi3" }]
|
|
38187
38434
|
];
|
|
38188
38435
|
const Info = createLucideIcon("info", __iconNode$h);
|
|
38436
|
+
/**
|
|
38437
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38438
|
+
*
|
|
38439
|
+
* This source code is licensed under the ISC license.
|
|
38440
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38441
|
+
*/
|
|
38189
38442
|
const __iconNode$g = [
|
|
38190
38443
|
["path", { d: "m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4", key: "g0fldk" }],
|
|
38191
38444
|
["path", { d: "m21 2-9.6 9.6", key: "1j0ho8" }],
|
|
38192
38445
|
["circle", { cx: "7.5", cy: "15.5", r: "5.5", key: "yqb3hr" }]
|
|
38193
38446
|
];
|
|
38194
38447
|
const Key = createLucideIcon("key", __iconNode$g);
|
|
38448
|
+
/**
|
|
38449
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38450
|
+
*
|
|
38451
|
+
* This source code is licensed under the ISC license.
|
|
38452
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38453
|
+
*/
|
|
38195
38454
|
const __iconNode$f = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
|
|
38196
38455
|
const LoaderCircle = createLucideIcon("loader-circle", __iconNode$f);
|
|
38456
|
+
/**
|
|
38457
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38458
|
+
*
|
|
38459
|
+
* This source code is licensed under the ISC license.
|
|
38460
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38461
|
+
*/
|
|
38197
38462
|
const __iconNode$e = [
|
|
38198
38463
|
["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }]
|
|
38199
38464
|
];
|
|
38200
38465
|
const MessageSquare = createLucideIcon("message-square", __iconNode$e);
|
|
38466
|
+
/**
|
|
38467
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38468
|
+
*
|
|
38469
|
+
* This source code is licensed under the ISC license.
|
|
38470
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38471
|
+
*/
|
|
38201
38472
|
const __iconNode$d = [["path", { d: "M5 12h14", key: "1ays0h" }]];
|
|
38202
38473
|
const Minus = createLucideIcon("minus", __iconNode$d);
|
|
38474
|
+
/**
|
|
38475
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38476
|
+
*
|
|
38477
|
+
* This source code is licensed under the ISC license.
|
|
38478
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38479
|
+
*/
|
|
38203
38480
|
const __iconNode$c = [["polygon", { points: "6 3 20 12 6 21 6 3", key: "1oa8hb" }]];
|
|
38204
38481
|
const Play = createLucideIcon("play", __iconNode$c);
|
|
38482
|
+
/**
|
|
38483
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38484
|
+
*
|
|
38485
|
+
* This source code is licensed under the ISC license.
|
|
38486
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38487
|
+
*/
|
|
38205
38488
|
const __iconNode$b = [
|
|
38206
38489
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
38207
38490
|
["path", { d: "M12 5v14", key: "s699le" }]
|
|
38208
38491
|
];
|
|
38209
38492
|
const Plus = createLucideIcon("plus", __iconNode$b);
|
|
38493
|
+
/**
|
|
38494
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38495
|
+
*
|
|
38496
|
+
* This source code is licensed under the ISC license.
|
|
38497
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38498
|
+
*/
|
|
38210
38499
|
const __iconNode$a = [
|
|
38211
38500
|
["path", { d: "M21 8L18.74 5.74A9.75 9.75 0 0 0 12 3C11 3 10.03 3.16 9.13 3.47", key: "1krf6h" }],
|
|
38212
38501
|
["path", { d: "M8 16H3v5", key: "1cv678" }],
|
|
@@ -38217,6 +38506,12 @@ const __iconNode$a = [
|
|
|
38217
38506
|
["path", { d: "M22 22 2 2", key: "1r8tn9" }]
|
|
38218
38507
|
];
|
|
38219
38508
|
const RefreshCwOff = createLucideIcon("refresh-cw-off", __iconNode$a);
|
|
38509
|
+
/**
|
|
38510
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38511
|
+
*
|
|
38512
|
+
* This source code is licensed under the ISC license.
|
|
38513
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38514
|
+
*/
|
|
38220
38515
|
const __iconNode$9 = [
|
|
38221
38516
|
["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }],
|
|
38222
38517
|
["path", { d: "M21 3v5h-5", key: "1q7to0" }],
|
|
@@ -38224,11 +38519,23 @@ const __iconNode$9 = [
|
|
|
38224
38519
|
["path", { d: "M8 16H3v5", key: "1cv678" }]
|
|
38225
38520
|
];
|
|
38226
38521
|
const RefreshCw = createLucideIcon("refresh-cw", __iconNode$9);
|
|
38522
|
+
/**
|
|
38523
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38524
|
+
*
|
|
38525
|
+
* This source code is licensed under the ISC license.
|
|
38526
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38527
|
+
*/
|
|
38227
38528
|
const __iconNode$8 = [
|
|
38228
38529
|
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
|
|
38229
38530
|
["path", { d: "M3 3v5h5", key: "1xhq8a" }]
|
|
38230
38531
|
];
|
|
38231
38532
|
const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$8);
|
|
38533
|
+
/**
|
|
38534
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38535
|
+
*
|
|
38536
|
+
* This source code is licensed under the ISC license.
|
|
38537
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38538
|
+
*/
|
|
38232
38539
|
const __iconNode$7 = [
|
|
38233
38540
|
[
|
|
38234
38541
|
"path",
|
|
@@ -38241,11 +38548,23 @@ const __iconNode$7 = [
|
|
|
38241
38548
|
["path", { d: "M7 3v4a1 1 0 0 0 1 1h7", key: "t51u73" }]
|
|
38242
38549
|
];
|
|
38243
38550
|
const Save = createLucideIcon("save", __iconNode$7);
|
|
38551
|
+
/**
|
|
38552
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38553
|
+
*
|
|
38554
|
+
* This source code is licensed under the ISC license.
|
|
38555
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38556
|
+
*/
|
|
38244
38557
|
const __iconNode$6 = [
|
|
38245
38558
|
["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
|
|
38246
38559
|
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
|
|
38247
38560
|
];
|
|
38248
38561
|
const Search = createLucideIcon("search", __iconNode$6);
|
|
38562
|
+
/**
|
|
38563
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38564
|
+
*
|
|
38565
|
+
* This source code is licensed under the ISC license.
|
|
38566
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38567
|
+
*/
|
|
38249
38568
|
const __iconNode$5 = [
|
|
38250
38569
|
[
|
|
38251
38570
|
"path",
|
|
@@ -38257,6 +38576,12 @@ const __iconNode$5 = [
|
|
|
38257
38576
|
["path", { d: "m21.854 2.147-10.94 10.939", key: "12cjpa" }]
|
|
38258
38577
|
];
|
|
38259
38578
|
const Send = createLucideIcon("send", __iconNode$5);
|
|
38579
|
+
/**
|
|
38580
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38581
|
+
*
|
|
38582
|
+
* This source code is licensed under the ISC license.
|
|
38583
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38584
|
+
*/
|
|
38260
38585
|
const __iconNode$4 = [
|
|
38261
38586
|
["rect", { width: "20", height: "8", x: "2", y: "2", rx: "2", ry: "2", key: "ngkwjq" }],
|
|
38262
38587
|
["rect", { width: "20", height: "8", x: "2", y: "14", rx: "2", ry: "2", key: "iecqi9" }],
|
|
@@ -38264,6 +38589,12 @@ const __iconNode$4 = [
|
|
|
38264
38589
|
["line", { x1: "6", x2: "6.01", y1: "18", y2: "18", key: "nzw8ys" }]
|
|
38265
38590
|
];
|
|
38266
38591
|
const Server = createLucideIcon("server", __iconNode$4);
|
|
38592
|
+
/**
|
|
38593
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38594
|
+
*
|
|
38595
|
+
* This source code is licensed under the ISC license.
|
|
38596
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38597
|
+
*/
|
|
38267
38598
|
const __iconNode$3 = [
|
|
38268
38599
|
[
|
|
38269
38600
|
"path",
|
|
@@ -38275,6 +38606,12 @@ const __iconNode$3 = [
|
|
|
38275
38606
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
38276
38607
|
];
|
|
38277
38608
|
const Settings = createLucideIcon("settings", __iconNode$3);
|
|
38609
|
+
/**
|
|
38610
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38611
|
+
*
|
|
38612
|
+
* This source code is licensed under the ISC license.
|
|
38613
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38614
|
+
*/
|
|
38278
38615
|
const __iconNode$2 = [
|
|
38279
38616
|
[
|
|
38280
38617
|
"path",
|
|
@@ -38285,6 +38622,12 @@ const __iconNode$2 = [
|
|
|
38285
38622
|
]
|
|
38286
38623
|
];
|
|
38287
38624
|
const Shield = createLucideIcon("shield", __iconNode$2);
|
|
38625
|
+
/**
|
|
38626
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38627
|
+
*
|
|
38628
|
+
* This source code is licensed under the ISC license.
|
|
38629
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38630
|
+
*/
|
|
38288
38631
|
const __iconNode$1 = [
|
|
38289
38632
|
["path", { d: "M3 6h18", key: "d0wm0j" }],
|
|
38290
38633
|
["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }],
|
|
@@ -38293,6 +38636,12 @@ const __iconNode$1 = [
|
|
|
38293
38636
|
["line", { x1: "14", x2: "14", y1: "11", y2: "17", key: "xtxkd" }]
|
|
38294
38637
|
];
|
|
38295
38638
|
const Trash2 = createLucideIcon("trash-2", __iconNode$1);
|
|
38639
|
+
/**
|
|
38640
|
+
* @license lucide-react v0.523.0 - ISC
|
|
38641
|
+
*
|
|
38642
|
+
* This source code is licensed under the ISC license.
|
|
38643
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38644
|
+
*/
|
|
38296
38645
|
const __iconNode = [
|
|
38297
38646
|
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
38298
38647
|
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
@@ -39841,14 +40190,14 @@ var RemoveScroll = reactExports.forwardRef(function(props, parentRef) {
|
|
|
39841
40190
|
onWheelCapture: nothing,
|
|
39842
40191
|
onTouchMoveCapture: nothing
|
|
39843
40192
|
}), callbacks = _a[0], setCallbacks = _a[1];
|
|
39844
|
-
var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar,
|
|
40193
|
+
var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? "div" : _b, gapMode = props.gapMode, rest = __rest(props, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]);
|
|
39845
40194
|
var SideCar2 = sideCar;
|
|
39846
40195
|
var containerRef = useMergeRefs([ref2, parentRef]);
|
|
39847
40196
|
var containerProps = __assign(__assign({}, rest), callbacks);
|
|
39848
40197
|
return reactExports.createElement(
|
|
39849
40198
|
reactExports.Fragment,
|
|
39850
40199
|
null,
|
|
39851
|
-
enabled && reactExports.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards,
|
|
40200
|
+
enabled && reactExports.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref2, gapMode }),
|
|
39852
40201
|
forwardProps ? reactExports.cloneElement(reactExports.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : reactExports.createElement(Container, __assign({}, containerProps, { className, ref: containerRef }), children)
|
|
39853
40202
|
);
|
|
39854
40203
|
});
|
|
@@ -40091,9 +40440,6 @@ var handleScroll = function(axis, endTarget, event, sourceDelta, noOverscroll) {
|
|
|
40091
40440
|
var availableScroll = 0;
|
|
40092
40441
|
var availableScrollTop = 0;
|
|
40093
40442
|
do {
|
|
40094
|
-
if (!target) {
|
|
40095
|
-
break;
|
|
40096
|
-
}
|
|
40097
40443
|
var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];
|
|
40098
40444
|
var elementScroll = scroll_1 - capacity - directionFactor * position;
|
|
40099
40445
|
if (position || elementScroll) {
|
|
@@ -40102,8 +40448,11 @@ var handleScroll = function(axis, endTarget, event, sourceDelta, noOverscroll) {
|
|
|
40102
40448
|
availableScrollTop += position;
|
|
40103
40449
|
}
|
|
40104
40450
|
}
|
|
40105
|
-
|
|
40106
|
-
|
|
40451
|
+
if (target instanceof ShadowRoot) {
|
|
40452
|
+
target = target.host;
|
|
40453
|
+
} else {
|
|
40454
|
+
target = target.parentNode;
|
|
40455
|
+
}
|
|
40107
40456
|
} while (
|
|
40108
40457
|
// portaled content
|
|
40109
40458
|
!targetInLock && target !== document.body || // self content
|
|
@@ -40265,7 +40614,7 @@ function RemoveScrollSideCar(props) {
|
|
|
40265
40614
|
reactExports.Fragment,
|
|
40266
40615
|
null,
|
|
40267
40616
|
inert ? reactExports.createElement(Style2, { styles: generateStyle(id2) }) : null,
|
|
40268
|
-
removeScrollBar ? reactExports.createElement(RemoveScrollBar, {
|
|
40617
|
+
removeScrollBar ? reactExports.createElement(RemoveScrollBar, { gapMode: props.gapMode }) : null
|
|
40269
40618
|
);
|
|
40270
40619
|
}
|
|
40271
40620
|
function getOutermostShadowParent(node) {
|
|
@@ -40400,7 +40749,7 @@ var hideOthers = function(originalTarget, parentNode, markerName) {
|
|
|
40400
40749
|
return null;
|
|
40401
40750
|
};
|
|
40402
40751
|
}
|
|
40403
|
-
targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll("[aria-live]
|
|
40752
|
+
targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll("[aria-live]")));
|
|
40404
40753
|
return applyAttributeToOthers(targets, activeParentNode, markerName, "aria-hidden");
|
|
40405
40754
|
};
|
|
40406
40755
|
var DIALOG_NAME = "Dialog";
|
|
@@ -40457,7 +40806,7 @@ var DialogTrigger = reactExports.forwardRef(
|
|
|
40457
40806
|
"data-state": getState$3(context.open),
|
|
40458
40807
|
...triggerProps,
|
|
40459
40808
|
ref: composedTriggerRef,
|
|
40460
|
-
onClick: composeEventHandlers(props.onClick, context.onOpenToggle)
|
|
40809
|
+
onClick: composeEventHandlers$1(props.onClick, context.onOpenToggle)
|
|
40461
40810
|
}
|
|
40462
40811
|
);
|
|
40463
40812
|
}
|
|
@@ -40529,17 +40878,17 @@ var DialogContentModal = reactExports.forwardRef(
|
|
|
40529
40878
|
ref: composedRefs,
|
|
40530
40879
|
trapFocus: context.open,
|
|
40531
40880
|
disableOutsidePointerEvents: true,
|
|
40532
|
-
onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
|
|
40881
|
+
onCloseAutoFocus: composeEventHandlers$1(props.onCloseAutoFocus, (event) => {
|
|
40533
40882
|
event.preventDefault();
|
|
40534
40883
|
context.triggerRef.current?.focus();
|
|
40535
40884
|
}),
|
|
40536
|
-
onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {
|
|
40885
|
+
onPointerDownOutside: composeEventHandlers$1(props.onPointerDownOutside, (event) => {
|
|
40537
40886
|
const originalEvent = event.detail.originalEvent;
|
|
40538
40887
|
const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
|
|
40539
40888
|
const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
|
|
40540
40889
|
if (isRightClick) event.preventDefault();
|
|
40541
40890
|
}),
|
|
40542
|
-
onFocusOutside: composeEventHandlers(
|
|
40891
|
+
onFocusOutside: composeEventHandlers$1(
|
|
40543
40892
|
props.onFocusOutside,
|
|
40544
40893
|
(event) => event.preventDefault()
|
|
40545
40894
|
)
|
|
@@ -40654,7 +41003,7 @@ var DialogClose = reactExports.forwardRef(
|
|
|
40654
41003
|
type: "button",
|
|
40655
41004
|
...closeProps,
|
|
40656
41005
|
ref: forwardedRef,
|
|
40657
|
-
onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))
|
|
41006
|
+
onClick: composeEventHandlers$1(props.onClick, () => context.onOpenChange(false))
|
|
40658
41007
|
}
|
|
40659
41008
|
);
|
|
40660
41009
|
}
|
|
@@ -41182,9 +41531,8 @@ function getOppositeAxis(axis) {
|
|
|
41182
41531
|
function getAxisLength(axis) {
|
|
41183
41532
|
return axis === "y" ? "height" : "width";
|
|
41184
41533
|
}
|
|
41185
|
-
const yAxisSides = /* @__PURE__ */ new Set(["top", "bottom"]);
|
|
41186
41534
|
function getSideAxis(placement) {
|
|
41187
|
-
return
|
|
41535
|
+
return ["top", "bottom"].includes(getSide(placement)) ? "y" : "x";
|
|
41188
41536
|
}
|
|
41189
41537
|
function getAlignmentAxis(placement) {
|
|
41190
41538
|
return getOppositeAxis(getSideAxis(placement));
|
|
@@ -41209,19 +41557,19 @@ function getExpandedPlacements(placement) {
|
|
|
41209
41557
|
function getOppositeAlignmentPlacement(placement) {
|
|
41210
41558
|
return placement.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]);
|
|
41211
41559
|
}
|
|
41212
|
-
const lrPlacement = ["left", "right"];
|
|
41213
|
-
const rlPlacement = ["right", "left"];
|
|
41214
|
-
const tbPlacement = ["top", "bottom"];
|
|
41215
|
-
const btPlacement = ["bottom", "top"];
|
|
41216
41560
|
function getSideList(side, isStart, rtl) {
|
|
41561
|
+
const lr = ["left", "right"];
|
|
41562
|
+
const rl = ["right", "left"];
|
|
41563
|
+
const tb = ["top", "bottom"];
|
|
41564
|
+
const bt = ["bottom", "top"];
|
|
41217
41565
|
switch (side) {
|
|
41218
41566
|
case "top":
|
|
41219
41567
|
case "bottom":
|
|
41220
|
-
if (rtl) return isStart ?
|
|
41221
|
-
return isStart ?
|
|
41568
|
+
if (rtl) return isStart ? rl : lr;
|
|
41569
|
+
return isStart ? lr : rl;
|
|
41222
41570
|
case "left":
|
|
41223
41571
|
case "right":
|
|
41224
|
-
return isStart ?
|
|
41572
|
+
return isStart ? tb : bt;
|
|
41225
41573
|
default:
|
|
41226
41574
|
return [];
|
|
41227
41575
|
}
|
|
@@ -41589,10 +41937,10 @@ const flip$2 = function(options) {
|
|
|
41589
41937
|
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
|
|
41590
41938
|
const nextPlacement = placements[nextIndex];
|
|
41591
41939
|
if (nextPlacement) {
|
|
41940
|
+
var _overflowsData$;
|
|
41592
41941
|
const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false;
|
|
41593
|
-
|
|
41594
|
-
|
|
41595
|
-
overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
|
|
41942
|
+
const hasInitialMainAxisOverflow = ((_overflowsData$ = overflowsData[0]) == null ? void 0 : _overflowsData$.overflows[0]) > 0;
|
|
41943
|
+
if (!ignoreCrossAxisOverflow || hasInitialMainAxisOverflow) {
|
|
41596
41944
|
return {
|
|
41597
41945
|
data: {
|
|
41598
41946
|
index: nextIndex,
|
|
@@ -41700,7 +42048,6 @@ const hide$2 = function(options) {
|
|
|
41700
42048
|
}
|
|
41701
42049
|
};
|
|
41702
42050
|
};
|
|
41703
|
-
const originSides = /* @__PURE__ */ new Set(["left", "top"]);
|
|
41704
42051
|
async function convertValueToCoords(state, options) {
|
|
41705
42052
|
const {
|
|
41706
42053
|
placement,
|
|
@@ -41711,7 +42058,7 @@ async function convertValueToCoords(state, options) {
|
|
|
41711
42058
|
const side = getSide(placement);
|
|
41712
42059
|
const alignment = getAlignment(placement);
|
|
41713
42060
|
const isVertical = getSideAxis(placement) === "y";
|
|
41714
|
-
const mainAxisMulti =
|
|
42061
|
+
const mainAxisMulti = ["left", "top"].includes(side) ? -1 : 1;
|
|
41715
42062
|
const crossAxisMulti = rtl && isVertical ? -1 : 1;
|
|
41716
42063
|
const rawValue = evaluate(options, state);
|
|
41717
42064
|
let {
|
|
@@ -41889,7 +42236,7 @@ const limitShift$2 = function(options) {
|
|
|
41889
42236
|
if (checkCrossAxis) {
|
|
41890
42237
|
var _middlewareData$offse, _middlewareData$offse2;
|
|
41891
42238
|
const len = mainAxis === "y" ? "width" : "height";
|
|
41892
|
-
const isOriginSide =
|
|
42239
|
+
const isOriginSide = ["top", "left"].includes(getSide(placement));
|
|
41893
42240
|
const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);
|
|
41894
42241
|
const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);
|
|
41895
42242
|
if (crossAxisCoord < limitMin) {
|
|
@@ -42024,7 +42371,6 @@ function isShadowRoot(value) {
|
|
|
42024
42371
|
}
|
|
42025
42372
|
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
|
42026
42373
|
}
|
|
42027
|
-
const invalidOverflowDisplayValues = /* @__PURE__ */ new Set(["inline", "contents"]);
|
|
42028
42374
|
function isOverflowElement(element) {
|
|
42029
42375
|
const {
|
|
42030
42376
|
overflow,
|
|
@@ -42032,29 +42378,24 @@ function isOverflowElement(element) {
|
|
|
42032
42378
|
overflowY,
|
|
42033
42379
|
display
|
|
42034
42380
|
} = getComputedStyle$1(element);
|
|
42035
|
-
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !
|
|
42381
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !["inline", "contents"].includes(display);
|
|
42036
42382
|
}
|
|
42037
|
-
const tableElements = /* @__PURE__ */ new Set(["table", "td", "th"]);
|
|
42038
42383
|
function isTableElement(element) {
|
|
42039
|
-
return
|
|
42384
|
+
return ["table", "td", "th"].includes(getNodeName(element));
|
|
42040
42385
|
}
|
|
42041
|
-
const topLayerSelectors = [":popover-open", ":modal"];
|
|
42042
42386
|
function isTopLayer(element) {
|
|
42043
|
-
return
|
|
42387
|
+
return [":popover-open", ":modal"].some((selector) => {
|
|
42044
42388
|
try {
|
|
42045
42389
|
return element.matches(selector);
|
|
42046
|
-
} catch (
|
|
42390
|
+
} catch (e) {
|
|
42047
42391
|
return false;
|
|
42048
42392
|
}
|
|
42049
42393
|
});
|
|
42050
42394
|
}
|
|
42051
|
-
const transformProperties = ["transform", "translate", "scale", "rotate", "perspective"];
|
|
42052
|
-
const willChangeValues = ["transform", "translate", "scale", "rotate", "perspective", "filter"];
|
|
42053
|
-
const containValues = ["paint", "layout", "strict", "content"];
|
|
42054
42395
|
function isContainingBlock(elementOrCss) {
|
|
42055
42396
|
const webkit = isWebKit();
|
|
42056
42397
|
const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
|
|
42057
|
-
return
|
|
42398
|
+
return ["transform", "translate", "scale", "rotate", "perspective"].some((value) => css[value] ? css[value] !== "none" : false) || (css.containerType ? css.containerType !== "normal" : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== "none" : false) || !webkit && (css.filter ? css.filter !== "none" : false) || ["transform", "translate", "scale", "rotate", "perspective", "filter"].some((value) => (css.willChange || "").includes(value)) || ["paint", "layout", "strict", "content"].some((value) => (css.contain || "").includes(value));
|
|
42058
42399
|
}
|
|
42059
42400
|
function getContainingBlock(element) {
|
|
42060
42401
|
let currentNode = getParentNode(element);
|
|
@@ -42072,9 +42413,8 @@ function isWebKit() {
|
|
|
42072
42413
|
if (typeof CSS === "undefined" || !CSS.supports) return false;
|
|
42073
42414
|
return CSS.supports("-webkit-backdrop-filter", "none");
|
|
42074
42415
|
}
|
|
42075
|
-
const lastTraversableNodeNames = /* @__PURE__ */ new Set(["html", "body", "#document"]);
|
|
42076
42416
|
function isLastTraversableNode(node) {
|
|
42077
|
-
return
|
|
42417
|
+
return ["html", "body", "#document"].includes(getNodeName(node));
|
|
42078
42418
|
}
|
|
42079
42419
|
function getComputedStyle$1(element) {
|
|
42080
42420
|
return getWindow(element).getComputedStyle(element);
|
|
@@ -42258,9 +42598,15 @@ function getWindowScrollBarX(element, rect) {
|
|
|
42258
42598
|
}
|
|
42259
42599
|
return rect.left + leftScroll;
|
|
42260
42600
|
}
|
|
42261
|
-
function getHTMLOffset(documentElement, scroll) {
|
|
42601
|
+
function getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {
|
|
42602
|
+
if (ignoreScrollbarX === void 0) {
|
|
42603
|
+
ignoreScrollbarX = false;
|
|
42604
|
+
}
|
|
42262
42605
|
const htmlRect = documentElement.getBoundingClientRect();
|
|
42263
|
-
const x = htmlRect.left + scroll.scrollLeft -
|
|
42606
|
+
const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 : (
|
|
42607
|
+
// RTL <body> scrollbar.
|
|
42608
|
+
getWindowScrollBarX(documentElement, htmlRect)
|
|
42609
|
+
));
|
|
42264
42610
|
const y = htmlRect.top + scroll.scrollTop;
|
|
42265
42611
|
return {
|
|
42266
42612
|
x,
|
|
@@ -42298,7 +42644,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
42298
42644
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
42299
42645
|
}
|
|
42300
42646
|
}
|
|
42301
|
-
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
42647
|
+
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);
|
|
42302
42648
|
return {
|
|
42303
42649
|
width: rect.width * scale.x,
|
|
42304
42650
|
height: rect.height * scale.y,
|
|
@@ -42327,7 +42673,6 @@ function getDocumentRect(element) {
|
|
|
42327
42673
|
y
|
|
42328
42674
|
};
|
|
42329
42675
|
}
|
|
42330
|
-
const SCROLLBAR_MAX = 25;
|
|
42331
42676
|
function getViewportRect(element, strategy) {
|
|
42332
42677
|
const win = getWindow(element);
|
|
42333
42678
|
const html = getDocumentElement(element);
|
|
@@ -42345,19 +42690,6 @@ function getViewportRect(element, strategy) {
|
|
|
42345
42690
|
y = visualViewport.offsetTop;
|
|
42346
42691
|
}
|
|
42347
42692
|
}
|
|
42348
|
-
const windowScrollbarX = getWindowScrollBarX(html);
|
|
42349
|
-
if (windowScrollbarX <= 0) {
|
|
42350
|
-
const doc = html.ownerDocument;
|
|
42351
|
-
const body = doc.body;
|
|
42352
|
-
const bodyStyles = getComputedStyle(body);
|
|
42353
|
-
const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
|
|
42354
|
-
const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
|
|
42355
|
-
if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
|
|
42356
|
-
width -= clippingStableScrollbarWidth;
|
|
42357
|
-
}
|
|
42358
|
-
} else if (windowScrollbarX <= SCROLLBAR_MAX) {
|
|
42359
|
-
width += windowScrollbarX;
|
|
42360
|
-
}
|
|
42361
42693
|
return {
|
|
42362
42694
|
width,
|
|
42363
42695
|
height,
|
|
@@ -42365,7 +42697,6 @@ function getViewportRect(element, strategy) {
|
|
|
42365
42697
|
y
|
|
42366
42698
|
};
|
|
42367
42699
|
}
|
|
42368
|
-
const absoluteOrFixed = /* @__PURE__ */ new Set(["absolute", "fixed"]);
|
|
42369
42700
|
function getInnerBoundingClientRect(element, strategy) {
|
|
42370
42701
|
const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
|
|
42371
42702
|
const top = clientRect.top + element.clientTop;
|
|
@@ -42423,7 +42754,7 @@ function getClippingElementAncestors(element, cache2) {
|
|
|
42423
42754
|
if (!currentNodeIsContaining && computedStyle.position === "fixed") {
|
|
42424
42755
|
currentContainingBlockComputedStyle = null;
|
|
42425
42756
|
}
|
|
42426
|
-
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle &&
|
|
42757
|
+
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && ["absolute", "fixed"].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
|
42427
42758
|
if (shouldDropCurrentNode) {
|
|
42428
42759
|
result = result.filter((ancestor) => ancestor !== currentNode);
|
|
42429
42760
|
} else {
|
|
@@ -42743,10 +43074,7 @@ const computePosition = (reference, floating, options) => {
|
|
|
42743
43074
|
platform: platformWithCache
|
|
42744
43075
|
});
|
|
42745
43076
|
};
|
|
42746
|
-
var
|
|
42747
|
-
var noop = function noop2() {
|
|
42748
|
-
};
|
|
42749
|
-
var index = isClient ? reactExports.useLayoutEffect : noop;
|
|
43077
|
+
var index = typeof document !== "undefined" ? reactExports.useLayoutEffect : reactExports.useEffect;
|
|
42750
43078
|
function deepEqual(a, b) {
|
|
42751
43079
|
if (a === b) {
|
|
42752
43080
|
return true;
|
|
@@ -43090,13 +43418,8 @@ var PopperAnchor = reactExports.forwardRef(
|
|
|
43090
43418
|
const context = usePopperContext(ANCHOR_NAME$1, __scopePopper);
|
|
43091
43419
|
const ref2 = reactExports.useRef(null);
|
|
43092
43420
|
const composedRefs = useComposedRefs(forwardedRef, ref2);
|
|
43093
|
-
const anchorRef = reactExports.useRef(null);
|
|
43094
43421
|
reactExports.useEffect(() => {
|
|
43095
|
-
|
|
43096
|
-
anchorRef.current = virtualRef?.current || ref2.current;
|
|
43097
|
-
if (previousAnchor !== anchorRef.current) {
|
|
43098
|
-
context.onAnchorChange(anchorRef.current);
|
|
43099
|
-
}
|
|
43422
|
+
context.onAnchorChange(virtualRef?.current || ref2.current);
|
|
43100
43423
|
});
|
|
43101
43424
|
return virtualRef ? null : /* @__PURE__ */ jsxRuntimeExports.jsx(Primitive.div, { ...anchorProps, ref: composedRefs });
|
|
43102
43425
|
}
|
|
@@ -43417,7 +43740,7 @@ var PopoverTrigger$1 = reactExports.forwardRef(
|
|
|
43417
43740
|
"data-state": getState$2(context.open),
|
|
43418
43741
|
...triggerProps,
|
|
43419
43742
|
ref: composedTriggerRef,
|
|
43420
|
-
onClick: composeEventHandlers(props.onClick, context.onOpenToggle)
|
|
43743
|
+
onClick: composeEventHandlers$1(props.onClick, context.onOpenToggle)
|
|
43421
43744
|
}
|
|
43422
43745
|
);
|
|
43423
43746
|
return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsxRuntimeExports.jsx(Anchor, { asChild: true, ...popperScope, children: trigger });
|
|
@@ -43462,11 +43785,11 @@ var PopoverContentModal = reactExports.forwardRef(
|
|
|
43462
43785
|
ref: composedRefs,
|
|
43463
43786
|
trapFocus: context.open,
|
|
43464
43787
|
disableOutsidePointerEvents: true,
|
|
43465
|
-
onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
|
|
43788
|
+
onCloseAutoFocus: composeEventHandlers$1(props.onCloseAutoFocus, (event) => {
|
|
43466
43789
|
event.preventDefault();
|
|
43467
43790
|
if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();
|
|
43468
43791
|
}),
|
|
43469
|
-
onPointerDownOutside: composeEventHandlers(
|
|
43792
|
+
onPointerDownOutside: composeEventHandlers$1(
|
|
43470
43793
|
props.onPointerDownOutside,
|
|
43471
43794
|
(event) => {
|
|
43472
43795
|
const originalEvent = event.detail.originalEvent;
|
|
@@ -43476,7 +43799,7 @@ var PopoverContentModal = reactExports.forwardRef(
|
|
|
43476
43799
|
},
|
|
43477
43800
|
{ checkForDefaultPrevented: false }
|
|
43478
43801
|
),
|
|
43479
|
-
onFocusOutside: composeEventHandlers(
|
|
43802
|
+
onFocusOutside: composeEventHandlers$1(
|
|
43480
43803
|
props.onFocusOutside,
|
|
43481
43804
|
(event) => event.preventDefault(),
|
|
43482
43805
|
{ checkForDefaultPrevented: false }
|
|
@@ -43599,7 +43922,7 @@ var PopoverClose = reactExports.forwardRef(
|
|
|
43599
43922
|
type: "button",
|
|
43600
43923
|
...closeProps,
|
|
43601
43924
|
ref: forwardedRef,
|
|
43602
|
-
onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))
|
|
43925
|
+
onClick: composeEventHandlers$1(props.onClick, () => context.onOpenChange(false))
|
|
43603
43926
|
}
|
|
43604
43927
|
);
|
|
43605
43928
|
}
|
|
@@ -44596,7 +44919,7 @@ function requireLib() {
|
|
|
44596
44919
|
};
|
|
44597
44920
|
return __assign2.apply(this, arguments);
|
|
44598
44921
|
};
|
|
44599
|
-
var __createBinding = lib && lib.__createBinding || (Object.create ?
|
|
44922
|
+
var __createBinding = lib && lib.__createBinding || (Object.create ? function(o, m2, k2, k22) {
|
|
44600
44923
|
if (k22 === void 0) k22 = k2;
|
|
44601
44924
|
var desc = Object.getOwnPropertyDescriptor(m2, k2);
|
|
44602
44925
|
if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
|
|
@@ -44605,13 +44928,13 @@ function requireLib() {
|
|
|
44605
44928
|
} };
|
|
44606
44929
|
}
|
|
44607
44930
|
Object.defineProperty(o, k22, desc);
|
|
44608
|
-
}
|
|
44931
|
+
} : function(o, m2, k2, k22) {
|
|
44609
44932
|
if (k22 === void 0) k22 = k2;
|
|
44610
44933
|
o[k22] = m2[k2];
|
|
44611
|
-
})
|
|
44612
|
-
var __setModuleDefault = lib && lib.__setModuleDefault || (Object.create ?
|
|
44934
|
+
});
|
|
44935
|
+
var __setModuleDefault = lib && lib.__setModuleDefault || (Object.create ? function(o, v) {
|
|
44613
44936
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
44614
|
-
}
|
|
44937
|
+
} : function(o, v) {
|
|
44615
44938
|
o["default"] = v;
|
|
44616
44939
|
});
|
|
44617
44940
|
var __importStar = lib && lib.__importStar || function(mod) {
|
|
@@ -44989,7 +45312,15 @@ function requirePrism() {
|
|
|
44989
45312
|
hasRequiredPrism = 1;
|
|
44990
45313
|
(function(module) {
|
|
44991
45314
|
var _self = typeof window !== "undefined" ? window : typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope ? self : {};
|
|
44992
|
-
|
|
45315
|
+
/**
|
|
45316
|
+
* Prism: Lightweight, robust, elegant syntax highlighting
|
|
45317
|
+
*
|
|
45318
|
+
* @license MIT <https://opensource.org/licenses/MIT>
|
|
45319
|
+
* @author Lea Verou <https://lea.verou.me>
|
|
45320
|
+
* @namespace
|
|
45321
|
+
* @public
|
|
45322
|
+
*/
|
|
45323
|
+
var Prism2 = function(_self2) {
|
|
44993
45324
|
var lang = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i;
|
|
44994
45325
|
var uniqueId = 0;
|
|
44995
45326
|
var plainTextGrammar = {};
|
|
@@ -45874,7 +46205,7 @@ function requirePrism() {
|
|
|
45874
46205
|
}
|
|
45875
46206
|
}
|
|
45876
46207
|
return _;
|
|
45877
|
-
}
|
|
46208
|
+
}(_self);
|
|
45878
46209
|
if (module.exports) {
|
|
45879
46210
|
module.exports = Prism2;
|
|
45880
46211
|
}
|
|
@@ -46464,7 +46795,8 @@ Prism.languages.webmanifest = Prism.languages.json;
|
|
|
46464
46795
|
const JsonEditor = ({
|
|
46465
46796
|
value,
|
|
46466
46797
|
onChange,
|
|
46467
|
-
error: externalError
|
|
46798
|
+
error: externalError,
|
|
46799
|
+
placeholder
|
|
46468
46800
|
}) => {
|
|
46469
46801
|
const [editorContent, setEditorContent] = reactExports.useState(value || "");
|
|
46470
46802
|
const [internalError, setInternalError] = reactExports.useState(
|
|
@@ -46491,6 +46823,7 @@ const JsonEditor = ({
|
|
|
46491
46823
|
onValueChange: handleEditorChange,
|
|
46492
46824
|
highlight: (code2) => Prism$1.highlight(code2, Prism$1.languages.json, "json"),
|
|
46493
46825
|
padding: 10,
|
|
46826
|
+
placeholder,
|
|
46494
46827
|
style: {
|
|
46495
46828
|
fontFamily: '"Fira code", "Fira Mono", monospace',
|
|
46496
46829
|
fontSize: 14,
|
|
@@ -46548,7 +46881,22 @@ const getArrayItemDefault = (schema) => {
|
|
|
46548
46881
|
};
|
|
46549
46882
|
const DynamicJsonForm = reactExports.forwardRef(
|
|
46550
46883
|
({ schema, value, onChange, maxDepth = 3 }, ref2) => {
|
|
46551
|
-
const
|
|
46884
|
+
const canRenderTopLevelForm = (s) => {
|
|
46885
|
+
const primitiveTypes = ["string", "number", "integer", "boolean", "null"];
|
|
46886
|
+
const hasType = Array.isArray(s.type) ? s.type.length > 0 : !!s.type;
|
|
46887
|
+
if (!hasType) return false;
|
|
46888
|
+
const includesType = (t) => Array.isArray(s.type) ? s.type.includes(t) : s.type === t;
|
|
46889
|
+
if (primitiveTypes.some(includesType)) return true;
|
|
46890
|
+
if (includesType("object")) {
|
|
46891
|
+
const keys = Object.keys(s.properties ?? {});
|
|
46892
|
+
return keys.length > 0;
|
|
46893
|
+
}
|
|
46894
|
+
if (includesType("array")) {
|
|
46895
|
+
return !!s.items;
|
|
46896
|
+
}
|
|
46897
|
+
return false;
|
|
46898
|
+
};
|
|
46899
|
+
const isOnlyJSON = !canRenderTopLevelForm(schema);
|
|
46552
46900
|
const [isJsonMode, setIsJsonMode] = reactExports.useState(isOnlyJSON);
|
|
46553
46901
|
const [jsonError, setJsonError] = reactExports.useState();
|
|
46554
46902
|
const [copiedJson, setCopiedJson] = reactExports.useState(false);
|
|
@@ -46690,58 +47038,64 @@ const DynamicJsonForm = reactExports.forwardRef(
|
|
|
46690
47038
|
}
|
|
46691
47039
|
switch (fieldType) {
|
|
46692
47040
|
case "string": {
|
|
46693
|
-
|
|
46694
|
-
|
|
46695
|
-
|
|
46696
|
-
|
|
46697
|
-
|
|
46698
|
-
|
|
46699
|
-
|
|
46700
|
-
|
|
46701
|
-
|
|
46702
|
-
|
|
46703
|
-
|
|
46704
|
-
|
|
46705
|
-
|
|
46706
|
-
|
|
46707
|
-
|
|
46708
|
-
|
|
46709
|
-
|
|
46710
|
-
|
|
46711
|
-
|
|
46712
|
-
|
|
46713
|
-
|
|
46714
|
-
|
|
46715
|
-
|
|
46716
|
-
|
|
46717
|
-
|
|
46718
|
-
|
|
46719
|
-
|
|
46720
|
-
|
|
46721
|
-
|
|
46722
|
-
|
|
47041
|
+
const titledOptions = (propSchema.oneOf ?? propSchema.anyOf)?.filter((opt) => "const" in opt);
|
|
47042
|
+
if (titledOptions && titledOptions.length > 0) {
|
|
47043
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
|
|
47044
|
+
propSchema.description && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-gray-600", children: propSchema.description }),
|
|
47045
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
47046
|
+
"select",
|
|
47047
|
+
{
|
|
47048
|
+
value: currentValue ?? "",
|
|
47049
|
+
onChange: (e) => {
|
|
47050
|
+
const val = e.target.value;
|
|
47051
|
+
if (!val && !isRequired) {
|
|
47052
|
+
handleFieldChange(path, void 0);
|
|
47053
|
+
} else {
|
|
47054
|
+
handleFieldChange(path, val);
|
|
47055
|
+
}
|
|
47056
|
+
},
|
|
47057
|
+
required: isRequired,
|
|
47058
|
+
className: "w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-800",
|
|
47059
|
+
children: [
|
|
47060
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "", children: "Select an option..." }),
|
|
47061
|
+
titledOptions.map((option) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
47062
|
+
"option",
|
|
47063
|
+
{
|
|
47064
|
+
value: String(option.const),
|
|
47065
|
+
children: option.title ?? String(option.const)
|
|
47066
|
+
},
|
|
47067
|
+
String(option.const)
|
|
47068
|
+
))
|
|
47069
|
+
]
|
|
47070
|
+
}
|
|
47071
|
+
)
|
|
47072
|
+
] });
|
|
46723
47073
|
}
|
|
46724
47074
|
if (propSchema.enum) {
|
|
46725
|
-
|
|
46726
|
-
|
|
46727
|
-
{
|
|
46728
|
-
|
|
46729
|
-
|
|
46730
|
-
|
|
46731
|
-
|
|
46732
|
-
|
|
46733
|
-
|
|
46734
|
-
|
|
46735
|
-
|
|
46736
|
-
|
|
46737
|
-
|
|
46738
|
-
|
|
46739
|
-
|
|
46740
|
-
|
|
46741
|
-
|
|
46742
|
-
|
|
46743
|
-
|
|
46744
|
-
|
|
47075
|
+
const names2 = Array.isArray(propSchema.enumNames) ? propSchema.enumNames : void 0;
|
|
47076
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
|
|
47077
|
+
propSchema.description && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-gray-600", children: propSchema.description }),
|
|
47078
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
47079
|
+
"select",
|
|
47080
|
+
{
|
|
47081
|
+
value: currentValue ?? "",
|
|
47082
|
+
onChange: (e) => {
|
|
47083
|
+
const val = e.target.value;
|
|
47084
|
+
if (!val && !isRequired) {
|
|
47085
|
+
handleFieldChange(path, void 0);
|
|
47086
|
+
} else {
|
|
47087
|
+
handleFieldChange(path, val);
|
|
47088
|
+
}
|
|
47089
|
+
},
|
|
47090
|
+
required: isRequired,
|
|
47091
|
+
className: "w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-800",
|
|
47092
|
+
children: [
|
|
47093
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "", children: "Select an option..." }),
|
|
47094
|
+
propSchema.enum.map((option, idx) => /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: option, children: names2?.[idx] ?? option }, option))
|
|
47095
|
+
]
|
|
47096
|
+
}
|
|
47097
|
+
)
|
|
47098
|
+
] });
|
|
46745
47099
|
}
|
|
46746
47100
|
let inputType = "text";
|
|
46747
47101
|
switch (propSchema.format) {
|
|
@@ -46826,16 +47180,19 @@ const DynamicJsonForm = reactExports.forwardRef(
|
|
|
46826
47180
|
}
|
|
46827
47181
|
);
|
|
46828
47182
|
case "boolean":
|
|
46829
|
-
return /* @__PURE__ */ jsxRuntimeExports.
|
|
46830
|
-
|
|
46831
|
-
|
|
46832
|
-
|
|
46833
|
-
|
|
46834
|
-
|
|
46835
|
-
|
|
46836
|
-
|
|
46837
|
-
|
|
46838
|
-
|
|
47183
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
|
|
47184
|
+
propSchema.description && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-gray-600", children: propSchema.description }),
|
|
47185
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
47186
|
+
Input,
|
|
47187
|
+
{
|
|
47188
|
+
type: "checkbox",
|
|
47189
|
+
checked: currentValue ?? false,
|
|
47190
|
+
onChange: (e) => handleFieldChange(path, e.target.checked),
|
|
47191
|
+
className: "w-4 h-4",
|
|
47192
|
+
required: isRequired
|
|
47193
|
+
}
|
|
47194
|
+
)
|
|
47195
|
+
] });
|
|
46839
47196
|
case "null":
|
|
46840
47197
|
return null;
|
|
46841
47198
|
case "object":
|
|
@@ -46861,7 +47218,7 @@ const DynamicJsonForm = reactExports.forwardRef(
|
|
|
46861
47218
|
}
|
|
46862
47219
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-2 border rounded p-3", children: Object.entries(propSchema.properties).map(([key, subSchema]) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
46863
47220
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("label", { className: "block text-sm font-medium mb-1", children: [
|
|
46864
|
-
key,
|
|
47221
|
+
subSchema.title ?? key,
|
|
46865
47222
|
propSchema.required?.includes(key) && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-red-500 ml-1", children: "*" })
|
|
46866
47223
|
] }),
|
|
46867
47224
|
renderFormFields(
|
|
@@ -46876,6 +47233,47 @@ const DynamicJsonForm = reactExports.forwardRef(
|
|
|
46876
47233
|
case "array": {
|
|
46877
47234
|
const arrayValue = Array.isArray(currentValue) ? currentValue : [];
|
|
46878
47235
|
if (!propSchema.items) return null;
|
|
47236
|
+
const itemSchema = propSchema.items;
|
|
47237
|
+
let multiOptions = null;
|
|
47238
|
+
const titledMulti = (itemSchema.anyOf ?? itemSchema.oneOf)?.filter((opt) => "const" in opt);
|
|
47239
|
+
if (titledMulti && titledMulti.length > 0) {
|
|
47240
|
+
multiOptions = titledMulti.map((o) => ({
|
|
47241
|
+
value: String(o.const),
|
|
47242
|
+
label: o.title ?? String(o.const)
|
|
47243
|
+
}));
|
|
47244
|
+
} else if (itemSchema.enum) {
|
|
47245
|
+
const names2 = Array.isArray(itemSchema.enumNames) ? itemSchema.enumNames : void 0;
|
|
47246
|
+
multiOptions = itemSchema.enum.map((v, i) => ({
|
|
47247
|
+
value: v,
|
|
47248
|
+
label: names2?.[i] ?? v
|
|
47249
|
+
}));
|
|
47250
|
+
}
|
|
47251
|
+
if (multiOptions) {
|
|
47252
|
+
const selectSize = Math.min(Math.max(multiOptions.length, 3), 8);
|
|
47253
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
|
|
47254
|
+
propSchema.description && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-gray-600", children: propSchema.description }),
|
|
47255
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
47256
|
+
"select",
|
|
47257
|
+
{
|
|
47258
|
+
multiple: true,
|
|
47259
|
+
size: selectSize,
|
|
47260
|
+
value: arrayValue,
|
|
47261
|
+
onChange: (e) => {
|
|
47262
|
+
const selected = Array.from(
|
|
47263
|
+
e.target.selectedOptions
|
|
47264
|
+
).map((o) => o.value);
|
|
47265
|
+
handleFieldChange(path, selected);
|
|
47266
|
+
},
|
|
47267
|
+
className: "w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-800",
|
|
47268
|
+
children: multiOptions.map((opt) => /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: opt.value, children: opt.label }, opt.value))
|
|
47269
|
+
}
|
|
47270
|
+
),
|
|
47271
|
+
(propSchema.minItems || propSchema.maxItems) && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-xs text-gray-500", children: [
|
|
47272
|
+
propSchema.minItems ? `Select at least ${propSchema.minItems}. ` : "",
|
|
47273
|
+
propSchema.maxItems ? `Select at most ${propSchema.maxItems}.` : ""
|
|
47274
|
+
] })
|
|
47275
|
+
] });
|
|
47276
|
+
}
|
|
46879
47277
|
if (isSimpleObject(propSchema.items)) {
|
|
46880
47278
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
|
|
46881
47279
|
propSchema.description && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-gray-600", children: propSchema.description }),
|
|
@@ -47010,7 +47408,8 @@ const DynamicJsonForm = reactExports.forwardRef(
|
|
|
47010
47408
|
setRawJsonValue(newValue);
|
|
47011
47409
|
debouncedUpdateParent(newValue);
|
|
47012
47410
|
},
|
|
47013
|
-
error: jsonError
|
|
47411
|
+
error: jsonError,
|
|
47412
|
+
placeholder: schema.description
|
|
47014
47413
|
}
|
|
47015
47414
|
) : (
|
|
47016
47415
|
// If schema type is object but value is not an object or is empty, and we have actual JSON data,
|
|
@@ -47347,13 +47746,13 @@ var SelectTrigger$1 = reactExports.forwardRef(
|
|
|
47347
47746
|
"data-placeholder": shouldShowPlaceholder(context.value) ? "" : void 0,
|
|
47348
47747
|
...triggerProps,
|
|
47349
47748
|
ref: composedRefs,
|
|
47350
|
-
onClick: composeEventHandlers(triggerProps.onClick, (event) => {
|
|
47749
|
+
onClick: composeEventHandlers$1(triggerProps.onClick, (event) => {
|
|
47351
47750
|
event.currentTarget.focus();
|
|
47352
47751
|
if (pointerTypeRef.current !== "mouse") {
|
|
47353
47752
|
handleOpen(event);
|
|
47354
47753
|
}
|
|
47355
47754
|
}),
|
|
47356
|
-
onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {
|
|
47755
|
+
onPointerDown: composeEventHandlers$1(triggerProps.onPointerDown, (event) => {
|
|
47357
47756
|
pointerTypeRef.current = event.pointerType;
|
|
47358
47757
|
const target = event.target;
|
|
47359
47758
|
if (target.hasPointerCapture(event.pointerId)) {
|
|
@@ -47364,7 +47763,7 @@ var SelectTrigger$1 = reactExports.forwardRef(
|
|
|
47364
47763
|
event.preventDefault();
|
|
47365
47764
|
}
|
|
47366
47765
|
}),
|
|
47367
|
-
onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {
|
|
47766
|
+
onKeyDown: composeEventHandlers$1(triggerProps.onKeyDown, (event) => {
|
|
47368
47767
|
const isTypingAhead = searchRef.current !== "";
|
|
47369
47768
|
const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
|
|
47370
47769
|
if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);
|
|
@@ -47608,7 +48007,7 @@ var SelectContentImpl = reactExports.forwardRef(
|
|
|
47608
48007
|
onMountAutoFocus: (event) => {
|
|
47609
48008
|
event.preventDefault();
|
|
47610
48009
|
},
|
|
47611
|
-
onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {
|
|
48010
|
+
onUnmountAutoFocus: composeEventHandlers$1(onCloseAutoFocus, (event) => {
|
|
47612
48011
|
context.trigger?.focus({ preventScroll: true });
|
|
47613
48012
|
event.preventDefault();
|
|
47614
48013
|
}),
|
|
@@ -47641,7 +48040,7 @@ var SelectContentImpl = reactExports.forwardRef(
|
|
|
47641
48040
|
outline: "none",
|
|
47642
48041
|
...contentProps.style
|
|
47643
48042
|
},
|
|
47644
|
-
onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {
|
|
48043
|
+
onKeyDown: composeEventHandlers$1(contentProps.onKeyDown, (event) => {
|
|
47645
48044
|
const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
|
|
47646
48045
|
if (event.key === "Tab") event.preventDefault();
|
|
47647
48046
|
if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);
|
|
@@ -47908,7 +48307,7 @@ var SelectViewport = reactExports.forwardRef(
|
|
|
47908
48307
|
overflow: "hidden auto",
|
|
47909
48308
|
...viewportProps.style
|
|
47910
48309
|
},
|
|
47911
|
-
onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {
|
|
48310
|
+
onScroll: composeEventHandlers$1(viewportProps.onScroll, (event) => {
|
|
47912
48311
|
const viewport = event.currentTarget;
|
|
47913
48312
|
const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;
|
|
47914
48313
|
if (shouldExpandOnScrollRef?.current && contentWrapper) {
|
|
@@ -48021,18 +48420,18 @@ var SelectItem$1 = reactExports.forwardRef(
|
|
|
48021
48420
|
tabIndex: disabled ? void 0 : -1,
|
|
48022
48421
|
...itemProps,
|
|
48023
48422
|
ref: composedRefs,
|
|
48024
|
-
onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),
|
|
48025
|
-
onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),
|
|
48026
|
-
onClick: composeEventHandlers(itemProps.onClick, () => {
|
|
48423
|
+
onFocus: composeEventHandlers$1(itemProps.onFocus, () => setIsFocused(true)),
|
|
48424
|
+
onBlur: composeEventHandlers$1(itemProps.onBlur, () => setIsFocused(false)),
|
|
48425
|
+
onClick: composeEventHandlers$1(itemProps.onClick, () => {
|
|
48027
48426
|
if (pointerTypeRef.current !== "mouse") handleSelect();
|
|
48028
48427
|
}),
|
|
48029
|
-
onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {
|
|
48428
|
+
onPointerUp: composeEventHandlers$1(itemProps.onPointerUp, () => {
|
|
48030
48429
|
if (pointerTypeRef.current === "mouse") handleSelect();
|
|
48031
48430
|
}),
|
|
48032
|
-
onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {
|
|
48431
|
+
onPointerDown: composeEventHandlers$1(itemProps.onPointerDown, (event) => {
|
|
48033
48432
|
pointerTypeRef.current = event.pointerType;
|
|
48034
48433
|
}),
|
|
48035
|
-
onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {
|
|
48434
|
+
onPointerMove: composeEventHandlers$1(itemProps.onPointerMove, (event) => {
|
|
48036
48435
|
pointerTypeRef.current = event.pointerType;
|
|
48037
48436
|
if (disabled) {
|
|
48038
48437
|
contentContext.onItemLeave?.();
|
|
@@ -48040,12 +48439,12 @@ var SelectItem$1 = reactExports.forwardRef(
|
|
|
48040
48439
|
event.currentTarget.focus({ preventScroll: true });
|
|
48041
48440
|
}
|
|
48042
48441
|
}),
|
|
48043
|
-
onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {
|
|
48442
|
+
onPointerLeave: composeEventHandlers$1(itemProps.onPointerLeave, (event) => {
|
|
48044
48443
|
if (event.currentTarget === document.activeElement) {
|
|
48045
48444
|
contentContext.onItemLeave?.();
|
|
48046
48445
|
}
|
|
48047
48446
|
}),
|
|
48048
|
-
onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {
|
|
48447
|
+
onKeyDown: composeEventHandlers$1(itemProps.onKeyDown, (event) => {
|
|
48049
48448
|
const isTypingAhead = contentContext.searchRef?.current !== "";
|
|
48050
48449
|
if (isTypingAhead && event.key === " ") return;
|
|
48051
48450
|
if (SELECTION_KEYS.includes(event.key)) handleSelect();
|
|
@@ -48193,18 +48592,18 @@ var SelectScrollButtonImpl = reactExports.forwardRef((props, forwardedRef) => {
|
|
|
48193
48592
|
...scrollIndicatorProps,
|
|
48194
48593
|
ref: forwardedRef,
|
|
48195
48594
|
style: { flexShrink: 0, ...scrollIndicatorProps.style },
|
|
48196
|
-
onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {
|
|
48595
|
+
onPointerDown: composeEventHandlers$1(scrollIndicatorProps.onPointerDown, () => {
|
|
48197
48596
|
if (autoScrollTimerRef.current === null) {
|
|
48198
48597
|
autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);
|
|
48199
48598
|
}
|
|
48200
48599
|
}),
|
|
48201
|
-
onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {
|
|
48600
|
+
onPointerMove: composeEventHandlers$1(scrollIndicatorProps.onPointerMove, () => {
|
|
48202
48601
|
contentContext.onItemLeave?.();
|
|
48203
48602
|
if (autoScrollTimerRef.current === null) {
|
|
48204
48603
|
autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);
|
|
48205
48604
|
}
|
|
48206
48605
|
}),
|
|
48207
|
-
onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {
|
|
48606
|
+
onPointerLeave: composeEventHandlers$1(scrollIndicatorProps.onPointerLeave, () => {
|
|
48208
48607
|
clearAutoScrollTimer();
|
|
48209
48608
|
})
|
|
48210
48609
|
}
|
|
@@ -48464,7 +48863,7 @@ const useTheme = () => {
|
|
|
48464
48863
|
[theme, setThemeWithSideEffect]
|
|
48465
48864
|
);
|
|
48466
48865
|
};
|
|
48467
|
-
const version = "1.
|
|
48866
|
+
const version = "1.8.0";
|
|
48468
48867
|
var [createTooltipContext] = createContextScope("Tooltip", [
|
|
48469
48868
|
createPopperScope
|
|
48470
48869
|
]);
|
|
@@ -48630,29 +49029,29 @@ var TooltipTrigger$1 = reactExports.forwardRef(
|
|
|
48630
49029
|
"data-state": context.stateAttribute,
|
|
48631
49030
|
...triggerProps,
|
|
48632
49031
|
ref: composedRefs,
|
|
48633
|
-
onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {
|
|
49032
|
+
onPointerMove: composeEventHandlers$1(props.onPointerMove, (event) => {
|
|
48634
49033
|
if (event.pointerType === "touch") return;
|
|
48635
49034
|
if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {
|
|
48636
49035
|
context.onTriggerEnter();
|
|
48637
49036
|
hasPointerMoveOpenedRef.current = true;
|
|
48638
49037
|
}
|
|
48639
49038
|
}),
|
|
48640
|
-
onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {
|
|
49039
|
+
onPointerLeave: composeEventHandlers$1(props.onPointerLeave, () => {
|
|
48641
49040
|
context.onTriggerLeave();
|
|
48642
49041
|
hasPointerMoveOpenedRef.current = false;
|
|
48643
49042
|
}),
|
|
48644
|
-
onPointerDown: composeEventHandlers(props.onPointerDown, () => {
|
|
49043
|
+
onPointerDown: composeEventHandlers$1(props.onPointerDown, () => {
|
|
48645
49044
|
if (context.open) {
|
|
48646
49045
|
context.onClose();
|
|
48647
49046
|
}
|
|
48648
49047
|
isPointerDownRef.current = true;
|
|
48649
49048
|
document.addEventListener("pointerup", handlePointerUp, { once: true });
|
|
48650
49049
|
}),
|
|
48651
|
-
onFocus: composeEventHandlers(props.onFocus, () => {
|
|
49050
|
+
onFocus: composeEventHandlers$1(props.onFocus, () => {
|
|
48652
49051
|
if (!isPointerDownRef.current) context.onOpen();
|
|
48653
49052
|
}),
|
|
48654
|
-
onBlur: composeEventHandlers(props.onBlur, context.onClose),
|
|
48655
|
-
onClick: composeEventHandlers(props.onClick, context.onClose)
|
|
49053
|
+
onBlur: composeEventHandlers$1(props.onBlur, context.onClose),
|
|
49054
|
+
onClick: composeEventHandlers$1(props.onClick, context.onClose)
|
|
48656
49055
|
}
|
|
48657
49056
|
) });
|
|
48658
49057
|
}
|
|
@@ -48963,6 +49362,14 @@ const Textarea = reactExports.forwardRef(
|
|
|
48963
49362
|
}
|
|
48964
49363
|
);
|
|
48965
49364
|
Textarea.displayName = "Textarea";
|
|
49365
|
+
function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
|
|
49366
|
+
return function handleEvent(event) {
|
|
49367
|
+
originalEventHandler?.(event);
|
|
49368
|
+
if (checkForDefaultPrevented === false || !event.defaultPrevented) {
|
|
49369
|
+
return ourEventHandler?.(event);
|
|
49370
|
+
}
|
|
49371
|
+
};
|
|
49372
|
+
}
|
|
48966
49373
|
var SWITCH_NAME = "Switch";
|
|
48967
49374
|
var [createSwitchContext] = createContextScope(SWITCH_NAME);
|
|
48968
49375
|
var [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);
|
|
@@ -50177,10 +50584,10 @@ var CheckboxTrigger = reactExports.forwardRef(
|
|
|
50177
50584
|
value,
|
|
50178
50585
|
...checkboxProps,
|
|
50179
50586
|
ref: composedRefs,
|
|
50180
|
-
onKeyDown: composeEventHandlers(onKeyDown, (event) => {
|
|
50587
|
+
onKeyDown: composeEventHandlers$1(onKeyDown, (event) => {
|
|
50181
50588
|
if (event.key === "Enter") event.preventDefault();
|
|
50182
50589
|
}),
|
|
50183
|
-
onClick: composeEventHandlers(onClick, (event) => {
|
|
50590
|
+
onClick: composeEventHandlers$1(onClick, (event) => {
|
|
50184
50591
|
setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);
|
|
50185
50592
|
if (bubbleInput && isFormControl) {
|
|
50186
50593
|
hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();
|
|
@@ -51824,22 +52231,66 @@ class MCPSpecComplianceAssessor extends BaseAssessor {
|
|
|
51824
52231
|
return recommendations;
|
|
51825
52232
|
}
|
|
51826
52233
|
}
|
|
52234
|
+
function createConcurrencyLimit(concurrency) {
|
|
52235
|
+
if (concurrency < 1) {
|
|
52236
|
+
throw new Error("Concurrency must be at least 1");
|
|
52237
|
+
}
|
|
52238
|
+
let activeCount = 0;
|
|
52239
|
+
const queue = [];
|
|
52240
|
+
const next = () => {
|
|
52241
|
+
if (activeCount < concurrency && queue.length > 0) {
|
|
52242
|
+
const { fn, resolve: resolve2, reject } = queue.shift();
|
|
52243
|
+
activeCount++;
|
|
52244
|
+
fn().then((result) => {
|
|
52245
|
+
activeCount--;
|
|
52246
|
+
resolve2(result);
|
|
52247
|
+
next();
|
|
52248
|
+
}).catch((error) => {
|
|
52249
|
+
activeCount--;
|
|
52250
|
+
reject(error);
|
|
52251
|
+
next();
|
|
52252
|
+
});
|
|
52253
|
+
}
|
|
52254
|
+
};
|
|
52255
|
+
return (fn) => {
|
|
52256
|
+
return new Promise((resolve2, reject) => {
|
|
52257
|
+
queue.push({
|
|
52258
|
+
fn,
|
|
52259
|
+
resolve: resolve2,
|
|
52260
|
+
reject
|
|
52261
|
+
});
|
|
52262
|
+
next();
|
|
52263
|
+
});
|
|
52264
|
+
};
|
|
52265
|
+
}
|
|
51827
52266
|
class ErrorHandlingAssessor extends BaseAssessor {
|
|
51828
52267
|
async assess(context) {
|
|
51829
52268
|
this.log("Starting error handling assessment");
|
|
51830
52269
|
const testDetails = [];
|
|
51831
52270
|
let passedTests = 0;
|
|
51832
52271
|
const toolsToTest = this.selectToolsForTesting(context.tools);
|
|
51833
|
-
|
|
51834
|
-
|
|
51835
|
-
|
|
51836
|
-
|
|
51837
|
-
|
|
52272
|
+
const concurrency = this.config.maxParallelTests ?? 5;
|
|
52273
|
+
const limit2 = createConcurrencyLimit(concurrency);
|
|
52274
|
+
this.log(
|
|
52275
|
+
`Testing ${toolsToTest.length} tools for error handling with concurrency limit of ${concurrency}`
|
|
52276
|
+
);
|
|
52277
|
+
const allToolTests = await Promise.all(
|
|
52278
|
+
toolsToTest.map(
|
|
52279
|
+
(tool) => limit2(async () => {
|
|
52280
|
+
const toolTests = await this.testToolErrorHandling(
|
|
52281
|
+
tool,
|
|
52282
|
+
context.callTool
|
|
52283
|
+
);
|
|
52284
|
+
if (this.config.delayBetweenTests && this.config.delayBetweenTests > 0) {
|
|
52285
|
+
await this.sleep(this.config.delayBetweenTests);
|
|
52286
|
+
}
|
|
52287
|
+
return toolTests;
|
|
52288
|
+
})
|
|
52289
|
+
)
|
|
52290
|
+
);
|
|
52291
|
+
for (const toolTests of allToolTests) {
|
|
51838
52292
|
testDetails.push(...toolTests);
|
|
51839
52293
|
passedTests += toolTests.filter((t) => t.passed).length;
|
|
51840
|
-
if (this.config.delayBetweenTests && this.config.delayBetweenTests > 0) {
|
|
51841
|
-
await this.sleep(this.config.delayBetweenTests);
|
|
51842
|
-
}
|
|
51843
52294
|
}
|
|
51844
52295
|
this.testCount = testDetails.length;
|
|
51845
52296
|
const metrics = this.calculateMetrics(testDetails, passedTests);
|
|
@@ -53195,19 +53646,33 @@ class FunctionalityAssessor extends BaseAssessor {
|
|
|
53195
53646
|
const brokenTools = [];
|
|
53196
53647
|
let workingTools = 0;
|
|
53197
53648
|
const toolsToTest = this.selectToolsForTesting(context.tools);
|
|
53198
|
-
|
|
53199
|
-
|
|
53200
|
-
|
|
53649
|
+
const concurrency = this.config.maxParallelTests ?? 5;
|
|
53650
|
+
const limit2 = createConcurrencyLimit(concurrency);
|
|
53651
|
+
this.log(
|
|
53652
|
+
`Testing ${toolsToTest.length} tools with concurrency limit of ${concurrency}`
|
|
53653
|
+
);
|
|
53654
|
+
const results = await Promise.all(
|
|
53655
|
+
toolsToTest.map(
|
|
53656
|
+
(tool) => limit2(async () => {
|
|
53657
|
+
this.testCount++;
|
|
53658
|
+
const result = await this.testTool(tool, context.callTool);
|
|
53659
|
+
if (this.config.delayBetweenTests && this.config.delayBetweenTests > 0) {
|
|
53660
|
+
await this.sleep(this.config.delayBetweenTests);
|
|
53661
|
+
}
|
|
53662
|
+
return result;
|
|
53663
|
+
})
|
|
53664
|
+
)
|
|
53665
|
+
);
|
|
53666
|
+
for (const result of results) {
|
|
53201
53667
|
toolResults.push(result);
|
|
53202
|
-
if (this.config.delayBetweenTests && this.config.delayBetweenTests > 0) {
|
|
53203
|
-
await this.sleep(this.config.delayBetweenTests);
|
|
53204
|
-
}
|
|
53205
53668
|
if (result.status === "working") {
|
|
53206
53669
|
workingTools++;
|
|
53207
53670
|
} else if (result.status === "broken") {
|
|
53208
|
-
brokenTools.push(
|
|
53671
|
+
brokenTools.push(result.toolName);
|
|
53209
53672
|
if (this.config.skipBrokenTools) {
|
|
53210
|
-
this.log(
|
|
53673
|
+
this.log(
|
|
53674
|
+
`Skipping further tests for broken tool: ${result.toolName}`
|
|
53675
|
+
);
|
|
53211
53676
|
}
|
|
53212
53677
|
}
|
|
53213
53678
|
}
|
|
@@ -54245,59 +54710,70 @@ class SecurityAssessor extends BaseAssessor {
|
|
|
54245
54710
|
const results = [];
|
|
54246
54711
|
const attackPatterns = getAllAttackPatterns();
|
|
54247
54712
|
const toolsToTest = this.selectToolsForTesting(context.tools);
|
|
54713
|
+
const concurrency = this.config.maxParallelTests ?? 5;
|
|
54714
|
+
const limit2 = createConcurrencyLimit(concurrency);
|
|
54248
54715
|
this.log(
|
|
54249
|
-
`Starting ADVANCED security assessment - testing ${toolsToTest.length} tools with ${attackPatterns.length} security patterns (~${toolsToTest.length * attackPatterns.length * 3} tests)`
|
|
54716
|
+
`Starting ADVANCED security assessment - testing ${toolsToTest.length} tools with ${attackPatterns.length} security patterns (~${toolsToTest.length * attackPatterns.length * 3} tests) [concurrency: ${concurrency}]`
|
|
54250
54717
|
);
|
|
54251
|
-
|
|
54252
|
-
|
|
54253
|
-
|
|
54254
|
-
|
|
54255
|
-
|
|
54256
|
-
|
|
54257
|
-
|
|
54258
|
-
for (const payload of payloads) {
|
|
54259
|
-
results.push({
|
|
54260
|
-
testName: attackPattern.attackName,
|
|
54261
|
-
description: payload.description,
|
|
54262
|
-
payload: payload.payload,
|
|
54263
|
-
riskLevel: payload.riskLevel,
|
|
54264
|
-
toolName: tool.name,
|
|
54265
|
-
vulnerable: false,
|
|
54266
|
-
evidence: "Tool has no input parameters - cannot be exploited via payload injection"
|
|
54267
|
-
});
|
|
54268
|
-
}
|
|
54269
|
-
}
|
|
54270
|
-
continue;
|
|
54271
|
-
}
|
|
54272
|
-
this.log(`Testing ${tool.name} with all attack patterns`);
|
|
54273
|
-
for (const attackPattern of attackPatterns) {
|
|
54274
|
-
const payloads = getPayloadsForAttack(attackPattern.attackName);
|
|
54275
|
-
for (const payload of payloads) {
|
|
54276
|
-
this.testCount++;
|
|
54277
|
-
try {
|
|
54278
|
-
const result = await this.testPayload(
|
|
54279
|
-
tool,
|
|
54280
|
-
attackPattern.attackName,
|
|
54281
|
-
payload,
|
|
54282
|
-
context.callTool
|
|
54718
|
+
const allToolResults = await Promise.all(
|
|
54719
|
+
toolsToTest.map(
|
|
54720
|
+
(tool) => limit2(async () => {
|
|
54721
|
+
const toolResults = [];
|
|
54722
|
+
if (!this.hasInputParameters(tool)) {
|
|
54723
|
+
this.log(
|
|
54724
|
+
`${tool.name} has no input parameters - adding passing results`
|
|
54283
54725
|
);
|
|
54284
|
-
|
|
54285
|
-
|
|
54286
|
-
|
|
54287
|
-
|
|
54288
|
-
|
|
54726
|
+
for (const attackPattern of attackPatterns) {
|
|
54727
|
+
const payloads = getPayloadsForAttack(attackPattern.attackName);
|
|
54728
|
+
for (const payload of payloads) {
|
|
54729
|
+
toolResults.push({
|
|
54730
|
+
testName: attackPattern.attackName,
|
|
54731
|
+
description: payload.description,
|
|
54732
|
+
payload: payload.payload,
|
|
54733
|
+
riskLevel: payload.riskLevel,
|
|
54734
|
+
toolName: tool.name,
|
|
54735
|
+
vulnerable: false,
|
|
54736
|
+
evidence: "Tool has no input parameters - cannot be exploited via payload injection"
|
|
54737
|
+
});
|
|
54738
|
+
}
|
|
54289
54739
|
}
|
|
54290
|
-
|
|
54291
|
-
this.logError(
|
|
54292
|
-
`Error testing ${tool.name} with ${attackPattern.attackName}`,
|
|
54293
|
-
error
|
|
54294
|
-
);
|
|
54740
|
+
return toolResults;
|
|
54295
54741
|
}
|
|
54296
|
-
|
|
54297
|
-
|
|
54742
|
+
this.log(`Testing ${tool.name} with all attack patterns`);
|
|
54743
|
+
for (const attackPattern of attackPatterns) {
|
|
54744
|
+
const payloads = getPayloadsForAttack(attackPattern.attackName);
|
|
54745
|
+
for (const payload of payloads) {
|
|
54746
|
+
this.testCount++;
|
|
54747
|
+
try {
|
|
54748
|
+
const result = await this.testPayload(
|
|
54749
|
+
tool,
|
|
54750
|
+
attackPattern.attackName,
|
|
54751
|
+
payload,
|
|
54752
|
+
context.callTool
|
|
54753
|
+
);
|
|
54754
|
+
toolResults.push(result);
|
|
54755
|
+
if (result.vulnerable) {
|
|
54756
|
+
this.log(
|
|
54757
|
+
`🚨 VULNERABILITY: ${tool.name} - ${attackPattern.attackName} (${payload.payloadType}: ${payload.description})`
|
|
54758
|
+
);
|
|
54759
|
+
}
|
|
54760
|
+
} catch (error) {
|
|
54761
|
+
this.logError(
|
|
54762
|
+
`Error testing ${tool.name} with ${attackPattern.attackName}`,
|
|
54763
|
+
error
|
|
54764
|
+
);
|
|
54765
|
+
}
|
|
54766
|
+
if (this.testCount % 5 === 0) {
|
|
54767
|
+
await this.sleep(100);
|
|
54768
|
+
}
|
|
54769
|
+
}
|
|
54298
54770
|
}
|
|
54299
|
-
|
|
54300
|
-
|
|
54771
|
+
return toolResults;
|
|
54772
|
+
})
|
|
54773
|
+
)
|
|
54774
|
+
);
|
|
54775
|
+
for (const toolResults of allToolResults) {
|
|
54776
|
+
results.push(...toolResults);
|
|
54301
54777
|
}
|
|
54302
54778
|
this.log(
|
|
54303
54779
|
`ADVANCED security assessment complete: ${results.length} tests executed, ${results.filter((r2) => r2.vulnerable).length} vulnerabilities found`
|
|
@@ -60340,13 +60816,13 @@ const App = () => {
|
|
|
60340
60816
|
) });
|
|
60341
60817
|
if (window.location.pathname === "/oauth/callback") {
|
|
60342
60818
|
const OAuthCallback = React.lazy(
|
|
60343
|
-
() => __vitePreload(() => import("./OAuthCallback-
|
|
60819
|
+
() => __vitePreload(() => import("./OAuthCallback-C6NJ8fGr.js"), true ? [] : void 0)
|
|
60344
60820
|
);
|
|
60345
60821
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(OAuthCallback, { onConnect: onOAuthConnect }) });
|
|
60346
60822
|
}
|
|
60347
60823
|
if (window.location.pathname === "/oauth/callback/debug") {
|
|
60348
60824
|
const OAuthDebugCallback = React.lazy(
|
|
60349
|
-
() => __vitePreload(() => import("./OAuthDebugCallback-
|
|
60825
|
+
() => __vitePreload(() => import("./OAuthDebugCallback-MIqvflwd.js"), true ? [] : void 0)
|
|
60350
60826
|
);
|
|
60351
60827
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(OAuthDebugCallback, { onConnect: onOAuthDebugConnect }) });
|
|
60352
60828
|
}
|