@norskvideo/norsk-studio-built-ins 1.27.0-2025-07-09-1c530503 → 1.27.0-2025-07-09-d12abafa
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/client/info.js +630 -478
- package/client/style.css +19 -0
- package/lib/info.js +42 -40
- package/lib/info.js.map +1 -1
- package/lib/input.file/info.d.ts +46 -0
- package/lib/input.file/info.js +125 -0
- package/lib/input.file/info.js.map +1 -0
- package/lib/input.file/inline-view.d.ts +6 -0
- package/lib/input.file/inline-view.js +24 -0
- package/lib/input.file/inline-view.js.map +1 -0
- package/lib/input.file/runtime.d.ts +66 -0
- package/lib/input.file/runtime.js +208 -0
- package/lib/input.file/runtime.js.map +1 -0
- package/lib/input.file/types.d.ts +234 -0
- package/lib/input.file/types.js +3 -0
- package/lib/input.file/types.js.map +1 -0
- package/lib/input.file/types.source.yaml +227 -0
- package/lib/input.file/types.yaml +304 -0
- package/lib/output.autoCmaf/fullscreen.js +1 -1
- package/lib/output.autoCmaf/fullscreen.js.map +1 -1
- package/lib/output.autoCmaf/runtime.js +2 -2
- package/lib/output.autoCmaf/runtime.js.map +1 -1
- package/lib/test/file-input.d.ts +1 -0
- package/lib/test/file-input.js +358 -0
- package/lib/test/file-input.js.map +1 -0
- package/package.json +2 -2
package/client/info.js
CHANGED
@@ -311,6 +311,16 @@ var require_cjs = __commonJS({
|
|
311
311
|
}
|
312
312
|
});
|
313
313
|
|
314
|
+
// ../../node_modules/@react-icons/all-files/fa/FaPlay.js
|
315
|
+
var require_FaPlay = __commonJS({
|
316
|
+
"../../node_modules/@react-icons/all-files/fa/FaPlay.js"(exports, module) {
|
317
|
+
var GenIcon = require_cjs().GenIcon;
|
318
|
+
module.exports.FaPlay = function FaPlay2(props) {
|
319
|
+
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 448 512" }, "child": [{ "tag": "path", "attr": { "d": "M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z" } }] })(props);
|
320
|
+
};
|
321
|
+
}
|
322
|
+
});
|
323
|
+
|
314
324
|
// ../../node_modules/@react-icons/all-files/fa/FaVideo.js
|
315
325
|
var require_FaVideo = __commonJS({
|
316
326
|
"../../node_modules/@react-icons/all-files/fa/FaVideo.js"(exports, module) {
|
@@ -346,7 +356,7 @@ var require_util = __commonJS({
|
|
346
356
|
exports.getObjectByType = getObjectByType;
|
347
357
|
exports.getObjectByPath = getObjectByPath;
|
348
358
|
exports.displayNodeId = displayNodeId;
|
349
|
-
exports.assertUnreachable =
|
359
|
+
exports.assertUnreachable = assertUnreachable29;
|
350
360
|
exports.waitForCondition = waitForCondition;
|
351
361
|
exports.streamMatchesExpected = streamMatchesExpected;
|
352
362
|
exports.shortStreamNameFromDefinition = shortStreamNameFromDefinition;
|
@@ -419,7 +429,7 @@ var require_util = __commonJS({
|
|
419
429
|
}
|
420
430
|
return document2.components[id]?.config?.displayName ?? id;
|
421
431
|
}
|
422
|
-
function
|
432
|
+
function assertUnreachable29(_) {
|
423
433
|
throw new Error("Didn't expect to get here");
|
424
434
|
}
|
425
435
|
async function waitForCondition(condition, timeout, interval, name) {
|
@@ -47149,13 +47159,13 @@ var require_dist3 = __commonJS({
|
|
47149
47159
|
});
|
47150
47160
|
module.exports = __toCommonJS2(src_exports);
|
47151
47161
|
var React3 = __toESM2(require_react());
|
47152
|
-
var
|
47162
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
47153
47163
|
function createContext2(rootComponentName, defaultContext) {
|
47154
47164
|
const Context = React3.createContext(defaultContext);
|
47155
47165
|
const Provider = (props) => {
|
47156
47166
|
const { children, ...context } = props;
|
47157
47167
|
const value = React3.useMemo(() => context, Object.values(context));
|
47158
|
-
return /* @__PURE__ */ (0,
|
47168
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Context.Provider, { value, children });
|
47159
47169
|
};
|
47160
47170
|
Provider.displayName = rootComponentName + "Provider";
|
47161
47171
|
function useContext2(consumerName) {
|
@@ -47178,7 +47188,7 @@ var require_dist3 = __commonJS({
|
|
47178
47188
|
const { scope, children, ...context } = props;
|
47179
47189
|
const Context = scope?.[scopeName]?.[index3] || BaseContext;
|
47180
47190
|
const value = React3.useMemo(() => context, Object.values(context));
|
47181
|
-
return /* @__PURE__ */ (0,
|
47191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Context.Provider, { value, children });
|
47182
47192
|
};
|
47183
47193
|
Provider.displayName = rootComponentName + "Provider";
|
47184
47194
|
function useContext2(consumerName, scope) {
|
@@ -47346,7 +47356,7 @@ var require_dist5 = __commonJS({
|
|
47346
47356
|
module.exports = __toCommonJS2(src_exports);
|
47347
47357
|
var React3 = __toESM2(require_react());
|
47348
47358
|
var import_react_compose_refs = require_dist4();
|
47349
|
-
var
|
47359
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
47350
47360
|
var Slot = React3.forwardRef((props, forwardedRef) => {
|
47351
47361
|
const { children, ...slotProps } = props;
|
47352
47362
|
const childrenArray = React3.Children.toArray(children);
|
@@ -47362,9 +47372,9 @@ var require_dist5 = __commonJS({
|
|
47362
47372
|
return child;
|
47363
47373
|
}
|
47364
47374
|
});
|
47365
|
-
return /* @__PURE__ */ (0,
|
47375
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: React3.isValidElement(newElement) ? React3.cloneElement(newElement, void 0, newChildren) : null });
|
47366
47376
|
}
|
47367
|
-
return /* @__PURE__ */ (0,
|
47377
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
47368
47378
|
});
|
47369
47379
|
Slot.displayName = "Slot";
|
47370
47380
|
var SlotClone = React3.forwardRef((props, forwardedRef) => {
|
@@ -47381,7 +47391,7 @@ var require_dist5 = __commonJS({
|
|
47381
47391
|
});
|
47382
47392
|
SlotClone.displayName = "SlotClone";
|
47383
47393
|
var Slottable = ({ children }) => {
|
47384
|
-
return /* @__PURE__ */ (0,
|
47394
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_jsx_runtime53.Fragment, { children });
|
47385
47395
|
};
|
47386
47396
|
function isSlottable(child) {
|
47387
47397
|
return React3.isValidElement(child) && child.type === Slottable;
|
@@ -47467,7 +47477,7 @@ var require_dist6 = __commonJS({
|
|
47467
47477
|
var import_react_context = require_dist3();
|
47468
47478
|
var import_react_compose_refs = require_dist4();
|
47469
47479
|
var import_react_slot = require_dist5();
|
47470
|
-
var
|
47480
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
47471
47481
|
function createCollection(name) {
|
47472
47482
|
const PROVIDER_NAME = name + "CollectionProvider";
|
47473
47483
|
const [createCollectionContext, createCollectionScope] = (0, import_react_context.createContextScope)(PROVIDER_NAME);
|
@@ -47479,7 +47489,7 @@ var require_dist6 = __commonJS({
|
|
47479
47489
|
const { scope, children } = props;
|
47480
47490
|
const ref = import_react18.default.useRef(null);
|
47481
47491
|
const itemMap = import_react18.default.useRef(/* @__PURE__ */ new Map()).current;
|
47482
|
-
return /* @__PURE__ */ (0,
|
47492
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });
|
47483
47493
|
};
|
47484
47494
|
CollectionProvider.displayName = PROVIDER_NAME;
|
47485
47495
|
const COLLECTION_SLOT_NAME = name + "CollectionSlot";
|
@@ -47488,7 +47498,7 @@ var require_dist6 = __commonJS({
|
|
47488
47498
|
const { scope, children } = props;
|
47489
47499
|
const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
|
47490
47500
|
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, context.collectionRef);
|
47491
|
-
return /* @__PURE__ */ (0,
|
47501
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_slot.Slot, { ref: composedRefs, children });
|
47492
47502
|
}
|
47493
47503
|
);
|
47494
47504
|
CollectionSlot.displayName = COLLECTION_SLOT_NAME;
|
@@ -47504,7 +47514,7 @@ var require_dist6 = __commonJS({
|
|
47504
47514
|
context.itemMap.set(ref, { ref, ...itemData });
|
47505
47515
|
return () => void context.itemMap.delete(ref);
|
47506
47516
|
});
|
47507
|
-
return /* @__PURE__ */ (0,
|
47517
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_slot.Slot, { ...{ [ITEM_DATA_ATTR]: "" }, ref: composedRefs, children });
|
47508
47518
|
}
|
47509
47519
|
);
|
47510
47520
|
CollectionItemSlot.displayName = ITEM_SLOT_NAME;
|
@@ -47571,11 +47581,11 @@ var require_dist7 = __commonJS({
|
|
47571
47581
|
});
|
47572
47582
|
module.exports = __toCommonJS2(src_exports);
|
47573
47583
|
var React3 = __toESM2(require_react());
|
47574
|
-
var
|
47584
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
47575
47585
|
var DirectionContext = React3.createContext(void 0);
|
47576
47586
|
var DirectionProvider = (props) => {
|
47577
47587
|
const { dir, children } = props;
|
47578
|
-
return /* @__PURE__ */ (0,
|
47588
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DirectionContext.Provider, { value: dir, children });
|
47579
47589
|
};
|
47580
47590
|
function useDirection(localDir) {
|
47581
47591
|
const globalDir = React3.useContext(DirectionContext);
|
@@ -47626,7 +47636,7 @@ var require_dist8 = __commonJS({
|
|
47626
47636
|
var React3 = __toESM2(require_react());
|
47627
47637
|
var ReactDOM2 = __toESM2(require_react_dom());
|
47628
47638
|
var import_react_slot = require_dist5();
|
47629
|
-
var
|
47639
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
47630
47640
|
var NODES = [
|
47631
47641
|
"a",
|
47632
47642
|
"button",
|
@@ -47652,7 +47662,7 @@ var require_dist8 = __commonJS({
|
|
47652
47662
|
if (typeof window !== "undefined") {
|
47653
47663
|
window[Symbol.for("radix-ui")] = true;
|
47654
47664
|
}
|
47655
|
-
return /* @__PURE__ */ (0,
|
47665
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Comp, { ...primitiveProps, ref: forwardedRef });
|
47656
47666
|
});
|
47657
47667
|
Node2.displayName = `Primitive.${node}`;
|
47658
47668
|
return { ...primitive, [node]: Node2 };
|
@@ -47811,7 +47821,7 @@ var require_dist11 = __commonJS({
|
|
47811
47821
|
var import_react_compose_refs = require_dist4();
|
47812
47822
|
var import_react_use_callback_ref = require_dist9();
|
47813
47823
|
var import_react_use_escape_keydown = require_dist10();
|
47814
|
-
var
|
47824
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
47815
47825
|
var DISMISSABLE_LAYER_NAME = "DismissableLayer";
|
47816
47826
|
var CONTEXT_UPDATE = "dismissableLayer.update";
|
47817
47827
|
var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
|
@@ -47906,7 +47916,7 @@ var require_dist11 = __commonJS({
|
|
47906
47916
|
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
47907
47917
|
return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
47908
47918
|
}, []);
|
47909
|
-
return /* @__PURE__ */ (0,
|
47919
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
47910
47920
|
import_react_primitive.Primitive.div,
|
47911
47921
|
{
|
47912
47922
|
...layerProps,
|
@@ -47940,7 +47950,7 @@ var require_dist11 = __commonJS({
|
|
47940
47950
|
};
|
47941
47951
|
}
|
47942
47952
|
}, [context.branches]);
|
47943
|
-
return /* @__PURE__ */ (0,
|
47953
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.div, { ...props, ref: composedRefs });
|
47944
47954
|
});
|
47945
47955
|
DismissableLayerBranch.displayName = BRANCH_NAME;
|
47946
47956
|
function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
|
@@ -48142,7 +48152,7 @@ var require_dist13 = __commonJS({
|
|
48142
48152
|
var import_react_compose_refs = require_dist4();
|
48143
48153
|
var import_react_primitive = require_dist8();
|
48144
48154
|
var import_react_use_callback_ref = require_dist9();
|
48145
|
-
var
|
48155
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
48146
48156
|
var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
|
48147
48157
|
var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
|
48148
48158
|
var EVENT_OPTIONS = { bubbles: false, cancelable: true };
|
@@ -48272,7 +48282,7 @@ var require_dist13 = __commonJS({
|
|
48272
48282
|
},
|
48273
48283
|
[loop, trapped, focusScope.paused]
|
48274
48284
|
);
|
48275
|
-
return /* @__PURE__ */ (0,
|
48285
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });
|
48276
48286
|
});
|
48277
48287
|
FocusScope.displayName = FOCUS_SCOPE_NAME;
|
48278
48288
|
function focusFirst(candidates, { select = false } = {}) {
|
@@ -50632,11 +50642,11 @@ var require_dist16 = __commonJS({
|
|
50632
50642
|
module.exports = __toCommonJS2(src_exports);
|
50633
50643
|
var React3 = __toESM2(require_react());
|
50634
50644
|
var import_react_primitive = require_dist8();
|
50635
|
-
var
|
50645
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
50636
50646
|
var NAME = "Arrow";
|
50637
50647
|
var Arrow = React3.forwardRef((props, forwardedRef) => {
|
50638
50648
|
const { children, width = 10, height = 5, ...arrowProps } = props;
|
50639
|
-
return /* @__PURE__ */ (0,
|
50649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
50640
50650
|
import_react_primitive.Primitive.svg,
|
50641
50651
|
{
|
50642
50652
|
...arrowProps,
|
@@ -50645,7 +50655,7 @@ var require_dist16 = __commonJS({
|
|
50645
50655
|
height,
|
50646
50656
|
viewBox: "0 0 30 10",
|
50647
50657
|
preserveAspectRatio: "none",
|
50648
|
-
children: props.asChild ? children : /* @__PURE__ */ (0,
|
50658
|
+
children: props.asChild ? children : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("polygon", { points: "0,0 30,0 15,10" })
|
50649
50659
|
}
|
50650
50660
|
);
|
50651
50661
|
});
|
@@ -50785,7 +50795,7 @@ var require_dist18 = __commonJS({
|
|
50785
50795
|
var import_react_use_callback_ref = require_dist9();
|
50786
50796
|
var import_react_use_layout_effect = require_dist14();
|
50787
50797
|
var import_react_use_size = require_dist17();
|
50788
|
-
var
|
50798
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
50789
50799
|
var SIDE_OPTIONS = ["top", "right", "bottom", "left"];
|
50790
50800
|
var ALIGN_OPTIONS = ["start", "center", "end"];
|
50791
50801
|
var POPPER_NAME = "Popper";
|
@@ -50794,7 +50804,7 @@ var require_dist18 = __commonJS({
|
|
50794
50804
|
var Popper = (props) => {
|
50795
50805
|
const { __scopePopper, children } = props;
|
50796
50806
|
const [anchor, setAnchor] = React3.useState(null);
|
50797
|
-
return /* @__PURE__ */ (0,
|
50807
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
|
50798
50808
|
};
|
50799
50809
|
Popper.displayName = POPPER_NAME;
|
50800
50810
|
var ANCHOR_NAME = "PopperAnchor";
|
@@ -50807,7 +50817,7 @@ var require_dist18 = __commonJS({
|
|
50807
50817
|
React3.useEffect(() => {
|
50808
50818
|
context.onAnchorChange(virtualRef?.current || ref.current);
|
50809
50819
|
});
|
50810
|
-
return virtualRef ? null : /* @__PURE__ */ (0,
|
50820
|
+
return virtualRef ? null : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.div, { ...anchorProps, ref: composedRefs });
|
50811
50821
|
}
|
50812
50822
|
);
|
50813
50823
|
PopperAnchor.displayName = ANCHOR_NAME;
|
@@ -50901,7 +50911,7 @@ var require_dist18 = __commonJS({
|
|
50901
50911
|
if (content)
|
50902
50912
|
setContentZIndex(window.getComputedStyle(content).zIndex);
|
50903
50913
|
}, [content]);
|
50904
|
-
return /* @__PURE__ */ (0,
|
50914
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
50905
50915
|
"div",
|
50906
50916
|
{
|
50907
50917
|
ref: refs.setFloating,
|
@@ -50925,7 +50935,7 @@ var require_dist18 = __commonJS({
|
|
50925
50935
|
}
|
50926
50936
|
},
|
50927
50937
|
dir: props.dir,
|
50928
|
-
children: /* @__PURE__ */ (0,
|
50938
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
50929
50939
|
PopperContentProvider,
|
50930
50940
|
{
|
50931
50941
|
scope: __scopePopper,
|
@@ -50934,7 +50944,7 @@ var require_dist18 = __commonJS({
|
|
50934
50944
|
arrowX,
|
50935
50945
|
arrowY,
|
50936
50946
|
shouldHideArrow: cannotCenterArrow,
|
50937
|
-
children: /* @__PURE__ */ (0,
|
50947
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
50938
50948
|
import_react_primitive.Primitive.div,
|
50939
50949
|
{
|
50940
50950
|
"data-side": placedSide,
|
@@ -50971,7 +50981,7 @@ var require_dist18 = __commonJS({
|
|
50971
50981
|
// we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
|
50972
50982
|
// doesn't report size as we'd expect on SVG elements.
|
50973
50983
|
// it reports their bounding box which is effectively the largest path inside the SVG.
|
50974
|
-
/* @__PURE__ */ (0,
|
50984
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
50975
50985
|
"span",
|
50976
50986
|
{
|
50977
50987
|
ref: contentContext.onArrowChange,
|
@@ -50994,7 +51004,7 @@ var require_dist18 = __commonJS({
|
|
50994
51004
|
}[contentContext.placedSide],
|
50995
51005
|
visibility: contentContext.shouldHideArrow ? "hidden" : void 0
|
50996
51006
|
},
|
50997
|
-
children: /* @__PURE__ */ (0,
|
51007
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
50998
51008
|
ArrowPrimitive.Root,
|
50999
51009
|
{
|
51000
51010
|
...arrowProps,
|
@@ -51098,14 +51108,14 @@ var require_dist19 = __commonJS({
|
|
51098
51108
|
var import_react_dom = __toESM2(require_react_dom());
|
51099
51109
|
var import_react_primitive = require_dist8();
|
51100
51110
|
var import_react_use_layout_effect = require_dist14();
|
51101
|
-
var
|
51111
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
51102
51112
|
var PORTAL_NAME = "Portal";
|
51103
51113
|
var Portal = React3.forwardRef((props, forwardedRef) => {
|
51104
51114
|
const { container: containerProp, ...portalProps } = props;
|
51105
51115
|
const [mounted, setMounted] = React3.useState(false);
|
51106
51116
|
(0, import_react_use_layout_effect.useLayoutEffect)(() => setMounted(true), []);
|
51107
51117
|
const container = containerProp || mounted && globalThis?.document?.body;
|
51108
|
-
return container ? import_react_dom.default.createPortal(/* @__PURE__ */ (0,
|
51118
|
+
return container ? import_react_dom.default.createPortal(/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;
|
51109
51119
|
});
|
51110
51120
|
Portal.displayName = PORTAL_NAME;
|
51111
51121
|
var Root = Portal;
|
@@ -51283,11 +51293,11 @@ var require_dist22 = __commonJS({
|
|
51283
51293
|
module.exports = __toCommonJS2(src_exports);
|
51284
51294
|
var React3 = __toESM2(require_react());
|
51285
51295
|
var import_react_primitive = require_dist8();
|
51286
|
-
var
|
51296
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
51287
51297
|
var NAME = "VisuallyHidden";
|
51288
51298
|
var VisuallyHidden = React3.forwardRef(
|
51289
51299
|
(props, forwardedRef) => {
|
51290
|
-
return /* @__PURE__ */ (0,
|
51300
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
51291
51301
|
import_react_primitive.Primitive.span,
|
51292
51302
|
{
|
51293
51303
|
...props,
|
@@ -53446,7 +53456,7 @@ var require_dist23 = __commonJS({
|
|
53446
53456
|
var import_react_visually_hidden = require_dist22();
|
53447
53457
|
var import_aria_hidden = require_es5();
|
53448
53458
|
var import_react_remove_scroll = require_es57();
|
53449
|
-
var
|
53459
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
53450
53460
|
var OPEN_KEYS = [" ", "Enter", "ArrowUp", "ArrowDown"];
|
53451
53461
|
var SELECTION_KEYS = [" ", "Enter"];
|
53452
53462
|
var SELECT_NAME = "Select";
|
@@ -53494,7 +53504,7 @@ var require_dist23 = __commonJS({
|
|
53494
53504
|
const isFormControl = trigger ? form || !!trigger.closest("form") : true;
|
53495
53505
|
const [nativeOptionsSet, setNativeOptionsSet] = React3.useState(/* @__PURE__ */ new Set());
|
53496
53506
|
const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(";");
|
53497
|
-
return /* @__PURE__ */ (0,
|
53507
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
53498
53508
|
SelectProvider,
|
53499
53509
|
{
|
53500
53510
|
required,
|
@@ -53514,7 +53524,7 @@ var require_dist23 = __commonJS({
|
|
53514
53524
|
triggerPointerDownPosRef,
|
53515
53525
|
disabled,
|
53516
53526
|
children: [
|
53517
|
-
/* @__PURE__ */ (0,
|
53527
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
53518
53528
|
SelectNativeOptionsProvider,
|
53519
53529
|
{
|
53520
53530
|
scope: props.__scopeSelect,
|
@@ -53531,7 +53541,7 @@ var require_dist23 = __commonJS({
|
|
53531
53541
|
children
|
53532
53542
|
}
|
53533
53543
|
) }),
|
53534
|
-
isFormControl ? /* @__PURE__ */ (0,
|
53544
|
+
isFormControl ? /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
53535
53545
|
BubbleSelect,
|
53536
53546
|
{
|
53537
53547
|
"aria-hidden": true,
|
@@ -53544,7 +53554,7 @@ var require_dist23 = __commonJS({
|
|
53544
53554
|
disabled,
|
53545
53555
|
form,
|
53546
53556
|
children: [
|
53547
|
-
value === void 0 ? /* @__PURE__ */ (0,
|
53557
|
+
value === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("option", { value: "" }) : null,
|
53548
53558
|
Array.from(nativeOptionsSet)
|
53549
53559
|
]
|
53550
53560
|
},
|
@@ -53585,7 +53595,7 @@ var require_dist23 = __commonJS({
|
|
53585
53595
|
};
|
53586
53596
|
}
|
53587
53597
|
};
|
53588
|
-
return /* @__PURE__ */ (0,
|
53598
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
53589
53599
|
import_react_primitive.Primitive.button,
|
53590
53600
|
{
|
53591
53601
|
type: "button",
|
@@ -53646,13 +53656,13 @@ var require_dist23 = __commonJS({
|
|
53646
53656
|
(0, import_react_use_layout_effect.useLayoutEffect)(() => {
|
53647
53657
|
onValueNodeHasChildrenChange(hasChildren);
|
53648
53658
|
}, [onValueNodeHasChildrenChange, hasChildren]);
|
53649
|
-
return /* @__PURE__ */ (0,
|
53659
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
53650
53660
|
import_react_primitive.Primitive.span,
|
53651
53661
|
{
|
53652
53662
|
...valueProps,
|
53653
53663
|
ref: composedRefs,
|
53654
53664
|
style: { pointerEvents: "none" },
|
53655
|
-
children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ (0,
|
53665
|
+
children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_jsx_runtime53.Fragment, { children: placeholder }) : children
|
53656
53666
|
}
|
53657
53667
|
);
|
53658
53668
|
}
|
@@ -53662,13 +53672,13 @@ var require_dist23 = __commonJS({
|
|
53662
53672
|
var SelectIcon = React3.forwardRef(
|
53663
53673
|
(props, forwardedRef) => {
|
53664
53674
|
const { __scopeSelect, children, ...iconProps } = props;
|
53665
|
-
return /* @__PURE__ */ (0,
|
53675
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.span, { "aria-hidden": true, ...iconProps, ref: forwardedRef, children: children || "\u25BC" });
|
53666
53676
|
}
|
53667
53677
|
);
|
53668
53678
|
SelectIcon.displayName = ICON_NAME;
|
53669
53679
|
var PORTAL_NAME = "SelectPortal";
|
53670
53680
|
var SelectPortal = (props) => {
|
53671
|
-
return /* @__PURE__ */ (0,
|
53681
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_portal.Portal, { asChild: true, ...props });
|
53672
53682
|
};
|
53673
53683
|
SelectPortal.displayName = PORTAL_NAME;
|
53674
53684
|
var CONTENT_NAME = "SelectContent";
|
@@ -53682,11 +53692,11 @@ var require_dist23 = __commonJS({
|
|
53682
53692
|
if (!context.open) {
|
53683
53693
|
const frag = fragment;
|
53684
53694
|
return frag ? ReactDOM2.createPortal(
|
53685
|
-
/* @__PURE__ */ (0,
|
53695
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { children: props.children }) }) }),
|
53686
53696
|
frag
|
53687
53697
|
) : null;
|
53688
53698
|
}
|
53689
|
-
return /* @__PURE__ */ (0,
|
53699
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SelectContentImpl, { ...props, ref: forwardedRef });
|
53690
53700
|
}
|
53691
53701
|
);
|
53692
53702
|
SelectContent.displayName = CONTENT_NAME;
|
@@ -53845,7 +53855,7 @@ var require_dist23 = __commonJS({
|
|
53845
53855
|
hideWhenDetached,
|
53846
53856
|
avoidCollisions
|
53847
53857
|
} : {};
|
53848
|
-
return /* @__PURE__ */ (0,
|
53858
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
53849
53859
|
SelectContentProvider,
|
53850
53860
|
{
|
53851
53861
|
scope: __scopeSelect,
|
@@ -53861,7 +53871,7 @@ var require_dist23 = __commonJS({
|
|
53861
53871
|
position,
|
53862
53872
|
isPositioned,
|
53863
53873
|
searchRef,
|
53864
|
-
children: /* @__PURE__ */ (0,
|
53874
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_remove_scroll.RemoveScroll, { as: import_react_slot.Slot, allowPinchZoom: true, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
53865
53875
|
import_react_focus_scope.FocusScope,
|
53866
53876
|
{
|
53867
53877
|
asChild: true,
|
@@ -53873,7 +53883,7 @@ var require_dist23 = __commonJS({
|
|
53873
53883
|
context.trigger?.focus({ preventScroll: true });
|
53874
53884
|
event.preventDefault();
|
53875
53885
|
}),
|
53876
|
-
children: /* @__PURE__ */ (0,
|
53886
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
53877
53887
|
import_react_dismissable_layer.DismissableLayer,
|
53878
53888
|
{
|
53879
53889
|
asChild: true,
|
@@ -53882,7 +53892,7 @@ var require_dist23 = __commonJS({
|
|
53882
53892
|
onPointerDownOutside,
|
53883
53893
|
onFocusOutside: (event) => event.preventDefault(),
|
53884
53894
|
onDismiss: () => context.onOpenChange(false),
|
53885
|
-
children: /* @__PURE__ */ (0,
|
53895
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
53886
53896
|
SelectPosition,
|
53887
53897
|
{
|
53888
53898
|
role: "listbox",
|
@@ -54061,14 +54071,14 @@ var require_dist23 = __commonJS({
|
|
54061
54071
|
},
|
54062
54072
|
[position, focusSelectedItem]
|
54063
54073
|
);
|
54064
|
-
return /* @__PURE__ */ (0,
|
54074
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
54065
54075
|
SelectViewportProvider,
|
54066
54076
|
{
|
54067
54077
|
scope: __scopeSelect,
|
54068
54078
|
contentWrapper,
|
54069
54079
|
shouldExpandOnScrollRef,
|
54070
54080
|
onScrollButtonChange: handleScrollButtonChange,
|
54071
|
-
children: /* @__PURE__ */ (0,
|
54081
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
54072
54082
|
"div",
|
54073
54083
|
{
|
54074
54084
|
ref: setContentWrapper,
|
@@ -54078,7 +54088,7 @@ var require_dist23 = __commonJS({
|
|
54078
54088
|
position: "fixed",
|
54079
54089
|
zIndex: contentZIndex
|
54080
54090
|
},
|
54081
|
-
children: /* @__PURE__ */ (0,
|
54091
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
54082
54092
|
import_react_primitive.Primitive.div,
|
54083
54093
|
{
|
54084
54094
|
...popperProps,
|
@@ -54108,7 +54118,7 @@ var require_dist23 = __commonJS({
|
|
54108
54118
|
...popperProps
|
54109
54119
|
} = props;
|
54110
54120
|
const popperScope = usePopperScope(__scopeSelect);
|
54111
|
-
return /* @__PURE__ */ (0,
|
54121
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
54112
54122
|
PopperPrimitive.Content,
|
54113
54123
|
{
|
54114
54124
|
...popperScope,
|
@@ -54142,8 +54152,8 @@ var require_dist23 = __commonJS({
|
|
54142
54152
|
const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);
|
54143
54153
|
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, contentContext.onViewportChange);
|
54144
54154
|
const prevScrollTopRef = React3.useRef(0);
|
54145
|
-
return /* @__PURE__ */ (0,
|
54146
|
-
/* @__PURE__ */ (0,
|
54155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
|
54156
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
54147
54157
|
"style",
|
54148
54158
|
{
|
54149
54159
|
dangerouslySetInnerHTML: {
|
@@ -54152,7 +54162,7 @@ var require_dist23 = __commonJS({
|
|
54152
54162
|
nonce
|
54153
54163
|
}
|
54154
54164
|
),
|
54155
|
-
/* @__PURE__ */ (0,
|
54165
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
54156
54166
|
import_react_primitive.Primitive.div,
|
54157
54167
|
{
|
54158
54168
|
"data-radix-select-viewport": "",
|
@@ -54208,7 +54218,7 @@ var require_dist23 = __commonJS({
|
|
54208
54218
|
(props, forwardedRef) => {
|
54209
54219
|
const { __scopeSelect, ...groupProps } = props;
|
54210
54220
|
const groupId = (0, import_react_id.useId)();
|
54211
|
-
return /* @__PURE__ */ (0,
|
54221
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.div, { role: "group", "aria-labelledby": groupId, ...groupProps, ref: forwardedRef }) });
|
54212
54222
|
}
|
54213
54223
|
);
|
54214
54224
|
SelectGroup.displayName = GROUP_NAME;
|
@@ -54217,7 +54227,7 @@ var require_dist23 = __commonJS({
|
|
54217
54227
|
(props, forwardedRef) => {
|
54218
54228
|
const { __scopeSelect, ...labelProps } = props;
|
54219
54229
|
const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);
|
54220
|
-
return /* @__PURE__ */ (0,
|
54230
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });
|
54221
54231
|
}
|
54222
54232
|
);
|
54223
54233
|
SelectLabel.displayName = LABEL_NAME;
|
@@ -54254,7 +54264,7 @@ var require_dist23 = __commonJS({
|
|
54254
54264
|
"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder."
|
54255
54265
|
);
|
54256
54266
|
}
|
54257
|
-
return /* @__PURE__ */ (0,
|
54267
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
54258
54268
|
SelectItemContextProvider,
|
54259
54269
|
{
|
54260
54270
|
scope: __scopeSelect,
|
@@ -54265,14 +54275,14 @@ var require_dist23 = __commonJS({
|
|
54265
54275
|
onItemTextChange: React3.useCallback((node) => {
|
54266
54276
|
setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? "").trim());
|
54267
54277
|
}, []),
|
54268
|
-
children: /* @__PURE__ */ (0,
|
54278
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
54269
54279
|
Collection.ItemSlot,
|
54270
54280
|
{
|
54271
54281
|
scope: __scopeSelect,
|
54272
54282
|
value,
|
54273
54283
|
disabled,
|
54274
54284
|
textValue,
|
54275
|
-
children: /* @__PURE__ */ (0,
|
54285
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
54276
54286
|
import_react_primitive.Primitive.div,
|
54277
54287
|
{
|
54278
54288
|
role: "option",
|
@@ -54346,7 +54356,7 @@ var require_dist23 = __commonJS({
|
|
54346
54356
|
);
|
54347
54357
|
const textContent = itemTextNode?.textContent;
|
54348
54358
|
const nativeOption = React3.useMemo(
|
54349
|
-
() => /* @__PURE__ */ (0,
|
54359
|
+
() => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("option", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),
|
54350
54360
|
[itemContext.disabled, itemContext.value, textContent]
|
54351
54361
|
);
|
54352
54362
|
const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;
|
@@ -54354,8 +54364,8 @@ var require_dist23 = __commonJS({
|
|
54354
54364
|
onNativeOptionAdd(nativeOption);
|
54355
54365
|
return () => onNativeOptionRemove(nativeOption);
|
54356
54366
|
}, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);
|
54357
|
-
return /* @__PURE__ */ (0,
|
54358
|
-
/* @__PURE__ */ (0,
|
54367
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
|
54368
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),
|
54359
54369
|
itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM2.createPortal(itemTextProps.children, context.valueNode) : null
|
54360
54370
|
] });
|
54361
54371
|
}
|
@@ -54366,7 +54376,7 @@ var require_dist23 = __commonJS({
|
|
54366
54376
|
(props, forwardedRef) => {
|
54367
54377
|
const { __scopeSelect, ...itemIndicatorProps } = props;
|
54368
54378
|
const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);
|
54369
|
-
return itemContext.isSelected ? /* @__PURE__ */ (0,
|
54379
|
+
return itemContext.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.span, { "aria-hidden": true, ...itemIndicatorProps, ref: forwardedRef }) : null;
|
54370
54380
|
}
|
54371
54381
|
);
|
54372
54382
|
SelectItemIndicator.displayName = ITEM_INDICATOR_NAME;
|
@@ -54389,7 +54399,7 @@ var require_dist23 = __commonJS({
|
|
54389
54399
|
return () => viewport.removeEventListener("scroll", handleScroll2);
|
54390
54400
|
}
|
54391
54401
|
}, [contentContext.viewport, contentContext.isPositioned]);
|
54392
|
-
return canScrollUp ? /* @__PURE__ */ (0,
|
54402
|
+
return canScrollUp ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
54393
54403
|
SelectScrollButtonImpl,
|
54394
54404
|
{
|
54395
54405
|
...props,
|
@@ -54424,7 +54434,7 @@ var require_dist23 = __commonJS({
|
|
54424
54434
|
return () => viewport.removeEventListener("scroll", handleScroll2);
|
54425
54435
|
}
|
54426
54436
|
}, [contentContext.viewport, contentContext.isPositioned]);
|
54427
|
-
return canScrollDown ? /* @__PURE__ */ (0,
|
54437
|
+
return canScrollDown ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
54428
54438
|
SelectScrollButtonImpl,
|
54429
54439
|
{
|
54430
54440
|
...props,
|
@@ -54457,7 +54467,7 @@ var require_dist23 = __commonJS({
|
|
54457
54467
|
const activeItem = getItems().find((item) => item.ref.current === document.activeElement);
|
54458
54468
|
activeItem?.ref.current?.scrollIntoView({ block: "nearest" });
|
54459
54469
|
}, [getItems]);
|
54460
|
-
return /* @__PURE__ */ (0,
|
54470
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
54461
54471
|
import_react_primitive.Primitive.div,
|
54462
54472
|
{
|
54463
54473
|
"aria-hidden": true,
|
@@ -54485,7 +54495,7 @@ var require_dist23 = __commonJS({
|
|
54485
54495
|
var SelectSeparator = React3.forwardRef(
|
54486
54496
|
(props, forwardedRef) => {
|
54487
54497
|
const { __scopeSelect, ...separatorProps } = props;
|
54488
|
-
return /* @__PURE__ */ (0,
|
54498
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.div, { "aria-hidden": true, ...separatorProps, ref: forwardedRef });
|
54489
54499
|
}
|
54490
54500
|
);
|
54491
54501
|
SelectSeparator.displayName = SEPARATOR_NAME;
|
@@ -54496,7 +54506,7 @@ var require_dist23 = __commonJS({
|
|
54496
54506
|
const popperScope = usePopperScope(__scopeSelect);
|
54497
54507
|
const context = useSelectContext(ARROW_NAME, __scopeSelect);
|
54498
54508
|
const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);
|
54499
|
-
return context.open && contentContext.position === "popper" ? /* @__PURE__ */ (0,
|
54509
|
+
return context.open && contentContext.position === "popper" ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;
|
54500
54510
|
}
|
54501
54511
|
);
|
54502
54512
|
SelectArrow.displayName = ARROW_NAME;
|
@@ -54523,7 +54533,7 @@ var require_dist23 = __commonJS({
|
|
54523
54533
|
select.dispatchEvent(event);
|
54524
54534
|
}
|
54525
54535
|
}, [prevValue, value]);
|
54526
|
-
return /* @__PURE__ */ (0,
|
54536
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_visually_hidden.VisuallyHidden, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("select", { ...selectProps, ref: composedRefs, defaultValue: value }) });
|
54527
54537
|
}
|
54528
54538
|
);
|
54529
54539
|
BubbleSelect.displayName = "BubbleSelect";
|
@@ -54907,7 +54917,7 @@ var require_dist25 = __commonJS({
|
|
54907
54917
|
var import_react_use_controllable_state = require_dist20();
|
54908
54918
|
var import_aria_hidden = require_es5();
|
54909
54919
|
var import_react_remove_scroll = require_es57();
|
54910
|
-
var
|
54920
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
54911
54921
|
var POPOVER_NAME = "Popover";
|
54912
54922
|
var [createPopoverContext, createPopoverScope] = (0, import_react_context.createContextScope)(POPOVER_NAME, [
|
54913
54923
|
import_react_popper.createPopperScope
|
@@ -54931,7 +54941,7 @@ var require_dist25 = __commonJS({
|
|
54931
54941
|
defaultProp: defaultOpen,
|
54932
54942
|
onChange: onOpenChange
|
54933
54943
|
});
|
54934
|
-
return /* @__PURE__ */ (0,
|
54944
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
54935
54945
|
PopoverProvider,
|
54936
54946
|
{
|
54937
54947
|
scope: __scopePopover,
|
@@ -54960,7 +54970,7 @@ var require_dist25 = __commonJS({
|
|
54960
54970
|
onCustomAnchorAdd();
|
54961
54971
|
return () => onCustomAnchorRemove();
|
54962
54972
|
}, [onCustomAnchorAdd, onCustomAnchorRemove]);
|
54963
|
-
return /* @__PURE__ */ (0,
|
54973
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });
|
54964
54974
|
}
|
54965
54975
|
);
|
54966
54976
|
PopoverAnchor.displayName = ANCHOR_NAME;
|
@@ -54971,7 +54981,7 @@ var require_dist25 = __commonJS({
|
|
54971
54981
|
const context = usePopoverContext(TRIGGER_NAME, __scopePopover);
|
54972
54982
|
const popperScope = usePopperScope(__scopePopover);
|
54973
54983
|
const composedTriggerRef = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, context.triggerRef);
|
54974
|
-
const trigger = /* @__PURE__ */ (0,
|
54984
|
+
const trigger = /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
54975
54985
|
import_react_primitive.Primitive.button,
|
54976
54986
|
{
|
54977
54987
|
type: "button",
|
@@ -54984,7 +54994,7 @@ var require_dist25 = __commonJS({
|
|
54984
54994
|
onClick: (0, import_primitive.composeEventHandlers)(props.onClick, context.onOpenToggle)
|
54985
54995
|
}
|
54986
54996
|
);
|
54987
|
-
return context.hasCustomAnchor ? trigger : /* @__PURE__ */ (0,
|
54997
|
+
return context.hasCustomAnchor ? trigger : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });
|
54988
54998
|
}
|
54989
54999
|
);
|
54990
55000
|
PopoverTrigger.displayName = TRIGGER_NAME;
|
@@ -54995,7 +55005,7 @@ var require_dist25 = __commonJS({
|
|
54995
55005
|
var PopoverPortal = (props) => {
|
54996
55006
|
const { __scopePopover, forceMount, children, container } = props;
|
54997
55007
|
const context = usePopoverContext(PORTAL_NAME, __scopePopover);
|
54998
|
-
return /* @__PURE__ */ (0,
|
55008
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_portal.Portal, { asChild: true, container, children }) }) });
|
54999
55009
|
};
|
55000
55010
|
PopoverPortal.displayName = PORTAL_NAME;
|
55001
55011
|
var CONTENT_NAME = "PopoverContent";
|
@@ -55004,7 +55014,7 @@ var require_dist25 = __commonJS({
|
|
55004
55014
|
const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);
|
55005
55015
|
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
55006
55016
|
const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
|
55007
|
-
return /* @__PURE__ */ (0,
|
55017
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });
|
55008
55018
|
}
|
55009
55019
|
);
|
55010
55020
|
PopoverContent.displayName = CONTENT_NAME;
|
@@ -55019,7 +55029,7 @@ var require_dist25 = __commonJS({
|
|
55019
55029
|
if (content)
|
55020
55030
|
return (0, import_aria_hidden.hideOthers)(content);
|
55021
55031
|
}, []);
|
55022
|
-
return /* @__PURE__ */ (0,
|
55032
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_remove_scroll.RemoveScroll, { as: import_react_slot.Slot, allowPinchZoom: true, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
55023
55033
|
PopoverContentImpl,
|
55024
55034
|
{
|
55025
55035
|
...props,
|
@@ -55055,7 +55065,7 @@ var require_dist25 = __commonJS({
|
|
55055
55065
|
const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
|
55056
55066
|
const hasInteractedOutsideRef = React3.useRef(false);
|
55057
55067
|
const hasPointerDownOutsideRef = React3.useRef(false);
|
55058
|
-
return /* @__PURE__ */ (0,
|
55068
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
55059
55069
|
PopoverContentImpl,
|
55060
55070
|
{
|
55061
55071
|
...props,
|
@@ -55109,7 +55119,7 @@ var require_dist25 = __commonJS({
|
|
55109
55119
|
const context = usePopoverContext(CONTENT_NAME, __scopePopover);
|
55110
55120
|
const popperScope = usePopperScope(__scopePopover);
|
55111
55121
|
(0, import_react_focus_guards.useFocusGuards)();
|
55112
|
-
return /* @__PURE__ */ (0,
|
55122
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
55113
55123
|
import_react_focus_scope.FocusScope,
|
55114
55124
|
{
|
55115
55125
|
asChild: true,
|
@@ -55117,7 +55127,7 @@ var require_dist25 = __commonJS({
|
|
55117
55127
|
trapped: trapFocus,
|
55118
55128
|
onMountAutoFocus: onOpenAutoFocus,
|
55119
55129
|
onUnmountAutoFocus: onCloseAutoFocus,
|
55120
|
-
children: /* @__PURE__ */ (0,
|
55130
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
55121
55131
|
import_react_dismissable_layer.DismissableLayer,
|
55122
55132
|
{
|
55123
55133
|
asChild: true,
|
@@ -55127,7 +55137,7 @@ var require_dist25 = __commonJS({
|
|
55127
55137
|
onPointerDownOutside,
|
55128
55138
|
onFocusOutside,
|
55129
55139
|
onDismiss: () => context.onOpenChange(false),
|
55130
|
-
children: /* @__PURE__ */ (0,
|
55140
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
55131
55141
|
PopperPrimitive.Content,
|
55132
55142
|
{
|
55133
55143
|
"data-state": getState(context.open),
|
@@ -55160,7 +55170,7 @@ var require_dist25 = __commonJS({
|
|
55160
55170
|
(props, forwardedRef) => {
|
55161
55171
|
const { __scopePopover, ...closeProps } = props;
|
55162
55172
|
const context = usePopoverContext(CLOSE_NAME, __scopePopover);
|
55163
|
-
return /* @__PURE__ */ (0,
|
55173
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
55164
55174
|
import_react_primitive.Primitive.button,
|
55165
55175
|
{
|
55166
55176
|
type: "button",
|
@@ -55177,7 +55187,7 @@ var require_dist25 = __commonJS({
|
|
55177
55187
|
(props, forwardedRef) => {
|
55178
55188
|
const { __scopePopover, ...arrowProps } = props;
|
55179
55189
|
const popperScope = usePopperScope(__scopePopover);
|
55180
|
-
return /* @__PURE__ */ (0,
|
55190
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
|
55181
55191
|
}
|
55182
55192
|
);
|
55183
55193
|
PopoverArrow.displayName = ARROW_NAME;
|
@@ -55403,13 +55413,13 @@ var require_dist28 = __commonJS({
|
|
55403
55413
|
});
|
55404
55414
|
module.exports = __toCommonJS2(index_exports);
|
55405
55415
|
var React3 = __toESM2(require_react());
|
55406
|
-
var
|
55416
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
55407
55417
|
function createContext2(rootComponentName, defaultContext) {
|
55408
55418
|
const Context = React3.createContext(defaultContext);
|
55409
55419
|
const Provider = (props) => {
|
55410
55420
|
const { children, ...context } = props;
|
55411
55421
|
const value = React3.useMemo(() => context, Object.values(context));
|
55412
|
-
return /* @__PURE__ */ (0,
|
55422
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Context.Provider, { value, children });
|
55413
55423
|
};
|
55414
55424
|
Provider.displayName = rootComponentName + "Provider";
|
55415
55425
|
function useContext2(consumerName) {
|
@@ -55432,7 +55442,7 @@ var require_dist28 = __commonJS({
|
|
55432
55442
|
const { scope, children, ...context } = props;
|
55433
55443
|
const Context = scope?.[scopeName]?.[index3] || BaseContext;
|
55434
55444
|
const value = React3.useMemo(() => context, Object.values(context));
|
55435
|
-
return /* @__PURE__ */ (0,
|
55445
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Context.Provider, { value, children });
|
55436
55446
|
};
|
55437
55447
|
Provider.displayName = rootComponentName + "Provider";
|
55438
55448
|
function useContext2(consumerName, scope) {
|
@@ -55891,7 +55901,7 @@ var require_dist34 = __commonJS({
|
|
55891
55901
|
module.exports = __toCommonJS2(index_exports);
|
55892
55902
|
var React3 = __toESM2(require_react());
|
55893
55903
|
var import_react_compose_refs = require_dist27();
|
55894
|
-
var
|
55904
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
55895
55905
|
// @__NO_SIDE_EFFECTS__
|
55896
55906
|
function createSlot(ownerName) {
|
55897
55907
|
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
@@ -55910,9 +55920,9 @@ var require_dist34 = __commonJS({
|
|
55910
55920
|
return child;
|
55911
55921
|
}
|
55912
55922
|
});
|
55913
|
-
return /* @__PURE__ */ (0,
|
55923
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: React3.isValidElement(newElement) ? React3.cloneElement(newElement, void 0, newChildren) : null });
|
55914
55924
|
}
|
55915
|
-
return /* @__PURE__ */ (0,
|
55925
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
55916
55926
|
});
|
55917
55927
|
Slot2.displayName = `${ownerName}.Slot`;
|
55918
55928
|
return Slot2;
|
@@ -55939,7 +55949,7 @@ var require_dist34 = __commonJS({
|
|
55939
55949
|
// @__NO_SIDE_EFFECTS__
|
55940
55950
|
function createSlottable(ownerName) {
|
55941
55951
|
const Slottable2 = ({ children }) => {
|
55942
|
-
return /* @__PURE__ */ (0,
|
55952
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_jsx_runtime53.Fragment, { children });
|
55943
55953
|
};
|
55944
55954
|
Slottable2.displayName = `${ownerName}.Slottable`;
|
55945
55955
|
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
@@ -56029,7 +56039,7 @@ var require_dist35 = __commonJS({
|
|
56029
56039
|
var React3 = __toESM2(require_react());
|
56030
56040
|
var ReactDOM2 = __toESM2(require_react_dom());
|
56031
56041
|
var import_react_slot = require_dist34();
|
56032
|
-
var
|
56042
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
56033
56043
|
var NODES = [
|
56034
56044
|
"a",
|
56035
56045
|
"button",
|
@@ -56057,7 +56067,7 @@ var require_dist35 = __commonJS({
|
|
56057
56067
|
if (typeof window !== "undefined") {
|
56058
56068
|
window[Symbol.for("radix-ui")] = true;
|
56059
56069
|
}
|
56060
|
-
return /* @__PURE__ */ (0,
|
56070
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Comp, { ...primitiveProps, ref: forwardedRef });
|
56061
56071
|
});
|
56062
56072
|
Node2.displayName = `Primitive.${node}`;
|
56063
56073
|
return { ...primitive, [node]: Node2 };
|
@@ -56216,7 +56226,7 @@ var require_dist38 = __commonJS({
|
|
56216
56226
|
var import_react_compose_refs = require_dist27();
|
56217
56227
|
var import_react_use_callback_ref = require_dist36();
|
56218
56228
|
var import_react_use_escape_keydown = require_dist37();
|
56219
|
-
var
|
56229
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
56220
56230
|
var DISMISSABLE_LAYER_NAME = "DismissableLayer";
|
56221
56231
|
var CONTEXT_UPDATE = "dismissableLayer.update";
|
56222
56232
|
var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
|
@@ -56311,7 +56321,7 @@ var require_dist38 = __commonJS({
|
|
56311
56321
|
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
56312
56322
|
return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
56313
56323
|
}, []);
|
56314
|
-
return /* @__PURE__ */ (0,
|
56324
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
56315
56325
|
import_react_primitive.Primitive.div,
|
56316
56326
|
{
|
56317
56327
|
...layerProps,
|
@@ -56345,7 +56355,7 @@ var require_dist38 = __commonJS({
|
|
56345
56355
|
};
|
56346
56356
|
}
|
56347
56357
|
}, [context.branches]);
|
56348
|
-
return /* @__PURE__ */ (0,
|
56358
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.div, { ...props, ref: composedRefs });
|
56349
56359
|
});
|
56350
56360
|
DismissableLayerBranch.displayName = BRANCH_NAME;
|
56351
56361
|
function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
|
@@ -56474,7 +56484,7 @@ var require_dist39 = __commonJS({
|
|
56474
56484
|
var import_react_compose_refs = require_dist27();
|
56475
56485
|
var import_react_primitive = require_dist35();
|
56476
56486
|
var import_react_use_callback_ref = require_dist36();
|
56477
|
-
var
|
56487
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
56478
56488
|
var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
|
56479
56489
|
var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
|
56480
56490
|
var EVENT_OPTIONS = { bubbles: false, cancelable: true };
|
@@ -56604,7 +56614,7 @@ var require_dist39 = __commonJS({
|
|
56604
56614
|
},
|
56605
56615
|
[loop, trapped, focusScope.paused]
|
56606
56616
|
);
|
56607
|
-
return /* @__PURE__ */ (0,
|
56617
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });
|
56608
56618
|
});
|
56609
56619
|
FocusScope.displayName = FOCUS_SCOPE_NAME;
|
56610
56620
|
function focusFirst(candidates, { select = false } = {}) {
|
@@ -56739,14 +56749,14 @@ var require_dist40 = __commonJS({
|
|
56739
56749
|
var import_react_dom = __toESM2(require_react_dom());
|
56740
56750
|
var import_react_primitive = require_dist35();
|
56741
56751
|
var import_react_use_layout_effect = require_dist29();
|
56742
|
-
var
|
56752
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
56743
56753
|
var PORTAL_NAME = "Portal";
|
56744
56754
|
var Portal = React3.forwardRef((props, forwardedRef) => {
|
56745
56755
|
const { container: containerProp, ...portalProps } = props;
|
56746
56756
|
const [mounted, setMounted] = React3.useState(false);
|
56747
56757
|
(0, import_react_use_layout_effect.useLayoutEffect)(() => setMounted(true), []);
|
56748
56758
|
const container = containerProp || mounted && globalThis?.document?.body;
|
56749
|
-
return container ? import_react_dom.default.createPortal(/* @__PURE__ */ (0,
|
56759
|
+
return container ? import_react_dom.default.createPortal(/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;
|
56750
56760
|
});
|
56751
56761
|
Portal.displayName = PORTAL_NAME;
|
56752
56762
|
var Root = Portal;
|
@@ -57063,7 +57073,7 @@ var require_dist43 = __commonJS({
|
|
57063
57073
|
var import_react_remove_scroll = require_es57();
|
57064
57074
|
var import_aria_hidden = require_es5();
|
57065
57075
|
var import_react_slot = require_dist34();
|
57066
|
-
var
|
57076
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
57067
57077
|
var DIALOG_NAME = "Dialog";
|
57068
57078
|
var [createDialogContext, createDialogScope] = (0, import_react_context.createContextScope)(DIALOG_NAME);
|
57069
57079
|
var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);
|
@@ -57084,7 +57094,7 @@ var require_dist43 = __commonJS({
|
|
57084
57094
|
onChange: onOpenChange,
|
57085
57095
|
caller: DIALOG_NAME
|
57086
57096
|
});
|
57087
|
-
return /* @__PURE__ */ (0,
|
57097
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
57088
57098
|
DialogProvider,
|
57089
57099
|
{
|
57090
57100
|
scope: __scopeDialog,
|
@@ -57108,7 +57118,7 @@ var require_dist43 = __commonJS({
|
|
57108
57118
|
const { __scopeDialog, ...triggerProps } = props;
|
57109
57119
|
const context = useDialogContext(TRIGGER_NAME, __scopeDialog);
|
57110
57120
|
const composedTriggerRef = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, context.triggerRef);
|
57111
|
-
return /* @__PURE__ */ (0,
|
57121
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
57112
57122
|
import_react_primitive.Primitive.button,
|
57113
57123
|
{
|
57114
57124
|
type: "button",
|
@@ -57131,7 +57141,7 @@ var require_dist43 = __commonJS({
|
|
57131
57141
|
var DialogPortal = (props) => {
|
57132
57142
|
const { __scopeDialog, forceMount, children, container } = props;
|
57133
57143
|
const context = useDialogContext(PORTAL_NAME, __scopeDialog);
|
57134
|
-
return /* @__PURE__ */ (0,
|
57144
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PortalProvider, { scope: __scopeDialog, forceMount, children: React3.Children.map(children, (child) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_portal.Portal, { asChild: true, container, children: child }) })) });
|
57135
57145
|
};
|
57136
57146
|
DialogPortal.displayName = PORTAL_NAME;
|
57137
57147
|
var OVERLAY_NAME = "DialogOverlay";
|
@@ -57140,7 +57150,7 @@ var require_dist43 = __commonJS({
|
|
57140
57150
|
const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);
|
57141
57151
|
const { forceMount = portalContext.forceMount, ...overlayProps } = props;
|
57142
57152
|
const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);
|
57143
|
-
return context.modal ? /* @__PURE__ */ (0,
|
57153
|
+
return context.modal ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;
|
57144
57154
|
}
|
57145
57155
|
);
|
57146
57156
|
DialogOverlay.displayName = OVERLAY_NAME;
|
@@ -57152,7 +57162,7 @@ var require_dist43 = __commonJS({
|
|
57152
57162
|
return (
|
57153
57163
|
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
57154
57164
|
// ie. when `Overlay` and `Content` are siblings
|
57155
|
-
/* @__PURE__ */ (0,
|
57165
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_remove_scroll.RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
57156
57166
|
import_react_primitive.Primitive.div,
|
57157
57167
|
{
|
57158
57168
|
"data-state": getState(context.open),
|
@@ -57170,7 +57180,7 @@ var require_dist43 = __commonJS({
|
|
57170
57180
|
const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);
|
57171
57181
|
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
57172
57182
|
const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
|
57173
|
-
return /* @__PURE__ */ (0,
|
57183
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });
|
57174
57184
|
}
|
57175
57185
|
);
|
57176
57186
|
DialogContent.displayName = CONTENT_NAME;
|
@@ -57184,7 +57194,7 @@ var require_dist43 = __commonJS({
|
|
57184
57194
|
if (content)
|
57185
57195
|
return (0, import_aria_hidden.hideOthers)(content);
|
57186
57196
|
}, []);
|
57187
|
-
return /* @__PURE__ */ (0,
|
57197
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
57188
57198
|
DialogContentImpl,
|
57189
57199
|
{
|
57190
57200
|
...props,
|
@@ -57215,7 +57225,7 @@ var require_dist43 = __commonJS({
|
|
57215
57225
|
const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
|
57216
57226
|
const hasInteractedOutsideRef = React3.useRef(false);
|
57217
57227
|
const hasPointerDownOutsideRef = React3.useRef(false);
|
57218
|
-
return /* @__PURE__ */ (0,
|
57228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
57219
57229
|
DialogContentImpl,
|
57220
57230
|
{
|
57221
57231
|
...props,
|
@@ -57259,8 +57269,8 @@ var require_dist43 = __commonJS({
|
|
57259
57269
|
const contentRef = React3.useRef(null);
|
57260
57270
|
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, contentRef);
|
57261
57271
|
(0, import_react_focus_guards.useFocusGuards)();
|
57262
|
-
return /* @__PURE__ */ (0,
|
57263
|
-
/* @__PURE__ */ (0,
|
57272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
|
57273
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
57264
57274
|
import_react_focus_scope.FocusScope,
|
57265
57275
|
{
|
57266
57276
|
asChild: true,
|
@@ -57268,7 +57278,7 @@ var require_dist43 = __commonJS({
|
|
57268
57278
|
trapped: trapFocus,
|
57269
57279
|
onMountAutoFocus: onOpenAutoFocus,
|
57270
57280
|
onUnmountAutoFocus: onCloseAutoFocus,
|
57271
|
-
children: /* @__PURE__ */ (0,
|
57281
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
57272
57282
|
import_react_dismissable_layer.DismissableLayer,
|
57273
57283
|
{
|
57274
57284
|
role: "dialog",
|
@@ -57283,9 +57293,9 @@ var require_dist43 = __commonJS({
|
|
57283
57293
|
)
|
57284
57294
|
}
|
57285
57295
|
),
|
57286
|
-
/* @__PURE__ */ (0,
|
57287
|
-
/* @__PURE__ */ (0,
|
57288
|
-
/* @__PURE__ */ (0,
|
57296
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
|
57297
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TitleWarning, { titleId: context.titleId }),
|
57298
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })
|
57289
57299
|
] })
|
57290
57300
|
] });
|
57291
57301
|
}
|
@@ -57295,7 +57305,7 @@ var require_dist43 = __commonJS({
|
|
57295
57305
|
(props, forwardedRef) => {
|
57296
57306
|
const { __scopeDialog, ...titleProps } = props;
|
57297
57307
|
const context = useDialogContext(TITLE_NAME, __scopeDialog);
|
57298
|
-
return /* @__PURE__ */ (0,
|
57308
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });
|
57299
57309
|
}
|
57300
57310
|
);
|
57301
57311
|
DialogTitle.displayName = TITLE_NAME;
|
@@ -57304,7 +57314,7 @@ var require_dist43 = __commonJS({
|
|
57304
57314
|
(props, forwardedRef) => {
|
57305
57315
|
const { __scopeDialog, ...descriptionProps } = props;
|
57306
57316
|
const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);
|
57307
|
-
return /* @__PURE__ */ (0,
|
57317
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });
|
57308
57318
|
}
|
57309
57319
|
);
|
57310
57320
|
DialogDescription.displayName = DESCRIPTION_NAME;
|
@@ -57313,7 +57323,7 @@ var require_dist43 = __commonJS({
|
|
57313
57323
|
(props, forwardedRef) => {
|
57314
57324
|
const { __scopeDialog, ...closeProps } = props;
|
57315
57325
|
const context = useDialogContext(CLOSE_NAME, __scopeDialog);
|
57316
|
-
return /* @__PURE__ */ (0,
|
57326
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
57317
57327
|
import_react_primitive.Primitive.button,
|
57318
57328
|
{
|
57319
57329
|
type: "button",
|
@@ -57913,13 +57923,13 @@ var require_dist47 = __commonJS({
|
|
57913
57923
|
});
|
57914
57924
|
module.exports = __toCommonJS2(index_exports);
|
57915
57925
|
var React3 = __toESM2(require_react());
|
57916
|
-
var
|
57926
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
57917
57927
|
function createContext2(rootComponentName, defaultContext) {
|
57918
57928
|
const Context = React3.createContext(defaultContext);
|
57919
57929
|
const Provider = (props) => {
|
57920
57930
|
const { children, ...context } = props;
|
57921
57931
|
const value = React3.useMemo(() => context, Object.values(context));
|
57922
|
-
return /* @__PURE__ */ (0,
|
57932
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Context.Provider, { value, children });
|
57923
57933
|
};
|
57924
57934
|
Provider.displayName = rootComponentName + "Provider";
|
57925
57935
|
function useContext2(consumerName) {
|
@@ -57942,7 +57952,7 @@ var require_dist47 = __commonJS({
|
|
57942
57952
|
const { scope, children, ...context } = props;
|
57943
57953
|
const Context = scope?.[scopeName]?.[index3] || BaseContext;
|
57944
57954
|
const value = React3.useMemo(() => context, Object.values(context));
|
57945
|
-
return /* @__PURE__ */ (0,
|
57955
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Context.Provider, { value, children });
|
57946
57956
|
};
|
57947
57957
|
Provider.displayName = rootComponentName + "Provider";
|
57948
57958
|
function useContext2(consumerName, scope) {
|
@@ -58416,7 +58426,7 @@ var require_dist53 = __commonJS({
|
|
58416
58426
|
module.exports = __toCommonJS2(index_exports);
|
58417
58427
|
var React3 = __toESM2(require_react());
|
58418
58428
|
var import_react_compose_refs = require_dist52();
|
58419
|
-
var
|
58429
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
58420
58430
|
// @__NO_SIDE_EFFECTS__
|
58421
58431
|
function createSlot(ownerName) {
|
58422
58432
|
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
@@ -58435,9 +58445,9 @@ var require_dist53 = __commonJS({
|
|
58435
58445
|
return child;
|
58436
58446
|
}
|
58437
58447
|
});
|
58438
|
-
return /* @__PURE__ */ (0,
|
58448
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: React3.isValidElement(newElement) ? React3.cloneElement(newElement, void 0, newChildren) : null });
|
58439
58449
|
}
|
58440
|
-
return /* @__PURE__ */ (0,
|
58450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
58441
58451
|
});
|
58442
58452
|
Slot2.displayName = `${ownerName}.Slot`;
|
58443
58453
|
return Slot2;
|
@@ -58465,7 +58475,7 @@ var require_dist53 = __commonJS({
|
|
58465
58475
|
// @__NO_SIDE_EFFECTS__
|
58466
58476
|
function createSlottable(ownerName) {
|
58467
58477
|
const Slottable2 = ({ children }) => {
|
58468
|
-
return /* @__PURE__ */ (0,
|
58478
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_jsx_runtime53.Fragment, { children });
|
58469
58479
|
};
|
58470
58480
|
Slottable2.displayName = `${ownerName}.Slottable`;
|
58471
58481
|
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
@@ -58556,7 +58566,7 @@ var require_dist54 = __commonJS({
|
|
58556
58566
|
var React3 = __toESM2(require_react());
|
58557
58567
|
var ReactDOM2 = __toESM2(require_react_dom());
|
58558
58568
|
var import_react_slot = require_dist53();
|
58559
|
-
var
|
58569
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
58560
58570
|
var NODES = [
|
58561
58571
|
"a",
|
58562
58572
|
"button",
|
@@ -58584,7 +58594,7 @@ var require_dist54 = __commonJS({
|
|
58584
58594
|
if (typeof window !== "undefined") {
|
58585
58595
|
window[Symbol.for("radix-ui")] = true;
|
58586
58596
|
}
|
58587
|
-
return /* @__PURE__ */ (0,
|
58597
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Comp, { ...primitiveProps, ref: forwardedRef });
|
58588
58598
|
});
|
58589
58599
|
Node2.displayName = `Primitive.${node}`;
|
58590
58600
|
return { ...primitive, [node]: Node2 };
|
@@ -58743,7 +58753,7 @@ var require_dist57 = __commonJS({
|
|
58743
58753
|
var import_react_compose_refs = require_dist46();
|
58744
58754
|
var import_react_use_callback_ref = require_dist55();
|
58745
58755
|
var import_react_use_escape_keydown = require_dist56();
|
58746
|
-
var
|
58756
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
58747
58757
|
var DISMISSABLE_LAYER_NAME = "DismissableLayer";
|
58748
58758
|
var CONTEXT_UPDATE = "dismissableLayer.update";
|
58749
58759
|
var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
|
@@ -58838,7 +58848,7 @@ var require_dist57 = __commonJS({
|
|
58838
58848
|
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
58839
58849
|
return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
58840
58850
|
}, []);
|
58841
|
-
return /* @__PURE__ */ (0,
|
58851
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
58842
58852
|
import_react_primitive.Primitive.div,
|
58843
58853
|
{
|
58844
58854
|
...layerProps,
|
@@ -58872,7 +58882,7 @@ var require_dist57 = __commonJS({
|
|
58872
58882
|
};
|
58873
58883
|
}
|
58874
58884
|
}, [context.branches]);
|
58875
|
-
return /* @__PURE__ */ (0,
|
58885
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.div, { ...props, ref: composedRefs });
|
58876
58886
|
});
|
58877
58887
|
DismissableLayerBranch.displayName = BRANCH_NAME;
|
58878
58888
|
function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
|
@@ -59048,7 +59058,7 @@ var require_dist59 = __commonJS({
|
|
59048
59058
|
var import_react_compose_refs = require_dist46();
|
59049
59059
|
var import_react_primitive = require_dist54();
|
59050
59060
|
var import_react_use_callback_ref = require_dist58();
|
59051
|
-
var
|
59061
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
59052
59062
|
var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
|
59053
59063
|
var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
|
59054
59064
|
var EVENT_OPTIONS = { bubbles: false, cancelable: true };
|
@@ -59178,7 +59188,7 @@ var require_dist59 = __commonJS({
|
|
59178
59188
|
},
|
59179
59189
|
[loop, trapped, focusScope.paused]
|
59180
59190
|
);
|
59181
|
-
return /* @__PURE__ */ (0,
|
59191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });
|
59182
59192
|
});
|
59183
59193
|
FocusScope.displayName = FOCUS_SCOPE_NAME;
|
59184
59194
|
function focusFirst(candidates, { select = false } = {}) {
|
@@ -59355,14 +59365,14 @@ var require_dist61 = __commonJS({
|
|
59355
59365
|
var import_react_dom = __toESM2(require_react_dom());
|
59356
59366
|
var import_react_primitive = require_dist54();
|
59357
59367
|
var import_react_use_layout_effect = require_dist60();
|
59358
|
-
var
|
59368
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
59359
59369
|
var PORTAL_NAME = "Portal";
|
59360
59370
|
var Portal = React3.forwardRef((props, forwardedRef) => {
|
59361
59371
|
const { container: containerProp, ...portalProps } = props;
|
59362
59372
|
const [mounted, setMounted] = React3.useState(false);
|
59363
59373
|
(0, import_react_use_layout_effect.useLayoutEffect)(() => setMounted(true), []);
|
59364
59374
|
const container = containerProp || mounted && globalThis?.document?.body;
|
59365
|
-
return container ? import_react_dom.default.createPortal(/* @__PURE__ */ (0,
|
59375
|
+
return container ? import_react_dom.default.createPortal(/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;
|
59366
59376
|
});
|
59367
59377
|
Portal.displayName = PORTAL_NAME;
|
59368
59378
|
var Root = Portal;
|
@@ -59721,7 +59731,7 @@ var require_dist65 = __commonJS({
|
|
59721
59731
|
var import_react_remove_scroll = require_es57();
|
59722
59732
|
var import_aria_hidden = require_es5();
|
59723
59733
|
var import_react_slot = require_dist53();
|
59724
|
-
var
|
59734
|
+
var import_jsx_runtime53 = require_jsx_runtime();
|
59725
59735
|
var DIALOG_NAME = "Dialog";
|
59726
59736
|
var [createDialogContext, createDialogScope] = (0, import_react_context.createContextScope)(DIALOG_NAME);
|
59727
59737
|
var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);
|
@@ -59742,7 +59752,7 @@ var require_dist65 = __commonJS({
|
|
59742
59752
|
onChange: onOpenChange,
|
59743
59753
|
caller: DIALOG_NAME
|
59744
59754
|
});
|
59745
|
-
return /* @__PURE__ */ (0,
|
59755
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
59746
59756
|
DialogProvider,
|
59747
59757
|
{
|
59748
59758
|
scope: __scopeDialog,
|
@@ -59766,7 +59776,7 @@ var require_dist65 = __commonJS({
|
|
59766
59776
|
const { __scopeDialog, ...triggerProps } = props;
|
59767
59777
|
const context = useDialogContext(TRIGGER_NAME, __scopeDialog);
|
59768
59778
|
const composedTriggerRef = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, context.triggerRef);
|
59769
|
-
return /* @__PURE__ */ (0,
|
59779
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
59770
59780
|
import_react_primitive.Primitive.button,
|
59771
59781
|
{
|
59772
59782
|
type: "button",
|
@@ -59789,7 +59799,7 @@ var require_dist65 = __commonJS({
|
|
59789
59799
|
var DialogPortal = (props) => {
|
59790
59800
|
const { __scopeDialog, forceMount, children, container } = props;
|
59791
59801
|
const context = useDialogContext(PORTAL_NAME, __scopeDialog);
|
59792
|
-
return /* @__PURE__ */ (0,
|
59802
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PortalProvider, { scope: __scopeDialog, forceMount, children: React3.Children.map(children, (child) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_portal.Portal, { asChild: true, container, children: child }) })) });
|
59793
59803
|
};
|
59794
59804
|
DialogPortal.displayName = PORTAL_NAME;
|
59795
59805
|
var OVERLAY_NAME = "DialogOverlay";
|
@@ -59798,7 +59808,7 @@ var require_dist65 = __commonJS({
|
|
59798
59808
|
const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);
|
59799
59809
|
const { forceMount = portalContext.forceMount, ...overlayProps } = props;
|
59800
59810
|
const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);
|
59801
|
-
return context.modal ? /* @__PURE__ */ (0,
|
59811
|
+
return context.modal ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;
|
59802
59812
|
}
|
59803
59813
|
);
|
59804
59814
|
DialogOverlay.displayName = OVERLAY_NAME;
|
@@ -59810,7 +59820,7 @@ var require_dist65 = __commonJS({
|
|
59810
59820
|
return (
|
59811
59821
|
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
59812
59822
|
// ie. when `Overlay` and `Content` are siblings
|
59813
|
-
/* @__PURE__ */ (0,
|
59823
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_remove_scroll.RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
59814
59824
|
import_react_primitive.Primitive.div,
|
59815
59825
|
{
|
59816
59826
|
"data-state": getState(context.open),
|
@@ -59828,7 +59838,7 @@ var require_dist65 = __commonJS({
|
|
59828
59838
|
const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);
|
59829
59839
|
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
59830
59840
|
const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
|
59831
|
-
return /* @__PURE__ */ (0,
|
59841
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });
|
59832
59842
|
}
|
59833
59843
|
);
|
59834
59844
|
DialogContent.displayName = CONTENT_NAME;
|
@@ -59842,7 +59852,7 @@ var require_dist65 = __commonJS({
|
|
59842
59852
|
if (content)
|
59843
59853
|
return (0, import_aria_hidden.hideOthers)(content);
|
59844
59854
|
}, []);
|
59845
|
-
return /* @__PURE__ */ (0,
|
59855
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
59846
59856
|
DialogContentImpl,
|
59847
59857
|
{
|
59848
59858
|
...props,
|
@@ -59873,7 +59883,7 @@ var require_dist65 = __commonJS({
|
|
59873
59883
|
const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
|
59874
59884
|
const hasInteractedOutsideRef = React3.useRef(false);
|
59875
59885
|
const hasPointerDownOutsideRef = React3.useRef(false);
|
59876
|
-
return /* @__PURE__ */ (0,
|
59886
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
59877
59887
|
DialogContentImpl,
|
59878
59888
|
{
|
59879
59889
|
...props,
|
@@ -59917,8 +59927,8 @@ var require_dist65 = __commonJS({
|
|
59917
59927
|
const contentRef = React3.useRef(null);
|
59918
59928
|
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, contentRef);
|
59919
59929
|
(0, import_react_focus_guards.useFocusGuards)();
|
59920
|
-
return /* @__PURE__ */ (0,
|
59921
|
-
/* @__PURE__ */ (0,
|
59930
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
|
59931
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
59922
59932
|
import_react_focus_scope.FocusScope,
|
59923
59933
|
{
|
59924
59934
|
asChild: true,
|
@@ -59926,7 +59936,7 @@ var require_dist65 = __commonJS({
|
|
59926
59936
|
trapped: trapFocus,
|
59927
59937
|
onMountAutoFocus: onOpenAutoFocus,
|
59928
59938
|
onUnmountAutoFocus: onCloseAutoFocus,
|
59929
|
-
children: /* @__PURE__ */ (0,
|
59939
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
59930
59940
|
import_react_dismissable_layer.DismissableLayer,
|
59931
59941
|
{
|
59932
59942
|
role: "dialog",
|
@@ -59941,9 +59951,9 @@ var require_dist65 = __commonJS({
|
|
59941
59951
|
)
|
59942
59952
|
}
|
59943
59953
|
),
|
59944
|
-
/* @__PURE__ */ (0,
|
59945
|
-
/* @__PURE__ */ (0,
|
59946
|
-
/* @__PURE__ */ (0,
|
59954
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
|
59955
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TitleWarning, { titleId: context.titleId }),
|
59956
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })
|
59947
59957
|
] })
|
59948
59958
|
] });
|
59949
59959
|
}
|
@@ -59953,7 +59963,7 @@ var require_dist65 = __commonJS({
|
|
59953
59963
|
(props, forwardedRef) => {
|
59954
59964
|
const { __scopeDialog, ...titleProps } = props;
|
59955
59965
|
const context = useDialogContext(TITLE_NAME, __scopeDialog);
|
59956
|
-
return /* @__PURE__ */ (0,
|
59966
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });
|
59957
59967
|
}
|
59958
59968
|
);
|
59959
59969
|
DialogTitle.displayName = TITLE_NAME;
|
@@ -59962,7 +59972,7 @@ var require_dist65 = __commonJS({
|
|
59962
59972
|
(props, forwardedRef) => {
|
59963
59973
|
const { __scopeDialog, ...descriptionProps } = props;
|
59964
59974
|
const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);
|
59965
|
-
return /* @__PURE__ */ (0,
|
59975
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_primitive.Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });
|
59966
59976
|
}
|
59967
59977
|
);
|
59968
59978
|
DialogDescription.displayName = DESCRIPTION_NAME;
|
@@ -59971,7 +59981,7 @@ var require_dist65 = __commonJS({
|
|
59971
59981
|
(props, forwardedRef) => {
|
59972
59982
|
const { __scopeDialog, ...closeProps } = props;
|
59973
59983
|
const context = useDialogContext(CLOSE_NAME, __scopeDialog);
|
59974
|
-
return /* @__PURE__ */ (0,
|
59984
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
59975
59985
|
import_react_primitive.Primitive.button,
|
59976
59986
|
{
|
59977
59987
|
type: "button",
|
@@ -70115,23 +70125,164 @@ var require_FaClock = __commonJS({
|
|
70115
70125
|
}
|
70116
70126
|
});
|
70117
70127
|
|
70118
|
-
// build/input.
|
70128
|
+
// build/input.file/inline-view.js
|
70119
70129
|
var import_jsx_runtime = __toESM(require_jsx_runtime());
|
70130
|
+
function cn(...classes) {
|
70131
|
+
return classes.filter(Boolean).join(" ");
|
70132
|
+
}
|
70133
|
+
function basename(filePath) {
|
70134
|
+
return filePath.split("/").pop() || filePath;
|
70135
|
+
}
|
70120
70136
|
function InlineView({ state, config }) {
|
70137
|
+
const getStatusColor = (status) => {
|
70138
|
+
switch (status) {
|
70139
|
+
case "playing":
|
70140
|
+
return "text-green-500 dark:text-green-300";
|
70141
|
+
case "error":
|
70142
|
+
return "text-red-500 dark:text-red-300";
|
70143
|
+
default:
|
70144
|
+
return "text-gray-500 dark:text-gray-400";
|
70145
|
+
}
|
70146
|
+
};
|
70147
|
+
return (0, import_jsx_runtime.jsxs)("div", { className: "file-input space-y-2", id: `file-input-${config.id}`, children: [(0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2", children: [(0, import_jsx_runtime.jsx)("span", { className: "text-sm font-medium text-gray-900 dark:text-white", children: "Status:" }), (0, import_jsx_runtime.jsx)("span", { className: cn("text-sm font-medium", getStatusColor(state.status)), children: state.status.charAt(0).toUpperCase() + state.status.slice(1) })] }), state.currentFile && (0, import_jsx_runtime.jsxs)("div", { className: "text-sm text-gray-700 dark:text-gray-300", children: [(0, import_jsx_runtime.jsx)("span", { className: "font-medium", children: "File:" }), " ", basename(state.currentFile)] }), state.error && (0, import_jsx_runtime.jsxs)("div", { className: "text-sm text-red-500 dark:text-red-400 bg-red-50 dark:bg-red-900/20 p-2 rounded", children: [(0, import_jsx_runtime.jsx)("span", { className: "font-medium", children: "Error:" }), " ", state.error] }), state.status === "idle" && !state.currentFile && (0, import_jsx_runtime.jsx)("div", { className: "text-sm text-gray-500 dark:text-gray-400", children: "Ready to play files via API" })] });
|
70148
|
+
}
|
70149
|
+
var inline_view_default = InlineView;
|
70150
|
+
|
70151
|
+
// build/input.file/info.js
|
70152
|
+
var import_FaPlay = __toESM(require_FaPlay());
|
70153
|
+
function defaultStreamMapping(cfg) {
|
70154
|
+
return {
|
70155
|
+
streams: [{
|
70156
|
+
media: "video",
|
70157
|
+
displayName: "Video",
|
70158
|
+
outputKey: {
|
70159
|
+
sourceName: cfg.sourceName ?? "file-source",
|
70160
|
+
programNumber: 1,
|
70161
|
+
streamId: 256,
|
70162
|
+
renditionName: "default"
|
70163
|
+
}
|
70164
|
+
}, {
|
70165
|
+
media: "audio",
|
70166
|
+
displayName: "Audio",
|
70167
|
+
outputKey: {
|
70168
|
+
sourceName: cfg.sourceName ?? "file-source",
|
70169
|
+
programNumber: 1,
|
70170
|
+
streamId: 257,
|
70171
|
+
renditionName: "default"
|
70172
|
+
}
|
70173
|
+
}]
|
70174
|
+
};
|
70175
|
+
}
|
70176
|
+
function info_default({ defineComponent, mappingsToStreams, StreamMappingForm, validation }) {
|
70177
|
+
const { SourceName } = validation;
|
70178
|
+
return defineComponent({
|
70179
|
+
identifier: "input.file",
|
70180
|
+
category: "input",
|
70181
|
+
name: "File Input",
|
70182
|
+
description: "Dynamically play MP4 or TS files via API calls",
|
70183
|
+
icon: import_FaPlay.FaPlay,
|
70184
|
+
subscription: {
|
70185
|
+
accepts: void 0,
|
70186
|
+
produces: {
|
70187
|
+
type: "dynamic-streams",
|
70188
|
+
groupBy: "sourceName",
|
70189
|
+
streams: (cfg) => mappingsToStreams(cfg.streamMappings ?? defaultStreamMapping(cfg))
|
70190
|
+
}
|
70191
|
+
},
|
70192
|
+
display: (desc) => {
|
70193
|
+
return {
|
70194
|
+
source: desc.config.sourceName || "file-source"
|
70195
|
+
};
|
70196
|
+
},
|
70197
|
+
extraValidation: (_ctx) => {
|
70198
|
+
},
|
70199
|
+
runtime: {
|
70200
|
+
initialState: () => ({
|
70201
|
+
status: "idle",
|
70202
|
+
currentFile: null,
|
70203
|
+
error: null
|
70204
|
+
}),
|
70205
|
+
handleEvent(ev, state) {
|
70206
|
+
const evType = ev.type;
|
70207
|
+
switch (evType) {
|
70208
|
+
case "playback-started":
|
70209
|
+
return {
|
70210
|
+
...state,
|
70211
|
+
status: "playing",
|
70212
|
+
currentFile: ev.filePath,
|
70213
|
+
error: null
|
70214
|
+
};
|
70215
|
+
case "playback-completed":
|
70216
|
+
return {
|
70217
|
+
...state,
|
70218
|
+
status: "idle",
|
70219
|
+
currentFile: null,
|
70220
|
+
error: null
|
70221
|
+
};
|
70222
|
+
case "playback-stopped":
|
70223
|
+
return {
|
70224
|
+
...state,
|
70225
|
+
status: "idle",
|
70226
|
+
currentFile: null,
|
70227
|
+
error: null
|
70228
|
+
};
|
70229
|
+
case "playback-error":
|
70230
|
+
return {
|
70231
|
+
...state,
|
70232
|
+
status: "error",
|
70233
|
+
error: ev.error
|
70234
|
+
};
|
70235
|
+
default:
|
70236
|
+
assertUnreachable(evType);
|
70237
|
+
}
|
70238
|
+
},
|
70239
|
+
inline: inline_view_default
|
70240
|
+
},
|
70241
|
+
configForm: {
|
70242
|
+
form: {
|
70243
|
+
sourceName: {
|
70244
|
+
help: "Source name for the output streams",
|
70245
|
+
hint: {
|
70246
|
+
type: "text",
|
70247
|
+
validation: SourceName,
|
70248
|
+
defaultValue: "file-source"
|
70249
|
+
}
|
70250
|
+
},
|
70251
|
+
streamMappings: StreamMappingForm(defaultStreamMapping, {
|
70252
|
+
sourceNames: (cfg) => [cfg.sourceName ?? "file-source"]
|
70253
|
+
}),
|
70254
|
+
notes: {
|
70255
|
+
help: "Additional notes about this component",
|
70256
|
+
hint: {
|
70257
|
+
type: "text",
|
70258
|
+
optional: true
|
70259
|
+
}
|
70260
|
+
}
|
70261
|
+
}
|
70262
|
+
}
|
70263
|
+
});
|
70264
|
+
}
|
70265
|
+
function assertUnreachable(_) {
|
70266
|
+
throw new Error("Didn't expect to get here");
|
70267
|
+
}
|
70268
|
+
|
70269
|
+
// build/input.rtmp/inline-view.js
|
70270
|
+
var import_jsx_runtime2 = __toESM(require_jsx_runtime());
|
70271
|
+
function InlineView2({ state, config }) {
|
70121
70272
|
const maxSourceNum = 4;
|
70122
70273
|
const sourcesToRender = state.connectedStreams.slice(0, maxSourceNum);
|
70123
70274
|
if (state.connectedStreams.length > maxSourceNum) {
|
70124
70275
|
sourcesToRender.push("...");
|
70125
70276
|
}
|
70126
|
-
const connectedSources = (0,
|
70127
|
-
return (0,
|
70277
|
+
const connectedSources = (0, import_jsx_runtime2.jsxs)("div", { className: "mt-2", children: [state.connectedStreams.length > 0 ? (0, import_jsx_runtime2.jsx)("span", { children: "Connected sources" }) : (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, {}), (0, import_jsx_runtime2.jsx)("ul", { className: "rtmp-input-connected-sources", children: sourcesToRender.map((sourceName) => {
|
70278
|
+
return (0, import_jsx_runtime2.jsx)("li", { className: "text-green-300", children: sourceName }, sourceName);
|
70128
70279
|
}) })] });
|
70129
|
-
return (0,
|
70280
|
+
return (0, import_jsx_runtime2.jsx)("div", { className: "rtmp-input", id: `rtmp-input-${config.id}`, children: connectedSources });
|
70130
70281
|
}
|
70131
|
-
var
|
70282
|
+
var inline_view_default2 = InlineView2;
|
70132
70283
|
|
70133
70284
|
// build/input.rtmp/summary-view.js
|
70134
|
-
var
|
70285
|
+
var import_jsx_runtime3 = __toESM(require_jsx_runtime());
|
70135
70286
|
function SummaryView({ state, config, sendCommand }) {
|
70136
70287
|
const connectedSources = [];
|
70137
70288
|
const disconnectedSources = [];
|
@@ -70181,10 +70332,10 @@ function SummaryView({ state, config, sendCommand }) {
|
|
70181
70332
|
disconnectedSources.push(streamName);
|
70182
70333
|
}
|
70183
70334
|
});
|
70184
|
-
return (0,
|
70185
|
-
return (0,
|
70186
|
-
}) })] }), (0,
|
70187
|
-
return (0,
|
70335
|
+
return (0, import_jsx_runtime3.jsxs)("div", { className: "dark:text-white text-black mb-3 w-60", children: [(0, import_jsx_runtime3.jsxs)("div", { id: "rtmp-sources-connected", children: [(0, import_jsx_runtime3.jsx)("span", { children: "Connected Sources" }), (0, import_jsx_runtime3.jsx)("ul", { children: connectedSources.map((streamName) => {
|
70336
|
+
return (0, import_jsx_runtime3.jsxs)("li", { className: "text-green-300", children: [streamName, (0, import_jsx_runtime3.jsx)("button", { onClick: () => handleResetStream(streamName), className: "ml-2 px-2 py-1 text-xs bg-red-600 hover:bg-red-700 text-white rounded", children: "Reset" }), (0, import_jsx_runtime3.jsx)("button", { onClick: () => handleDisableStream(streamName), className: "ml-2 px-2 py-1 text-xs bg-red-600 hover:bg-red-700 text-white rounded", children: "Disable" })] }, streamName);
|
70337
|
+
}) })] }), (0, import_jsx_runtime3.jsxs)("div", { id: "rtmp-sources-disconnected", className: "mt-3", children: [(0, import_jsx_runtime3.jsx)("span", { children: "Disconnected Sources" }), (0, import_jsx_runtime3.jsx)("ul", { children: disconnectedSources.map((streamName) => {
|
70338
|
+
return (0, import_jsx_runtime3.jsxs)("li", { className: "text-orange-300", children: [streamName, state.disabledStreams.includes(streamName) ? (0, import_jsx_runtime3.jsx)("button", { onClick: () => handleEnableStream(streamName), className: "ml-2 px-2 py-1 text-xs bg-blue-600 hover:bg-blue-700 text-white rounded", children: "Enable" }) : (0, import_jsx_runtime3.jsx)("button", { onClick: () => handleDisableStream(streamName), className: "ml-2 px-2 py-1 text-xs bg-red-600 hover:bg-red-700 text-white rounded", children: "Disable" })] }, streamName);
|
70188
70339
|
}) })] })] });
|
70189
70340
|
}
|
70190
70341
|
var summary_view_default = SummaryView;
|
@@ -70192,7 +70343,7 @@ var summary_view_default = SummaryView;
|
|
70192
70343
|
// build/input.rtmp/info.js
|
70193
70344
|
var import_FaVideo = __toESM(require_FaVideo());
|
70194
70345
|
var defaultPort = 1935;
|
70195
|
-
function
|
70346
|
+
function defaultStreamMapping2(cfg) {
|
70196
70347
|
return {
|
70197
70348
|
streams: cfg.streamNames?.flatMap((s) => [{
|
70198
70349
|
media: "video",
|
@@ -70221,7 +70372,7 @@ function defaultStreamMapping(cfg) {
|
|
70221
70372
|
}]) ?? []
|
70222
70373
|
};
|
70223
70374
|
}
|
70224
|
-
function
|
70375
|
+
function info_default2({ defineComponent, mappingsToStreams, StreamMappingForm, validation: { Z, Port, SourceName, unique } }) {
|
70225
70376
|
return defineComponent({
|
70226
70377
|
identifier: "input.rtmp",
|
70227
70378
|
category: "input",
|
@@ -70233,7 +70384,7 @@ function info_default({ defineComponent, mappingsToStreams, StreamMappingForm, v
|
|
70233
70384
|
produces: {
|
70234
70385
|
type: "dynamic-streams",
|
70235
70386
|
groupBy: "sourceName",
|
70236
|
-
streams: (cfg) => mappingsToStreams(cfg.streamMappings ??
|
70387
|
+
streams: (cfg) => mappingsToStreams(cfg.streamMappings ?? defaultStreamMapping2(cfg))
|
70237
70388
|
}
|
70238
70389
|
},
|
70239
70390
|
display: (desc) => {
|
@@ -70259,11 +70410,11 @@ function info_default({ defineComponent, mappingsToStreams, StreamMappingForm, v
|
|
70259
70410
|
state.disabledStreams.push(ev.streamName);
|
70260
70411
|
break;
|
70261
70412
|
default:
|
70262
|
-
|
70413
|
+
assertUnreachable2(evType);
|
70263
70414
|
}
|
70264
70415
|
return { ...state };
|
70265
70416
|
},
|
70266
|
-
inline:
|
70417
|
+
inline: inline_view_default2,
|
70267
70418
|
summary: summary_view_default
|
70268
70419
|
},
|
70269
70420
|
configForm: {
|
@@ -70281,7 +70432,7 @@ function info_default({ defineComponent, mappingsToStreams, StreamMappingForm, v
|
|
70281
70432
|
global: unique("sourceName")
|
70282
70433
|
}
|
70283
70434
|
},
|
70284
|
-
streamMappings: StreamMappingForm(
|
70435
|
+
streamMappings: StreamMappingForm(defaultStreamMapping2, {
|
70285
70436
|
sourceNames: (cfg) => cfg.streamNames ?? []
|
70286
70437
|
}),
|
70287
70438
|
initialState: {
|
@@ -70313,13 +70464,13 @@ function info_default({ defineComponent, mappingsToStreams, StreamMappingForm, v
|
|
70313
70464
|
}
|
70314
70465
|
});
|
70315
70466
|
}
|
70316
|
-
function
|
70467
|
+
function assertUnreachable2(_) {
|
70317
70468
|
throw new Error("Didn't expect to get here");
|
70318
70469
|
}
|
70319
70470
|
|
70320
70471
|
// build/input.silence/info.js
|
70321
70472
|
var import_FaVolumeMute = __toESM(require_FaVolumeMute());
|
70322
|
-
function
|
70473
|
+
function info_default3({ defineComponent }) {
|
70323
70474
|
return defineComponent({
|
70324
70475
|
identifier: "input.silence",
|
70325
70476
|
category: "input",
|
@@ -70427,23 +70578,23 @@ var srt_socket_options_default = result;
|
|
70427
70578
|
var import_util = __toESM(require_util());
|
70428
70579
|
|
70429
70580
|
// build/shared/srt-form-views.js
|
70430
|
-
var
|
70581
|
+
var import_jsx_runtime4 = __toESM(require_jsx_runtime());
|
70431
70582
|
function SocketConfiguration(options) {
|
70432
70583
|
const show = (n) => n !== void 0 && !Number.isNaN(n) ? n.toString() : "";
|
70433
|
-
return (0,
|
70584
|
+
return (0, import_jsx_runtime4.jsxs)("div", { className: "space-y-1 w-full text-gray-500 dark:text-gray-400", children: [(0, import_jsx_runtime4.jsx)("div", { className: "flex w-full", children: (0, import_jsx_runtime4.jsx)("dd", { className: "flex-1 text-sm", children: options.maxBandwidth === void 0 && options.overheadBandwidth === void 0 && options.inputBandwidth === void 0 && options.peerLatency === void 0 && options.receiveLatency === void 0 ? "Using defaults" : "Manually configured" }) }), options.receiveLatency !== void 0 && (0, import_jsx_runtime4.jsxs)("div", { className: "flex w-full", children: [(0, import_jsx_runtime4.jsx)("dt", { className: "flex-1 text-sm font-bold", children: "Receive Latency" }), (0, import_jsx_runtime4.jsx)("dd", { className: "flex-1 text-sm font-medium", children: show(options.receiveLatency) })] }), options.peerLatency !== void 0 && (0, import_jsx_runtime4.jsxs)("div", { className: "flex w-full", children: [(0, import_jsx_runtime4.jsx)("dt", { className: "flex-1 text-sm font-bold", children: "Peer Latency" }), (0, import_jsx_runtime4.jsx)("dd", { className: "flex-1 text-sm font-medium", children: show(options.peerLatency) })] }), options.inputBandwidth !== void 0 && (0, import_jsx_runtime4.jsxs)("div", { className: "flex w-full", children: [(0, import_jsx_runtime4.jsx)("dt", { className: "flex-1 text-sm font-bold", children: "Input Bandwidth" }), (0, import_jsx_runtime4.jsx)("dd", { className: "flex-1 text-sm font-medium", children: show(options.inputBandwidth) })] }), options.overheadBandwidth !== void 0 && (0, import_jsx_runtime4.jsxs)("div", { className: "flex w-full", children: [(0, import_jsx_runtime4.jsx)("dt", { className: "flex-1 text-sm font-bold", children: "Overhead Bandwidth" }), (0, import_jsx_runtime4.jsx)("dd", { className: "flex-1 text-sm font-medium", children: show(options.overheadBandwidth) })] }), options.maxBandwidth !== void 0 && (0, import_jsx_runtime4.jsxs)("div", { className: "flex w-full", children: [(0, import_jsx_runtime4.jsx)("dt", { className: "flex-1 text-sm font-bold", children: "Max Bandwidth" }), (0, import_jsx_runtime4.jsx)("dd", { className: "flex-1 text-sm font-medium", children: show(options.maxBandwidth) })] })] });
|
70434
70585
|
}
|
70435
70586
|
|
70436
70587
|
// build/input.srt-caller/info.js
|
70437
70588
|
var import_FaPhone = __toESM(require_FaPhone());
|
70438
70589
|
|
70439
70590
|
// build/shared/srt-caller-metrics.js
|
70440
|
-
var
|
70591
|
+
var import_jsx_runtime5 = __toESM(require_jsx_runtime());
|
70441
70592
|
function MetricsView({ state }) {
|
70442
|
-
return (0,
|
70593
|
+
return (0, import_jsx_runtime5.jsxs)("div", { className: "srt-output", children: [(0, import_jsx_runtime5.jsx)("h4", { className: "font-bold dark:text-white text-black", children: "SRT Packets" }), state.enabled || state.enabled === void 0 ? (0, import_jsx_runtime5.jsx)("div", { children: state.metrics.connectionCount == 0 ? (0, import_jsx_runtime5.jsx)("div", { className: "active text-red-300 dark:text-red-300", children: "Not Connected" }) : (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [(0, import_jsx_runtime5.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Component Enabled" }), state.metrics.packetsSent >= 0 ? (0, import_jsx_runtime5.jsxs)("div", { children: ["Sent: ", state.metrics.packetsSent] }) : (0, import_jsx_runtime5.jsxs)("div", { children: ["Received: ", state.metrics.packetsReceived] }), (0, import_jsx_runtime5.jsxs)("div", { children: ["Lost/Retransmitted: ", state.metrics.packetsLost, "/", state.metrics.packetsResent] })] }) }) : (0, import_jsx_runtime5.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Component disabled" })] });
|
70443
70594
|
}
|
70444
70595
|
|
70445
70596
|
// build/shared/stream-statistics-view.js
|
70446
|
-
var
|
70597
|
+
var import_jsx_runtime6 = __toESM(require_jsx_runtime());
|
70447
70598
|
|
70448
70599
|
// ../../node_modules/react-chartjs-2/dist/index.js
|
70449
70600
|
var import_react = __toESM(require_react(), 1);
|
@@ -84977,7 +85128,7 @@ function MetricsView2({ metrics, config, global, charting }) {
|
|
84977
85128
|
}
|
84978
85129
|
};
|
84979
85130
|
if (!metrics[config.id])
|
84980
|
-
return (0,
|
85131
|
+
return (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: "Loading statistics.." });
|
84981
85132
|
const allBitrates = metrics[config.id].filter((v) => v.name == "norsk_measured_bitrate").sort((l, r) => displayStreamKey(l.streamKey).localeCompare(displayStreamKey(r.streamKey)));
|
84982
85133
|
const createInitialDataset = (label, color2, initialValue) => ({
|
84983
85134
|
label,
|
@@ -85005,18 +85156,18 @@ function MetricsView2({ metrics, config, global, charting }) {
|
|
85005
85156
|
};
|
85006
85157
|
});
|
85007
85158
|
});
|
85008
|
-
return (0,
|
85159
|
+
return (0, import_jsx_runtime6.jsxs)("div", { className: "space-y-2", children: [(0, import_jsx_runtime6.jsx)("h4", { className: "font-bold dark:text-white text-black", children: "Measured Bitrates" }), (0, import_jsx_runtime6.jsx)("div", { className: "py-2 dark:px-2 dark:bg-gray-900 rounded-lg dark:border dark:border-gray-600 flex justify-center items-center", children: (0, import_jsx_runtime6.jsx)(Line, { className: "w-fit max-w-fit", width: 272, options: cpuChartOptions, data: bitrates }) })] });
|
85009
85160
|
}
|
85010
85161
|
|
85011
85162
|
// build/input.srt-caller/inline-view.js
|
85012
|
-
var
|
85013
|
-
function
|
85014
|
-
return (0,
|
85163
|
+
var import_jsx_runtime7 = __toESM(require_jsx_runtime());
|
85164
|
+
function InlineView3({ state }) {
|
85165
|
+
return (0, import_jsx_runtime7.jsx)("div", { className: "srt-output", children: (0, import_jsx_runtime7.jsx)("div", { children: state.metrics.connectionCount == 0 ? (0, import_jsx_runtime7.jsx)("div", { className: "active text-red-300 dark:text-red-300", children: "Not Connected" }) : (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [(0, import_jsx_runtime7.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Connected" }), (0, import_jsx_runtime7.jsxs)("div", { children: ["Sent: ", state.metrics.packetsSent] }), (0, import_jsx_runtime7.jsxs)("div", { children: ["Lost/Resent: ", state.metrics.packetsLost, "/", state.metrics.packetsResent] })] }) }) });
|
85015
85166
|
}
|
85016
|
-
var
|
85167
|
+
var inline_view_default3 = InlineView3;
|
85017
85168
|
|
85018
85169
|
// build/input.srt-caller/info.js
|
85019
|
-
function
|
85170
|
+
function info_default4({ defineComponent, singleAvStreamMapping, singleAvStreamMappingForm, mappingsToStreams, validation }) {
|
85020
85171
|
const { Port, Hostname: Hostname2, SrtPassphrase, SrtStreamId } = validation;
|
85021
85172
|
return defineComponent({
|
85022
85173
|
identifier: "input.srt-caller",
|
@@ -85052,7 +85203,7 @@ function info_default3({ defineComponent, singleAvStreamMapping, singleAvStreamM
|
|
85052
85203
|
}
|
85053
85204
|
return { ...state };
|
85054
85205
|
},
|
85055
|
-
inline:
|
85206
|
+
inline: inline_view_default3,
|
85056
85207
|
metrics: [
|
85057
85208
|
{
|
85058
85209
|
title: "SRT Transmission",
|
@@ -85098,22 +85249,22 @@ function info_default3({ defineComponent, singleAvStreamMapping, singleAvStreamM
|
|
85098
85249
|
}
|
85099
85250
|
|
85100
85251
|
// build/input.srt-listener/inline-view.js
|
85101
|
-
var
|
85102
|
-
function
|
85252
|
+
var import_jsx_runtime8 = __toESM(require_jsx_runtime());
|
85253
|
+
function InlineView4({ state, config }) {
|
85103
85254
|
const maxSourceNum = 4;
|
85104
85255
|
const sourcesToRender = state.connectedStreams.slice(0, maxSourceNum);
|
85105
85256
|
if (state.connectedStreams.length > maxSourceNum) {
|
85106
85257
|
sourcesToRender.push("...");
|
85107
85258
|
}
|
85108
|
-
const connectedSources = (0,
|
85109
|
-
return (0,
|
85259
|
+
const connectedSources = (0, import_jsx_runtime8.jsxs)("div", { className: "mt-2", children: [" ", state.connectedStreams.length > 0 ? (0, import_jsx_runtime8.jsx)("span", { children: "Connected sources" }) : (0, import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment, {}), (0, import_jsx_runtime8.jsx)("ul", { className: "srt-input-connected-sources", children: sourcesToRender.map((sourceName) => {
|
85260
|
+
return (0, import_jsx_runtime8.jsx)("li", { className: "text-green-300", children: sourceName }, sourceName);
|
85110
85261
|
}) })] });
|
85111
|
-
return (0,
|
85262
|
+
return (0, import_jsx_runtime8.jsxs)("div", { className: "srt-input", id: `srt-input-${config.id}`, children: [connectedSources, (0, import_jsx_runtime8.jsxs)("div", { children: ["Received: ", state.metrics.packetsReceived.reduce((a, i) => a + i, 0)] }), (0, import_jsx_runtime8.jsxs)("div", { children: ["Lost/Resent: ", state.metrics.packetsLost.reduce((a, i) => a + i, 0), "/", state.metrics.packetsResent.reduce((a, i) => a + i, 0)] })] });
|
85112
85263
|
}
|
85113
|
-
var
|
85264
|
+
var inline_view_default4 = InlineView4;
|
85114
85265
|
|
85115
85266
|
// build/input.srt-listener/summary-view.js
|
85116
|
-
var
|
85267
|
+
var import_jsx_runtime9 = __toESM(require_jsx_runtime());
|
85117
85268
|
function SummaryView2({ state, config, sendCommand }) {
|
85118
85269
|
const connectedSources = [];
|
85119
85270
|
const disconnectedSources = [];
|
@@ -85163,7 +85314,7 @@ function SummaryView2({ state, config, sendCommand }) {
|
|
85163
85314
|
disconnectedSources.push(streamId);
|
85164
85315
|
}
|
85165
85316
|
});
|
85166
|
-
return (0,
|
85317
|
+
return (0, import_jsx_runtime9.jsxs)("div", { className: "dark:text-white text-black w-60", children: [(0, import_jsx_runtime9.jsxs)("div", { className: "mb-6", children: [(0, import_jsx_runtime9.jsx)("h3", { className: "text-sm font-semibold mb-2 dark:text-gray-300", children: "Connected Sources" }), (0, import_jsx_runtime9.jsxs)("ul", { className: "space-y-2", children: [connectedSources.map((streamId) => (0, import_jsx_runtime9.jsxs)("li", { className: "flex items-center justify-between group", children: [(0, import_jsx_runtime9.jsx)("span", { className: "text-green-400 font-medium", children: streamId }), (0, import_jsx_runtime9.jsxs)("div", { className: "flex space-x-2", children: [(0, import_jsx_runtime9.jsx)("button", { onClick: () => handleResetStream(streamId), className: "opacity-80 group-hover:opacity-100 px-3 py-1 text-xs bg-red-600 hover:bg-red-700 text-white rounded transition-colors", children: "Reset" }), (0, import_jsx_runtime9.jsx)("button", { onClick: () => handleDisableStream(streamId), className: "opacity-80 group-hover:opacity-100 px-3 py-1 text-xs bg-red-600 hover:bg-red-700 text-white rounded transition-colors", children: "Disable" })] })] }, streamId)), connectedSources.length === 0 && (0, import_jsx_runtime9.jsx)("li", { className: "text-sm text-gray-500 dark:text-gray-400 italic", children: "No connected sources" })] })] }), (0, import_jsx_runtime9.jsxs)("div", { children: [(0, import_jsx_runtime9.jsx)("h3", { className: "text-sm font-semibold mb-2 dark:text-gray-300", children: "Disconnected Sources" }), (0, import_jsx_runtime9.jsxs)("ul", { className: "space-y-2", children: [disconnectedSources.map((streamId) => (0, import_jsx_runtime9.jsxs)("li", { className: "flex items-center justify-between group", children: [(0, import_jsx_runtime9.jsx)("span", { className: "text-orange-300 font-medium", children: streamId }), state.disabledStreams.includes(streamId) ? (0, import_jsx_runtime9.jsx)("button", { onClick: () => handleEnableStream(streamId), className: "opacity-80 group-hover:opacity-100 px-3 py-1 text-xs bg-blue-600 hover:bg-blue-700 text-white rounded transition-colors", children: "Enable" }) : (0, import_jsx_runtime9.jsx)("button", { onClick: () => handleDisableStream(streamId), className: "opacity-80 group-hover:opacity-100 px-3 py-1 text-xs bg-red-600 hover:bg-red-700 text-white rounded transition-colors", children: "Disable" })] }, streamId)), disconnectedSources.length === 0 && (0, import_jsx_runtime9.jsx)("li", { className: "text-sm text-gray-500 dark:text-gray-400 italic", children: "No disconnected sources" })] })] })] });
|
85167
85318
|
}
|
85168
85319
|
var summary_view_default2 = SummaryView2;
|
85169
85320
|
|
@@ -85171,15 +85322,15 @@ var summary_view_default2 = SummaryView2;
|
|
85171
85322
|
var import_FaHeadphones = __toESM(require_FaHeadphones());
|
85172
85323
|
|
85173
85324
|
// build/shared/srt-listener-metrics.js
|
85174
|
-
var
|
85325
|
+
var import_jsx_runtime10 = __toESM(require_jsx_runtime());
|
85175
85326
|
function MetricsView3({ state }) {
|
85176
|
-
return (0,
|
85177
|
-
return (0,
|
85178
|
-
}) }) }) : (0,
|
85327
|
+
return (0, import_jsx_runtime10.jsxs)("div", { className: "srt-output space-y-2", children: [(0, import_jsx_runtime10.jsx)("h4", { className: "font-bold dark:text-white text-black", children: "SRT Packets" }), state.enabled === void 0 || state.enabled ? state.metrics.connectionCount == 0 ? (0, import_jsx_runtime10.jsx)("div", { className: "active text-red-300 dark:text-red-300", children: "No connections" }) : (0, import_jsx_runtime10.jsx)(import_jsx_runtime10.Fragment, { children: (0, import_jsx_runtime10.jsx)("div", { className: "p-2 flex flex-col gap-2 border border-gray-200 dark:border-gray-700", children: (state.metrics.packetsSent.length == 0 ? state.metrics.packetsReceived : state.metrics.packetsSent).map((p, i) => {
|
85328
|
+
return (0, import_jsx_runtime10.jsxs)("div", { className: "grid grid-cols-2", children: [(0, import_jsx_runtime10.jsx)("dt", { className: "font-medium", children: "Connection" }), (0, import_jsx_runtime10.jsx)("dd", { className: "", children: state.names?.[i] ?? i }), (0, import_jsx_runtime10.jsx)("dt", { className: "font-medium", children: state.metrics.packetsSent.length == 0 ? "Received" : "Sent" }), (0, import_jsx_runtime10.jsx)("dd", { className: "", children: p }), (0, import_jsx_runtime10.jsx)("dt", { className: "font-medium", children: "Retransmitted" }), (0, import_jsx_runtime10.jsx)("dd", { className: "", children: state.metrics.packetsResent[i] }), (0, import_jsx_runtime10.jsx)("dt", { className: "font-medium", children: "Lost" }), (0, import_jsx_runtime10.jsx)("dd", { className: "", children: state.metrics.packetsLost[i] })] }, i);
|
85329
|
+
}) }) }) : (0, import_jsx_runtime10.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Component disabled" })] });
|
85179
85330
|
}
|
85180
85331
|
|
85181
85332
|
// build/input.srt-listener/info.js
|
85182
|
-
function
|
85333
|
+
function defaultStreamMapping3(cfg) {
|
85183
85334
|
return {
|
85184
85335
|
streams: cfg.streamIds?.flatMap((s) => [{
|
85185
85336
|
media: "video",
|
@@ -85208,7 +85359,7 @@ function defaultStreamMapping2(cfg) {
|
|
85208
85359
|
}]) ?? []
|
85209
85360
|
};
|
85210
85361
|
}
|
85211
|
-
function
|
85362
|
+
function info_default5({ defineComponent, mappingsToStreams, StreamMappingForm, validation }) {
|
85212
85363
|
const { Z, Port, Hostname: Hostname2, SourceName, SrtPassphrase, unique } = validation;
|
85213
85364
|
return defineComponent({
|
85214
85365
|
identifier: "input.srt-listener",
|
@@ -85221,7 +85372,7 @@ function info_default4({ defineComponent, mappingsToStreams, StreamMappingForm,
|
|
85221
85372
|
produces: {
|
85222
85373
|
type: "dynamic-streams",
|
85223
85374
|
groupBy: "sourceName",
|
85224
|
-
streams: (cfg) => mappingsToStreams(cfg.streamMappings ??
|
85375
|
+
streams: (cfg) => mappingsToStreams(cfg.streamMappings ?? defaultStreamMapping3(cfg))
|
85225
85376
|
}
|
85226
85377
|
},
|
85227
85378
|
display: (desc) => {
|
@@ -85265,11 +85416,11 @@ function info_default4({ defineComponent, mappingsToStreams, StreamMappingForm,
|
|
85265
85416
|
state.metrics = ev.metrics;
|
85266
85417
|
break;
|
85267
85418
|
default:
|
85268
|
-
|
85419
|
+
assertUnreachable4(evType);
|
85269
85420
|
}
|
85270
85421
|
return { ...state };
|
85271
85422
|
},
|
85272
|
-
inline:
|
85423
|
+
inline: inline_view_default4,
|
85273
85424
|
summary: summary_view_default2,
|
85274
85425
|
metrics: [
|
85275
85426
|
{ title: "SRT Transmission", view: MetricsView3 },
|
@@ -85337,7 +85488,7 @@ function info_default4({ defineComponent, mappingsToStreams, StreamMappingForm,
|
|
85337
85488
|
global: unique("sourceName")
|
85338
85489
|
}
|
85339
85490
|
},
|
85340
|
-
streamMappings: StreamMappingForm(
|
85491
|
+
streamMappings: StreamMappingForm(defaultStreamMapping3, {
|
85341
85492
|
sourceNames: (cfg) => cfg.streamIds ?? []
|
85342
85493
|
}),
|
85343
85494
|
notes: {
|
@@ -85351,13 +85502,13 @@ function info_default4({ defineComponent, mappingsToStreams, StreamMappingForm,
|
|
85351
85502
|
}
|
85352
85503
|
});
|
85353
85504
|
}
|
85354
|
-
function
|
85505
|
+
function assertUnreachable4(_) {
|
85355
85506
|
throw new Error("Didn't expect to get here");
|
85356
85507
|
}
|
85357
85508
|
|
85358
85509
|
// build/input.udp-ts/info.js
|
85359
85510
|
var import_FaNetworkWired = __toESM(require_FaNetworkWired());
|
85360
|
-
function
|
85511
|
+
function info_default6({ defineComponent, singleAvStreamMapping, singleAvStreamMappingForm, mappingsToStreams, validation: { Z, Port, Hostname: Hostname2, unique } }) {
|
85361
85512
|
return defineComponent({
|
85362
85513
|
identifier: "input.udp-ts",
|
85363
85514
|
category: "input",
|
@@ -85393,7 +85544,7 @@ function info_default5({ defineComponent, singleAvStreamMapping, singleAvStreamM
|
|
85393
85544
|
|
85394
85545
|
// build/input.videoTestCard/info.js
|
85395
85546
|
var import_FaTv = __toESM(require_FaTv());
|
85396
|
-
function
|
85547
|
+
function info_default7({ defineComponent, common: { Resolutions, FrameRates } }) {
|
85397
85548
|
return defineComponent({
|
85398
85549
|
identifier: "input.videoTestCard",
|
85399
85550
|
category: "input",
|
@@ -85454,21 +85605,21 @@ var import_util2 = __toESM(require_util());
|
|
85454
85605
|
var import_FaCloudUploadAlt = __toESM(require_FaCloudUploadAlt());
|
85455
85606
|
|
85456
85607
|
// build/input.whip/inline-view.js
|
85457
|
-
var
|
85608
|
+
var import_jsx_runtime11 = __toESM(require_jsx_runtime());
|
85458
85609
|
var import_react2 = __toESM(require_react());
|
85459
|
-
function
|
85610
|
+
function InlineView5({ state, raise }) {
|
85460
85611
|
(0, import_react2.useEffect)(() => {
|
85461
85612
|
if (raise) {
|
85462
85613
|
raise();
|
85463
85614
|
}
|
85464
85615
|
}, [raise]);
|
85465
|
-
return (0,
|
85616
|
+
return (0, import_jsx_runtime11.jsx)("div", { className: "input-whip", children: (0, import_jsx_runtime11.jsxs)("div", { className: "whip-status-inline", children: [(0, import_jsx_runtime11.jsxs)("div", { className: "flex items-center space-x-2", children: [(0, import_jsx_runtime11.jsx)("div", { className: `w-2 h-2 rounded-full ${state.connectionCount > 0 ? "bg-green-400" : "bg-gray-400"}` }), (0, import_jsx_runtime11.jsx)("span", { className: "text-sm", children: state.connectionCount > 0 ? `${state.connectionCount} connected` : "No connections" })] }), state.endpointUrl && (0, import_jsx_runtime11.jsxs)("div", { className: "mt-1", children: [(0, import_jsx_runtime11.jsx)("span", { className: "text-xs text-gray-600", children: "Endpoint: " }), (0, import_jsx_runtime11.jsx)("code", { className: "text-xs bg-gray-100 px-1 rounded", children: state.endpointUrl })] }), state.activeSessions && state.activeSessions.length > 0 && (0, import_jsx_runtime11.jsxs)("div", { className: "mt-2", children: [(0, import_jsx_runtime11.jsx)("div", { className: "text-xs text-gray-600 mb-1", children: "Active Sessions:" }), state.activeSessions.slice(0, 3).map((session) => (0, import_jsx_runtime11.jsxs)("div", { className: "text-xs flex items-center space-x-1", children: [(0, import_jsx_runtime11.jsx)("div", { className: `w-1 h-1 rounded-full ${session.status === "connected" ? "bg-green-400" : "bg-red-400"}` }), (0, import_jsx_runtime11.jsx)("span", { children: session.sourceName }), (0, import_jsx_runtime11.jsxs)("span", { className: "text-gray-500", children: ["(", session.sessionId.slice(0, 8), "...)"] })] }, session.sessionId)), state.activeSessions.length > 3 && (0, import_jsx_runtime11.jsxs)("div", { className: "text-xs text-gray-500", children: ["+ ", state.activeSessions.length - 3, " more"] })] })] }) });
|
85466
85617
|
}
|
85467
|
-
var
|
85618
|
+
var inline_view_default5 = InlineView5;
|
85468
85619
|
|
85469
85620
|
// build/input.whip/info.js
|
85470
85621
|
var import_config = __toESM(require_config());
|
85471
|
-
function
|
85622
|
+
function info_default8({ defineComponent, singleAvStreamMapping, singleAvStreamMappingForm, mappingsToStreams, validation }) {
|
85472
85623
|
return defineComponent({
|
85473
85624
|
identifier: "input.whip",
|
85474
85625
|
category: "input",
|
@@ -85518,7 +85669,7 @@ function info_default7({ defineComponent, singleAvStreamMapping, singleAvStreamM
|
|
85518
85669
|
}
|
85519
85670
|
return { ...state };
|
85520
85671
|
},
|
85521
|
-
inline:
|
85672
|
+
inline: inline_view_default5,
|
85522
85673
|
metrics: [
|
85523
85674
|
{
|
85524
85675
|
title: "Stream Statistics",
|
@@ -85569,7 +85720,7 @@ function info_default7({ defineComponent, singleAvStreamMapping, singleAvStreamM
|
|
85569
85720
|
var import_config2 = __toESM(require_config());
|
85570
85721
|
|
85571
85722
|
// build/output.autoCmaf/summary-view.js
|
85572
|
-
var
|
85723
|
+
var import_jsx_runtime12 = __toESM(require_jsx_runtime());
|
85573
85724
|
function SummaryView3({ state, sendCommand }) {
|
85574
85725
|
const handleEnableOutput = () => {
|
85575
85726
|
void enableOutput();
|
@@ -85587,12 +85738,12 @@ function SummaryView3({ state, sendCommand }) {
|
|
85587
85738
|
type: "disable-output"
|
85588
85739
|
});
|
85589
85740
|
};
|
85590
|
-
return (0,
|
85741
|
+
return (0, import_jsx_runtime12.jsx)("div", { className: "mb-5", children: (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [(0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center space-x-2", children: [(0, import_jsx_runtime12.jsx)("span", { className: `inline-block w-2 h-2 rounded-full ${state.enabled ? "bg-blue-500" : "bg-red-500"}` }), (0, import_jsx_runtime12.jsxs)("span", { className: "text-sm", children: ["Status: ", state.enabled ? "Enabled" : "Disabled"] })] }), (0, import_jsx_runtime12.jsx)("div", { children: state.enabled ? (0, import_jsx_runtime12.jsx)("button", { onClick: handleDisableOutput, className: "px-3 py-1 text-sm bg-red-600 hover:bg-red-700 text-white rounded", children: "Disable Output" }) : (0, import_jsx_runtime12.jsx)("button", { onClick: handleEnableOutput, className: "px-3 py-1 text-sm bg-blue-600 hover:bg-blue-700 text-white rounded", children: "Enable Output" }) })] }) });
|
85591
85742
|
}
|
85592
85743
|
var summary_view_default3 = SummaryView3;
|
85593
85744
|
|
85594
85745
|
// build/output.autoCmaf/fullscreen.js
|
85595
|
-
var
|
85746
|
+
var import_jsx_runtime13 = __toESM(require_jsx_runtime());
|
85596
85747
|
var import_react3 = __toESM(require_react());
|
85597
85748
|
var import_hls = __toESM(require_hls());
|
85598
85749
|
function FullscreenView({ state, config }) {
|
@@ -85654,20 +85805,20 @@ function FullscreenView({ state, config }) {
|
|
85654
85805
|
} else if (element.canPlayType("application/vnd.apple.mpegurl")) {
|
85655
85806
|
element.src = url;
|
85656
85807
|
}
|
85657
|
-
}, [id, url]);
|
85808
|
+
}, [config.__global?.ezdrmConfig?.pX, config.drmProvider, id, state.drmToken, url]);
|
85658
85809
|
if (!url)
|
85659
|
-
return (0,
|
85810
|
+
return (0, import_jsx_runtime13.jsx)(import_jsx_runtime13.Fragment, { children: "..." });
|
85660
85811
|
{
|
85661
85812
|
}
|
85662
|
-
return (0,
|
85813
|
+
return (0, import_jsx_runtime13.jsx)("div", { children: (0, import_jsx_runtime13.jsx)("video", { controls: true, autoPlay: true, muted: true, id: `${id}-video` }) });
|
85663
85814
|
}
|
85664
85815
|
var fullscreen_default = FullscreenView;
|
85665
85816
|
|
85666
85817
|
// build/output.autoCmaf/inline-view.js
|
85667
|
-
var
|
85818
|
+
var import_jsx_runtime14 = __toESM(require_jsx_runtime());
|
85668
85819
|
var import_hls2 = __toESM(require_hls());
|
85669
85820
|
var import_react4 = __toESM(require_react());
|
85670
|
-
function
|
85821
|
+
function InlineView6({ state, config }) {
|
85671
85822
|
const url = state.url;
|
85672
85823
|
const id = config.id;
|
85673
85824
|
const previewVideo = (0, import_react4.useRef)(null);
|
@@ -85732,9 +85883,9 @@ function InlineView5({ state, config }) {
|
|
85732
85883
|
previewVideo.current.src = url;
|
85733
85884
|
}
|
85734
85885
|
}, [config.__global?.ezdrmConfig?.pX, config.drmProvider, state.drmToken, url, showPreview]);
|
85735
|
-
return (0,
|
85886
|
+
return (0, import_jsx_runtime14.jsxs)("div", { className: "cmaf-output", children: [state.enabled ? (0, import_jsx_runtime14.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Output enabled" }) : (0, import_jsx_runtime14.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" }), (0, import_jsx_runtime14.jsxs)("div", { className: "flex items-center gap-2", children: [(0, import_jsx_runtime14.jsx)("input", { type: "checkbox", id: `video-toggle-${id}`, checked: showPreview, onChange: (e) => setShowPreview(e.target.checked), className: "h-4 w-4" }), (0, import_jsx_runtime14.jsx)("label", { htmlFor: `video-toggle-${id}`, className: "text-sm", children: "Show Preview" })] }), !url ? (0, import_jsx_runtime14.jsx)(import_jsx_runtime14.Fragment, {}) : (0, import_jsx_runtime14.jsx)("div", { className: "mb-5", children: (0, import_jsx_runtime14.jsx)("video", { ref: previewVideo, autoPlay: true, muted: true, id: `${id}-video` }) })] });
|
85736
85887
|
}
|
85737
|
-
var
|
85888
|
+
var inline_view_default6 = InlineView6;
|
85738
85889
|
|
85739
85890
|
// build/output.autoCmaf/info.js
|
85740
85891
|
var import_FaCog = __toESM(require_FaCog());
|
@@ -85743,22 +85894,22 @@ var import_FaCog = __toESM(require_FaCog());
|
|
85743
85894
|
var import_client_types = __toESM(require_client_types());
|
85744
85895
|
|
85745
85896
|
// build/shared/playlist-form-views.js
|
85746
|
-
var
|
85897
|
+
var import_jsx_runtime15 = __toESM(require_jsx_runtime());
|
85747
85898
|
function Destination(destination) {
|
85748
85899
|
switch (destination.type) {
|
85749
85900
|
case "s3":
|
85750
|
-
return (0,
|
85901
|
+
return (0, import_jsx_runtime15.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, import_jsx_runtime15.jsx)("div", { className: "col-span-1", children: "Host" }), (0, import_jsx_runtime15.jsx)("div", { className: "col-span-2", children: destination.host }), (0, import_jsx_runtime15.jsx)("div", { className: "col-span-1", children: "Path" }), (0, import_jsx_runtime15.jsx)("div", { className: "col-span-2", children: destination.prefix }), (0, import_jsx_runtime15.jsx)("div", { className: "col-span-1", children: "Include Ads" }), (0, import_jsx_runtime15.jsx)("div", { className: "col-span-2", children: destination.includeAdInsertions ? "yes" : "no" })] });
|
85751
85902
|
case "akamai":
|
85752
|
-
return (0,
|
85903
|
+
return (0, import_jsx_runtime15.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, import_jsx_runtime15.jsx)("div", { className: "col-span-1", children: "Ingest" }), (0, import_jsx_runtime15.jsx)("div", { className: "col-span-2", children: destination.ingest }), (0, import_jsx_runtime15.jsx)("div", { className: "col-span-1", children: "Playback" }), (0, import_jsx_runtime15.jsx)("div", { className: "col-span-2", children: destination.playback }), (0, import_jsx_runtime15.jsx)("div", { className: "col-span-1", children: "Include Ads" }), (0, import_jsx_runtime15.jsx)("div", { className: "col-span-2", children: destination.includeAdInsertions ? "yes" : "no" })] });
|
85753
85904
|
default: {
|
85754
85905
|
const _ = destination;
|
85755
85906
|
console.log("Unreachable");
|
85756
|
-
return (0,
|
85907
|
+
return (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, {});
|
85757
85908
|
}
|
85758
85909
|
}
|
85759
85910
|
}
|
85760
85911
|
function SegmentConfiguration(cfg) {
|
85761
|
-
return (0,
|
85912
|
+
return (0, import_jsx_runtime15.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, import_jsx_runtime15.jsx)("div", { className: "col-span-1", children: "Segments" }), (0, import_jsx_runtime15.jsx)("div", { className: "col-span-2", children: cfg.defaultSegmentCount == 0 ? "all" : cfg.defaultSegmentCount }), (0, import_jsx_runtime15.jsx)("div", { className: "col-span-1", children: "Segment Target" }), (0, import_jsx_runtime15.jsxs)("div", { className: "col-span-2", children: [cfg.targetSegmentDuration, "s"] }), (0, import_jsx_runtime15.jsx)("div", { className: "col-span-1", children: "Part Target" }), (0, import_jsx_runtime15.jsxs)("div", { className: "col-span-2", children: [cfg.targetPartDuration, "s"] }), (0, import_jsx_runtime15.jsx)("div", { className: "col-span-1", children: "Retention" }), (0, import_jsx_runtime15.jsxs)("div", { className: "col-span-2", children: [cfg.retentionPeriod, "s"] })] });
|
85762
85913
|
}
|
85763
85914
|
|
85764
85915
|
// ../../node_modules/zod/lib/index.mjs
|
@@ -89969,7 +90120,7 @@ var DestinationsFormEntry = {
|
|
89969
90120
|
};
|
89970
90121
|
|
89971
90122
|
// build/output.autoCmaf/info.js
|
89972
|
-
function
|
90123
|
+
function info_default9(R) {
|
89973
90124
|
const { defineComponent, All, validation: { Z } } = R;
|
89974
90125
|
return defineComponent({
|
89975
90126
|
identifier: "output.autoCmaf",
|
@@ -90040,13 +90191,13 @@ function info_default8(R) {
|
|
90040
90191
|
state.enabled = false;
|
90041
90192
|
break;
|
90042
90193
|
default:
|
90043
|
-
|
90194
|
+
assertUnreachable6(evType);
|
90044
90195
|
}
|
90045
90196
|
return { ...state };
|
90046
90197
|
},
|
90047
90198
|
summary: summary_view_default3,
|
90048
90199
|
fullscreen: fullscreen_default,
|
90049
|
-
inline:
|
90200
|
+
inline: inline_view_default6
|
90050
90201
|
},
|
90051
90202
|
configForm: {
|
90052
90203
|
global: {
|
@@ -90172,14 +90323,14 @@ function info_default8(R) {
|
|
90172
90323
|
}
|
90173
90324
|
});
|
90174
90325
|
}
|
90175
|
-
function
|
90326
|
+
function assertUnreachable6(_) {
|
90176
90327
|
throw new Error("Didn't expect to get here");
|
90177
90328
|
}
|
90178
90329
|
|
90179
90330
|
// build/output.autoHls/info.js
|
90180
90331
|
var import_FaCogs = __toESM(require_FaCogs());
|
90181
|
-
function
|
90182
|
-
const autoCmaf =
|
90332
|
+
function info_default10(R) {
|
90333
|
+
const autoCmaf = info_default9(R);
|
90183
90334
|
const { drmProvider: _, ...NoCrypto } = autoCmaf.configForm.form;
|
90184
90335
|
return {
|
90185
90336
|
...autoCmaf,
|
@@ -90197,7 +90348,7 @@ function info_default9(R) {
|
|
90197
90348
|
// build/output.cmafMultiVariant/info.js
|
90198
90349
|
var import_util3 = __toESM(require_util());
|
90199
90350
|
var import_FaHeadphones2 = __toESM(require_FaHeadphones());
|
90200
|
-
function
|
90351
|
+
function info_default11(registration) {
|
90201
90352
|
const { defineComponent, validation } = registration;
|
90202
90353
|
const { Z } = validation;
|
90203
90354
|
return defineComponent({
|
@@ -90288,7 +90439,7 @@ function info_default10(registration) {
|
|
90288
90439
|
// build/output.cmafPlaylist/info.js
|
90289
90440
|
var import_util4 = __toESM(require_util());
|
90290
90441
|
var import_FaHeadphones3 = __toESM(require_FaHeadphones());
|
90291
|
-
function
|
90442
|
+
function info_default12(registration) {
|
90292
90443
|
const { defineComponent, validation } = registration;
|
90293
90444
|
const { Z } = validation;
|
90294
90445
|
return defineComponent({
|
@@ -90440,7 +90591,7 @@ function info_default11(registration) {
|
|
90440
90591
|
}
|
90441
90592
|
|
90442
90593
|
// build/output.rtmp/summary-view.js
|
90443
|
-
var
|
90594
|
+
var import_jsx_runtime16 = __toESM(require_jsx_runtime());
|
90444
90595
|
function SummaryView4({ state, sendCommand }) {
|
90445
90596
|
const handleEnableOutput = () => {
|
90446
90597
|
void enableOutput();
|
@@ -90458,36 +90609,36 @@ function SummaryView4({ state, sendCommand }) {
|
|
90458
90609
|
type: "disable-output"
|
90459
90610
|
});
|
90460
90611
|
};
|
90461
|
-
return (0,
|
90612
|
+
return (0, import_jsx_runtime16.jsx)("div", { className: "mb-5", children: (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [(0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center space-x-2", children: [(0, import_jsx_runtime16.jsx)("span", { className: `inline-block w-2 h-2 rounded-full ${state.enabled ? "bg-blue-500" : "bg-red-500"}` }), (0, import_jsx_runtime16.jsxs)("span", { className: "text-sm", children: ["Status: ", state.enabled ? "Enabled" : "Disabled"] })] }), (0, import_jsx_runtime16.jsx)("div", { children: state.enabled ? (0, import_jsx_runtime16.jsx)("button", { onClick: handleDisableOutput, className: "px-3 py-1 text-sm bg-red-600 hover:bg-red-700 text-white rounded", children: "Disable Output" }) : (0, import_jsx_runtime16.jsx)("button", { onClick: handleEnableOutput, className: "px-3 py-1 text-sm bg-blue-600 hover:bg-blue-700 text-white rounded", children: "Enable Output" }) })] }) });
|
90462
90613
|
}
|
90463
90614
|
var summary_view_default4 = SummaryView4;
|
90464
90615
|
|
90465
90616
|
// build/output.rtmp/inline-view.js
|
90466
|
-
var
|
90617
|
+
var import_jsx_runtime18 = __toESM(require_jsx_runtime());
|
90467
90618
|
|
90468
90619
|
// build/shared/jitter-buffer-inline.js
|
90469
|
-
var
|
90620
|
+
var import_jsx_runtime17 = __toESM(require_jsx_runtime());
|
90470
90621
|
function initialJitterBufferState() {
|
90471
90622
|
return { target: 0, value: 0, percentage: 0 };
|
90472
90623
|
}
|
90473
90624
|
function JitterBufferInline(jb) {
|
90474
|
-
return (0,
|
90625
|
+
return (0, import_jsx_runtime17.jsx)(import_jsx_runtime17.Fragment, { children: (0, import_jsx_runtime17.jsxs)("div", { children: ["Buffer: ", (0, import_jsx_runtime17.jsx)("meter", { value: jb.percentage, max: 100, high: 50, low: 25 })] }) });
|
90475
90626
|
}
|
90476
90627
|
|
90477
90628
|
// build/output.rtmp/inline-view.js
|
90478
|
-
function
|
90629
|
+
function InlineView7({ state, config }) {
|
90479
90630
|
if (!state.enabled) {
|
90480
|
-
return (0,
|
90631
|
+
return (0, import_jsx_runtime18.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" });
|
90481
90632
|
}
|
90482
|
-
const connected = (0,
|
90483
|
-
const disconnected = (0,
|
90484
|
-
return (0,
|
90633
|
+
const connected = (0, import_jsx_runtime18.jsxs)("div", { children: [(0, import_jsx_runtime18.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Connected and publishing" }), (0, import_jsx_runtime18.jsx)(JitterBufferInline, { ...state.jitterBuffer })] });
|
90634
|
+
const disconnected = (0, import_jsx_runtime18.jsxs)("div", { className: "inactive text-orange-500 dark:text-orange-300", children: ["Disconnected ", state.connectRetries > 0 ? `- retrying(${state.connectRetries})` : ""] });
|
90635
|
+
return (0, import_jsx_runtime18.jsx)("div", { className: "rtmp-output", id: `rtmp-output-${config.id}`, children: state.connected ? connected : disconnected });
|
90485
90636
|
}
|
90486
|
-
var
|
90637
|
+
var inline_view_default7 = InlineView7;
|
90487
90638
|
|
90488
90639
|
// build/output.rtmp/info.js
|
90489
90640
|
var import_FaVideoSlash = __toESM(require_FaVideoSlash());
|
90490
|
-
function
|
90641
|
+
function info_default13(r) {
|
90491
90642
|
const { validation: { JitterBuffer, Z } } = r;
|
90492
90643
|
return defineRtmpOutputComponent(r, {
|
90493
90644
|
identifier: "output.rtmp",
|
@@ -90555,22 +90706,22 @@ function defineRtmpOutputComponent({ defineComponent }, settings) {
|
|
90555
90706
|
state.jitterBuffer = ev.buffer;
|
90556
90707
|
break;
|
90557
90708
|
default:
|
90558
|
-
|
90709
|
+
assertUnreachable9(evType);
|
90559
90710
|
}
|
90560
90711
|
return { ...state };
|
90561
90712
|
},
|
90562
|
-
inline:
|
90713
|
+
inline: inline_view_default7,
|
90563
90714
|
summary: summary_view_default4
|
90564
90715
|
}
|
90565
90716
|
});
|
90566
90717
|
}
|
90567
|
-
function
|
90718
|
+
function assertUnreachable9(_) {
|
90568
90719
|
throw new Error("Didn't expect to get here");
|
90569
90720
|
}
|
90570
90721
|
|
90571
90722
|
// build/output.facebook/info.js
|
90572
90723
|
var import_FaFacebook = __toESM(require_FaFacebook());
|
90573
|
-
function
|
90724
|
+
function info_default14(r) {
|
90574
90725
|
const { validation: { Z } } = r;
|
90575
90726
|
return defineRtmpOutputComponent(r, {
|
90576
90727
|
identifier: "output.Facebook",
|
@@ -90600,7 +90751,7 @@ function info_default13(r) {
|
|
90600
90751
|
|
90601
90752
|
// build/output.linkedin/info.js
|
90602
90753
|
var import_FaLinkedin = __toESM(require_FaLinkedin());
|
90603
|
-
function
|
90754
|
+
function info_default15(r) {
|
90604
90755
|
const { validation: { Z } } = r;
|
90605
90756
|
return defineRtmpOutputComponent(r, {
|
90606
90757
|
identifier: "output.LinkedIn",
|
@@ -90632,7 +90783,7 @@ function info_default14(r) {
|
|
90632
90783
|
var import_config3 = __toESM(require_config());
|
90633
90784
|
|
90634
90785
|
// build/output.preview/inline-view.js
|
90635
|
-
var
|
90786
|
+
var import_jsx_runtime19 = __toESM(require_jsx_runtime());
|
90636
90787
|
var import_react6 = __toESM(require_react());
|
90637
90788
|
|
90638
90789
|
// build/shared/whep.js
|
@@ -90680,7 +90831,7 @@ function createPlayerElement(stream, container) {
|
|
90680
90831
|
}
|
90681
90832
|
|
90682
90833
|
// build/output.preview/inline-view.js
|
90683
|
-
function
|
90834
|
+
function InlineView8({ state, config, raise }) {
|
90684
90835
|
const url = state.url;
|
90685
90836
|
const id = config.id;
|
90686
90837
|
const [showPreview, setShowPreview] = (0, import_react6.useState)(config.showPreview ?? true);
|
@@ -90745,7 +90896,7 @@ function InlineView7({ state, config, raise }) {
|
|
90745
90896
|
}, [config.showPreview]);
|
90746
90897
|
(0, import_react6.useEffect)(() => raise?.(), [raise]);
|
90747
90898
|
if (!url)
|
90748
|
-
return (0,
|
90899
|
+
return (0, import_jsx_runtime19.jsx)(import_jsx_runtime19.Fragment, { children: "..." });
|
90749
90900
|
function percentage(levels) {
|
90750
90901
|
if (!levels) {
|
90751
90902
|
return 0;
|
@@ -90755,13 +90906,13 @@ function InlineView7({ state, config, raise }) {
|
|
90755
90906
|
const snapped = Math.floor(capped * 10) * 10;
|
90756
90907
|
return Math.max(0, 100 - snapped);
|
90757
90908
|
}
|
90758
|
-
return (0,
|
90909
|
+
return (0, import_jsx_runtime19.jsxs)("div", { className: "preview-outer-container", children: [(0, import_jsx_runtime19.jsxs)("div", { className: "flex items-center gap-2", children: [(0, import_jsx_runtime19.jsx)("input", { type: "checkbox", id: `video-toggle-${id}`, checked: showPreview, onChange: (e) => setShowPreview(e.target.checked), className: "h-4 w-4" }), (0, import_jsx_runtime19.jsx)("label", { htmlFor: `video-toggle-${id}`, className: "text-sm", children: "Show Preview" })] }), (0, import_jsx_runtime19.jsxs)("div", { className: "flex items-stretch h-full", children: [showPreview ? (0, import_jsx_runtime19.jsx)(import_jsx_runtime19.Fragment, { children: (0, import_jsx_runtime19.jsxs)("div", { className: "preview-video", id: `preview-${id}`, children: [imageUrl && (0, import_jsx_runtime19.jsx)("img", { src: imageUrl, width: 420, height: 236, alt: "Preview" }), (0, import_jsx_runtime19.jsx)("style", { children: `#preview-${id} video::-webkit-media-controls-play-button { display: none; }` })] }) }) : (0, import_jsx_runtime19.jsx)("div", { className: "preview-video bg-black flex items-center justify-center text-white h-full py-4", children: "Preview turned off" }), (0, import_jsx_runtime19.jsx)("div", { className: "preview-levels", children: (0, import_jsx_runtime19.jsx)("div", { className: `preview-level clip-${percentage(state.levels)}-preview` }) })] })] });
|
90759
90910
|
}
|
90760
|
-
var
|
90911
|
+
var inline_view_default8 = InlineView8;
|
90761
90912
|
|
90762
90913
|
// build/output.preview/info.js
|
90763
90914
|
var import_FaEye = __toESM(require_FaEye());
|
90764
|
-
function
|
90915
|
+
function info_default16(R) {
|
90765
90916
|
const { defineComponent, validation: { JitterBuffer } } = R;
|
90766
90917
|
return defineComponent({
|
90767
90918
|
identifier: "output.preview",
|
@@ -90800,11 +90951,11 @@ function info_default15(R) {
|
|
90800
90951
|
state = {};
|
90801
90952
|
break;
|
90802
90953
|
default:
|
90803
|
-
|
90954
|
+
assertUnreachable10(evType);
|
90804
90955
|
}
|
90805
90956
|
return { ...state };
|
90806
90957
|
},
|
90807
|
-
inline:
|
90958
|
+
inline: inline_view_default8
|
90808
90959
|
},
|
90809
90960
|
configForm: {
|
90810
90961
|
global: {
|
@@ -90834,7 +90985,7 @@ function info_default15(R) {
|
|
90834
90985
|
}
|
90835
90986
|
});
|
90836
90987
|
}
|
90837
|
-
function
|
90988
|
+
function assertUnreachable10(_) {
|
90838
90989
|
throw new Error("Didn't expect to get here");
|
90839
90990
|
}
|
90840
90991
|
|
@@ -90842,7 +90993,7 @@ function assertUnreachable9(_) {
|
|
90842
90993
|
var import_util5 = __toESM(require_util());
|
90843
90994
|
|
90844
90995
|
// build/output.srt-caller/summary-view.js
|
90845
|
-
var
|
90996
|
+
var import_jsx_runtime20 = __toESM(require_jsx_runtime());
|
90846
90997
|
function SummaryView5({ state, sendCommand }) {
|
90847
90998
|
const handleEnableOutput = () => {
|
90848
90999
|
void enableOutput();
|
@@ -90860,20 +91011,20 @@ function SummaryView5({ state, sendCommand }) {
|
|
90860
91011
|
type: "disable-output"
|
90861
91012
|
});
|
90862
91013
|
};
|
90863
|
-
return (0,
|
91014
|
+
return (0, import_jsx_runtime20.jsx)("div", { className: "mb-5", children: (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [(0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center space-x-2", children: [(0, import_jsx_runtime20.jsx)("span", { className: `inline-block w-2 h-2 rounded-full ${state.enabled ? "bg-green-500" : "bg-red-500"}` }), (0, import_jsx_runtime20.jsxs)("span", { className: "text-sm", children: ["Status: ", state.enabled ? "Enabled" : "Disabled"] })] }), (0, import_jsx_runtime20.jsx)("div", { children: state.enabled ? (0, import_jsx_runtime20.jsx)("button", { onClick: handleDisableOutput, className: "px-3 py-1 text-sm bg-red-600 hover:bg-red-700 text-white rounded", children: "Disable Output" }) : (0, import_jsx_runtime20.jsx)("button", { onClick: handleEnableOutput, className: "px-3 py-1 text-sm bg-blue-600 hover:bg-green-700 text-white rounded", children: "Enable Output" }) })] }) });
|
90864
91015
|
}
|
90865
91016
|
var summary_view_default5 = SummaryView5;
|
90866
91017
|
|
90867
91018
|
// build/output.srt-caller/inline-view.js
|
90868
|
-
var
|
90869
|
-
function
|
90870
|
-
return (0,
|
91019
|
+
var import_jsx_runtime21 = __toESM(require_jsx_runtime());
|
91020
|
+
function InlineView9({ state }) {
|
91021
|
+
return (0, import_jsx_runtime21.jsx)("div", { className: "srt-output", children: state.enabled ? (0, import_jsx_runtime21.jsx)("div", { children: state.metrics.connectionCount == 0 ? (0, import_jsx_runtime21.jsx)("div", { className: "active text-red-300 dark:text-red-300", children: "Not Connected" }) : (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [(0, import_jsx_runtime21.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Connected" }), (0, import_jsx_runtime21.jsxs)("div", { children: ["Sent: ", state.metrics.packetsSent] }), (0, import_jsx_runtime21.jsxs)("div", { children: ["Lost/Resent: ", state.metrics.packetsLost, "/", state.metrics.packetsResent] }), (0, import_jsx_runtime21.jsx)(JitterBufferInline, { ...state.jitterBuffer })] }) }) : (0, import_jsx_runtime21.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" }) });
|
90871
91022
|
}
|
90872
|
-
var
|
91023
|
+
var inline_view_default9 = InlineView9;
|
90873
91024
|
|
90874
91025
|
// build/output.srt-caller/info.js
|
90875
91026
|
var import_FaHeadphones4 = __toESM(require_FaHeadphones());
|
90876
|
-
function
|
91027
|
+
function info_default17(registration) {
|
90877
91028
|
const { defineComponent, All, validation } = registration;
|
90878
91029
|
const { Port, Hostname: Hostname2, JitterBuffer, SrtPassphrase, SrtStreamId } = validation;
|
90879
91030
|
return defineComponent({
|
@@ -90929,7 +91080,7 @@ function info_default16(registration) {
|
|
90929
91080
|
return { ...state };
|
90930
91081
|
},
|
90931
91082
|
summary: summary_view_default5,
|
90932
|
-
inline:
|
91083
|
+
inline: inline_view_default9,
|
90933
91084
|
metrics: [
|
90934
91085
|
{
|
90935
91086
|
title: "SRT Transmission",
|
@@ -90974,7 +91125,7 @@ function info_default16(registration) {
|
|
90974
91125
|
var import_util6 = __toESM(require_util());
|
90975
91126
|
|
90976
91127
|
// build/output.srt-listener/summary-view.js
|
90977
|
-
var
|
91128
|
+
var import_jsx_runtime22 = __toESM(require_jsx_runtime());
|
90978
91129
|
function SummaryView6({ state, sendCommand }) {
|
90979
91130
|
const handleEnableOutput = () => {
|
90980
91131
|
void enableOutput();
|
@@ -90992,19 +91143,19 @@ function SummaryView6({ state, sendCommand }) {
|
|
90992
91143
|
type: "disable-output"
|
90993
91144
|
});
|
90994
91145
|
};
|
90995
|
-
return (0,
|
91146
|
+
return (0, import_jsx_runtime22.jsx)("div", { className: "mb-5", children: (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [(0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center space-x-2", children: [(0, import_jsx_runtime22.jsx)("span", { className: `inline-block w-2 h-2 rounded-full ${state.enabled ? "bg-green-500" : "bg-red-500"}` }), (0, import_jsx_runtime22.jsxs)("span", { className: "text-sm", children: ["Status: ", state.enabled ? "Enabled" : "Disabled"] })] }), (0, import_jsx_runtime22.jsx)("div", { children: state.enabled ? (0, import_jsx_runtime22.jsx)("button", { onClick: handleDisableOutput, className: "px-3 py-1 text-sm bg-red-600 hover:bg-red-700 text-white rounded", children: "Disable Output" }) : (0, import_jsx_runtime22.jsx)("button", { onClick: handleEnableOutput, className: "px-3 py-1 text-sm bg-blue-600 hover:bg-green-700 text-white rounded", children: "Enable Output" }) })] }) });
|
90996
91147
|
}
|
90997
91148
|
var summary_view_default6 = SummaryView6;
|
90998
91149
|
|
90999
91150
|
// build/output.srt-listener/inline-view.js
|
91000
|
-
var
|
91001
|
-
function
|
91002
|
-
return (0,
|
91151
|
+
var import_jsx_runtime23 = __toESM(require_jsx_runtime());
|
91152
|
+
function InlineView10({ state }) {
|
91153
|
+
return (0, import_jsx_runtime23.jsx)("div", { className: "srt-output", children: state.enabled ? state.metrics.connectionCount == 0 ? (0, import_jsx_runtime23.jsx)("div", { className: "active text-red-300 dark:text-red-300", children: "No connections" }) : (0, import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment, { children: [(0, import_jsx_runtime23.jsx)("div", { className: "active text-green-500 dark:text-green-300", children: "Output enabled" }), (0, import_jsx_runtime23.jsxs)("div", { children: ["Connections: ", state.metrics.connectionCount] }), (0, import_jsx_runtime23.jsxs)("div", { children: ["Sent: ", state.metrics.packetsSent.reduce((a, i) => a + i, 0)] }), (0, import_jsx_runtime23.jsxs)("div", { children: ["Lost/Resent: ", state.metrics.packetsLost.reduce((a, i) => a + i, 0), "/", state.metrics.packetsResent.reduce((a, i) => a + i, 0)] }), (0, import_jsx_runtime23.jsx)(JitterBufferInline, { ...state.jitterBuffer })] }) : (0, import_jsx_runtime23.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" }) });
|
91003
91154
|
}
|
91004
|
-
var
|
91155
|
+
var inline_view_default10 = InlineView10;
|
91005
91156
|
|
91006
91157
|
// build/output.srt-listener/info.js
|
91007
|
-
function
|
91158
|
+
function info_default18(registration) {
|
91008
91159
|
const { defineComponent, All, validation } = registration;
|
91009
91160
|
const { Port, Hostname: Hostname2, JitterBuffer, SrtPassphrase, SrtStreamId } = validation;
|
91010
91161
|
return defineComponent({
|
@@ -91059,7 +91210,7 @@ function info_default17(registration) {
|
|
91059
91210
|
return { ...state };
|
91060
91211
|
},
|
91061
91212
|
summary: summary_view_default6,
|
91062
|
-
inline:
|
91213
|
+
inline: inline_view_default10,
|
91063
91214
|
metrics: [
|
91064
91215
|
{ title: "SRT Transmission", view: MetricsView3 }
|
91065
91216
|
]
|
@@ -91101,39 +91252,39 @@ function info_default17(registration) {
|
|
91101
91252
|
}
|
91102
91253
|
|
91103
91254
|
// build/output.statistics/inline-view.js
|
91104
|
-
var
|
91105
|
-
function
|
91255
|
+
var import_jsx_runtime24 = __toESM(require_jsx_runtime());
|
91256
|
+
function InlineView11({ state }) {
|
91106
91257
|
if (!state.previous)
|
91107
|
-
return (0,
|
91258
|
+
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
|
91108
91259
|
const format = (stat) => Math.floor(stat).toLocaleString("en-US", { maximumFractionDigits: 0 });
|
91109
|
-
return (0,
|
91260
|
+
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, { children: state.previous.allStreams.map((s, i) => {
|
91110
91261
|
const metaCase = s.metadata.case;
|
91111
91262
|
switch (metaCase) {
|
91112
91263
|
case "audio":
|
91113
|
-
return (0,
|
91264
|
+
return (0, import_jsx_runtime24.jsxs)("div", { children: [(0, import_jsx_runtime24.jsxs)("div", { children: ["StreamKey: ", streamKey(s.streamKey)] }), (0, import_jsx_runtime24.jsxs)("div", { children: ["Bitrate: ", format(s.bitrate), "bps"] })] }, i);
|
91114
91265
|
case "video":
|
91115
|
-
return (0,
|
91266
|
+
return (0, import_jsx_runtime24.jsxs)("div", { children: [(0, import_jsx_runtime24.jsxs)("div", { children: ["StreamKey: ", streamKey(s.streamKey)] }), (0, import_jsx_runtime24.jsxs)("div", { children: ["Bitrate: ", format(s.bitrate), "bps"] })] }, i);
|
91116
91267
|
case "ancillary":
|
91117
|
-
return (0,
|
91268
|
+
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
|
91118
91269
|
case "subtitle":
|
91119
|
-
return (0,
|
91270
|
+
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
|
91120
91271
|
case "playlist":
|
91121
|
-
return (0,
|
91272
|
+
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
|
91122
91273
|
case void 0:
|
91123
|
-
return (0,
|
91274
|
+
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
|
91124
91275
|
default:
|
91125
|
-
return (0,
|
91276
|
+
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
|
91126
91277
|
}
|
91127
91278
|
}) });
|
91128
91279
|
}
|
91129
91280
|
function streamKey(streamKey2) {
|
91130
91281
|
return streamKey2.streamId.toString();
|
91131
91282
|
}
|
91132
|
-
var
|
91283
|
+
var inline_view_default11 = InlineView11;
|
91133
91284
|
|
91134
91285
|
// build/output.statistics/info.js
|
91135
91286
|
var import_FaChartBar = __toESM(require_FaChartBar());
|
91136
|
-
function
|
91287
|
+
function info_default19({ defineComponent, All }) {
|
91137
91288
|
return defineComponent({
|
91138
91289
|
identifier: "output.statistics",
|
91139
91290
|
category: "output",
|
@@ -91158,11 +91309,11 @@ function info_default18({ defineComponent, All }) {
|
|
91158
91309
|
state.previous = ev.summary;
|
91159
91310
|
break;
|
91160
91311
|
default:
|
91161
|
-
|
91312
|
+
assertUnreachable13(evType);
|
91162
91313
|
}
|
91163
91314
|
return { ...state };
|
91164
91315
|
},
|
91165
|
-
inline:
|
91316
|
+
inline: inline_view_default11
|
91166
91317
|
},
|
91167
91318
|
configForm: {
|
91168
91319
|
form: {
|
@@ -91171,14 +91322,14 @@ function info_default18({ defineComponent, All }) {
|
|
91171
91322
|
}
|
91172
91323
|
});
|
91173
91324
|
}
|
91174
|
-
function
|
91325
|
+
function assertUnreachable13(_) {
|
91175
91326
|
throw new Error("Didn't expect to get here");
|
91176
91327
|
}
|
91177
91328
|
|
91178
91329
|
// build/output.tsMediaPlaylist/info.js
|
91179
91330
|
var import_util7 = __toESM(require_util());
|
91180
91331
|
var import_FaHeadphones5 = __toESM(require_FaHeadphones());
|
91181
|
-
function
|
91332
|
+
function info_default20(registration) {
|
91182
91333
|
const { defineComponent, validation } = registration;
|
91183
91334
|
const { Z } = validation;
|
91184
91335
|
return defineComponent({
|
@@ -91290,7 +91441,7 @@ function info_default19(registration) {
|
|
91290
91441
|
// build/output.tsMultiVariant/info.js
|
91291
91442
|
var import_util8 = __toESM(require_util());
|
91292
91443
|
var import_FaHeadphones6 = __toESM(require_FaHeadphones());
|
91293
|
-
function
|
91444
|
+
function info_default21(registration) {
|
91294
91445
|
const { defineComponent, validation } = registration;
|
91295
91446
|
const { Z } = validation;
|
91296
91447
|
return defineComponent({
|
@@ -91380,7 +91531,7 @@ function info_default20(registration) {
|
|
91380
91531
|
|
91381
91532
|
// build/output.twitch/info.js
|
91382
91533
|
var import_FaTwitch = __toESM(require_FaTwitch());
|
91383
|
-
function
|
91534
|
+
function info_default22(r) {
|
91384
91535
|
const { validation: { Z } } = r;
|
91385
91536
|
return defineRtmpOutputComponent(r, {
|
91386
91537
|
identifier: "output.twitch",
|
@@ -91413,14 +91564,14 @@ var import_util9 = __toESM(require_util());
|
|
91413
91564
|
var import_FaNetworkWired2 = __toESM(require_FaNetworkWired());
|
91414
91565
|
|
91415
91566
|
// build/output.udpTs/inline-view.js
|
91416
|
-
var
|
91417
|
-
function
|
91418
|
-
return (0,
|
91567
|
+
var import_jsx_runtime25 = __toESM(require_jsx_runtime());
|
91568
|
+
function InlineView12({ state }) {
|
91569
|
+
return (0, import_jsx_runtime25.jsx)("div", { className: "srt-output", children: (0, import_jsx_runtime25.jsx)("div", { children: (0, import_jsx_runtime25.jsx)(JitterBufferInline, { ...state.jitterBuffer }) }) });
|
91419
91570
|
}
|
91420
|
-
var
|
91571
|
+
var inline_view_default12 = InlineView12;
|
91421
91572
|
|
91422
91573
|
// build/output.udpTs/info.js
|
91423
|
-
function
|
91574
|
+
function info_default23({ defineComponent, All, validation: { Port, Hostname: Hostname2, JitterBuffer, Iface, Z } }) {
|
91424
91575
|
return defineComponent({
|
91425
91576
|
identifier: "output.udpTs",
|
91426
91577
|
category: "output",
|
@@ -91449,7 +91600,7 @@ function info_default22({ defineComponent, All, validation: { Port, Hostname: Ho
|
|
91449
91600
|
}
|
91450
91601
|
return { ...state };
|
91451
91602
|
},
|
91452
|
-
inline:
|
91603
|
+
inline: inline_view_default12,
|
91453
91604
|
metrics: []
|
91454
91605
|
},
|
91455
91606
|
display: (desc) => {
|
@@ -91479,9 +91630,9 @@ function info_default22({ defineComponent, All, validation: { Port, Hostname: Ho
|
|
91479
91630
|
var import_config4 = __toESM(require_config());
|
91480
91631
|
|
91481
91632
|
// build/output.whep/inline-view.js
|
91482
|
-
var
|
91633
|
+
var import_jsx_runtime26 = __toESM(require_jsx_runtime());
|
91483
91634
|
var import_react7 = __toESM(require_react());
|
91484
|
-
function
|
91635
|
+
function InlineView13({ state, config, raise }) {
|
91485
91636
|
const url = state.url;
|
91486
91637
|
const id = config.id;
|
91487
91638
|
const [showPreview, setShowPreview] = (0, import_react7.useState)(config.showPreview ?? true);
|
@@ -91523,18 +91674,18 @@ function InlineView12({ state, config, raise }) {
|
|
91523
91674
|
}, [config.showPreview]);
|
91524
91675
|
(0, import_react7.useEffect)(() => raise && raise(), [raise]);
|
91525
91676
|
if (!url)
|
91526
|
-
return (0,
|
91677
|
+
return (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children: "..." });
|
91527
91678
|
const videoStyles = `
|
91528
91679
|
#whep-${id} video::-webkit-media-controls-play-button {
|
91529
91680
|
display: none;
|
91530
91681
|
}
|
91531
91682
|
`;
|
91532
|
-
return (0,
|
91683
|
+
return (0, import_jsx_runtime26.jsxs)("div", { className: "whep-container", children: [(0, import_jsx_runtime26.jsxs)("div", { className: "flex items-center gap-2", children: [(0, import_jsx_runtime26.jsx)("input", { type: "checkbox", id: `video-toggle-${id}`, checked: showPreview, onChange: (e) => setShowPreview(e.target.checked), className: "h-4 w-4" }), (0, import_jsx_runtime26.jsx)("label", { htmlFor: `video-toggle-${id}`, className: "text-sm", children: "Show Preview" })] }), (0, import_jsx_runtime26.jsx)("div", { className: "flex items-stretch h-full", children: showPreview ? (0, import_jsx_runtime26.jsx)("div", { className: "whep-video", id: `whep-${id}`, children: (0, import_jsx_runtime26.jsx)("style", { children: videoStyles }) }) : (0, import_jsx_runtime26.jsx)("div", { className: "whep-video bg-black flex items-center justify-center text-white h-full py-4", children: "Preview turned off" }) })] });
|
91533
91684
|
}
|
91534
|
-
var
|
91685
|
+
var inline_view_default13 = InlineView13;
|
91535
91686
|
|
91536
91687
|
// build/output.whep/summary-view.js
|
91537
|
-
var
|
91688
|
+
var import_jsx_runtime27 = __toESM(require_jsx_runtime());
|
91538
91689
|
function SummaryView7({ state, sendCommand }) {
|
91539
91690
|
const handleEnableOutput = () => {
|
91540
91691
|
void enableOutput();
|
@@ -91552,13 +91703,13 @@ function SummaryView7({ state, sendCommand }) {
|
|
91552
91703
|
type: "disable-output"
|
91553
91704
|
});
|
91554
91705
|
};
|
91555
|
-
return (0,
|
91706
|
+
return (0, import_jsx_runtime27.jsx)("div", { className: "mb-5", children: (0, import_jsx_runtime27.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [(0, import_jsx_runtime27.jsxs)("div", { className: "flex items-center space-x-2", children: [(0, import_jsx_runtime27.jsx)("span", { className: `inline-block w-2 h-2 rounded-full ${state.enabled ? "bg-blue-500" : "bg-red-500"}` }), (0, import_jsx_runtime27.jsxs)("span", { className: "text-sm", children: ["Status: ", state.enabled ? "Enabled" : "Disabled"] })] }), (0, import_jsx_runtime27.jsx)("div", { children: state.enabled ? (0, import_jsx_runtime27.jsx)("button", { onClick: handleDisableOutput, className: "px-3 py-1 text-sm bg-red-600 hover:bg-red-700 text-white rounded", children: "Disable Output" }) : (0, import_jsx_runtime27.jsx)("button", { onClick: handleEnableOutput, className: "px-3 py-1 text-sm bg-blue-600 hover:bg-blue-700 text-white rounded", children: "Enable Output" }) })] }) });
|
91556
91707
|
}
|
91557
91708
|
var summary_view_default7 = SummaryView7;
|
91558
91709
|
|
91559
91710
|
// build/output.whep/info.js
|
91560
91711
|
var import_FaBroadcastTower = __toESM(require_FaBroadcastTower());
|
91561
|
-
function
|
91712
|
+
function info_default24(R) {
|
91562
91713
|
const { defineComponent, validation: { JitterBuffer } } = R;
|
91563
91714
|
return defineComponent({
|
91564
91715
|
identifier: "output.whep",
|
@@ -91599,11 +91750,11 @@ function info_default23(R) {
|
|
91599
91750
|
state.enabled = false;
|
91600
91751
|
break;
|
91601
91752
|
default:
|
91602
|
-
|
91753
|
+
assertUnreachable17(evType);
|
91603
91754
|
}
|
91604
91755
|
return { ...state };
|
91605
91756
|
},
|
91606
|
-
inline:
|
91757
|
+
inline: inline_view_default13,
|
91607
91758
|
summary: summary_view_default7
|
91608
91759
|
},
|
91609
91760
|
configForm: {
|
@@ -91621,13 +91772,13 @@ function info_default23(R) {
|
|
91621
91772
|
}
|
91622
91773
|
});
|
91623
91774
|
}
|
91624
|
-
function
|
91775
|
+
function assertUnreachable17(_) {
|
91625
91776
|
throw new Error("Didn't expect to get here");
|
91626
91777
|
}
|
91627
91778
|
|
91628
91779
|
// build/output.youtube/info.js
|
91629
91780
|
var import_FaYoutube = __toESM(require_FaYoutube());
|
91630
|
-
function
|
91781
|
+
function info_default25(r) {
|
91631
91782
|
const { validation: { Z } } = r;
|
91632
91783
|
return defineRtmpOutputComponent(r, {
|
91633
91784
|
identifier: "output.youtube",
|
@@ -91659,14 +91810,14 @@ function info_default24(r) {
|
|
91659
91810
|
var import_client_types2 = __toESM(require_client_types());
|
91660
91811
|
|
91661
91812
|
// build/processor.audioEncoder/form-views.js
|
91662
|
-
var
|
91813
|
+
var import_jsx_runtime28 = __toESM(require_jsx_runtime());
|
91663
91814
|
function CodecConfiguration(cfg) {
|
91664
|
-
return (0,
|
91815
|
+
return (0, import_jsx_runtime28.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, import_jsx_runtime28.jsx)("div", { className: "col-span-1", children: "Codec" }), (0, import_jsx_runtime28.jsx)("div", { className: "col-span-2", children: cfg.kind }), cfg.kind === "aac" ? (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [(0, import_jsx_runtime28.jsx)("div", { className: "col-span-1", children: "Profile" }), (0, import_jsx_runtime28.jsx)("div", { className: "col-span-2", children: cfg.profile }), (0, import_jsx_runtime28.jsx)("div", { className: "col-span-1", children: "Sample Rate" }), (0, import_jsx_runtime28.jsx)("div", { className: "col-span-2", children: cfg.sampleRate })] }) : null] });
|
91665
91816
|
}
|
91666
91817
|
|
91667
91818
|
// build/processor.audioEncoder/info.js
|
91668
91819
|
var import_FaMicrophone = __toESM(require_FaMicrophone());
|
91669
|
-
function
|
91820
|
+
function info_default26({ defineComponent, validation: { Z } }) {
|
91670
91821
|
const format = (stat) => Math.floor(stat).toLocaleString("en-US", { maximumFractionDigits: 0 });
|
91671
91822
|
const Hz = (v) => ({ display: `${format(v)}Hz`, value: v });
|
91672
91823
|
return defineComponent({
|
@@ -91797,8 +91948,8 @@ function info_default25({ defineComponent, validation: { Z } }) {
|
|
91797
91948
|
}
|
91798
91949
|
|
91799
91950
|
// build/processor.audioMixer/inline-view.js
|
91800
|
-
var
|
91801
|
-
function
|
91951
|
+
var import_jsx_runtime29 = __toESM(require_jsx_runtime());
|
91952
|
+
function InlineView14({ state }) {
|
91802
91953
|
function percentage(levels) {
|
91803
91954
|
if (!levels) {
|
91804
91955
|
return 0;
|
@@ -91816,17 +91967,17 @@ function InlineView13({ state }) {
|
|
91816
91967
|
if (mixerOutput) {
|
91817
91968
|
sourcesOrdered.push({ ...mixerOutput });
|
91818
91969
|
}
|
91819
|
-
return (0,
|
91970
|
+
return (0, import_jsx_runtime29.jsx)("div", { className: "processor-audioMixer", children: (0, import_jsx_runtime29.jsx)("div", { className: "inline-mixer-console", children: sourcesOrdered.map((source, i) => {
|
91820
91971
|
const isMasterOutput = i == sourcesOrdered.length - 1;
|
91821
|
-
return (0,
|
91972
|
+
return (0, import_jsx_runtime29.jsxs)("div", { className: `inline-channel-strip ${isMasterOutput ? "inline-master-strip" : ""}`, children: [(0, import_jsx_runtime29.jsx)("div", { className: "inline-channel-label", children: isMasterOutput ? "Master" : source.displayName }), (0, import_jsx_runtime29.jsx)("div", { className: "inline-level-container", children: (0, import_jsx_runtime29.jsx)("div", { className: `inline-level-meter clip-${percentage(source.levels)}` }) }), (0, import_jsx_runtime29.jsx)("div", { className: "inline-fader-container", children: (0, import_jsx_runtime29.jsx)("div", { className: "inline-fader-track", children: (0, import_jsx_runtime29.jsx)("div", { className: "inline-fader-thumb", style: {
|
91822
91973
|
bottom: `${Math.max(10, Math.min(90, ((source.configuredGain || 0) + 60) / 84 * 80 + 10))}%`
|
91823
91974
|
} }) }) })] }, i);
|
91824
91975
|
}) }) });
|
91825
91976
|
}
|
91826
|
-
var
|
91977
|
+
var inline_view_default14 = InlineView14;
|
91827
91978
|
|
91828
91979
|
// build/processor.audioMixer/fullscreen-view.js
|
91829
|
-
var
|
91980
|
+
var import_jsx_runtime30 = __toESM(require_jsx_runtime());
|
91830
91981
|
var import_react8 = __toESM(require_react());
|
91831
91982
|
function FullScreen({ state, sendCommand }) {
|
91832
91983
|
const initialSliders = [];
|
@@ -91859,7 +92010,7 @@ function FullScreen({ state, sendCommand }) {
|
|
91859
92010
|
function mkFader(index3) {
|
91860
92011
|
const levels = index3 == state.inputs.length ? state.output : state.inputs[index3];
|
91861
92012
|
const internalSource = index3 == state.inputs.length ? { type: "mixer-output" } : { type: "input-gain", index: index3 };
|
91862
|
-
return (0,
|
92013
|
+
return (0, import_jsx_runtime30.jsxs)("div", { id: `audio-slider-${index3}`, className: `${!levels?.levels ? "opacity-20" : ""} audio-mixer-fader-container grid content-center justify-center w-full relative`, children: [(0, import_jsx_runtime30.jsx)("input", { className: "-rotate-90 audio-mixer-fader", type: "range", name: "gain", min: state.gainRange.min - 0.1, max: state.gainRange.max, step: "0.1", value: levels?.configuredGain || 0, disabled: !levels?.levels, onChange: (e) => {
|
91863
92014
|
sliderValues[index3] = Number(e.target.value);
|
91864
92015
|
if (Number(e.target.value) < state.gainRange.min) {
|
91865
92016
|
preMuteValues[index3] = state.gainRange.min;
|
@@ -91885,25 +92036,25 @@ function FullScreen({ state, sendCommand }) {
|
|
91885
92036
|
}
|
91886
92037
|
}, onMouseUp: (_e) => {
|
91887
92038
|
sendCommand({ type: "set-gain", source: internalSource, value: sliderValues[index3] || 0 });
|
91888
|
-
} }), (0,
|
92039
|
+
} }), (0, import_jsx_runtime30.jsxs)("div", { className: "grid mixer-gain-db ml-2.5 absolute self-center", children: [(0, import_jsx_runtime30.jsxs)("div", { className: "text-xs absolute border-t w-12", children: [state.gainRange.max, "dB"] }), (0, import_jsx_runtime30.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime30.jsxs)("div", { className: "text-xs self-end border-b w-12", children: [state.gainRange.max * 0.75, "dB"] }), (0, import_jsx_runtime30.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime30.jsxs)("div", { className: "text-xs self-end border-b w-12", children: [state.gainRange.max * 0.5, "dB"] }), (0, import_jsx_runtime30.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime30.jsxs)("div", { className: "text-xs self-end border-b w-12", children: [state.gainRange.max * 0.25, "dB"] }), (0, import_jsx_runtime30.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime30.jsx)("div", { className: "text-xs self-end border-b w-12", children: "0dB" }), (0, import_jsx_runtime30.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime30.jsxs)("div", { className: "text-xs self-end border-b w-12", children: [state.gainRange.min * 0.25, "dB"] }), (0, import_jsx_runtime30.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime30.jsxs)("div", { className: "text-xs self-end border-b w-12", children: [state.gainRange.min * 0.5, "dB"] }), (0, import_jsx_runtime30.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime30.jsxs)("div", { className: "text-xs self-end border-b w-12", children: [state.gainRange.min * 0.75, "dB"] }), (0, import_jsx_runtime30.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime30.jsxs)("div", { className: "text-xs self-end border-b w-12", children: [state.gainRange.min, "dB"] })] })] });
|
91889
92040
|
}
|
91890
92041
|
function mkLevels(index3) {
|
91891
92042
|
const levels = index3 == state.inputs.length ? state.output : state.inputs[index3];
|
91892
92043
|
const mutedClass = sliderValues[index3] < state.gainRange.min || levels.muted ? "level-muted" : "";
|
91893
|
-
return (0,
|
92044
|
+
return (0, import_jsx_runtime30.jsxs)("div", { id: `level-${index3}`, className: `preview-levels-mixer ${!levels ? "opacity-30" : ""}`, children: [(0, import_jsx_runtime30.jsx)("div", { className: "relative w-full h-full", children: (0, import_jsx_runtime30.jsx)("div", { className: `preview-level-mixer absolute h-full w-4/6 clip-${percentage(levels?.levels)} ${mutedClass}` }) }), (0, import_jsx_runtime30.jsxs)("div", { className: "grid mixer-level-db ml-2.5 relative", children: [(0, import_jsx_runtime30.jsx)("div", { className: "text-xs absolute border-t w-12 -right-3.5", children: "0dB" }), (0, import_jsx_runtime30.jsx)("div", { className: "text-xs self-end border-b w-12", children: "-25dB" }), (0, import_jsx_runtime30.jsx)("div", { className: "text-xs self-end border-b w-12", children: "-50dB" }), (0, import_jsx_runtime30.jsx)("div", { className: "text-xs self-end border-b w-12", children: "-75dB" }), (0, import_jsx_runtime30.jsx)("div", { className: "text-xs self-end border-b w-12", children: "-100dB" })] })] });
|
91894
92045
|
}
|
91895
92046
|
function mkGainValue(index3) {
|
91896
92047
|
const levels = index3 == state.inputs.length ? state.output : state.inputs[index3];
|
91897
92048
|
const sliderValue = sliderValues[index3];
|
91898
92049
|
const sliderValueText = sliderValue === void 0 ? "- dB" : sliderValue < state.gainRange.min || levels.muted ? "muted" : sliderValue + "dB";
|
91899
|
-
return (0,
|
92050
|
+
return (0, import_jsx_runtime30.jsx)("div", { id: `gain-value-${index3}`, className: `${!levels ? "opacity-20" : ""} text-m`, children: sliderValueText });
|
91900
92051
|
}
|
91901
92052
|
function muteIcon(index3) {
|
91902
92053
|
const levels = index3 == state.inputs.length ? state.output : state.inputs[index3];
|
91903
92054
|
const internalSource = index3 == state.inputs.length ? { type: "mixer-output" } : { type: "input-gain", index: index3 };
|
91904
|
-
const mute = (0,
|
91905
|
-
const unMute = (0,
|
91906
|
-
return (0,
|
92055
|
+
const mute = (0, import_jsx_runtime30.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "w-6 h-6", children: (0, import_jsx_runtime30.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M17.25 9.75 19.5 12m0 0 2.25 2.25M19.5 12l2.25-2.25M19.5 12l-2.25 2.25m-10.5-6 4.72-4.72a.75.75 0 0 1 1.28.53v15.88a.75.75 0 0 1-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.009 9.009 0 0 1 2.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25H6.75Z" }) });
|
92056
|
+
const unMute = (0, import_jsx_runtime30.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "w-6 h-6", children: (0, import_jsx_runtime30.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.114 5.636a9 9 0 0 1 0 12.728M16.463 8.288a5.25 5.25 0 0 1 0 7.424M6.75 8.25l4.72-4.72a.75.75 0 0 1 1.28.53v15.88a.75.75 0 0 1-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.009 9.009 0 0 1 2.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25H6.75Z" }) });
|
92057
|
+
return (0, import_jsx_runtime30.jsx)("div", { className: `${!levels ? "opacity-20" : ""} mute-icon self-center`, onClick: (_e) => {
|
91907
92058
|
if (levels) {
|
91908
92059
|
if (levels.muted) {
|
91909
92060
|
sendCommand({ type: "toggle-mute", source: internalSource, muted: false });
|
@@ -91929,16 +92080,16 @@ function FullScreen({ state, sendCommand }) {
|
|
91929
92080
|
}
|
91930
92081
|
{
|
91931
92082
|
}
|
91932
|
-
return (0,
|
92083
|
+
return (0, import_jsx_runtime30.jsx)("div", { className: "processor-audioMixer fullscreen", children: (0, import_jsx_runtime30.jsx)("div", { className: "audio-mixer grid gap-x-8 justify-items-center", style: mkGridColumns(), children: inputsOrdered.map((s, i) => {
|
91933
92084
|
const isMasterOutput = i == inputsOrdered.length - 1;
|
91934
92085
|
const divKey = `${i}`;
|
91935
|
-
return (0,
|
92086
|
+
return (0, import_jsx_runtime30.jsxs)("div", { className: `channel-container grid justify-items-center ${isMasterOutput ? "master-channel-container ml-12" : ""} `, children: [(0, import_jsx_runtime30.jsx)("div", { id: `channel-title-${divKey}`, className: `channel-title ${isMasterOutput ? "master-title" : ""}`, children: isMasterOutput ? "Master" : s.displayName }), mkLevels(i), muteIcon(i), mkFader(i), mkGainValue(i)] }, divKey);
|
91936
92087
|
}) }) });
|
91937
92088
|
}
|
91938
92089
|
var fullscreen_view_default = FullScreen;
|
91939
92090
|
|
91940
92091
|
// build/processor.audioMixer/info.js
|
91941
|
-
function
|
92092
|
+
function info_default27({ defineComponent, validation: { Z } }) {
|
91942
92093
|
return defineComponent({
|
91943
92094
|
identifier: "processor.audioMixer",
|
91944
92095
|
category: "processor",
|
@@ -92015,11 +92166,11 @@ function info_default26({ defineComponent, validation: { Z } }) {
|
|
92015
92166
|
break;
|
92016
92167
|
}
|
92017
92168
|
default:
|
92018
|
-
|
92169
|
+
assertUnreachable18(evType);
|
92019
92170
|
}
|
92020
92171
|
return { ...state };
|
92021
92172
|
},
|
92022
|
-
inline:
|
92173
|
+
inline: inline_view_default14,
|
92023
92174
|
fullscreen: fullscreen_view_default
|
92024
92175
|
},
|
92025
92176
|
configForm: {
|
@@ -92053,7 +92204,7 @@ var channelLayouts = () => {
|
|
92053
92204
|
];
|
92054
92205
|
return ch;
|
92055
92206
|
};
|
92056
|
-
function
|
92207
|
+
function assertUnreachable18(_) {
|
92057
92208
|
throw new Error("Didn't expect to get here");
|
92058
92209
|
}
|
92059
92210
|
|
@@ -92062,7 +92213,7 @@ var import_config5 = __toESM(require_config());
|
|
92062
92213
|
var import_FaWindowRestore = __toESM(require_FaWindowRestore());
|
92063
92214
|
|
92064
92215
|
// build/processor.browserOverlay/summary-view.js
|
92065
|
-
var
|
92216
|
+
var import_jsx_runtime31 = __toESM(require_jsx_runtime());
|
92066
92217
|
var import_react9 = __toESM(require_react());
|
92067
92218
|
function SummaryView8({ state, sendCommand }) {
|
92068
92219
|
const [url, setUrl] = (0, import_react9.useState)(state.currentUrl);
|
@@ -92071,7 +92222,7 @@ function SummaryView8({ state, sendCommand }) {
|
|
92071
92222
|
return url !== state.currentUrl || enabled !== state.enabled;
|
92072
92223
|
}, [url, enabled, state.currentUrl, state.enabled]);
|
92073
92224
|
const buttonClass = "mt-2 mb-5 text-white w-full justify-center bg-primary-700 hover:bg-primary-800 focus:ring-4 focus:outline-none focus:ring-primary-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800";
|
92074
|
-
return (0,
|
92225
|
+
return (0, import_jsx_runtime31.jsxs)("div", { className: "space-y-3 mb-5", children: [(0, import_jsx_runtime31.jsx)("h2", { className: "text-xl font-bold text-gray-900 dark:text-white", children: "Controls" }), (0, import_jsx_runtime31.jsxs)("div", { className: "mb-5", children: [(0, import_jsx_runtime31.jsx)("label", { htmlFor: "url", className: "mb-2 mr-2 text-sm font-medium text-gray-900 dark:text-white", children: "URL" }), (0, import_jsx_runtime31.jsx)("input", { type: "email", id: "url", className: "bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500", value: url, onChange: (e) => setUrl(e.target.value), required: true })] }), (0, import_jsx_runtime31.jsx)("div", { className: "mb-5", children: (0, import_jsx_runtime31.jsxs)("label", { className: "inline-flex items-center cursor-pointer", children: [(0, import_jsx_runtime31.jsx)("span", { className: "me-3 text-sm font-medium text-gray-900 dark:text-gray-300", children: "Enabled" }), (0, import_jsx_runtime31.jsx)("input", { type: "checkbox", checked: enabled, onChange: (e) => setEnabled(e.target.checked), className: "sr-only peer" }), (0, import_jsx_runtime31.jsx)("div", { className: "relative w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600" })] }) }), (0, import_jsx_runtime31.jsx)("button", { type: "button", className: `${buttonClass} ${!stateChanged ? "opacity-50 cursor-not-allowed" : ""}`, disabled: !stateChanged, onClick: () => {
|
92075
92226
|
if (url !== state.currentUrl) {
|
92076
92227
|
sendCommand({ type: "change-url", url });
|
92077
92228
|
}
|
@@ -92087,14 +92238,14 @@ function SummaryView8({ state, sendCommand }) {
|
|
92087
92238
|
var summary_view_default8 = SummaryView8;
|
92088
92239
|
|
92089
92240
|
// build/processor.browserOverlay/inline-view.js
|
92090
|
-
var
|
92091
|
-
function
|
92092
|
-
return (0,
|
92241
|
+
var import_jsx_runtime32 = __toESM(require_jsx_runtime());
|
92242
|
+
function InlineView15({ state, config }) {
|
92243
|
+
return (0, import_jsx_runtime32.jsx)("div", { id: `browser-overlay-${config.id}`, children: (0, import_jsx_runtime32.jsxs)("div", { className: "w-64 grid grid-cols-[min-content,1fr] gap-2", children: [(0, import_jsx_runtime32.jsx)("div", { children: "URL:" }), (0, import_jsx_runtime32.jsx)("div", { className: "truncate", children: state.currentUrl }), (0, import_jsx_runtime32.jsx)("div", { children: "Enabled:" }), (0, import_jsx_runtime32.jsx)("div", { children: (0, import_jsx_runtime32.jsxs)("label", { className: "inline-flex items-center cursor-pointer", children: [(0, import_jsx_runtime32.jsx)("input", { type: "checkbox", checked: state.enabled, disabled: true, className: "sr-only peer" }), (0, import_jsx_runtime32.jsx)("div", { className: "relative w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600" })] }) })] }) });
|
92093
92244
|
}
|
92094
|
-
var
|
92245
|
+
var inline_view_default15 = InlineView15;
|
92095
92246
|
|
92096
92247
|
// build/processor.browserOverlay/info.js
|
92097
|
-
function
|
92248
|
+
function info_default28({ defineComponent, validation: { Z } }) {
|
92098
92249
|
return defineComponent({
|
92099
92250
|
identifier: "processor.browserOverlay",
|
92100
92251
|
category: "processor",
|
@@ -92124,7 +92275,7 @@ function info_default27({ defineComponent, validation: { Z } }) {
|
|
92124
92275
|
},
|
92125
92276
|
runtime: {
|
92126
92277
|
summary: summary_view_default8,
|
92127
|
-
inline:
|
92278
|
+
inline: inline_view_default15,
|
92128
92279
|
initialState: () => ({
|
92129
92280
|
currentUrl: "",
|
92130
92281
|
enabled: true
|
@@ -92139,7 +92290,7 @@ function info_default27({ defineComponent, validation: { Z } }) {
|
|
92139
92290
|
case "disabled":
|
92140
92291
|
return { ...state, enabled: false };
|
92141
92292
|
default:
|
92142
|
-
|
92293
|
+
assertUnreachable19(evType);
|
92143
92294
|
}
|
92144
92295
|
}
|
92145
92296
|
},
|
@@ -92154,7 +92305,7 @@ function info_default27({ defineComponent, validation: { Z } }) {
|
|
92154
92305
|
}
|
92155
92306
|
});
|
92156
92307
|
}
|
92157
|
-
function
|
92308
|
+
function assertUnreachable19(_) {
|
92158
92309
|
throw new Error("Didn't expect to get here");
|
92159
92310
|
}
|
92160
92311
|
|
@@ -92163,113 +92314,113 @@ var import_config6 = __toESM(require_config());
|
|
92163
92314
|
var import_client_types3 = __toESM(require_client_types());
|
92164
92315
|
|
92165
92316
|
// build/processor.fixedLadder/rung-view.js
|
92166
|
-
var
|
92317
|
+
var import_jsx_runtime33 = __toESM(require_jsx_runtime());
|
92167
92318
|
function RungView(rung) {
|
92168
|
-
return (0,
|
92319
|
+
return (0, import_jsx_runtime33.jsx)("div", { className: "text-gray-900 dark:text-white", children: rung.name });
|
92169
92320
|
}
|
92170
92321
|
|
92171
92322
|
// build/processor.fixedLadder/x26x-bitrate-view.js
|
92172
|
-
var
|
92323
|
+
var import_jsx_runtime34 = __toESM(require_jsx_runtime());
|
92173
92324
|
function X264XBitrateView(bitrate) {
|
92174
92325
|
const value = (() => {
|
92175
92326
|
if (bitrate) {
|
92176
92327
|
switch (bitrate.mode) {
|
92177
92328
|
case "abr":
|
92178
|
-
return (0,
|
92329
|
+
return (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: ["ABR ", bitrate.value, "kbps "] });
|
92179
92330
|
case "cqp":
|
92180
|
-
return (0,
|
92331
|
+
return (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: ["CQP ", bitrate.value] });
|
92181
92332
|
case "crf":
|
92182
|
-
return (0,
|
92333
|
+
return (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: ["CRF ", bitrate.value] });
|
92183
92334
|
}
|
92184
92335
|
} else {
|
92185
|
-
return (0,
|
92336
|
+
return (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children: "N/A" });
|
92186
92337
|
}
|
92187
92338
|
})();
|
92188
|
-
return (0,
|
92339
|
+
return (0, import_jsx_runtime34.jsx)("div", { className: "text-gray-900 dark:text-white", children: value });
|
92189
92340
|
}
|
92190
92341
|
|
92191
92342
|
// build/processor.fixedLadder/nvidia-rate-control-view.js
|
92192
|
-
var
|
92343
|
+
var import_jsx_runtime35 = __toESM(require_jsx_runtime());
|
92193
92344
|
function NvidiaRateControlView(rateControl) {
|
92194
92345
|
const value = (() => {
|
92195
92346
|
if (rateControl) {
|
92196
92347
|
switch (rateControl.mode) {
|
92197
92348
|
case "con_stqp":
|
92198
|
-
return (0,
|
92349
|
+
return (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: "Constant QP" });
|
92199
92350
|
case "vbr":
|
92200
|
-
return (0,
|
92351
|
+
return (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: "VBR" });
|
92201
92352
|
case "cbr":
|
92202
|
-
return (0,
|
92353
|
+
return (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: "CBR" });
|
92203
92354
|
}
|
92204
92355
|
} else {
|
92205
|
-
return (0,
|
92356
|
+
return (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: "N/A" });
|
92206
92357
|
}
|
92207
92358
|
})();
|
92208
|
-
return (0,
|
92359
|
+
return (0, import_jsx_runtime35.jsx)("div", { className: "text-gray-900 dark:text-white", children: value });
|
92209
92360
|
}
|
92210
92361
|
|
92211
92362
|
// build/processor.fixedLadder/software-view.js
|
92212
|
-
var
|
92363
|
+
var import_jsx_runtime36 = __toESM(require_jsx_runtime());
|
92213
92364
|
function SoftwareView(codec) {
|
92214
92365
|
if (codec == void 0) {
|
92215
|
-
return (0,
|
92366
|
+
return (0, import_jsx_runtime36.jsx)("div", { className: "text-gray-900 dark:text-white", children: "N/A" });
|
92216
92367
|
} else {
|
92217
92368
|
const type = codec.type;
|
92218
92369
|
const undefinedToDefault = (val) => val ?? "[default]";
|
92219
92370
|
switch (type) {
|
92220
92371
|
case "x264":
|
92221
|
-
return (0,
|
92372
|
+
return (0, import_jsx_runtime36.jsx)("div", { className: "text-gray-900 dark:text-white", children: (0, import_jsx_runtime36.jsxs)("ul", { children: [(0, import_jsx_runtime36.jsxs)("li", { children: ["Codec: ", type] }), (0, import_jsx_runtime36.jsxs)("li", { children: ["GOP Size: ", undefinedToDefault(codec.keyFrameIntervalMin), "-", undefinedToDefault(codec.keyFrameIntervalMax)] }), (0, import_jsx_runtime36.jsxs)("li", { children: ["Ref-frames: ", undefinedToDefault(codec.frameReference)] }), (0, import_jsx_runtime36.jsxs)("li", { children: ["B-Frames: ", undefinedToDefault(codec.bframes)] })] }) });
|
92222
92373
|
case "x265":
|
92223
|
-
return (0,
|
92374
|
+
return (0, import_jsx_runtime36.jsx)("div", { className: "text-gray-900 dark:text-white", children: (0, import_jsx_runtime36.jsxs)("ul", { children: [(0, import_jsx_runtime36.jsxs)("li", { children: ["Codec: ", type] }), (0, import_jsx_runtime36.jsxs)("li", { children: ["GOP Size: ", undefinedToDefault(codec.keyFrameIntervalMin), "-", undefinedToDefault(codec.keyFrameIntervalMax)] }), (0, import_jsx_runtime36.jsxs)("li", { children: ["Ref-frames: ", undefinedToDefault(codec.frameReference)] }), (0, import_jsx_runtime36.jsxs)("li", { children: ["B-Frames: ", undefinedToDefault(codec.bframes)] })] }) });
|
92224
92375
|
}
|
92225
92376
|
}
|
92226
92377
|
}
|
92227
92378
|
|
92228
92379
|
// build/processor.fixedLadder/quadra-view.js
|
92229
|
-
var
|
92380
|
+
var import_jsx_runtime37 = __toESM(require_jsx_runtime());
|
92230
92381
|
function QuadraView(codec) {
|
92231
92382
|
if (codec == void 0) {
|
92232
|
-
return (0,
|
92383
|
+
return (0, import_jsx_runtime37.jsx)("div", { className: "text-gray-900 dark:text-white", children: "N/A" });
|
92233
92384
|
} else {
|
92234
92385
|
const type = codec.type;
|
92235
92386
|
const undefinedToDefault = (val) => val ?? "[default]";
|
92236
92387
|
switch (type) {
|
92237
92388
|
case "quadra-h264":
|
92238
|
-
return (0,
|
92389
|
+
return (0, import_jsx_runtime37.jsx)("div", { className: "text-gray-900 dark:text-white", children: (0, import_jsx_runtime37.jsxs)("ul", { children: [(0, import_jsx_runtime37.jsxs)("li", { children: ["Codec: ", type] }), (0, import_jsx_runtime37.jsxs)("li", { children: ["Opts: ", undefinedToDefault(codec.extraOpts)] })] }) });
|
92239
92390
|
case "quadra-hevc":
|
92240
|
-
return (0,
|
92391
|
+
return (0, import_jsx_runtime37.jsx)("div", { className: "text-gray-900 dark:text-white", children: (0, import_jsx_runtime37.jsxs)("ul", { children: [(0, import_jsx_runtime37.jsxs)("li", { children: ["Codec: ", type] }), (0, import_jsx_runtime37.jsxs)("li", { children: ["Opts: ", undefinedToDefault(codec.extraOpts)] })] }) });
|
92241
92392
|
case "quadra-av1":
|
92242
|
-
return (0,
|
92393
|
+
return (0, import_jsx_runtime37.jsx)("div", { className: "text-gray-900 dark:text-white", children: (0, import_jsx_runtime37.jsxs)("ul", { children: [(0, import_jsx_runtime37.jsxs)("li", { children: ["Codec: ", type] }), (0, import_jsx_runtime37.jsxs)("li", { children: ["Opts: ", undefinedToDefault(codec.extraOpts)] })] }) });
|
92243
92394
|
}
|
92244
92395
|
}
|
92245
92396
|
}
|
92246
92397
|
|
92247
92398
|
// build/processor.fixedLadder/nvidia-view.js
|
92248
|
-
var
|
92399
|
+
var import_jsx_runtime38 = __toESM(require_jsx_runtime());
|
92249
92400
|
function NvidiaView(codec) {
|
92250
92401
|
if (codec == void 0) {
|
92251
|
-
return (0,
|
92402
|
+
return (0, import_jsx_runtime38.jsx)("div", { className: "text-gray-900 dark:text-white", children: "N/A" });
|
92252
92403
|
} else {
|
92253
92404
|
const type = codec.type;
|
92254
92405
|
const undefinedToDefault = (val) => val ?? "[default]";
|
92255
92406
|
switch (type) {
|
92256
92407
|
case "nv-h264":
|
92257
|
-
return (0,
|
92408
|
+
return (0, import_jsx_runtime38.jsx)("div", { className: "text-gray-900 dark:text-white", children: (0, import_jsx_runtime38.jsxs)("ul", { children: [(0, import_jsx_runtime38.jsxs)("li", { children: ["Codec: ", type] }), (0, import_jsx_runtime38.jsxs)("li", { children: ["GOP Size: ", undefinedToDefault(codec.idrPeriod)] }), (0, import_jsx_runtime38.jsxs)("li", { children: ["Ref-frames: ", undefinedToDefault(codec.maxNumRefFrames)] }), (0, import_jsx_runtime38.jsxs)("li", { children: ["B-Frames: ", undefinedToDefault(codec.useBFramesAsRef)] })] }) });
|
92258
92409
|
case "nv-hevc":
|
92259
|
-
return (0,
|
92410
|
+
return (0, import_jsx_runtime38.jsx)("div", { className: "text-gray-900 dark:text-white", children: (0, import_jsx_runtime38.jsxs)("ul", { children: [(0, import_jsx_runtime38.jsxs)("li", { children: ["Codec: ", type] }), (0, import_jsx_runtime38.jsxs)("li", { children: ["GOP Size: ", undefinedToDefault(codec.idrPeriod)] }), (0, import_jsx_runtime38.jsxs)("li", { children: ["B-Frames: ", undefinedToDefault(codec.useBFramesAsRef)] })] }) });
|
92260
92411
|
}
|
92261
92412
|
}
|
92262
92413
|
}
|
92263
92414
|
|
92264
92415
|
// build/processor.fixedLadder/codec-view.js
|
92265
|
-
var
|
92416
|
+
var import_jsx_runtime39 = __toESM(require_jsx_runtime());
|
92266
92417
|
function CodecEditor(props) {
|
92267
|
-
return (0,
|
92418
|
+
return (0, import_jsx_runtime39.jsxs)("div", { className: "text-gray-900 dark:text-white", children: [props?.width, "x", props?.height] });
|
92268
92419
|
}
|
92269
92420
|
|
92270
92421
|
// build/processor.fixedLadder/info.js
|
92271
92422
|
var import_FaLayerGroup = __toESM(require_FaLayerGroup());
|
92272
|
-
function
|
92423
|
+
function info_default29({ defineComponent, common: { FrameRates } }) {
|
92273
92424
|
function softwareHint() {
|
92274
92425
|
return {
|
92275
92426
|
type: "form-pick",
|
@@ -93507,7 +93658,7 @@ function createSoftwareRung(rung) {
|
|
93507
93658
|
case "h264_320x180":
|
93508
93659
|
return createRungImpl({ name: rung, threads: 1, bitrate: 800 });
|
93509
93660
|
default:
|
93510
|
-
return
|
93661
|
+
return assertUnreachable20(rung);
|
93511
93662
|
}
|
93512
93663
|
}
|
93513
93664
|
function createNvidiaRung(rung) {
|
@@ -93521,7 +93672,7 @@ function createNvidiaRung(rung) {
|
|
93521
93672
|
case "h264_320x180":
|
93522
93673
|
return createNvidiaRungImpl({ name: rung, bitrate: 8e5 });
|
93523
93674
|
default:
|
93524
|
-
return
|
93675
|
+
return assertUnreachable20(rung);
|
93525
93676
|
}
|
93526
93677
|
}
|
93527
93678
|
function createQuadraRung(rung) {
|
@@ -93535,7 +93686,7 @@ function createQuadraRung(rung) {
|
|
93535
93686
|
case "h264_320x180":
|
93536
93687
|
return createQuadraRungImpl({ name: rung, bitrate: 8e5 });
|
93537
93688
|
default:
|
93538
|
-
return
|
93689
|
+
return assertUnreachable20(rung);
|
93539
93690
|
}
|
93540
93691
|
}
|
93541
93692
|
function createRungImpl({ name, threads, bitrate }) {
|
@@ -93598,7 +93749,7 @@ function rungWidth(rungName) {
|
|
93598
93749
|
function rungHeight(rungName) {
|
93599
93750
|
return parseInt(rungName.split("_")[1].split(`x`)[1]);
|
93600
93751
|
}
|
93601
|
-
function
|
93752
|
+
function assertUnreachable20(_) {
|
93602
93753
|
throw new Error("Didn't expect to get here");
|
93603
93754
|
}
|
93604
93755
|
|
@@ -93606,8 +93757,8 @@ function assertUnreachable19(_) {
|
|
93606
93757
|
var import_FaImage = __toESM(require_FaImage());
|
93607
93758
|
|
93608
93759
|
// build/processor.gate/inline-view.js
|
93609
|
-
var
|
93610
|
-
function
|
93760
|
+
var import_jsx_runtime40 = __toESM(require_jsx_runtime());
|
93761
|
+
function InlineView16({ state, config, sendCommand }) {
|
93611
93762
|
function onStatusChanged(selected) {
|
93612
93763
|
if (selected) {
|
93613
93764
|
sendCommand({ type: "open" });
|
@@ -93615,12 +93766,12 @@ function InlineView15({ state, config, sendCommand }) {
|
|
93615
93766
|
sendCommand({ type: "close" });
|
93616
93767
|
}
|
93617
93768
|
}
|
93618
|
-
return (0,
|
93769
|
+
return (0, import_jsx_runtime40.jsx)("div", { id: `browser-overlay-${config.id}`, children: (0, import_jsx_runtime40.jsxs)("div", { className: "w-64 grid grid-cols-[min-content,1fr] gap-2", children: [(0, import_jsx_runtime40.jsx)("div", { children: state.status == "open" ? "Open" : "Closed" }), (0, import_jsx_runtime40.jsx)("div", { children: (0, import_jsx_runtime40.jsxs)("label", { className: "inline-flex items-center cursor-pointer", children: [(0, import_jsx_runtime40.jsx)("input", { type: "checkbox", checked: state.status == "open", onChange: (e) => onStatusChanged(e.target.checked), className: "sr-only peer" }), (0, import_jsx_runtime40.jsx)("div", { className: "relative w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600" })] }) })] }) });
|
93619
93770
|
}
|
93620
|
-
var
|
93771
|
+
var inline_view_default16 = InlineView16;
|
93621
93772
|
|
93622
93773
|
// build/processor.gate/info.js
|
93623
|
-
function
|
93774
|
+
function info_default30({ defineComponent, All }) {
|
93624
93775
|
return defineComponent({
|
93625
93776
|
identifier: "processor.gate",
|
93626
93777
|
category: "processor",
|
@@ -93651,7 +93802,7 @@ function info_default29({ defineComponent, All }) {
|
|
93651
93802
|
};
|
93652
93803
|
},
|
93653
93804
|
runtime: {
|
93654
|
-
inline:
|
93805
|
+
inline: inline_view_default16,
|
93655
93806
|
initialState: () => ({
|
93656
93807
|
status: "closed"
|
93657
93808
|
}),
|
@@ -93661,7 +93812,7 @@ function info_default29({ defineComponent, All }) {
|
|
93661
93812
|
case "status-changed":
|
93662
93813
|
return { ...state, status: ev.status };
|
93663
93814
|
default:
|
93664
|
-
|
93815
|
+
assertUnreachable21(evType);
|
93665
93816
|
}
|
93666
93817
|
}
|
93667
93818
|
},
|
@@ -93683,13 +93834,13 @@ function info_default29({ defineComponent, All }) {
|
|
93683
93834
|
}
|
93684
93835
|
});
|
93685
93836
|
}
|
93686
|
-
function
|
93837
|
+
function assertUnreachable21(_) {
|
93687
93838
|
throw new Error("Didn't expect to get here");
|
93688
93839
|
}
|
93689
93840
|
|
93690
93841
|
// build/processor.makeProgram/info.js
|
93691
93842
|
var import_FaPlayCircle = __toESM(require_FaPlayCircle());
|
93692
|
-
function
|
93843
|
+
function info_default31({ defineComponent, All, validation: { Z } }) {
|
93693
93844
|
return defineComponent({
|
93694
93845
|
identifier: "processor.makeProgram",
|
93695
93846
|
category: "processor",
|
@@ -93815,7 +93966,7 @@ function getStreamKeyMapping(componentId, rows, columns) {
|
|
93815
93966
|
audioStreamKeys
|
93816
93967
|
};
|
93817
93968
|
}
|
93818
|
-
function
|
93969
|
+
function info_default32({ defineComponent, validation: { Z } }) {
|
93819
93970
|
return defineComponent({
|
93820
93971
|
identifier: "processor.multiview",
|
93821
93972
|
name: "Multiview",
|
@@ -93926,7 +94077,7 @@ function info_default31({ defineComponent, validation: { Z } }) {
|
|
93926
94077
|
var import_config7 = __toESM(require_config());
|
93927
94078
|
|
93928
94079
|
// build/processor.onscreenGraphic/image-selection.js
|
93929
|
-
var
|
94080
|
+
var import_jsx_runtime41 = __toESM(require_jsx_runtime());
|
93930
94081
|
var import_react10 = __toESM(require_react());
|
93931
94082
|
function GraphicSelection(props) {
|
93932
94083
|
const [loading, setLoading] = (0, import_react10.useState)(true);
|
@@ -93955,19 +94106,19 @@ function GraphicSelection(props) {
|
|
93955
94106
|
}, [staticUrl, defaultValue, onChanged]);
|
93956
94107
|
const [graphcs, setGraphics] = (0, import_react10.useState)([]);
|
93957
94108
|
if (loading) {
|
93958
|
-
return (0,
|
94109
|
+
return (0, import_jsx_runtime41.jsx)("div", { children: "Loading.." });
|
93959
94110
|
}
|
93960
94111
|
if (graphcs.length == 0) {
|
93961
|
-
return (0,
|
94112
|
+
return (0, import_jsx_runtime41.jsx)("div", { children: "No graphics loaded" });
|
93962
94113
|
}
|
93963
|
-
return (0,
|
93964
|
-
return (0,
|
94114
|
+
return (0, import_jsx_runtime41.jsx)("div", { children: (0, import_jsx_runtime41.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime41.jsx)("option", { value: "", children: "---" }, "empty"), graphcs.map((o, i) => {
|
94115
|
+
return (0, import_jsx_runtime41.jsx)("option", { value: o, children: o }, i);
|
93965
94116
|
})] }) });
|
93966
94117
|
}
|
93967
94118
|
var image_selection_default = GraphicSelection;
|
93968
94119
|
|
93969
94120
|
// build/processor.onscreenGraphic/summary-view.js
|
93970
|
-
var
|
94121
|
+
var import_jsx_runtime42 = __toESM(require_jsx_runtime());
|
93971
94122
|
var import_react11 = __toESM(require_react());
|
93972
94123
|
function SummaryView9({ state, sendCommand, urls }) {
|
93973
94124
|
const [graphic, setGraphic] = (0, import_react11.useState)(state.activeGraphic?.file);
|
@@ -94105,7 +94256,7 @@ function SummaryView9({ state, sendCommand, urls }) {
|
|
94105
94256
|
const buttonClass = "mt-2 mb-5 text-white w-full justify-center bg-primary-700 hover:bg-primary-800 focus:ring-4 focus:outline-none focus:ring-primary-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800";
|
94106
94257
|
const deleteButtonClass = "mt-2 text-white w-full justify-center bg-red-600 hover:bg-red-700 focus:ring-4 focus:outline-none focus:ring-red-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-red-700 dark:hover:bg-red-800 dark:focus:ring-red-900";
|
94107
94258
|
const fileInputClass = "block w-full text-gray-900 border border-gray-300 rounded-lg cursor-pointer bg-gray-50 dark:text-gray-400 focus:outline-none dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400";
|
94108
|
-
return (0,
|
94259
|
+
return (0, import_jsx_runtime42.jsxs)("div", { className: "space-y-3", children: [(0, import_jsx_runtime42.jsx)("h2", { className: "text-xl font-bold text-gray-900 dark:text-white", children: "Controls" }), (0, import_jsx_runtime42.jsxs)("div", { children: [(0, import_jsx_runtime42.jsx)("label", { htmlFor: "select-graphic", className: "block text-gray-900 dark:text-white mb-1", children: "Source" }), (0, import_jsx_runtime42.jsxs)("select", { id: "select-graphic", className: "w-full node-editor-select-input", value: graphic || "", onChange: (e) => setGraphic(e.target.value || void 0), children: [(0, import_jsx_runtime42.jsx)("option", { value: "", children: "---" }), graphics.map((s) => (0, import_jsx_runtime42.jsx)("option", { value: s, children: s }, s))] })] }), graphic && (0, import_jsx_runtime42.jsxs)("div", { children: [(0, import_jsx_runtime42.jsx)("label", { htmlFor: "select-position", className: "block text-gray-900 dark:text-white mb-1", children: "Graphic position" }), (0, import_jsx_runtime42.jsx)(PositionSelector, { initialPosition: position, onChange: setPosition, graphicChanged, ...state })] }), (0, import_jsx_runtime42.jsx)("button", { type: "button", className: `${buttonClass} ${!stateChanged ? "opacity-50 cursor-not-allowed" : ""}`, onClick: () => sendCommand({ type: "change-graphic", file: graphic, position }), disabled: !stateChanged, children: "Commit" }), !showFileInput && !uploadStatus.success && (0, import_jsx_runtime42.jsx)("button", { type: "button", className: buttonClass, onClick: () => setShowFileInput(true), style: { marginBottom: "1rem" }, children: "Upload Graphic" }), showFileInput && (0, import_jsx_runtime42.jsxs)("form", { style: { display: "block", marginBottom: "1rem" }, children: [(0, import_jsx_runtime42.jsx)("input", { type: "file", id: "file", name: "filename", onChange: onFileChange, className: fileInputClass }), showUploadButton && (0, import_jsx_runtime42.jsx)("button", { type: "button", className: buttonClass, onClick: uploadFile, children: "Upload" })] }), (0, import_jsx_runtime42.jsx)("button", { type: "button", className: deleteButtonClass, onClick: () => setShowDeleteDropdown(!showDeleteDropdown), style: { marginBottom: "1rem" }, children: showDeleteDropdown ? "Hide Delete Options" : "Delete Graphics" }), showDeleteDropdown && (0, import_jsx_runtime42.jsxs)("div", { className: "mt-2 p-2 bg-gray-100 dark:bg-gray-800 rounded-lg", children: [(0, import_jsx_runtime42.jsx)("h3", { className: "text-lg font-semibold mb-2 text-gray-900 dark:text-white", children: "Select Graphic to Delete" }), (0, import_jsx_runtime42.jsxs)("select", { className: "w-full mb-2 node-editor-select-input", value: graphicToDelete, onChange: (e) => setGraphicToDelete(e.target.value), children: [(0, import_jsx_runtime42.jsx)("option", { value: "", children: " Select a graphic" }), graphics.map((graphicName) => (0, import_jsx_runtime42.jsx)("option", { value: graphicName, children: graphicName }, graphicName))] }), (0, import_jsx_runtime42.jsx)("button", { onClick: deleteBug, disabled: !graphicToDelete, className: `${deleteButtonClass} ${!graphicToDelete ? "opacity-50 cursor-not-allowed" : ""}`, children: "Delete Selected Graphic" })] }), uploadStatus.message && (0, import_jsx_runtime42.jsx)("div", { className: `mt-2 text-center ${uploadStatus.success ? "text-green-600" : "text-red-600"}`, children: uploadStatus.message })] });
|
94109
94260
|
}
|
94110
94261
|
function fromLocalPosition(pos) {
|
94111
94262
|
if (pos.type === "named")
|
@@ -94114,7 +94265,7 @@ function fromLocalPosition(pos) {
|
|
94114
94265
|
return { type: pos.type, x: pos.x, y: pos.y };
|
94115
94266
|
if (pos.type === "percentage")
|
94116
94267
|
return { type: pos.type, x: pos.x, y: pos.y };
|
94117
|
-
|
94268
|
+
assertUnreachable22(pos);
|
94118
94269
|
}
|
94119
94270
|
function convertPosition(givenPosition, currentVideo, currentGraphic) {
|
94120
94271
|
if (!givenPosition)
|
@@ -94132,7 +94283,7 @@ function convertPosition(givenPosition, currentVideo, currentGraphic) {
|
|
94132
94283
|
} else if (givenPosition.position === "center") {
|
94133
94284
|
xy = { x: 50, y: 50 };
|
94134
94285
|
} else {
|
94135
|
-
|
94286
|
+
assertUnreachable22(givenPosition.position);
|
94136
94287
|
}
|
94137
94288
|
return { ...givenPosition, ...xy, xPct: xy.x, yPct: xy.y };
|
94138
94289
|
}
|
@@ -94231,7 +94382,7 @@ var PositionSelector = ({ initialPosition: givenPosition = { type: "named", posi
|
|
94231
94382
|
window.removeEventListener("mouseup", previous.handleMouseUp);
|
94232
94383
|
};
|
94233
94384
|
}, [isDragging, handleMouseMove, handleMouseUp]);
|
94234
|
-
return (0,
|
94385
|
+
return (0, import_jsx_runtime42.jsxs)("div", { className: "relative w-full max-w-lg mx-auto mt-4 mb-8", children: [(0, import_jsx_runtime42.jsxs)("div", { className: "mb-4 flex items-center gap-2", children: [(0, import_jsx_runtime42.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300", children: "Position Type:" }), (0, import_jsx_runtime42.jsxs)("select", { value: position.type, onChange: (e) => {
|
94235
94386
|
const newType = e.target.value;
|
94236
94387
|
if (newType === "named") {
|
94237
94388
|
setPosition(convertPos({ type: "named", position: "topleft" }));
|
@@ -94239,12 +94390,12 @@ var PositionSelector = ({ initialPosition: givenPosition = { type: "named", posi
|
|
94239
94390
|
setPositionUnit("%");
|
94240
94391
|
setPosition({ ...convertPos(position), type: "percentage" });
|
94241
94392
|
}
|
94242
|
-
}, className: "node-editor-select-input", children: [(0,
|
94393
|
+
}, className: "node-editor-select-input", children: [(0, import_jsx_runtime42.jsx)("option", { value: "coordinate", children: "Custom Position" }), (0, import_jsx_runtime42.jsx)("option", { value: "named", children: "Preset Position" })] })] }), position.type === "named" ? (0, import_jsx_runtime42.jsx)("div", { className: "mb-4", children: (0, import_jsx_runtime42.jsxs)("select", { value: position.position, onChange: (e) => {
|
94243
94394
|
setPosition(convertPos({
|
94244
94395
|
type: "named",
|
94245
94396
|
position: e.target.value
|
94246
94397
|
}));
|
94247
|
-
}, className: "w-full node-editor-select-input", children: [(0,
|
94398
|
+
}, className: "w-full node-editor-select-input", children: [(0, import_jsx_runtime42.jsx)("option", { value: "topleft", children: "Top Left" }), (0, import_jsx_runtime42.jsx)("option", { value: "topright", children: "Top Right" }), (0, import_jsx_runtime42.jsx)("option", { value: "bottomleft", children: "Bottom Left" }), (0, import_jsx_runtime42.jsx)("option", { value: "bottomright", children: "Bottom Right" }), (0, import_jsx_runtime42.jsx)("option", { value: "center", children: "Centered" })] }) }) : (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [(0, import_jsx_runtime42.jsxs)("div", { className: "mb-4 flex items-center gap-2", children: [(0, import_jsx_runtime42.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300", children: "Position Unit:" }), (0, import_jsx_runtime42.jsxs)("select", { value: positionUnit, onChange: (e) => {
|
94248
94399
|
setPositionUnit(e.target.value);
|
94249
94400
|
if (e.target.value === "px" && position.type !== "coordinate" && currentVideo && currentGraphic) {
|
94250
94401
|
const { width: videoWidth, height: videoHeight } = currentVideo;
|
@@ -94269,18 +94420,18 @@ var PositionSelector = ({ initialPosition: givenPosition = { type: "named", posi
|
|
94269
94420
|
yStr: void 0
|
94270
94421
|
});
|
94271
94422
|
}
|
94272
|
-
}, className: "node-editor-select-input", children: [(0,
|
94423
|
+
}, className: "node-editor-select-input", children: [(0, import_jsx_runtime42.jsx)("option", { value: "px", children: "Pixels" }), (0, import_jsx_runtime42.jsx)("option", { value: "%", children: "Percentage" })] })] }), (0, import_jsx_runtime42.jsxs)("div", { className: "relative bg-gray-200 dark:bg-gray-700 rounded-lg", style: {
|
94273
94424
|
width: "100%",
|
94274
94425
|
userSelect: "none",
|
94275
94426
|
aspectRatio: currentVideo ? `${currentVideo.width} / ${currentVideo.height}` : `3 / 2`
|
94276
|
-
}, ref: previewAreaRef, children: [(0,
|
94427
|
+
}, ref: previewAreaRef, children: [(0, import_jsx_runtime42.jsxs)("div", { className: "absolute inset-0 flex flex-col items-center justify-center text-gray-500 dark:text-gray-400", children: [(0, import_jsx_runtime42.jsx)("span", { children: currentVideo ? "Video Preview Area" : "Video Dimensions Unknown" }), " ", currentVideo ? (0, import_jsx_runtime42.jsxs)("span", { children: [currentVideo.width, "x", currentVideo.height, "px"] }) : ""] }), (0, import_jsx_runtime42.jsx)("div", { className: `absolute cursor-move ${currentGraphic && !graphicChanged ? "" : "p-2"} rounded-lg bg-primary-500 bg-opacity-50 hover:bg-opacity-75 transition-colors
|
94277
94428
|
${isDragging ? "bg-opacity-75" : ""}`, style: {
|
94278
94429
|
left: `${position.xPct}%`,
|
94279
94430
|
top: `${position.yPct}%`,
|
94280
94431
|
transform: `translate(-${position.xPct}%, -${position.yPct}%)`,
|
94281
94432
|
aspectRatio: currentGraphic && !graphicChanged ? `${currentGraphic.width} / ${currentGraphic.height}` : `1`,
|
94282
94433
|
width: currentGraphic && currentVideo && !graphicChanged ? currentGraphic.width / currentVideo.width * 100 + "%" : void 0
|
94283
|
-
}, onMouseDown: handleMouseDown, ref: previewTargetRef, children: (0,
|
94434
|
+
}, onMouseDown: handleMouseDown, ref: previewTargetRef, children: (0, import_jsx_runtime42.jsx)("svg", { className: `${currentGraphic && !graphicChanged ? "w-full h-full" : "w-6 h-6"} text-white`, "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: (0, import_jsx_runtime42.jsx)("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 6v12m-6-6h12m-6-6 1.5 1.5M12 6l-1.5 1.5m1.5 10.5L10.5 16.5M12 18l1.5-1.5M6 12l1.5-1.5M7.5 13.5 6 12m12 0-1.5-1.5M16.5 13.5 18 12" }) }) })] }), (0, import_jsx_runtime42.jsxs)("div", { className: "mt-2 text-sm text-gray-600 dark:text-gray-300 text-center", children: ["Position:", " ", position.type === "percentage" ? `${position.xPct.toFixed(1)}%, ${position.yPct.toFixed(1)}%` : `${Math.round(position.x)}px, ${Math.round(position.y)}px`] }), (0, import_jsx_runtime42.jsxs)("div", { className: "mt-2 flex gap-4", children: [(0, import_jsx_runtime42.jsxs)("div", { children: [(0, import_jsx_runtime42.jsxs)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300", children: ["X Position ", positionUnit] }), (0, import_jsx_runtime42.jsx)("input", { type: "number", step: positionUnit === "%" ? "0.1" : "1", value: position.xStr ?? (positionUnit === "%" ? position.xPct.toFixed(1) : Math.round(position.x)), onChange: (e) => {
|
94284
94435
|
const newX = Number(e.target.value);
|
94285
94436
|
setPosition(convertPos({
|
94286
94437
|
type: positionUnit === "%" ? "percentage" : "coordinate",
|
@@ -94289,7 +94440,7 @@ var PositionSelector = ({ initialPosition: givenPosition = { type: "named", posi
|
|
94289
94440
|
y: position.y,
|
94290
94441
|
yStr: position.yStr
|
94291
94442
|
}));
|
94292
|
-
}, className: "mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-primary-500 focus:ring-primary-500 sm:text-sm dark:bg-gray-700 dark:border-gray-600" })] }), (0,
|
94443
|
+
}, className: "mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-primary-500 focus:ring-primary-500 sm:text-sm dark:bg-gray-700 dark:border-gray-600" })] }), (0, import_jsx_runtime42.jsxs)("div", { children: [(0, import_jsx_runtime42.jsxs)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300", children: ["Y Position ", positionUnit] }), (0, import_jsx_runtime42.jsx)("input", { type: "number", step: positionUnit === "%" ? "0.1" : "1", value: position.yStr ?? (positionUnit === "%" ? position.yPct.toFixed(1) : Math.round(position.y)), onChange: (e) => {
|
94293
94444
|
const newY = Number(e.target.value);
|
94294
94445
|
setPosition(convertPos({
|
94295
94446
|
type: positionUnit === "%" ? "percentage" : "coordinate",
|
@@ -94303,14 +94454,14 @@ var PositionSelector = ({ initialPosition: givenPosition = { type: "named", posi
|
|
94303
94454
|
function clamp2(min2, num, max2) {
|
94304
94455
|
return num < min2 ? min2 : num > max2 ? max2 : num;
|
94305
94456
|
}
|
94306
|
-
function
|
94457
|
+
function assertUnreachable22(_) {
|
94307
94458
|
throw new Error("Didn't expect to get here");
|
94308
94459
|
}
|
94309
94460
|
var summary_view_default9 = SummaryView9;
|
94310
94461
|
|
94311
94462
|
// build/processor.onscreenGraphic/info.js
|
94312
94463
|
var import_FaImage2 = __toESM(require_FaImage());
|
94313
|
-
function
|
94464
|
+
function info_default33({ defineComponent }) {
|
94314
94465
|
return defineComponent({
|
94315
94466
|
identifier: "processor.onscreenGraphic",
|
94316
94467
|
category: "processor",
|
@@ -94349,7 +94500,7 @@ function info_default32({ defineComponent }) {
|
|
94349
94500
|
case "graphic-loaded":
|
94350
94501
|
return { ...state, currentGraphic: ev.currentGraphic };
|
94351
94502
|
default:
|
94352
|
-
|
94503
|
+
assertUnreachable23(evType);
|
94353
94504
|
}
|
94354
94505
|
}
|
94355
94506
|
},
|
@@ -94385,12 +94536,12 @@ function info_default32({ defineComponent }) {
|
|
94385
94536
|
}
|
94386
94537
|
});
|
94387
94538
|
}
|
94388
|
-
function
|
94539
|
+
function assertUnreachable23(_) {
|
94389
94540
|
throw new Error("Didn't expect to get here");
|
94390
94541
|
}
|
94391
94542
|
|
94392
94543
|
// build/processor.smartSingleMediaSwitch/source-selection.js
|
94393
|
-
var
|
94544
|
+
var import_jsx_runtime43 = __toESM(require_jsx_runtime());
|
94394
94545
|
var import_react12 = __toESM(require_react());
|
94395
94546
|
function OrderInput(props) {
|
94396
94547
|
const { onChanged } = props;
|
@@ -94399,10 +94550,10 @@ function OrderInput(props) {
|
|
94399
94550
|
onChanged(value);
|
94400
94551
|
}, [value, onChanged]);
|
94401
94552
|
if (value.length == 0) {
|
94402
|
-
return (0,
|
94553
|
+
return (0, import_jsx_runtime43.jsx)("p", { className: "node-editor-helper-text", children: "Sources will appear here when subscriptions have been added to this node" });
|
94403
94554
|
} else {
|
94404
|
-
return (0,
|
94405
|
-
return (0,
|
94555
|
+
return (0, import_jsx_runtime43.jsx)("div", { id: props.id, children: (0, import_jsx_runtime43.jsx)("ul", { children: value.map((v, ix) => {
|
94556
|
+
return (0, import_jsx_runtime43.jsxs)("li", { className: "flex", children: [(0, import_jsx_runtime43.jsx)("span", { className: "node-editor-label flex-grow", children: v.displayName }), ix == 0 ? (0, import_jsx_runtime43.jsx)(import_jsx_runtime43.Fragment, {}) : (0, import_jsx_runtime43.jsx)("svg", { onClick: moveUp(ix), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, className: "w-4 h-6 shrink cursor-pointer stroke-gray-700 dark:stroke-gray-50", children: (0, import_jsx_runtime43.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.25 6.75L12 3m0 0l3.75 3.75M12 3v18" }) }), ix == value.length - 1 ? (0, import_jsx_runtime43.jsx)(import_jsx_runtime43.Fragment, {}) : (0, import_jsx_runtime43.jsx)("svg", { onClick: moveDown(ix), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, className: "w-4 h-6 shrink cursor-pointer stroke-gray-700 dark:stroke-gray-50", children: (0, import_jsx_runtime43.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 17.25L12 21m0 0l-3.75-3.75M12 21V3" }) })] }, ix);
|
94406
94557
|
}) }) });
|
94407
94558
|
}
|
94408
94559
|
function moveUp(ix) {
|
@@ -94425,18 +94576,18 @@ function OrderInput(props) {
|
|
94425
94576
|
var source_selection_default = OrderInput;
|
94426
94577
|
|
94427
94578
|
// build/processor.smartSingleMediaSwitch/inline-view.js
|
94428
|
-
var
|
94579
|
+
var import_jsx_runtime44 = __toESM(require_jsx_runtime());
|
94429
94580
|
var activeClasses = "active text-green-500 dark:text-green-300";
|
94430
94581
|
var availableClasses = "available text-green-500 dark:text-green-300";
|
94431
94582
|
var inactiveClasses = "inactive text-orange-500 dark:text-orange-300";
|
94432
|
-
function
|
94433
|
-
return (0,
|
94583
|
+
function InlineView17({ state, config }) {
|
94584
|
+
return (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { children: [(0, import_jsx_runtime44.jsx)("h5", { children: "Sources" }), (0, import_jsx_runtime44.jsxs)("ul", { children: [config.sources.map((s, i) => state.activeSource == i ? (0, import_jsx_runtime44.jsxs)("li", { className: activeClasses, children: [s.displayName, " <--"] }, i) : state.availableSources.includes(i) ? (0, import_jsx_runtime44.jsxs)("li", { className: availableClasses, children: [s.displayName, " (available)"] }, i) : (0, import_jsx_runtime44.jsxs)("li", { className: inactiveClasses, children: [s.displayName, " (inactive)"] }, i)), (0, import_jsx_runtime44.jsx)("li", { className: state.activeSource < 0 ? activeClasses : availableClasses, children: "fallback" }, "fallback")] })] });
|
94434
94585
|
}
|
94435
|
-
var
|
94586
|
+
var inline_view_default17 = InlineView17;
|
94436
94587
|
|
94437
94588
|
// build/processor.smartSingleMediaSwitch/info.js
|
94438
94589
|
var import_FaSlidersH = __toESM(require_FaSlidersH());
|
94439
|
-
function
|
94590
|
+
function info_default34({ defineComponent, All, common: { Resolutions, FrameRates }, streamMatchesFilter }) {
|
94440
94591
|
function patchConfigFromSubscription(cfg, sub) {
|
94441
94592
|
const potentiallyNewSources = sub.expectedStreams;
|
94442
94593
|
potentiallyNewSources.forEach((s) => {
|
@@ -94521,12 +94672,12 @@ function info_default33({ defineComponent, All, common: { Resolutions, FrameRate
|
|
94521
94672
|
state.availableSources.splice(state.availableSources.indexOf(ev.sourceIndex), 1);
|
94522
94673
|
return { ...state };
|
94523
94674
|
default:
|
94524
|
-
|
94675
|
+
assertUnreachable24(evType);
|
94525
94676
|
}
|
94526
94677
|
},
|
94527
|
-
inline:
|
94528
|
-
summary:
|
94529
|
-
fullscreen:
|
94678
|
+
inline: inline_view_default17,
|
94679
|
+
summary: inline_view_default17,
|
94680
|
+
fullscreen: inline_view_default17
|
94530
94681
|
},
|
94531
94682
|
configForm: {
|
94532
94683
|
form: {
|
@@ -94573,12 +94724,12 @@ function info_default33({ defineComponent, All, common: { Resolutions, FrameRate
|
|
94573
94724
|
}
|
94574
94725
|
});
|
94575
94726
|
}
|
94576
|
-
function
|
94727
|
+
function assertUnreachable24(_) {
|
94577
94728
|
throw new Error("Didn't expect to get here");
|
94578
94729
|
}
|
94579
94730
|
|
94580
94731
|
// build/processor.smartSourceSwitch/source-selection.js
|
94581
|
-
var
|
94732
|
+
var import_jsx_runtime45 = __toESM(require_jsx_runtime());
|
94582
94733
|
var import_react13 = __toESM(require_react());
|
94583
94734
|
function OrderInput2(props) {
|
94584
94735
|
const { onChanged } = props;
|
@@ -94587,10 +94738,10 @@ function OrderInput2(props) {
|
|
94587
94738
|
onChanged(value);
|
94588
94739
|
}, [value, onChanged]);
|
94589
94740
|
if (value.length == 0) {
|
94590
|
-
return (0,
|
94741
|
+
return (0, import_jsx_runtime45.jsx)("p", { className: "node-editor-helper-text", children: "Sources will appear here when subscriptions have been added to this node" });
|
94591
94742
|
} else {
|
94592
|
-
return (0,
|
94593
|
-
return (0,
|
94743
|
+
return (0, import_jsx_runtime45.jsx)("div", { id: props.id, children: (0, import_jsx_runtime45.jsx)("ul", { children: value.map((v, ix) => {
|
94744
|
+
return (0, import_jsx_runtime45.jsxs)("li", { className: "flex", children: [(0, import_jsx_runtime45.jsx)("span", { className: "node-editor-label flex-grow", children: v }), ix == 0 ? (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, {}) : (0, import_jsx_runtime45.jsx)("svg", { onClick: moveUp(ix), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, className: "w-4 h-6 shrink cursor-pointer stroke-gray-700 dark:stroke-gray-50", children: (0, import_jsx_runtime45.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.25 6.75L12 3m0 0l3.75 3.75M12 3v18" }) }), ix == value.length - 1 ? (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, {}) : (0, import_jsx_runtime45.jsx)("svg", { onClick: moveDown(ix), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, className: "w-4 h-6 shrink cursor-pointer stroke-gray-700 dark:stroke-gray-50", children: (0, import_jsx_runtime45.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 17.25L12 21m0 0l-3.75-3.75M12 21V3" }) })] }, v);
|
94594
94745
|
}) }) });
|
94595
94746
|
}
|
94596
94747
|
function moveUp(ix) {
|
@@ -94613,35 +94764,35 @@ function OrderInput2(props) {
|
|
94613
94764
|
var source_selection_default2 = OrderInput2;
|
94614
94765
|
|
94615
94766
|
// build/processor.smartSourceSwitch/inline-view.js
|
94616
|
-
var
|
94617
|
-
function
|
94767
|
+
var import_jsx_runtime46 = __toESM(require_jsx_runtime());
|
94768
|
+
function cn2(...classes) {
|
94618
94769
|
return classes.filter(Boolean).join(" ");
|
94619
94770
|
}
|
94620
|
-
function
|
94621
|
-
return (0,
|
94771
|
+
function InlineView18({ state, config }) {
|
94772
|
+
return (0, import_jsx_runtime46.jsxs)(import_jsx_runtime46.Fragment, { children: [(0, import_jsx_runtime46.jsx)("h5", { className: "text-gray-900 dark:text-white font-medium", children: "Sources:" }), (0, import_jsx_runtime46.jsxs)("ul", { className: "space-y-2 mt-2", children: [config.sources.map((s, i) => {
|
94622
94773
|
const isActive = state.activeSource === s;
|
94623
94774
|
const isAvailable = state.availableSources.includes(s);
|
94624
|
-
const indicatorClasses =
|
94625
|
-
return (0,
|
94626
|
-
}), (0,
|
94775
|
+
const indicatorClasses = cn2("w-3 h-3 rounded-full", isActive ? "bg-live" : isAvailable ? "bg-standby" : "bg-offline");
|
94776
|
+
return (0, import_jsx_runtime46.jsxs)("li", { className: "flex items-center gap-2", children: [(0, import_jsx_runtime46.jsxs)("div", { className: "relative", children: [(0, import_jsx_runtime46.jsx)("div", { className: indicatorClasses }), isActive && (0, import_jsx_runtime46.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: (0, import_jsx_runtime46.jsx)("div", { className: "w-3 h-3 rounded-full bg-live animate-ping duration-150" }) })] }), (0, import_jsx_runtime46.jsx)("span", { className: "text-gray-900 dark:text-white", children: s })] }, i);
|
94777
|
+
}), (0, import_jsx_runtime46.jsxs)("li", { className: "flex items-center gap-2", children: [(0, import_jsx_runtime46.jsxs)("div", { className: "relative", children: [(0, import_jsx_runtime46.jsx)("div", { className: cn2("w-3 h-3 rounded-full", state.activeSource === "fallback" ? "bg-live" : "bg-standby") }), state.activeSource === "fallback" && (0, import_jsx_runtime46.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: (0, import_jsx_runtime46.jsx)("div", { className: "w-3 h-3 rounded-full bg-live animate-ping duration-150" }) })] }), (0, import_jsx_runtime46.jsx)("span", { className: "text-gray-900 dark:text-white", children: "fallback" })] }, "fallback")] })] });
|
94627
94778
|
}
|
94628
|
-
var
|
94779
|
+
var inline_view_default18 = InlineView18;
|
94629
94780
|
|
94630
94781
|
// build/processor.smartSourceSwitch/info.js
|
94631
94782
|
var import_FaSlidersH2 = __toESM(require_FaSlidersH());
|
94632
94783
|
var import_client_types4 = __toESM(require_client_types());
|
94633
94784
|
|
94634
94785
|
// build/processor.smartSourceSwitch/form-views.js
|
94635
|
-
var
|
94786
|
+
var import_jsx_runtime47 = __toESM(require_jsx_runtime());
|
94636
94787
|
function FallbackConfiguration(cfg) {
|
94637
94788
|
if (cfg.kind === "file") {
|
94638
|
-
return (0,
|
94789
|
+
return (0, import_jsx_runtime47.jsx)("div", { className: "text-sm", children: cfg.filePath || "No file specified" });
|
94639
94790
|
}
|
94640
|
-
return (0,
|
94791
|
+
return (0, import_jsx_runtime47.jsx)("div", { className: "text-sm", children: "Test Card" });
|
94641
94792
|
}
|
94642
94793
|
|
94643
94794
|
// build/processor.smartSourceSwitch/info.js
|
94644
|
-
function
|
94795
|
+
function info_default35({ defineComponent, Av, common: { Resolutions, FrameRates } }) {
|
94645
94796
|
function patchConfigFromSubscription(cfg, sub) {
|
94646
94797
|
const potentiallyNewSources = sub.expectedStreams.map((s) => s.sourceName).filter((s) => !!s);
|
94647
94798
|
potentiallyNewSources.forEach((s) => {
|
@@ -94738,12 +94889,12 @@ function info_default34({ defineComponent, Av, common: { Resolutions, FrameRates
|
|
94738
94889
|
state.availableSources.splice(state.availableSources.indexOf(ev.source), 1);
|
94739
94890
|
return { ...state };
|
94740
94891
|
default:
|
94741
|
-
|
94892
|
+
assertUnreachable25(evType);
|
94742
94893
|
}
|
94743
94894
|
},
|
94744
|
-
inline:
|
94745
|
-
summary:
|
94746
|
-
fullscreen:
|
94895
|
+
inline: inline_view_default18,
|
94896
|
+
summary: inline_view_default18,
|
94897
|
+
fullscreen: inline_view_default18
|
94747
94898
|
},
|
94748
94899
|
configForm: {
|
94749
94900
|
form: {
|
@@ -94818,13 +94969,13 @@ function info_default34({ defineComponent, Av, common: { Resolutions, FrameRates
|
|
94818
94969
|
}
|
94819
94970
|
});
|
94820
94971
|
}
|
94821
|
-
function
|
94972
|
+
function assertUnreachable25(_) {
|
94822
94973
|
throw new Error("Didn't expect to get here");
|
94823
94974
|
}
|
94824
94975
|
|
94825
94976
|
// build/processor.streamKeyOverride/info.js
|
94826
94977
|
var import_FaKey = __toESM(require_FaKey());
|
94827
|
-
function
|
94978
|
+
function info_default36({ defineComponent, All, validation: { Z } }) {
|
94828
94979
|
return defineComponent({
|
94829
94980
|
identifier: "processor.streamKeyOverride",
|
94830
94981
|
category: "processor",
|
@@ -94920,20 +95071,20 @@ function info_default35({ defineComponent, All, validation: { Z } }) {
|
|
94920
95071
|
var import_config8 = __toESM(require_config());
|
94921
95072
|
|
94922
95073
|
// build/processor.syncExternalAudio/inline-view.js
|
94923
|
-
var
|
95074
|
+
var import_jsx_runtime48 = __toESM(require_jsx_runtime());
|
94924
95075
|
var import_react14 = __toESM(require_react());
|
94925
|
-
function
|
95076
|
+
function InlineView19({ state, raise }) {
|
94926
95077
|
(0, import_react14.useEffect)(() => {
|
94927
95078
|
if (raise) {
|
94928
95079
|
raise();
|
94929
95080
|
}
|
94930
95081
|
}, [raise]);
|
94931
|
-
return (0,
|
95082
|
+
return (0, import_jsx_runtime48.jsx)("div", { className: "processor-syncExternalAudio", children: (0, import_jsx_runtime48.jsx)("div", { className: "sync-status-inline", children: (0, import_jsx_runtime48.jsxs)("div", { className: "flex items-center space-x-2", children: [(0, import_jsx_runtime48.jsx)("div", { className: `w-2 h-2 rounded-full ${state.isConnected ? "bg-green-400" : "bg-red-400"}` }), (0, import_jsx_runtime48.jsx)("span", { className: "text-sm", children: state.isConnected ? "Connected" : "Disconnected" }), state.currentSyncMs !== void 0 && (0, import_jsx_runtime48.jsxs)("span", { className: "text-xs text-gray-500", children: ["(", state.currentSyncMs, "ms)"] })] }) }) });
|
94932
95083
|
}
|
94933
|
-
var
|
95084
|
+
var inline_view_default19 = InlineView19;
|
94934
95085
|
|
94935
95086
|
// build/processor.syncExternalAudio/fullscreen-view.js
|
94936
|
-
var
|
95087
|
+
var import_jsx_runtime49 = __toESM(require_jsx_runtime());
|
94937
95088
|
var import_react15 = __toESM(require_react());
|
94938
95089
|
var CommentaryWhepClient = class extends NorskWhepClient {
|
94939
95090
|
audio;
|
@@ -95122,11 +95273,11 @@ function SyncExternalAudioFullscreenView({ state, config, sendCommand }) {
|
|
95122
95273
|
setAudioStarted(true);
|
95123
95274
|
}
|
95124
95275
|
};
|
95125
|
-
return (0,
|
95276
|
+
return (0, import_jsx_runtime49.jsxs)("div", { className: "w-full h-full flex flex-col bg-gray-900 text-white", children: [(0, import_jsx_runtime49.jsxs)("div", { className: "flex justify-between items-center p-4 bg-gray-800 border-b border-gray-700", children: [(0, import_jsx_runtime49.jsxs)("h1", { className: "text-xl font-semibold", children: ["Sync External Audio - ", config.displayName] }), (0, import_jsx_runtime49.jsx)("div", { className: "flex items-center space-x-4", children: (0, import_jsx_runtime49.jsxs)("div", { className: `flex items-center space-x-2 ${state.isConnected ? "text-green-400" : "text-red-400"}`, children: [(0, import_jsx_runtime49.jsx)("div", { className: `w-2 h-2 rounded-full ${state.isConnected ? "bg-green-400" : "bg-red-400"}` }), (0, import_jsx_runtime49.jsx)("span", { className: "text-sm", children: state.isConnected ? "Connected" : "Disconnected" })] }) })] }), (0, import_jsx_runtime49.jsxs)("div", { className: "flex-1 flex", children: [(0, import_jsx_runtime49.jsx)("div", { className: "flex-1 flex flex-col", children: (0, import_jsx_runtime49.jsx)("div", { className: "flex-1 bg-black flex items-center justify-center", children: state.primaryWhepUrl && state.commentaryWhepUrl ? (0, import_jsx_runtime49.jsx)("div", { ref: videoContainerRef, className: "max-w-full max-h-full" }) : (0, import_jsx_runtime49.jsxs)("div", { className: "text-gray-500 text-center", children: [(0, import_jsx_runtime49.jsx)("div", { className: "text-6xl mb-4", children: "\u{1F4FA}" }), (0, import_jsx_runtime49.jsx)("div", { children: "Waiting for video preview..." }), state.primaryWhepUrl && !state.commentaryWhepUrl && (0, import_jsx_runtime49.jsx)("div", { className: "text-sm mt-2", children: "Primary stream ready, waiting for commentary..." }), !state.primaryWhepUrl && state.commentaryWhepUrl && (0, import_jsx_runtime49.jsx)("div", { className: "text-sm mt-2", children: "Commentary stream ready, waiting for primary..." })] }) }) }), (0, import_jsx_runtime49.jsxs)("div", { className: "w-80 bg-gray-800 border-l border-gray-700 flex flex-col", children: [(0, import_jsx_runtime49.jsxs)("div", { className: "p-4 border-b border-gray-700", children: [(0, import_jsx_runtime49.jsx)("h3", { className: "text-lg font-medium mb-4", children: "Commentary Sync Control" }), (0, import_jsx_runtime49.jsxs)("div", { className: "mb-4 p-3 bg-gray-700 rounded-lg text-center", children: [(0, import_jsx_runtime49.jsx)("div", { className: "text-sm text-gray-300", children: "Current Offset" }), (0, import_jsx_runtime49.jsxs)("div", { className: "text-2xl font-mono", children: [state.currentSyncMs, "ms"] })] }), (0, import_jsx_runtime49.jsxs)("div", { className: "mb-4", children: [(0, import_jsx_runtime49.jsx)("div", { className: "text-sm text-gray-300 mb-2", children: "Fine Adjustment (\xB1200ms)" }), (0, import_jsx_runtime49.jsxs)("div", { className: "flex space-x-2", children: [(0, import_jsx_runtime49.jsx)("button", { onClick: () => handleSyncAdjust(-200), className: "flex-1 px-3 py-2 bg-red-600 hover:bg-red-700 rounded text-sm font-medium", children: "-200ms" }), (0, import_jsx_runtime49.jsx)("button", { onClick: () => handleSyncAdjust(200), className: "flex-1 px-3 py-2 bg-green-600 hover:bg-green-700 rounded text-sm font-medium", children: "+200ms" })] })] }), (0, import_jsx_runtime49.jsxs)("div", { className: "mb-4", children: [(0, import_jsx_runtime49.jsx)("div", { className: "text-sm text-gray-300 mb-2", children: "Coarse Adjustment" }), (0, import_jsx_runtime49.jsxs)("div", { className: "grid grid-cols-2 gap-2", children: [(0, import_jsx_runtime49.jsx)("button", { onClick: () => handleSyncAdjust(-1e3), className: "px-3 py-2 bg-red-700 hover:bg-red-800 rounded text-sm", children: "-1000ms" }), (0, import_jsx_runtime49.jsx)("button", { onClick: () => handleSyncAdjust(1e3), className: "px-3 py-2 bg-green-700 hover:bg-green-800 rounded text-sm", children: "+1000ms" }), (0, import_jsx_runtime49.jsx)("button", { onClick: () => handleSyncAdjust(-500), className: "px-3 py-2 bg-red-600 hover:bg-red-700 rounded text-sm", children: "-500ms" }), (0, import_jsx_runtime49.jsx)("button", { onClick: () => handleSyncAdjust(500), className: "px-3 py-2 bg-green-600 hover:bg-green-700 rounded text-sm", children: "+500ms" })] })] }), (0, import_jsx_runtime49.jsxs)("button", { onClick: handleResetSync, className: "w-full px-3 py-2 bg-blue-600 hover:bg-blue-700 rounded text-sm font-medium", children: ["Reset to Initial (", config.initialSyncMs, "ms)"] })] }), (0, import_jsx_runtime49.jsxs)("div", { className: "p-4 flex-1", children: [(0, import_jsx_runtime49.jsx)("h3", { className: "text-lg font-medium mb-4", children: "Audio Monitor Controls" }), !audioStarted && isReady && (0, import_jsx_runtime49.jsxs)("div", { className: "mb-6 p-4 bg-yellow-900 border border-yellow-600 rounded-lg", children: [(0, import_jsx_runtime49.jsx)("div", { className: "text-sm text-yellow-200 mb-2", children: "Click to enable commentary audio (required by browser policy):" }), (0, import_jsx_runtime49.jsx)("button", { onClick: () => void handleStartAudio(), className: "w-full px-3 py-2 bg-yellow-600 hover:bg-yellow-700 rounded text-sm font-medium", children: "\u{1F50A} Start Commentary Audio" })] }), (0, import_jsx_runtime49.jsxs)("div", { className: "mb-6", children: [(0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [(0, import_jsx_runtime49.jsx)("span", { className: "text-sm font-medium", children: "Primary Audio" }), (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center space-x-2", children: [isReady ? (0, import_jsx_runtime49.jsx)("span", { className: "text-xs text-green-400", children: "\u2713 Ready" }) : (0, import_jsx_runtime49.jsx)("span", { className: "text-xs text-yellow-400", children: "\u23F3 Loading" }), (0, import_jsx_runtime49.jsx)("button", { onClick: () => setPrimaryMuted(!primaryMuted), disabled: !isReady, className: `px-2 py-1 rounded text-xs ${!isReady ? "bg-gray-500 cursor-not-allowed" : primaryMuted ? "bg-red-600 hover:bg-red-700" : "bg-gray-600 hover:bg-gray-700"}`, children: primaryMuted ? "Unmute" : "Mute" })] })] }), (0, import_jsx_runtime49.jsx)("input", { type: "range", min: "0", max: "100", value: primaryVolume, onChange: (e) => setPrimaryVolume(parseInt(e.target.value)), className: "w-full h-2 bg-gray-700 rounded-lg appearance-none cursor-pointer", disabled: primaryMuted || !isReady }), (0, import_jsx_runtime49.jsxs)("div", { className: "text-xs text-gray-400 mt-1", children: [primaryVolume, "%"] })] }), (0, import_jsx_runtime49.jsxs)("div", { className: "mb-6", children: [(0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [(0, import_jsx_runtime49.jsx)("span", { className: "text-sm font-medium", children: "Commentary Audio" }), (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center space-x-2", children: [isReady ? (0, import_jsx_runtime49.jsx)("span", { className: "text-xs text-green-400", children: "\u2713 Ready" }) : (0, import_jsx_runtime49.jsx)("span", { className: "text-xs text-yellow-400", children: "\u23F3 Loading" }), (0, import_jsx_runtime49.jsx)("button", { onClick: () => setCommentaryMuted(!commentaryMuted), disabled: !isReady, className: `px-2 py-1 rounded text-xs ${!isReady ? "bg-gray-500 cursor-not-allowed" : commentaryMuted ? "bg-red-600 hover:bg-red-700" : "bg-gray-600 hover:bg-gray-700"}`, children: commentaryMuted ? "Unmute" : "Mute" })] })] }), (0, import_jsx_runtime49.jsx)("input", { type: "range", min: "0", max: "100", value: commentaryVolume, onChange: (e) => setCommentaryVolume(parseInt(e.target.value)), className: "w-full h-2 bg-gray-700 rounded-lg appearance-none cursor-pointer", disabled: commentaryMuted || !isReady }), (0, import_jsx_runtime49.jsxs)("div", { className: "text-xs text-gray-400 mt-1", children: [commentaryVolume, "%"] })] }), (0, import_jsx_runtime49.jsx)("div", { className: "mt-auto pt-4 border-t border-gray-700", children: (0, import_jsx_runtime49.jsxs)("div", { className: "text-xs text-gray-400 space-y-1", children: [(0, import_jsx_runtime49.jsxs)("div", { children: ["Primary Delay: ", config.delayMs, "ms"] }), (0, import_jsx_runtime49.jsxs)("div", { children: ["Primary WHEP: ", state.primaryWhepUrl ? "\u2713 Available" : "\u2717 Not ready"] }), (0, import_jsx_runtime49.jsxs)("div", { children: ["Commentary WHEP: ", state.commentaryWhepUrl ? "\u2713 Available" : "\u2717 Not ready"] }), (0, import_jsx_runtime49.jsxs)("div", { children: ["Dual Streams: ", isReady ? "\u2713 Connected" : "\u23F3 Connecting"] }), (0, import_jsx_runtime49.jsxs)("div", { children: ["Audio Started: ", audioStarted ? "\u2713 Yes" : "\u2717 No"] }), isReady && (0, import_jsx_runtime49.jsx)("div", { className: "text-green-400", children: "\u2713 Dual WHEP ready" }), isReady && (0, import_jsx_runtime49.jsx)("div", { className: "text-xs text-gray-500 mt-1", children: "Check browser console for audio debug logs" })] }) })] })] })] })] });
|
95126
95277
|
}
|
95127
95278
|
|
95128
95279
|
// build/processor.syncExternalAudio/info.js
|
95129
|
-
function
|
95280
|
+
function info_default37(R) {
|
95130
95281
|
const { defineComponent, validation: { Z } } = R;
|
95131
95282
|
return defineComponent({
|
95132
95283
|
identifier: "processor.syncExternalAudio",
|
@@ -95231,14 +95382,14 @@ function info_default36(R) {
|
|
95231
95382
|
}
|
95232
95383
|
},
|
95233
95384
|
fullscreen: SyncExternalAudioFullscreenView,
|
95234
|
-
inline:
|
95385
|
+
inline: inline_view_default19
|
95235
95386
|
}
|
95236
95387
|
});
|
95237
95388
|
}
|
95238
95389
|
|
95239
95390
|
// build/processor.videoDecoder/info.js
|
95240
95391
|
var import_FaFileVideo = __toESM(require_FaFileVideo());
|
95241
|
-
function
|
95392
|
+
function info_default38({ defineComponent }) {
|
95242
95393
|
return defineComponent({
|
95243
95394
|
identifier: "processor.videoDecoder",
|
95244
95395
|
category: "processor",
|
@@ -95291,7 +95442,7 @@ var import_config9 = __toESM(require_config());
|
|
95291
95442
|
var import_util10 = __toESM(require_util());
|
95292
95443
|
|
95293
95444
|
// build/processor.webRtcDuplex/fullscreen.js
|
95294
|
-
var
|
95445
|
+
var import_jsx_runtime50 = __toESM(require_jsx_runtime());
|
95295
95446
|
var import_react16 = __toESM(require_react());
|
95296
95447
|
var import_webrtc_client2 = __toESM(require_webrtc_client());
|
95297
95448
|
var DuplexWhepClient = class extends NorskWhepClient {
|
@@ -95364,11 +95515,11 @@ function FullscreenView2({ state, config }) {
|
|
95364
95515
|
}
|
95365
95516
|
}
|
95366
95517
|
}, [state.publishUrl, state.outputUrl, container, button, client, sender, config, state.videoAvailable]);
|
95367
|
-
return (0,
|
95518
|
+
return (0, import_jsx_runtime50.jsxs)("div", { children: [(0, import_jsx_runtime50.jsx)("div", { id: "buttons", children: (0, import_jsx_runtime50.jsx)("button", { ref: button, type: "button", className: "text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 mr-2 mb-2 dark:bg-blue-600 dark:hover:bg-blue-700 focus:outline-none dark:focus:ring-blue-800", onClick: () => void go(), id: "go", children: "Send/Receive" }) }), (0, import_jsx_runtime50.jsx)("div", { id: "error" }), (0, import_jsx_runtime50.jsx)("div", { id: "container", ref: container, className: "p-4 absolute h-full w-full" })] });
|
95368
95519
|
}
|
95369
95520
|
|
95370
95521
|
// build/processor.webRtcDuplex/info.js
|
95371
|
-
function
|
95522
|
+
function info_default39(R) {
|
95372
95523
|
const { defineComponent } = R;
|
95373
95524
|
return defineComponent({
|
95374
95525
|
identifier: "processor.webrtcDuplex",
|
@@ -95447,7 +95598,7 @@ function info_default38(R) {
|
|
95447
95598
|
|
95448
95599
|
// build/processor.zoomTo/info.js
|
95449
95600
|
var import_config10 = __toESM(require_config());
|
95450
|
-
function
|
95601
|
+
function info_default40({ defineComponent, validation: { Z } }) {
|
95451
95602
|
return defineComponent({
|
95452
95603
|
identifier: "processor.zoomTo",
|
95453
95604
|
name: "Zoom To",
|
@@ -95524,7 +95675,7 @@ function info_default39({ defineComponent, validation: { Z } }) {
|
|
95524
95675
|
inputVideoAspectRatio: ev.inputVideoAspectRatio
|
95525
95676
|
};
|
95526
95677
|
default:
|
95527
|
-
|
95678
|
+
assertUnreachable27(evType);
|
95528
95679
|
}
|
95529
95680
|
}
|
95530
95681
|
},
|
@@ -95613,12 +95764,12 @@ function info_default39({ defineComponent, validation: { Z } }) {
|
|
95613
95764
|
}
|
95614
95765
|
});
|
95615
95766
|
}
|
95616
|
-
function
|
95767
|
+
function assertUnreachable27(_) {
|
95617
95768
|
throw new Error("Didn't expect to get here");
|
95618
95769
|
}
|
95619
95770
|
|
95620
95771
|
// build/util.stats.latency/inline-view.js
|
95621
|
-
var
|
95772
|
+
var import_jsx_runtime51 = __toESM(require_jsx_runtime());
|
95622
95773
|
var import_react17 = __toESM(require_react());
|
95623
95774
|
|
95624
95775
|
// ../../node_modules/chart.js/auto/auto.js
|
@@ -95626,7 +95777,7 @@ Chart.register(...registerables);
|
|
95626
95777
|
var auto_default = Chart;
|
95627
95778
|
|
95628
95779
|
// build/util.stats.latency/inline-view.js
|
95629
|
-
function
|
95780
|
+
function InlineView20({ state, config: _2 }) {
|
95630
95781
|
const chartContainer = (0, import_react17.useRef)(null);
|
95631
95782
|
const [chartControl, setChartControl] = (0, import_react17.useState)(void 0);
|
95632
95783
|
function makeDataSet(key, color2, values) {
|
@@ -95688,19 +95839,19 @@ function InlineView19({ state, config: _2 }) {
|
|
95688
95839
|
return;
|
95689
95840
|
chartControl.data = makeData(state);
|
95690
95841
|
}, [chartControl, makeData, state]);
|
95691
|
-
return (0,
|
95842
|
+
return (0, import_jsx_runtime51.jsx)("div", { className: "bg-gray-50 dark:bg-gray-700 rounded", style: { width: "360px", height: "200px", padding: "10px" }, children: (0, import_jsx_runtime51.jsx)("canvas", { className: "bg-gray-50 dark:bg-gray-700 rounded", ref: chartContainer }) });
|
95692
95843
|
}
|
95693
|
-
var
|
95844
|
+
var inline_view_default20 = InlineView20;
|
95694
95845
|
|
95695
95846
|
// build/util.stats.latency/source-node-selection.js
|
95696
|
-
var
|
95847
|
+
var import_jsx_runtime52 = __toESM(require_jsx_runtime());
|
95697
95848
|
function SourceNodeSelection(props) {
|
95698
|
-
return (0,
|
95849
|
+
return (0, import_jsx_runtime52.jsx)("div", { children: (0, import_jsx_runtime52.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime52.jsx)("option", { value: "", children: "---" }, "empty"), Object.values(props.latestDocument.components).map((o, i) => {
|
95699
95850
|
if (o.id == props.id)
|
95700
|
-
return (0,
|
95851
|
+
return (0, import_jsx_runtime52.jsx)(import_jsx_runtime52.Fragment, {});
|
95701
95852
|
if (o.info.category === "output")
|
95702
95853
|
return;
|
95703
|
-
return (0,
|
95854
|
+
return (0, import_jsx_runtime52.jsx)("option", { value: o.id, children: o.config.displayName }, i);
|
95704
95855
|
})] }) });
|
95705
95856
|
function myOnChange(e) {
|
95706
95857
|
props.onChanged(e.target.value);
|
@@ -95710,7 +95861,7 @@ var source_node_selection_default = SourceNodeSelection;
|
|
95710
95861
|
|
95711
95862
|
// build/util.stats.latency/info.js
|
95712
95863
|
var import_FaClock = __toESM(require_FaClock());
|
95713
|
-
function
|
95864
|
+
function info_default41(R) {
|
95714
95865
|
const { defineComponent } = R;
|
95715
95866
|
return defineComponent({
|
95716
95867
|
identifier: "util.stats.latency",
|
@@ -95740,11 +95891,11 @@ function info_default40(R) {
|
|
95740
95891
|
break;
|
95741
95892
|
}
|
95742
95893
|
default:
|
95743
|
-
|
95894
|
+
assertUnreachable28(evType);
|
95744
95895
|
}
|
95745
95896
|
return { ...state };
|
95746
95897
|
},
|
95747
|
-
inline:
|
95898
|
+
inline: inline_view_default20
|
95748
95899
|
},
|
95749
95900
|
configForm: {
|
95750
95901
|
form: {
|
@@ -95795,7 +95946,7 @@ function info_default40(R) {
|
|
95795
95946
|
}
|
95796
95947
|
});
|
95797
95948
|
}
|
95798
|
-
function
|
95949
|
+
function assertUnreachable28(_) {
|
95799
95950
|
throw new Error("Didn't expect to get here");
|
95800
95951
|
}
|
95801
95952
|
|
@@ -95824,11 +95975,11 @@ AllComponents.push((r) => info_default8(r));
|
|
95824
95975
|
AllComponents.push((r) => info_default9(r));
|
95825
95976
|
AllComponents.push((r) => info_default10(r));
|
95826
95977
|
AllComponents.push((r) => info_default11(r));
|
95827
|
-
AllComponents.push((r) =>
|
95978
|
+
AllComponents.push((r) => info_default12(r));
|
95828
95979
|
AllComponents.push((r) => info_default14(r));
|
95829
95980
|
AllComponents.push((r) => info_default15(r));
|
95830
|
-
AllComponents.push((r) => info_default12(r));
|
95831
95981
|
AllComponents.push((r) => info_default16(r));
|
95982
|
+
AllComponents.push((r) => info_default13(r));
|
95832
95983
|
AllComponents.push((r) => info_default17(r));
|
95833
95984
|
AllComponents.push((r) => info_default18(r));
|
95834
95985
|
AllComponents.push((r) => info_default19(r));
|
@@ -95853,6 +96004,7 @@ AllComponents.push((r) => info_default37(r));
|
|
95853
96004
|
AllComponents.push((r) => info_default38(r));
|
95854
96005
|
AllComponents.push((r) => info_default39(r));
|
95855
96006
|
AllComponents.push((r) => info_default40(r));
|
96007
|
+
AllComponents.push((r) => info_default41(r));
|
95856
96008
|
export {
|
95857
96009
|
getNodeInfo as default
|
95858
96010
|
};
|