@norskvideo/norsk-studio-built-ins 1.27.0-2025-07-09-1c530503 → 1.27.0-2025-07-10-5b6e3f99
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 +654 -478
- package/client/style.css +29 -0
- package/lib/info.js +42 -40
- package/lib/info.js.map +1 -1
- package/lib/input.file/info.d.ts +50 -0
- package/lib/input.file/info.js +141 -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 +70 -0
- package/lib/input.file/runtime.js +227 -0
- package/lib/input.file/runtime.js.map +1 -0
- package/lib/input.file/types.d.ts +243 -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 +247 -0
- package/lib/input.file/types.yaml +324 -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/processor.fixedLadder/info.js +8 -0
- package/lib/processor.fixedLadder/info.js.map +1 -1
- package/lib/test/file-input.d.ts +1 -0
- package/lib/test/file-input.js +444 -0
- package/lib/test/file-input.js.map +1 -0
- package/package.json +3 -3
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,180 @@ 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.isLooping && (0, import_jsx_runtime.jsx)("span", { className: "ml-2 text-xs text-blue-600 dark:text-blue-400", children: "(Looping)" })] }), 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
|
+
isLooping: false
|
70205
|
+
}),
|
70206
|
+
handleEvent(ev, state) {
|
70207
|
+
const evType = ev.type;
|
70208
|
+
switch (evType) {
|
70209
|
+
case "playback-started":
|
70210
|
+
return {
|
70211
|
+
...state,
|
70212
|
+
status: "playing",
|
70213
|
+
currentFile: ev.filePath,
|
70214
|
+
error: null,
|
70215
|
+
isLooping: ev.isLooping
|
70216
|
+
};
|
70217
|
+
case "playback-completed":
|
70218
|
+
return {
|
70219
|
+
...state,
|
70220
|
+
status: "idle",
|
70221
|
+
currentFile: null,
|
70222
|
+
error: null
|
70223
|
+
};
|
70224
|
+
case "playback-stopped":
|
70225
|
+
return {
|
70226
|
+
...state,
|
70227
|
+
status: "idle",
|
70228
|
+
currentFile: null,
|
70229
|
+
error: null
|
70230
|
+
};
|
70231
|
+
case "playback-error":
|
70232
|
+
return {
|
70233
|
+
...state,
|
70234
|
+
status: "error",
|
70235
|
+
error: ev.error
|
70236
|
+
};
|
70237
|
+
default:
|
70238
|
+
assertUnreachable(evType);
|
70239
|
+
}
|
70240
|
+
},
|
70241
|
+
inline: inline_view_default
|
70242
|
+
},
|
70243
|
+
configForm: {
|
70244
|
+
form: {
|
70245
|
+
sourceName: {
|
70246
|
+
help: "Source name for the output streams",
|
70247
|
+
hint: {
|
70248
|
+
type: "text",
|
70249
|
+
validation: SourceName,
|
70250
|
+
defaultValue: "file-source"
|
70251
|
+
}
|
70252
|
+
},
|
70253
|
+
streamMappings: StreamMappingForm(defaultStreamMapping, {
|
70254
|
+
sourceNames: (cfg) => [cfg.sourceName ?? "file-source"]
|
70255
|
+
}),
|
70256
|
+
notes: {
|
70257
|
+
help: "Additional notes about this component",
|
70258
|
+
hint: {
|
70259
|
+
type: "text",
|
70260
|
+
optional: true
|
70261
|
+
}
|
70262
|
+
},
|
70263
|
+
initialFilename: {
|
70264
|
+
help: "File to start playing automatically on component startup",
|
70265
|
+
hint: {
|
70266
|
+
type: "text",
|
70267
|
+
optional: true
|
70268
|
+
}
|
70269
|
+
},
|
70270
|
+
initialLoop: {
|
70271
|
+
help: "Whether to loop the initial file continuously",
|
70272
|
+
hint: {
|
70273
|
+
type: "boolean",
|
70274
|
+
optional: true
|
70275
|
+
}
|
70276
|
+
}
|
70277
|
+
}
|
70278
|
+
}
|
70279
|
+
});
|
70280
|
+
}
|
70281
|
+
function assertUnreachable(_) {
|
70282
|
+
throw new Error("Didn't expect to get here");
|
70283
|
+
}
|
70284
|
+
|
70285
|
+
// build/input.rtmp/inline-view.js
|
70286
|
+
var import_jsx_runtime2 = __toESM(require_jsx_runtime());
|
70287
|
+
function InlineView2({ state, config }) {
|
70121
70288
|
const maxSourceNum = 4;
|
70122
70289
|
const sourcesToRender = state.connectedStreams.slice(0, maxSourceNum);
|
70123
70290
|
if (state.connectedStreams.length > maxSourceNum) {
|
70124
70291
|
sourcesToRender.push("...");
|
70125
70292
|
}
|
70126
|
-
const connectedSources = (0,
|
70127
|
-
return (0,
|
70293
|
+
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) => {
|
70294
|
+
return (0, import_jsx_runtime2.jsx)("li", { className: "text-green-300", children: sourceName }, sourceName);
|
70128
70295
|
}) })] });
|
70129
|
-
return (0,
|
70296
|
+
return (0, import_jsx_runtime2.jsx)("div", { className: "rtmp-input", id: `rtmp-input-${config.id}`, children: connectedSources });
|
70130
70297
|
}
|
70131
|
-
var
|
70298
|
+
var inline_view_default2 = InlineView2;
|
70132
70299
|
|
70133
70300
|
// build/input.rtmp/summary-view.js
|
70134
|
-
var
|
70301
|
+
var import_jsx_runtime3 = __toESM(require_jsx_runtime());
|
70135
70302
|
function SummaryView({ state, config, sendCommand }) {
|
70136
70303
|
const connectedSources = [];
|
70137
70304
|
const disconnectedSources = [];
|
@@ -70181,10 +70348,10 @@ function SummaryView({ state, config, sendCommand }) {
|
|
70181
70348
|
disconnectedSources.push(streamName);
|
70182
70349
|
}
|
70183
70350
|
});
|
70184
|
-
return (0,
|
70185
|
-
return (0,
|
70186
|
-
}) })] }), (0,
|
70187
|
-
return (0,
|
70351
|
+
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) => {
|
70352
|
+
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);
|
70353
|
+
}) })] }), (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) => {
|
70354
|
+
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
70355
|
}) })] })] });
|
70189
70356
|
}
|
70190
70357
|
var summary_view_default = SummaryView;
|
@@ -70192,7 +70359,7 @@ var summary_view_default = SummaryView;
|
|
70192
70359
|
// build/input.rtmp/info.js
|
70193
70360
|
var import_FaVideo = __toESM(require_FaVideo());
|
70194
70361
|
var defaultPort = 1935;
|
70195
|
-
function
|
70362
|
+
function defaultStreamMapping2(cfg) {
|
70196
70363
|
return {
|
70197
70364
|
streams: cfg.streamNames?.flatMap((s) => [{
|
70198
70365
|
media: "video",
|
@@ -70221,7 +70388,7 @@ function defaultStreamMapping(cfg) {
|
|
70221
70388
|
}]) ?? []
|
70222
70389
|
};
|
70223
70390
|
}
|
70224
|
-
function
|
70391
|
+
function info_default2({ defineComponent, mappingsToStreams, StreamMappingForm, validation: { Z, Port, SourceName, unique } }) {
|
70225
70392
|
return defineComponent({
|
70226
70393
|
identifier: "input.rtmp",
|
70227
70394
|
category: "input",
|
@@ -70233,7 +70400,7 @@ function info_default({ defineComponent, mappingsToStreams, StreamMappingForm, v
|
|
70233
70400
|
produces: {
|
70234
70401
|
type: "dynamic-streams",
|
70235
70402
|
groupBy: "sourceName",
|
70236
|
-
streams: (cfg) => mappingsToStreams(cfg.streamMappings ??
|
70403
|
+
streams: (cfg) => mappingsToStreams(cfg.streamMappings ?? defaultStreamMapping2(cfg))
|
70237
70404
|
}
|
70238
70405
|
},
|
70239
70406
|
display: (desc) => {
|
@@ -70259,11 +70426,11 @@ function info_default({ defineComponent, mappingsToStreams, StreamMappingForm, v
|
|
70259
70426
|
state.disabledStreams.push(ev.streamName);
|
70260
70427
|
break;
|
70261
70428
|
default:
|
70262
|
-
|
70429
|
+
assertUnreachable2(evType);
|
70263
70430
|
}
|
70264
70431
|
return { ...state };
|
70265
70432
|
},
|
70266
|
-
inline:
|
70433
|
+
inline: inline_view_default2,
|
70267
70434
|
summary: summary_view_default
|
70268
70435
|
},
|
70269
70436
|
configForm: {
|
@@ -70281,7 +70448,7 @@ function info_default({ defineComponent, mappingsToStreams, StreamMappingForm, v
|
|
70281
70448
|
global: unique("sourceName")
|
70282
70449
|
}
|
70283
70450
|
},
|
70284
|
-
streamMappings: StreamMappingForm(
|
70451
|
+
streamMappings: StreamMappingForm(defaultStreamMapping2, {
|
70285
70452
|
sourceNames: (cfg) => cfg.streamNames ?? []
|
70286
70453
|
}),
|
70287
70454
|
initialState: {
|
@@ -70313,13 +70480,13 @@ function info_default({ defineComponent, mappingsToStreams, StreamMappingForm, v
|
|
70313
70480
|
}
|
70314
70481
|
});
|
70315
70482
|
}
|
70316
|
-
function
|
70483
|
+
function assertUnreachable2(_) {
|
70317
70484
|
throw new Error("Didn't expect to get here");
|
70318
70485
|
}
|
70319
70486
|
|
70320
70487
|
// build/input.silence/info.js
|
70321
70488
|
var import_FaVolumeMute = __toESM(require_FaVolumeMute());
|
70322
|
-
function
|
70489
|
+
function info_default3({ defineComponent }) {
|
70323
70490
|
return defineComponent({
|
70324
70491
|
identifier: "input.silence",
|
70325
70492
|
category: "input",
|
@@ -70427,23 +70594,23 @@ var srt_socket_options_default = result;
|
|
70427
70594
|
var import_util = __toESM(require_util());
|
70428
70595
|
|
70429
70596
|
// build/shared/srt-form-views.js
|
70430
|
-
var
|
70597
|
+
var import_jsx_runtime4 = __toESM(require_jsx_runtime());
|
70431
70598
|
function SocketConfiguration(options) {
|
70432
70599
|
const show = (n) => n !== void 0 && !Number.isNaN(n) ? n.toString() : "";
|
70433
|
-
return (0,
|
70600
|
+
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
70601
|
}
|
70435
70602
|
|
70436
70603
|
// build/input.srt-caller/info.js
|
70437
70604
|
var import_FaPhone = __toESM(require_FaPhone());
|
70438
70605
|
|
70439
70606
|
// build/shared/srt-caller-metrics.js
|
70440
|
-
var
|
70607
|
+
var import_jsx_runtime5 = __toESM(require_jsx_runtime());
|
70441
70608
|
function MetricsView({ state }) {
|
70442
|
-
return (0,
|
70609
|
+
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
70610
|
}
|
70444
70611
|
|
70445
70612
|
// build/shared/stream-statistics-view.js
|
70446
|
-
var
|
70613
|
+
var import_jsx_runtime6 = __toESM(require_jsx_runtime());
|
70447
70614
|
|
70448
70615
|
// ../../node_modules/react-chartjs-2/dist/index.js
|
70449
70616
|
var import_react = __toESM(require_react(), 1);
|
@@ -84977,7 +85144,7 @@ function MetricsView2({ metrics, config, global, charting }) {
|
|
84977
85144
|
}
|
84978
85145
|
};
|
84979
85146
|
if (!metrics[config.id])
|
84980
|
-
return (0,
|
85147
|
+
return (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: "Loading statistics.." });
|
84981
85148
|
const allBitrates = metrics[config.id].filter((v) => v.name == "norsk_measured_bitrate").sort((l, r) => displayStreamKey(l.streamKey).localeCompare(displayStreamKey(r.streamKey)));
|
84982
85149
|
const createInitialDataset = (label, color2, initialValue) => ({
|
84983
85150
|
label,
|
@@ -85005,18 +85172,18 @@ function MetricsView2({ metrics, config, global, charting }) {
|
|
85005
85172
|
};
|
85006
85173
|
});
|
85007
85174
|
});
|
85008
|
-
return (0,
|
85175
|
+
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
85176
|
}
|
85010
85177
|
|
85011
85178
|
// build/input.srt-caller/inline-view.js
|
85012
|
-
var
|
85013
|
-
function
|
85014
|
-
return (0,
|
85179
|
+
var import_jsx_runtime7 = __toESM(require_jsx_runtime());
|
85180
|
+
function InlineView3({ state }) {
|
85181
|
+
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
85182
|
}
|
85016
|
-
var
|
85183
|
+
var inline_view_default3 = InlineView3;
|
85017
85184
|
|
85018
85185
|
// build/input.srt-caller/info.js
|
85019
|
-
function
|
85186
|
+
function info_default4({ defineComponent, singleAvStreamMapping, singleAvStreamMappingForm, mappingsToStreams, validation }) {
|
85020
85187
|
const { Port, Hostname: Hostname2, SrtPassphrase, SrtStreamId } = validation;
|
85021
85188
|
return defineComponent({
|
85022
85189
|
identifier: "input.srt-caller",
|
@@ -85052,7 +85219,7 @@ function info_default3({ defineComponent, singleAvStreamMapping, singleAvStreamM
|
|
85052
85219
|
}
|
85053
85220
|
return { ...state };
|
85054
85221
|
},
|
85055
|
-
inline:
|
85222
|
+
inline: inline_view_default3,
|
85056
85223
|
metrics: [
|
85057
85224
|
{
|
85058
85225
|
title: "SRT Transmission",
|
@@ -85098,22 +85265,22 @@ function info_default3({ defineComponent, singleAvStreamMapping, singleAvStreamM
|
|
85098
85265
|
}
|
85099
85266
|
|
85100
85267
|
// build/input.srt-listener/inline-view.js
|
85101
|
-
var
|
85102
|
-
function
|
85268
|
+
var import_jsx_runtime8 = __toESM(require_jsx_runtime());
|
85269
|
+
function InlineView4({ state, config }) {
|
85103
85270
|
const maxSourceNum = 4;
|
85104
85271
|
const sourcesToRender = state.connectedStreams.slice(0, maxSourceNum);
|
85105
85272
|
if (state.connectedStreams.length > maxSourceNum) {
|
85106
85273
|
sourcesToRender.push("...");
|
85107
85274
|
}
|
85108
|
-
const connectedSources = (0,
|
85109
|
-
return (0,
|
85275
|
+
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) => {
|
85276
|
+
return (0, import_jsx_runtime8.jsx)("li", { className: "text-green-300", children: sourceName }, sourceName);
|
85110
85277
|
}) })] });
|
85111
|
-
return (0,
|
85278
|
+
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
85279
|
}
|
85113
|
-
var
|
85280
|
+
var inline_view_default4 = InlineView4;
|
85114
85281
|
|
85115
85282
|
// build/input.srt-listener/summary-view.js
|
85116
|
-
var
|
85283
|
+
var import_jsx_runtime9 = __toESM(require_jsx_runtime());
|
85117
85284
|
function SummaryView2({ state, config, sendCommand }) {
|
85118
85285
|
const connectedSources = [];
|
85119
85286
|
const disconnectedSources = [];
|
@@ -85163,7 +85330,7 @@ function SummaryView2({ state, config, sendCommand }) {
|
|
85163
85330
|
disconnectedSources.push(streamId);
|
85164
85331
|
}
|
85165
85332
|
});
|
85166
|
-
return (0,
|
85333
|
+
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
85334
|
}
|
85168
85335
|
var summary_view_default2 = SummaryView2;
|
85169
85336
|
|
@@ -85171,15 +85338,15 @@ var summary_view_default2 = SummaryView2;
|
|
85171
85338
|
var import_FaHeadphones = __toESM(require_FaHeadphones());
|
85172
85339
|
|
85173
85340
|
// build/shared/srt-listener-metrics.js
|
85174
|
-
var
|
85341
|
+
var import_jsx_runtime10 = __toESM(require_jsx_runtime());
|
85175
85342
|
function MetricsView3({ state }) {
|
85176
|
-
return (0,
|
85177
|
-
return (0,
|
85178
|
-
}) }) }) : (0,
|
85343
|
+
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) => {
|
85344
|
+
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);
|
85345
|
+
}) }) }) : (0, import_jsx_runtime10.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Component disabled" })] });
|
85179
85346
|
}
|
85180
85347
|
|
85181
85348
|
// build/input.srt-listener/info.js
|
85182
|
-
function
|
85349
|
+
function defaultStreamMapping3(cfg) {
|
85183
85350
|
return {
|
85184
85351
|
streams: cfg.streamIds?.flatMap((s) => [{
|
85185
85352
|
media: "video",
|
@@ -85208,7 +85375,7 @@ function defaultStreamMapping2(cfg) {
|
|
85208
85375
|
}]) ?? []
|
85209
85376
|
};
|
85210
85377
|
}
|
85211
|
-
function
|
85378
|
+
function info_default5({ defineComponent, mappingsToStreams, StreamMappingForm, validation }) {
|
85212
85379
|
const { Z, Port, Hostname: Hostname2, SourceName, SrtPassphrase, unique } = validation;
|
85213
85380
|
return defineComponent({
|
85214
85381
|
identifier: "input.srt-listener",
|
@@ -85221,7 +85388,7 @@ function info_default4({ defineComponent, mappingsToStreams, StreamMappingForm,
|
|
85221
85388
|
produces: {
|
85222
85389
|
type: "dynamic-streams",
|
85223
85390
|
groupBy: "sourceName",
|
85224
|
-
streams: (cfg) => mappingsToStreams(cfg.streamMappings ??
|
85391
|
+
streams: (cfg) => mappingsToStreams(cfg.streamMappings ?? defaultStreamMapping3(cfg))
|
85225
85392
|
}
|
85226
85393
|
},
|
85227
85394
|
display: (desc) => {
|
@@ -85265,11 +85432,11 @@ function info_default4({ defineComponent, mappingsToStreams, StreamMappingForm,
|
|
85265
85432
|
state.metrics = ev.metrics;
|
85266
85433
|
break;
|
85267
85434
|
default:
|
85268
|
-
|
85435
|
+
assertUnreachable4(evType);
|
85269
85436
|
}
|
85270
85437
|
return { ...state };
|
85271
85438
|
},
|
85272
|
-
inline:
|
85439
|
+
inline: inline_view_default4,
|
85273
85440
|
summary: summary_view_default2,
|
85274
85441
|
metrics: [
|
85275
85442
|
{ title: "SRT Transmission", view: MetricsView3 },
|
@@ -85337,7 +85504,7 @@ function info_default4({ defineComponent, mappingsToStreams, StreamMappingForm,
|
|
85337
85504
|
global: unique("sourceName")
|
85338
85505
|
}
|
85339
85506
|
},
|
85340
|
-
streamMappings: StreamMappingForm(
|
85507
|
+
streamMappings: StreamMappingForm(defaultStreamMapping3, {
|
85341
85508
|
sourceNames: (cfg) => cfg.streamIds ?? []
|
85342
85509
|
}),
|
85343
85510
|
notes: {
|
@@ -85351,13 +85518,13 @@ function info_default4({ defineComponent, mappingsToStreams, StreamMappingForm,
|
|
85351
85518
|
}
|
85352
85519
|
});
|
85353
85520
|
}
|
85354
|
-
function
|
85521
|
+
function assertUnreachable4(_) {
|
85355
85522
|
throw new Error("Didn't expect to get here");
|
85356
85523
|
}
|
85357
85524
|
|
85358
85525
|
// build/input.udp-ts/info.js
|
85359
85526
|
var import_FaNetworkWired = __toESM(require_FaNetworkWired());
|
85360
|
-
function
|
85527
|
+
function info_default6({ defineComponent, singleAvStreamMapping, singleAvStreamMappingForm, mappingsToStreams, validation: { Z, Port, Hostname: Hostname2, unique } }) {
|
85361
85528
|
return defineComponent({
|
85362
85529
|
identifier: "input.udp-ts",
|
85363
85530
|
category: "input",
|
@@ -85393,7 +85560,7 @@ function info_default5({ defineComponent, singleAvStreamMapping, singleAvStreamM
|
|
85393
85560
|
|
85394
85561
|
// build/input.videoTestCard/info.js
|
85395
85562
|
var import_FaTv = __toESM(require_FaTv());
|
85396
|
-
function
|
85563
|
+
function info_default7({ defineComponent, common: { Resolutions, FrameRates } }) {
|
85397
85564
|
return defineComponent({
|
85398
85565
|
identifier: "input.videoTestCard",
|
85399
85566
|
category: "input",
|
@@ -85454,21 +85621,21 @@ var import_util2 = __toESM(require_util());
|
|
85454
85621
|
var import_FaCloudUploadAlt = __toESM(require_FaCloudUploadAlt());
|
85455
85622
|
|
85456
85623
|
// build/input.whip/inline-view.js
|
85457
|
-
var
|
85624
|
+
var import_jsx_runtime11 = __toESM(require_jsx_runtime());
|
85458
85625
|
var import_react2 = __toESM(require_react());
|
85459
|
-
function
|
85626
|
+
function InlineView5({ state, raise }) {
|
85460
85627
|
(0, import_react2.useEffect)(() => {
|
85461
85628
|
if (raise) {
|
85462
85629
|
raise();
|
85463
85630
|
}
|
85464
85631
|
}, [raise]);
|
85465
|
-
return (0,
|
85632
|
+
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
85633
|
}
|
85467
|
-
var
|
85634
|
+
var inline_view_default5 = InlineView5;
|
85468
85635
|
|
85469
85636
|
// build/input.whip/info.js
|
85470
85637
|
var import_config = __toESM(require_config());
|
85471
|
-
function
|
85638
|
+
function info_default8({ defineComponent, singleAvStreamMapping, singleAvStreamMappingForm, mappingsToStreams, validation }) {
|
85472
85639
|
return defineComponent({
|
85473
85640
|
identifier: "input.whip",
|
85474
85641
|
category: "input",
|
@@ -85518,7 +85685,7 @@ function info_default7({ defineComponent, singleAvStreamMapping, singleAvStreamM
|
|
85518
85685
|
}
|
85519
85686
|
return { ...state };
|
85520
85687
|
},
|
85521
|
-
inline:
|
85688
|
+
inline: inline_view_default5,
|
85522
85689
|
metrics: [
|
85523
85690
|
{
|
85524
85691
|
title: "Stream Statistics",
|
@@ -85569,7 +85736,7 @@ function info_default7({ defineComponent, singleAvStreamMapping, singleAvStreamM
|
|
85569
85736
|
var import_config2 = __toESM(require_config());
|
85570
85737
|
|
85571
85738
|
// build/output.autoCmaf/summary-view.js
|
85572
|
-
var
|
85739
|
+
var import_jsx_runtime12 = __toESM(require_jsx_runtime());
|
85573
85740
|
function SummaryView3({ state, sendCommand }) {
|
85574
85741
|
const handleEnableOutput = () => {
|
85575
85742
|
void enableOutput();
|
@@ -85587,12 +85754,12 @@ function SummaryView3({ state, sendCommand }) {
|
|
85587
85754
|
type: "disable-output"
|
85588
85755
|
});
|
85589
85756
|
};
|
85590
|
-
return (0,
|
85757
|
+
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
85758
|
}
|
85592
85759
|
var summary_view_default3 = SummaryView3;
|
85593
85760
|
|
85594
85761
|
// build/output.autoCmaf/fullscreen.js
|
85595
|
-
var
|
85762
|
+
var import_jsx_runtime13 = __toESM(require_jsx_runtime());
|
85596
85763
|
var import_react3 = __toESM(require_react());
|
85597
85764
|
var import_hls = __toESM(require_hls());
|
85598
85765
|
function FullscreenView({ state, config }) {
|
@@ -85654,20 +85821,20 @@ function FullscreenView({ state, config }) {
|
|
85654
85821
|
} else if (element.canPlayType("application/vnd.apple.mpegurl")) {
|
85655
85822
|
element.src = url;
|
85656
85823
|
}
|
85657
|
-
}, [id, url]);
|
85824
|
+
}, [config.__global?.ezdrmConfig?.pX, config.drmProvider, id, state.drmToken, url]);
|
85658
85825
|
if (!url)
|
85659
|
-
return (0,
|
85826
|
+
return (0, import_jsx_runtime13.jsx)(import_jsx_runtime13.Fragment, { children: "..." });
|
85660
85827
|
{
|
85661
85828
|
}
|
85662
|
-
return (0,
|
85829
|
+
return (0, import_jsx_runtime13.jsx)("div", { children: (0, import_jsx_runtime13.jsx)("video", { controls: true, autoPlay: true, muted: true, id: `${id}-video` }) });
|
85663
85830
|
}
|
85664
85831
|
var fullscreen_default = FullscreenView;
|
85665
85832
|
|
85666
85833
|
// build/output.autoCmaf/inline-view.js
|
85667
|
-
var
|
85834
|
+
var import_jsx_runtime14 = __toESM(require_jsx_runtime());
|
85668
85835
|
var import_hls2 = __toESM(require_hls());
|
85669
85836
|
var import_react4 = __toESM(require_react());
|
85670
|
-
function
|
85837
|
+
function InlineView6({ state, config }) {
|
85671
85838
|
const url = state.url;
|
85672
85839
|
const id = config.id;
|
85673
85840
|
const previewVideo = (0, import_react4.useRef)(null);
|
@@ -85732,9 +85899,9 @@ function InlineView5({ state, config }) {
|
|
85732
85899
|
previewVideo.current.src = url;
|
85733
85900
|
}
|
85734
85901
|
}, [config.__global?.ezdrmConfig?.pX, config.drmProvider, state.drmToken, url, showPreview]);
|
85735
|
-
return (0,
|
85902
|
+
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
85903
|
}
|
85737
|
-
var
|
85904
|
+
var inline_view_default6 = InlineView6;
|
85738
85905
|
|
85739
85906
|
// build/output.autoCmaf/info.js
|
85740
85907
|
var import_FaCog = __toESM(require_FaCog());
|
@@ -85743,22 +85910,22 @@ var import_FaCog = __toESM(require_FaCog());
|
|
85743
85910
|
var import_client_types = __toESM(require_client_types());
|
85744
85911
|
|
85745
85912
|
// build/shared/playlist-form-views.js
|
85746
|
-
var
|
85913
|
+
var import_jsx_runtime15 = __toESM(require_jsx_runtime());
|
85747
85914
|
function Destination(destination) {
|
85748
85915
|
switch (destination.type) {
|
85749
85916
|
case "s3":
|
85750
|
-
return (0,
|
85917
|
+
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
85918
|
case "akamai":
|
85752
|
-
return (0,
|
85919
|
+
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
85920
|
default: {
|
85754
85921
|
const _ = destination;
|
85755
85922
|
console.log("Unreachable");
|
85756
|
-
return (0,
|
85923
|
+
return (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, {});
|
85757
85924
|
}
|
85758
85925
|
}
|
85759
85926
|
}
|
85760
85927
|
function SegmentConfiguration(cfg) {
|
85761
|
-
return (0,
|
85928
|
+
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
85929
|
}
|
85763
85930
|
|
85764
85931
|
// ../../node_modules/zod/lib/index.mjs
|
@@ -89969,7 +90136,7 @@ var DestinationsFormEntry = {
|
|
89969
90136
|
};
|
89970
90137
|
|
89971
90138
|
// build/output.autoCmaf/info.js
|
89972
|
-
function
|
90139
|
+
function info_default9(R) {
|
89973
90140
|
const { defineComponent, All, validation: { Z } } = R;
|
89974
90141
|
return defineComponent({
|
89975
90142
|
identifier: "output.autoCmaf",
|
@@ -90040,13 +90207,13 @@ function info_default8(R) {
|
|
90040
90207
|
state.enabled = false;
|
90041
90208
|
break;
|
90042
90209
|
default:
|
90043
|
-
|
90210
|
+
assertUnreachable6(evType);
|
90044
90211
|
}
|
90045
90212
|
return { ...state };
|
90046
90213
|
},
|
90047
90214
|
summary: summary_view_default3,
|
90048
90215
|
fullscreen: fullscreen_default,
|
90049
|
-
inline:
|
90216
|
+
inline: inline_view_default6
|
90050
90217
|
},
|
90051
90218
|
configForm: {
|
90052
90219
|
global: {
|
@@ -90172,14 +90339,14 @@ function info_default8(R) {
|
|
90172
90339
|
}
|
90173
90340
|
});
|
90174
90341
|
}
|
90175
|
-
function
|
90342
|
+
function assertUnreachable6(_) {
|
90176
90343
|
throw new Error("Didn't expect to get here");
|
90177
90344
|
}
|
90178
90345
|
|
90179
90346
|
// build/output.autoHls/info.js
|
90180
90347
|
var import_FaCogs = __toESM(require_FaCogs());
|
90181
|
-
function
|
90182
|
-
const autoCmaf =
|
90348
|
+
function info_default10(R) {
|
90349
|
+
const autoCmaf = info_default9(R);
|
90183
90350
|
const { drmProvider: _, ...NoCrypto } = autoCmaf.configForm.form;
|
90184
90351
|
return {
|
90185
90352
|
...autoCmaf,
|
@@ -90197,7 +90364,7 @@ function info_default9(R) {
|
|
90197
90364
|
// build/output.cmafMultiVariant/info.js
|
90198
90365
|
var import_util3 = __toESM(require_util());
|
90199
90366
|
var import_FaHeadphones2 = __toESM(require_FaHeadphones());
|
90200
|
-
function
|
90367
|
+
function info_default11(registration) {
|
90201
90368
|
const { defineComponent, validation } = registration;
|
90202
90369
|
const { Z } = validation;
|
90203
90370
|
return defineComponent({
|
@@ -90288,7 +90455,7 @@ function info_default10(registration) {
|
|
90288
90455
|
// build/output.cmafPlaylist/info.js
|
90289
90456
|
var import_util4 = __toESM(require_util());
|
90290
90457
|
var import_FaHeadphones3 = __toESM(require_FaHeadphones());
|
90291
|
-
function
|
90458
|
+
function info_default12(registration) {
|
90292
90459
|
const { defineComponent, validation } = registration;
|
90293
90460
|
const { Z } = validation;
|
90294
90461
|
return defineComponent({
|
@@ -90440,7 +90607,7 @@ function info_default11(registration) {
|
|
90440
90607
|
}
|
90441
90608
|
|
90442
90609
|
// build/output.rtmp/summary-view.js
|
90443
|
-
var
|
90610
|
+
var import_jsx_runtime16 = __toESM(require_jsx_runtime());
|
90444
90611
|
function SummaryView4({ state, sendCommand }) {
|
90445
90612
|
const handleEnableOutput = () => {
|
90446
90613
|
void enableOutput();
|
@@ -90458,36 +90625,36 @@ function SummaryView4({ state, sendCommand }) {
|
|
90458
90625
|
type: "disable-output"
|
90459
90626
|
});
|
90460
90627
|
};
|
90461
|
-
return (0,
|
90628
|
+
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
90629
|
}
|
90463
90630
|
var summary_view_default4 = SummaryView4;
|
90464
90631
|
|
90465
90632
|
// build/output.rtmp/inline-view.js
|
90466
|
-
var
|
90633
|
+
var import_jsx_runtime18 = __toESM(require_jsx_runtime());
|
90467
90634
|
|
90468
90635
|
// build/shared/jitter-buffer-inline.js
|
90469
|
-
var
|
90636
|
+
var import_jsx_runtime17 = __toESM(require_jsx_runtime());
|
90470
90637
|
function initialJitterBufferState() {
|
90471
90638
|
return { target: 0, value: 0, percentage: 0 };
|
90472
90639
|
}
|
90473
90640
|
function JitterBufferInline(jb) {
|
90474
|
-
return (0,
|
90641
|
+
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
90642
|
}
|
90476
90643
|
|
90477
90644
|
// build/output.rtmp/inline-view.js
|
90478
|
-
function
|
90645
|
+
function InlineView7({ state, config }) {
|
90479
90646
|
if (!state.enabled) {
|
90480
|
-
return (0,
|
90647
|
+
return (0, import_jsx_runtime18.jsx)("div", { className: "disabled text-gray-500 dark:text-gray-400", children: "Output disabled" });
|
90481
90648
|
}
|
90482
|
-
const connected = (0,
|
90483
|
-
const disconnected = (0,
|
90484
|
-
return (0,
|
90649
|
+
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 })] });
|
90650
|
+
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})` : ""] });
|
90651
|
+
return (0, import_jsx_runtime18.jsx)("div", { className: "rtmp-output", id: `rtmp-output-${config.id}`, children: state.connected ? connected : disconnected });
|
90485
90652
|
}
|
90486
|
-
var
|
90653
|
+
var inline_view_default7 = InlineView7;
|
90487
90654
|
|
90488
90655
|
// build/output.rtmp/info.js
|
90489
90656
|
var import_FaVideoSlash = __toESM(require_FaVideoSlash());
|
90490
|
-
function
|
90657
|
+
function info_default13(r) {
|
90491
90658
|
const { validation: { JitterBuffer, Z } } = r;
|
90492
90659
|
return defineRtmpOutputComponent(r, {
|
90493
90660
|
identifier: "output.rtmp",
|
@@ -90555,22 +90722,22 @@ function defineRtmpOutputComponent({ defineComponent }, settings) {
|
|
90555
90722
|
state.jitterBuffer = ev.buffer;
|
90556
90723
|
break;
|
90557
90724
|
default:
|
90558
|
-
|
90725
|
+
assertUnreachable9(evType);
|
90559
90726
|
}
|
90560
90727
|
return { ...state };
|
90561
90728
|
},
|
90562
|
-
inline:
|
90729
|
+
inline: inline_view_default7,
|
90563
90730
|
summary: summary_view_default4
|
90564
90731
|
}
|
90565
90732
|
});
|
90566
90733
|
}
|
90567
|
-
function
|
90734
|
+
function assertUnreachable9(_) {
|
90568
90735
|
throw new Error("Didn't expect to get here");
|
90569
90736
|
}
|
90570
90737
|
|
90571
90738
|
// build/output.facebook/info.js
|
90572
90739
|
var import_FaFacebook = __toESM(require_FaFacebook());
|
90573
|
-
function
|
90740
|
+
function info_default14(r) {
|
90574
90741
|
const { validation: { Z } } = r;
|
90575
90742
|
return defineRtmpOutputComponent(r, {
|
90576
90743
|
identifier: "output.Facebook",
|
@@ -90600,7 +90767,7 @@ function info_default13(r) {
|
|
90600
90767
|
|
90601
90768
|
// build/output.linkedin/info.js
|
90602
90769
|
var import_FaLinkedin = __toESM(require_FaLinkedin());
|
90603
|
-
function
|
90770
|
+
function info_default15(r) {
|
90604
90771
|
const { validation: { Z } } = r;
|
90605
90772
|
return defineRtmpOutputComponent(r, {
|
90606
90773
|
identifier: "output.LinkedIn",
|
@@ -90632,7 +90799,7 @@ function info_default14(r) {
|
|
90632
90799
|
var import_config3 = __toESM(require_config());
|
90633
90800
|
|
90634
90801
|
// build/output.preview/inline-view.js
|
90635
|
-
var
|
90802
|
+
var import_jsx_runtime19 = __toESM(require_jsx_runtime());
|
90636
90803
|
var import_react6 = __toESM(require_react());
|
90637
90804
|
|
90638
90805
|
// build/shared/whep.js
|
@@ -90680,7 +90847,7 @@ function createPlayerElement(stream, container) {
|
|
90680
90847
|
}
|
90681
90848
|
|
90682
90849
|
// build/output.preview/inline-view.js
|
90683
|
-
function
|
90850
|
+
function InlineView8({ state, config, raise }) {
|
90684
90851
|
const url = state.url;
|
90685
90852
|
const id = config.id;
|
90686
90853
|
const [showPreview, setShowPreview] = (0, import_react6.useState)(config.showPreview ?? true);
|
@@ -90745,7 +90912,7 @@ function InlineView7({ state, config, raise }) {
|
|
90745
90912
|
}, [config.showPreview]);
|
90746
90913
|
(0, import_react6.useEffect)(() => raise?.(), [raise]);
|
90747
90914
|
if (!url)
|
90748
|
-
return (0,
|
90915
|
+
return (0, import_jsx_runtime19.jsx)(import_jsx_runtime19.Fragment, { children: "..." });
|
90749
90916
|
function percentage(levels) {
|
90750
90917
|
if (!levels) {
|
90751
90918
|
return 0;
|
@@ -90755,13 +90922,13 @@ function InlineView7({ state, config, raise }) {
|
|
90755
90922
|
const snapped = Math.floor(capped * 10) * 10;
|
90756
90923
|
return Math.max(0, 100 - snapped);
|
90757
90924
|
}
|
90758
|
-
return (0,
|
90925
|
+
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
90926
|
}
|
90760
|
-
var
|
90927
|
+
var inline_view_default8 = InlineView8;
|
90761
90928
|
|
90762
90929
|
// build/output.preview/info.js
|
90763
90930
|
var import_FaEye = __toESM(require_FaEye());
|
90764
|
-
function
|
90931
|
+
function info_default16(R) {
|
90765
90932
|
const { defineComponent, validation: { JitterBuffer } } = R;
|
90766
90933
|
return defineComponent({
|
90767
90934
|
identifier: "output.preview",
|
@@ -90800,11 +90967,11 @@ function info_default15(R) {
|
|
90800
90967
|
state = {};
|
90801
90968
|
break;
|
90802
90969
|
default:
|
90803
|
-
|
90970
|
+
assertUnreachable10(evType);
|
90804
90971
|
}
|
90805
90972
|
return { ...state };
|
90806
90973
|
},
|
90807
|
-
inline:
|
90974
|
+
inline: inline_view_default8
|
90808
90975
|
},
|
90809
90976
|
configForm: {
|
90810
90977
|
global: {
|
@@ -90834,7 +91001,7 @@ function info_default15(R) {
|
|
90834
91001
|
}
|
90835
91002
|
});
|
90836
91003
|
}
|
90837
|
-
function
|
91004
|
+
function assertUnreachable10(_) {
|
90838
91005
|
throw new Error("Didn't expect to get here");
|
90839
91006
|
}
|
90840
91007
|
|
@@ -90842,7 +91009,7 @@ function assertUnreachable9(_) {
|
|
90842
91009
|
var import_util5 = __toESM(require_util());
|
90843
91010
|
|
90844
91011
|
// build/output.srt-caller/summary-view.js
|
90845
|
-
var
|
91012
|
+
var import_jsx_runtime20 = __toESM(require_jsx_runtime());
|
90846
91013
|
function SummaryView5({ state, sendCommand }) {
|
90847
91014
|
const handleEnableOutput = () => {
|
90848
91015
|
void enableOutput();
|
@@ -90860,20 +91027,20 @@ function SummaryView5({ state, sendCommand }) {
|
|
90860
91027
|
type: "disable-output"
|
90861
91028
|
});
|
90862
91029
|
};
|
90863
|
-
return (0,
|
91030
|
+
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
91031
|
}
|
90865
91032
|
var summary_view_default5 = SummaryView5;
|
90866
91033
|
|
90867
91034
|
// build/output.srt-caller/inline-view.js
|
90868
|
-
var
|
90869
|
-
function
|
90870
|
-
return (0,
|
91035
|
+
var import_jsx_runtime21 = __toESM(require_jsx_runtime());
|
91036
|
+
function InlineView9({ state }) {
|
91037
|
+
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
91038
|
}
|
90872
|
-
var
|
91039
|
+
var inline_view_default9 = InlineView9;
|
90873
91040
|
|
90874
91041
|
// build/output.srt-caller/info.js
|
90875
91042
|
var import_FaHeadphones4 = __toESM(require_FaHeadphones());
|
90876
|
-
function
|
91043
|
+
function info_default17(registration) {
|
90877
91044
|
const { defineComponent, All, validation } = registration;
|
90878
91045
|
const { Port, Hostname: Hostname2, JitterBuffer, SrtPassphrase, SrtStreamId } = validation;
|
90879
91046
|
return defineComponent({
|
@@ -90929,7 +91096,7 @@ function info_default16(registration) {
|
|
90929
91096
|
return { ...state };
|
90930
91097
|
},
|
90931
91098
|
summary: summary_view_default5,
|
90932
|
-
inline:
|
91099
|
+
inline: inline_view_default9,
|
90933
91100
|
metrics: [
|
90934
91101
|
{
|
90935
91102
|
title: "SRT Transmission",
|
@@ -90974,7 +91141,7 @@ function info_default16(registration) {
|
|
90974
91141
|
var import_util6 = __toESM(require_util());
|
90975
91142
|
|
90976
91143
|
// build/output.srt-listener/summary-view.js
|
90977
|
-
var
|
91144
|
+
var import_jsx_runtime22 = __toESM(require_jsx_runtime());
|
90978
91145
|
function SummaryView6({ state, sendCommand }) {
|
90979
91146
|
const handleEnableOutput = () => {
|
90980
91147
|
void enableOutput();
|
@@ -90992,19 +91159,19 @@ function SummaryView6({ state, sendCommand }) {
|
|
90992
91159
|
type: "disable-output"
|
90993
91160
|
});
|
90994
91161
|
};
|
90995
|
-
return (0,
|
91162
|
+
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
91163
|
}
|
90997
91164
|
var summary_view_default6 = SummaryView6;
|
90998
91165
|
|
90999
91166
|
// build/output.srt-listener/inline-view.js
|
91000
|
-
var
|
91001
|
-
function
|
91002
|
-
return (0,
|
91167
|
+
var import_jsx_runtime23 = __toESM(require_jsx_runtime());
|
91168
|
+
function InlineView10({ state }) {
|
91169
|
+
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
91170
|
}
|
91004
|
-
var
|
91171
|
+
var inline_view_default10 = InlineView10;
|
91005
91172
|
|
91006
91173
|
// build/output.srt-listener/info.js
|
91007
|
-
function
|
91174
|
+
function info_default18(registration) {
|
91008
91175
|
const { defineComponent, All, validation } = registration;
|
91009
91176
|
const { Port, Hostname: Hostname2, JitterBuffer, SrtPassphrase, SrtStreamId } = validation;
|
91010
91177
|
return defineComponent({
|
@@ -91059,7 +91226,7 @@ function info_default17(registration) {
|
|
91059
91226
|
return { ...state };
|
91060
91227
|
},
|
91061
91228
|
summary: summary_view_default6,
|
91062
|
-
inline:
|
91229
|
+
inline: inline_view_default10,
|
91063
91230
|
metrics: [
|
91064
91231
|
{ title: "SRT Transmission", view: MetricsView3 }
|
91065
91232
|
]
|
@@ -91101,39 +91268,39 @@ function info_default17(registration) {
|
|
91101
91268
|
}
|
91102
91269
|
|
91103
91270
|
// build/output.statistics/inline-view.js
|
91104
|
-
var
|
91105
|
-
function
|
91271
|
+
var import_jsx_runtime24 = __toESM(require_jsx_runtime());
|
91272
|
+
function InlineView11({ state }) {
|
91106
91273
|
if (!state.previous)
|
91107
|
-
return (0,
|
91274
|
+
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
|
91108
91275
|
const format = (stat) => Math.floor(stat).toLocaleString("en-US", { maximumFractionDigits: 0 });
|
91109
|
-
return (0,
|
91276
|
+
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, { children: state.previous.allStreams.map((s, i) => {
|
91110
91277
|
const metaCase = s.metadata.case;
|
91111
91278
|
switch (metaCase) {
|
91112
91279
|
case "audio":
|
91113
|
-
return (0,
|
91280
|
+
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
91281
|
case "video":
|
91115
|
-
return (0,
|
91282
|
+
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
91283
|
case "ancillary":
|
91117
|
-
return (0,
|
91284
|
+
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
|
91118
91285
|
case "subtitle":
|
91119
|
-
return (0,
|
91286
|
+
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
|
91120
91287
|
case "playlist":
|
91121
|
-
return (0,
|
91288
|
+
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
|
91122
91289
|
case void 0:
|
91123
|
-
return (0,
|
91290
|
+
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
|
91124
91291
|
default:
|
91125
|
-
return (0,
|
91292
|
+
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
|
91126
91293
|
}
|
91127
91294
|
}) });
|
91128
91295
|
}
|
91129
91296
|
function streamKey(streamKey2) {
|
91130
91297
|
return streamKey2.streamId.toString();
|
91131
91298
|
}
|
91132
|
-
var
|
91299
|
+
var inline_view_default11 = InlineView11;
|
91133
91300
|
|
91134
91301
|
// build/output.statistics/info.js
|
91135
91302
|
var import_FaChartBar = __toESM(require_FaChartBar());
|
91136
|
-
function
|
91303
|
+
function info_default19({ defineComponent, All }) {
|
91137
91304
|
return defineComponent({
|
91138
91305
|
identifier: "output.statistics",
|
91139
91306
|
category: "output",
|
@@ -91158,11 +91325,11 @@ function info_default18({ defineComponent, All }) {
|
|
91158
91325
|
state.previous = ev.summary;
|
91159
91326
|
break;
|
91160
91327
|
default:
|
91161
|
-
|
91328
|
+
assertUnreachable13(evType);
|
91162
91329
|
}
|
91163
91330
|
return { ...state };
|
91164
91331
|
},
|
91165
|
-
inline:
|
91332
|
+
inline: inline_view_default11
|
91166
91333
|
},
|
91167
91334
|
configForm: {
|
91168
91335
|
form: {
|
@@ -91171,14 +91338,14 @@ function info_default18({ defineComponent, All }) {
|
|
91171
91338
|
}
|
91172
91339
|
});
|
91173
91340
|
}
|
91174
|
-
function
|
91341
|
+
function assertUnreachable13(_) {
|
91175
91342
|
throw new Error("Didn't expect to get here");
|
91176
91343
|
}
|
91177
91344
|
|
91178
91345
|
// build/output.tsMediaPlaylist/info.js
|
91179
91346
|
var import_util7 = __toESM(require_util());
|
91180
91347
|
var import_FaHeadphones5 = __toESM(require_FaHeadphones());
|
91181
|
-
function
|
91348
|
+
function info_default20(registration) {
|
91182
91349
|
const { defineComponent, validation } = registration;
|
91183
91350
|
const { Z } = validation;
|
91184
91351
|
return defineComponent({
|
@@ -91290,7 +91457,7 @@ function info_default19(registration) {
|
|
91290
91457
|
// build/output.tsMultiVariant/info.js
|
91291
91458
|
var import_util8 = __toESM(require_util());
|
91292
91459
|
var import_FaHeadphones6 = __toESM(require_FaHeadphones());
|
91293
|
-
function
|
91460
|
+
function info_default21(registration) {
|
91294
91461
|
const { defineComponent, validation } = registration;
|
91295
91462
|
const { Z } = validation;
|
91296
91463
|
return defineComponent({
|
@@ -91380,7 +91547,7 @@ function info_default20(registration) {
|
|
91380
91547
|
|
91381
91548
|
// build/output.twitch/info.js
|
91382
91549
|
var import_FaTwitch = __toESM(require_FaTwitch());
|
91383
|
-
function
|
91550
|
+
function info_default22(r) {
|
91384
91551
|
const { validation: { Z } } = r;
|
91385
91552
|
return defineRtmpOutputComponent(r, {
|
91386
91553
|
identifier: "output.twitch",
|
@@ -91413,14 +91580,14 @@ var import_util9 = __toESM(require_util());
|
|
91413
91580
|
var import_FaNetworkWired2 = __toESM(require_FaNetworkWired());
|
91414
91581
|
|
91415
91582
|
// build/output.udpTs/inline-view.js
|
91416
|
-
var
|
91417
|
-
function
|
91418
|
-
return (0,
|
91583
|
+
var import_jsx_runtime25 = __toESM(require_jsx_runtime());
|
91584
|
+
function InlineView12({ state }) {
|
91585
|
+
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
91586
|
}
|
91420
|
-
var
|
91587
|
+
var inline_view_default12 = InlineView12;
|
91421
91588
|
|
91422
91589
|
// build/output.udpTs/info.js
|
91423
|
-
function
|
91590
|
+
function info_default23({ defineComponent, All, validation: { Port, Hostname: Hostname2, JitterBuffer, Iface, Z } }) {
|
91424
91591
|
return defineComponent({
|
91425
91592
|
identifier: "output.udpTs",
|
91426
91593
|
category: "output",
|
@@ -91449,7 +91616,7 @@ function info_default22({ defineComponent, All, validation: { Port, Hostname: Ho
|
|
91449
91616
|
}
|
91450
91617
|
return { ...state };
|
91451
91618
|
},
|
91452
|
-
inline:
|
91619
|
+
inline: inline_view_default12,
|
91453
91620
|
metrics: []
|
91454
91621
|
},
|
91455
91622
|
display: (desc) => {
|
@@ -91479,9 +91646,9 @@ function info_default22({ defineComponent, All, validation: { Port, Hostname: Ho
|
|
91479
91646
|
var import_config4 = __toESM(require_config());
|
91480
91647
|
|
91481
91648
|
// build/output.whep/inline-view.js
|
91482
|
-
var
|
91649
|
+
var import_jsx_runtime26 = __toESM(require_jsx_runtime());
|
91483
91650
|
var import_react7 = __toESM(require_react());
|
91484
|
-
function
|
91651
|
+
function InlineView13({ state, config, raise }) {
|
91485
91652
|
const url = state.url;
|
91486
91653
|
const id = config.id;
|
91487
91654
|
const [showPreview, setShowPreview] = (0, import_react7.useState)(config.showPreview ?? true);
|
@@ -91523,18 +91690,18 @@ function InlineView12({ state, config, raise }) {
|
|
91523
91690
|
}, [config.showPreview]);
|
91524
91691
|
(0, import_react7.useEffect)(() => raise && raise(), [raise]);
|
91525
91692
|
if (!url)
|
91526
|
-
return (0,
|
91693
|
+
return (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children: "..." });
|
91527
91694
|
const videoStyles = `
|
91528
91695
|
#whep-${id} video::-webkit-media-controls-play-button {
|
91529
91696
|
display: none;
|
91530
91697
|
}
|
91531
91698
|
`;
|
91532
|
-
return (0,
|
91699
|
+
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
91700
|
}
|
91534
|
-
var
|
91701
|
+
var inline_view_default13 = InlineView13;
|
91535
91702
|
|
91536
91703
|
// build/output.whep/summary-view.js
|
91537
|
-
var
|
91704
|
+
var import_jsx_runtime27 = __toESM(require_jsx_runtime());
|
91538
91705
|
function SummaryView7({ state, sendCommand }) {
|
91539
91706
|
const handleEnableOutput = () => {
|
91540
91707
|
void enableOutput();
|
@@ -91552,13 +91719,13 @@ function SummaryView7({ state, sendCommand }) {
|
|
91552
91719
|
type: "disable-output"
|
91553
91720
|
});
|
91554
91721
|
};
|
91555
|
-
return (0,
|
91722
|
+
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
91723
|
}
|
91557
91724
|
var summary_view_default7 = SummaryView7;
|
91558
91725
|
|
91559
91726
|
// build/output.whep/info.js
|
91560
91727
|
var import_FaBroadcastTower = __toESM(require_FaBroadcastTower());
|
91561
|
-
function
|
91728
|
+
function info_default24(R) {
|
91562
91729
|
const { defineComponent, validation: { JitterBuffer } } = R;
|
91563
91730
|
return defineComponent({
|
91564
91731
|
identifier: "output.whep",
|
@@ -91599,11 +91766,11 @@ function info_default23(R) {
|
|
91599
91766
|
state.enabled = false;
|
91600
91767
|
break;
|
91601
91768
|
default:
|
91602
|
-
|
91769
|
+
assertUnreachable17(evType);
|
91603
91770
|
}
|
91604
91771
|
return { ...state };
|
91605
91772
|
},
|
91606
|
-
inline:
|
91773
|
+
inline: inline_view_default13,
|
91607
91774
|
summary: summary_view_default7
|
91608
91775
|
},
|
91609
91776
|
configForm: {
|
@@ -91621,13 +91788,13 @@ function info_default23(R) {
|
|
91621
91788
|
}
|
91622
91789
|
});
|
91623
91790
|
}
|
91624
|
-
function
|
91791
|
+
function assertUnreachable17(_) {
|
91625
91792
|
throw new Error("Didn't expect to get here");
|
91626
91793
|
}
|
91627
91794
|
|
91628
91795
|
// build/output.youtube/info.js
|
91629
91796
|
var import_FaYoutube = __toESM(require_FaYoutube());
|
91630
|
-
function
|
91797
|
+
function info_default25(r) {
|
91631
91798
|
const { validation: { Z } } = r;
|
91632
91799
|
return defineRtmpOutputComponent(r, {
|
91633
91800
|
identifier: "output.youtube",
|
@@ -91659,14 +91826,14 @@ function info_default24(r) {
|
|
91659
91826
|
var import_client_types2 = __toESM(require_client_types());
|
91660
91827
|
|
91661
91828
|
// build/processor.audioEncoder/form-views.js
|
91662
|
-
var
|
91829
|
+
var import_jsx_runtime28 = __toESM(require_jsx_runtime());
|
91663
91830
|
function CodecConfiguration(cfg) {
|
91664
|
-
return (0,
|
91831
|
+
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
91832
|
}
|
91666
91833
|
|
91667
91834
|
// build/processor.audioEncoder/info.js
|
91668
91835
|
var import_FaMicrophone = __toESM(require_FaMicrophone());
|
91669
|
-
function
|
91836
|
+
function info_default26({ defineComponent, validation: { Z } }) {
|
91670
91837
|
const format = (stat) => Math.floor(stat).toLocaleString("en-US", { maximumFractionDigits: 0 });
|
91671
91838
|
const Hz = (v) => ({ display: `${format(v)}Hz`, value: v });
|
91672
91839
|
return defineComponent({
|
@@ -91797,8 +91964,8 @@ function info_default25({ defineComponent, validation: { Z } }) {
|
|
91797
91964
|
}
|
91798
91965
|
|
91799
91966
|
// build/processor.audioMixer/inline-view.js
|
91800
|
-
var
|
91801
|
-
function
|
91967
|
+
var import_jsx_runtime29 = __toESM(require_jsx_runtime());
|
91968
|
+
function InlineView14({ state }) {
|
91802
91969
|
function percentage(levels) {
|
91803
91970
|
if (!levels) {
|
91804
91971
|
return 0;
|
@@ -91816,17 +91983,17 @@ function InlineView13({ state }) {
|
|
91816
91983
|
if (mixerOutput) {
|
91817
91984
|
sourcesOrdered.push({ ...mixerOutput });
|
91818
91985
|
}
|
91819
|
-
return (0,
|
91986
|
+
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
91987
|
const isMasterOutput = i == sourcesOrdered.length - 1;
|
91821
|
-
return (0,
|
91988
|
+
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
91989
|
bottom: `${Math.max(10, Math.min(90, ((source.configuredGain || 0) + 60) / 84 * 80 + 10))}%`
|
91823
91990
|
} }) }) })] }, i);
|
91824
91991
|
}) }) });
|
91825
91992
|
}
|
91826
|
-
var
|
91993
|
+
var inline_view_default14 = InlineView14;
|
91827
91994
|
|
91828
91995
|
// build/processor.audioMixer/fullscreen-view.js
|
91829
|
-
var
|
91996
|
+
var import_jsx_runtime30 = __toESM(require_jsx_runtime());
|
91830
91997
|
var import_react8 = __toESM(require_react());
|
91831
91998
|
function FullScreen({ state, sendCommand }) {
|
91832
91999
|
const initialSliders = [];
|
@@ -91859,7 +92026,7 @@ function FullScreen({ state, sendCommand }) {
|
|
91859
92026
|
function mkFader(index3) {
|
91860
92027
|
const levels = index3 == state.inputs.length ? state.output : state.inputs[index3];
|
91861
92028
|
const internalSource = index3 == state.inputs.length ? { type: "mixer-output" } : { type: "input-gain", index: index3 };
|
91862
|
-
return (0,
|
92029
|
+
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
92030
|
sliderValues[index3] = Number(e.target.value);
|
91864
92031
|
if (Number(e.target.value) < state.gainRange.min) {
|
91865
92032
|
preMuteValues[index3] = state.gainRange.min;
|
@@ -91885,25 +92052,25 @@ function FullScreen({ state, sendCommand }) {
|
|
91885
92052
|
}
|
91886
92053
|
}, onMouseUp: (_e) => {
|
91887
92054
|
sendCommand({ type: "set-gain", source: internalSource, value: sliderValues[index3] || 0 });
|
91888
|
-
} }), (0,
|
92055
|
+
} }), (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
92056
|
}
|
91890
92057
|
function mkLevels(index3) {
|
91891
92058
|
const levels = index3 == state.inputs.length ? state.output : state.inputs[index3];
|
91892
92059
|
const mutedClass = sliderValues[index3] < state.gainRange.min || levels.muted ? "level-muted" : "";
|
91893
|
-
return (0,
|
92060
|
+
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
92061
|
}
|
91895
92062
|
function mkGainValue(index3) {
|
91896
92063
|
const levels = index3 == state.inputs.length ? state.output : state.inputs[index3];
|
91897
92064
|
const sliderValue = sliderValues[index3];
|
91898
92065
|
const sliderValueText = sliderValue === void 0 ? "- dB" : sliderValue < state.gainRange.min || levels.muted ? "muted" : sliderValue + "dB";
|
91899
|
-
return (0,
|
92066
|
+
return (0, import_jsx_runtime30.jsx)("div", { id: `gain-value-${index3}`, className: `${!levels ? "opacity-20" : ""} text-m`, children: sliderValueText });
|
91900
92067
|
}
|
91901
92068
|
function muteIcon(index3) {
|
91902
92069
|
const levels = index3 == state.inputs.length ? state.output : state.inputs[index3];
|
91903
92070
|
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,
|
92071
|
+
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" }) });
|
92072
|
+
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" }) });
|
92073
|
+
return (0, import_jsx_runtime30.jsx)("div", { className: `${!levels ? "opacity-20" : ""} mute-icon self-center`, onClick: (_e) => {
|
91907
92074
|
if (levels) {
|
91908
92075
|
if (levels.muted) {
|
91909
92076
|
sendCommand({ type: "toggle-mute", source: internalSource, muted: false });
|
@@ -91929,16 +92096,16 @@ function FullScreen({ state, sendCommand }) {
|
|
91929
92096
|
}
|
91930
92097
|
{
|
91931
92098
|
}
|
91932
|
-
return (0,
|
92099
|
+
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
92100
|
const isMasterOutput = i == inputsOrdered.length - 1;
|
91934
92101
|
const divKey = `${i}`;
|
91935
|
-
return (0,
|
92102
|
+
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
92103
|
}) }) });
|
91937
92104
|
}
|
91938
92105
|
var fullscreen_view_default = FullScreen;
|
91939
92106
|
|
91940
92107
|
// build/processor.audioMixer/info.js
|
91941
|
-
function
|
92108
|
+
function info_default27({ defineComponent, validation: { Z } }) {
|
91942
92109
|
return defineComponent({
|
91943
92110
|
identifier: "processor.audioMixer",
|
91944
92111
|
category: "processor",
|
@@ -92015,11 +92182,11 @@ function info_default26({ defineComponent, validation: { Z } }) {
|
|
92015
92182
|
break;
|
92016
92183
|
}
|
92017
92184
|
default:
|
92018
|
-
|
92185
|
+
assertUnreachable18(evType);
|
92019
92186
|
}
|
92020
92187
|
return { ...state };
|
92021
92188
|
},
|
92022
|
-
inline:
|
92189
|
+
inline: inline_view_default14,
|
92023
92190
|
fullscreen: fullscreen_view_default
|
92024
92191
|
},
|
92025
92192
|
configForm: {
|
@@ -92053,7 +92220,7 @@ var channelLayouts = () => {
|
|
92053
92220
|
];
|
92054
92221
|
return ch;
|
92055
92222
|
};
|
92056
|
-
function
|
92223
|
+
function assertUnreachable18(_) {
|
92057
92224
|
throw new Error("Didn't expect to get here");
|
92058
92225
|
}
|
92059
92226
|
|
@@ -92062,7 +92229,7 @@ var import_config5 = __toESM(require_config());
|
|
92062
92229
|
var import_FaWindowRestore = __toESM(require_FaWindowRestore());
|
92063
92230
|
|
92064
92231
|
// build/processor.browserOverlay/summary-view.js
|
92065
|
-
var
|
92232
|
+
var import_jsx_runtime31 = __toESM(require_jsx_runtime());
|
92066
92233
|
var import_react9 = __toESM(require_react());
|
92067
92234
|
function SummaryView8({ state, sendCommand }) {
|
92068
92235
|
const [url, setUrl] = (0, import_react9.useState)(state.currentUrl);
|
@@ -92071,7 +92238,7 @@ function SummaryView8({ state, sendCommand }) {
|
|
92071
92238
|
return url !== state.currentUrl || enabled !== state.enabled;
|
92072
92239
|
}, [url, enabled, state.currentUrl, state.enabled]);
|
92073
92240
|
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,
|
92241
|
+
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
92242
|
if (url !== state.currentUrl) {
|
92076
92243
|
sendCommand({ type: "change-url", url });
|
92077
92244
|
}
|
@@ -92087,14 +92254,14 @@ function SummaryView8({ state, sendCommand }) {
|
|
92087
92254
|
var summary_view_default8 = SummaryView8;
|
92088
92255
|
|
92089
92256
|
// build/processor.browserOverlay/inline-view.js
|
92090
|
-
var
|
92091
|
-
function
|
92092
|
-
return (0,
|
92257
|
+
var import_jsx_runtime32 = __toESM(require_jsx_runtime());
|
92258
|
+
function InlineView15({ state, config }) {
|
92259
|
+
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
92260
|
}
|
92094
|
-
var
|
92261
|
+
var inline_view_default15 = InlineView15;
|
92095
92262
|
|
92096
92263
|
// build/processor.browserOverlay/info.js
|
92097
|
-
function
|
92264
|
+
function info_default28({ defineComponent, validation: { Z } }) {
|
92098
92265
|
return defineComponent({
|
92099
92266
|
identifier: "processor.browserOverlay",
|
92100
92267
|
category: "processor",
|
@@ -92124,7 +92291,7 @@ function info_default27({ defineComponent, validation: { Z } }) {
|
|
92124
92291
|
},
|
92125
92292
|
runtime: {
|
92126
92293
|
summary: summary_view_default8,
|
92127
|
-
inline:
|
92294
|
+
inline: inline_view_default15,
|
92128
92295
|
initialState: () => ({
|
92129
92296
|
currentUrl: "",
|
92130
92297
|
enabled: true
|
@@ -92139,7 +92306,7 @@ function info_default27({ defineComponent, validation: { Z } }) {
|
|
92139
92306
|
case "disabled":
|
92140
92307
|
return { ...state, enabled: false };
|
92141
92308
|
default:
|
92142
|
-
|
92309
|
+
assertUnreachable19(evType);
|
92143
92310
|
}
|
92144
92311
|
}
|
92145
92312
|
},
|
@@ -92154,7 +92321,7 @@ function info_default27({ defineComponent, validation: { Z } }) {
|
|
92154
92321
|
}
|
92155
92322
|
});
|
92156
92323
|
}
|
92157
|
-
function
|
92324
|
+
function assertUnreachable19(_) {
|
92158
92325
|
throw new Error("Didn't expect to get here");
|
92159
92326
|
}
|
92160
92327
|
|
@@ -92163,113 +92330,113 @@ var import_config6 = __toESM(require_config());
|
|
92163
92330
|
var import_client_types3 = __toESM(require_client_types());
|
92164
92331
|
|
92165
92332
|
// build/processor.fixedLadder/rung-view.js
|
92166
|
-
var
|
92333
|
+
var import_jsx_runtime33 = __toESM(require_jsx_runtime());
|
92167
92334
|
function RungView(rung) {
|
92168
|
-
return (0,
|
92335
|
+
return (0, import_jsx_runtime33.jsx)("div", { className: "text-gray-900 dark:text-white", children: rung.name });
|
92169
92336
|
}
|
92170
92337
|
|
92171
92338
|
// build/processor.fixedLadder/x26x-bitrate-view.js
|
92172
|
-
var
|
92339
|
+
var import_jsx_runtime34 = __toESM(require_jsx_runtime());
|
92173
92340
|
function X264XBitrateView(bitrate) {
|
92174
92341
|
const value = (() => {
|
92175
92342
|
if (bitrate) {
|
92176
92343
|
switch (bitrate.mode) {
|
92177
92344
|
case "abr":
|
92178
|
-
return (0,
|
92345
|
+
return (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: ["ABR ", bitrate.value, "kbps "] });
|
92179
92346
|
case "cqp":
|
92180
|
-
return (0,
|
92347
|
+
return (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: ["CQP ", bitrate.value] });
|
92181
92348
|
case "crf":
|
92182
|
-
return (0,
|
92349
|
+
return (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: ["CRF ", bitrate.value] });
|
92183
92350
|
}
|
92184
92351
|
} else {
|
92185
|
-
return (0,
|
92352
|
+
return (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children: "N/A" });
|
92186
92353
|
}
|
92187
92354
|
})();
|
92188
|
-
return (0,
|
92355
|
+
return (0, import_jsx_runtime34.jsx)("div", { className: "text-gray-900 dark:text-white", children: value });
|
92189
92356
|
}
|
92190
92357
|
|
92191
92358
|
// build/processor.fixedLadder/nvidia-rate-control-view.js
|
92192
|
-
var
|
92359
|
+
var import_jsx_runtime35 = __toESM(require_jsx_runtime());
|
92193
92360
|
function NvidiaRateControlView(rateControl) {
|
92194
92361
|
const value = (() => {
|
92195
92362
|
if (rateControl) {
|
92196
92363
|
switch (rateControl.mode) {
|
92197
92364
|
case "con_stqp":
|
92198
|
-
return (0,
|
92365
|
+
return (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: "Constant QP" });
|
92199
92366
|
case "vbr":
|
92200
|
-
return (0,
|
92367
|
+
return (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: "VBR" });
|
92201
92368
|
case "cbr":
|
92202
|
-
return (0,
|
92369
|
+
return (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: "CBR" });
|
92203
92370
|
}
|
92204
92371
|
} else {
|
92205
|
-
return (0,
|
92372
|
+
return (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: "N/A" });
|
92206
92373
|
}
|
92207
92374
|
})();
|
92208
|
-
return (0,
|
92375
|
+
return (0, import_jsx_runtime35.jsx)("div", { className: "text-gray-900 dark:text-white", children: value });
|
92209
92376
|
}
|
92210
92377
|
|
92211
92378
|
// build/processor.fixedLadder/software-view.js
|
92212
|
-
var
|
92379
|
+
var import_jsx_runtime36 = __toESM(require_jsx_runtime());
|
92213
92380
|
function SoftwareView(codec) {
|
92214
92381
|
if (codec == void 0) {
|
92215
|
-
return (0,
|
92382
|
+
return (0, import_jsx_runtime36.jsx)("div", { className: "text-gray-900 dark:text-white", children: "N/A" });
|
92216
92383
|
} else {
|
92217
92384
|
const type = codec.type;
|
92218
92385
|
const undefinedToDefault = (val) => val ?? "[default]";
|
92219
92386
|
switch (type) {
|
92220
92387
|
case "x264":
|
92221
|
-
return (0,
|
92388
|
+
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
92389
|
case "x265":
|
92223
|
-
return (0,
|
92390
|
+
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
92391
|
}
|
92225
92392
|
}
|
92226
92393
|
}
|
92227
92394
|
|
92228
92395
|
// build/processor.fixedLadder/quadra-view.js
|
92229
|
-
var
|
92396
|
+
var import_jsx_runtime37 = __toESM(require_jsx_runtime());
|
92230
92397
|
function QuadraView(codec) {
|
92231
92398
|
if (codec == void 0) {
|
92232
|
-
return (0,
|
92399
|
+
return (0, import_jsx_runtime37.jsx)("div", { className: "text-gray-900 dark:text-white", children: "N/A" });
|
92233
92400
|
} else {
|
92234
92401
|
const type = codec.type;
|
92235
92402
|
const undefinedToDefault = (val) => val ?? "[default]";
|
92236
92403
|
switch (type) {
|
92237
92404
|
case "quadra-h264":
|
92238
|
-
return (0,
|
92405
|
+
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
92406
|
case "quadra-hevc":
|
92240
|
-
return (0,
|
92407
|
+
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
92408
|
case "quadra-av1":
|
92242
|
-
return (0,
|
92409
|
+
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
92410
|
}
|
92244
92411
|
}
|
92245
92412
|
}
|
92246
92413
|
|
92247
92414
|
// build/processor.fixedLadder/nvidia-view.js
|
92248
|
-
var
|
92415
|
+
var import_jsx_runtime38 = __toESM(require_jsx_runtime());
|
92249
92416
|
function NvidiaView(codec) {
|
92250
92417
|
if (codec == void 0) {
|
92251
|
-
return (0,
|
92418
|
+
return (0, import_jsx_runtime38.jsx)("div", { className: "text-gray-900 dark:text-white", children: "N/A" });
|
92252
92419
|
} else {
|
92253
92420
|
const type = codec.type;
|
92254
92421
|
const undefinedToDefault = (val) => val ?? "[default]";
|
92255
92422
|
switch (type) {
|
92256
92423
|
case "nv-h264":
|
92257
|
-
return (0,
|
92424
|
+
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
92425
|
case "nv-hevc":
|
92259
|
-
return (0,
|
92426
|
+
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
92427
|
}
|
92261
92428
|
}
|
92262
92429
|
}
|
92263
92430
|
|
92264
92431
|
// build/processor.fixedLadder/codec-view.js
|
92265
|
-
var
|
92432
|
+
var import_jsx_runtime39 = __toESM(require_jsx_runtime());
|
92266
92433
|
function CodecEditor(props) {
|
92267
|
-
return (0,
|
92434
|
+
return (0, import_jsx_runtime39.jsxs)("div", { className: "text-gray-900 dark:text-white", children: [props?.width, "x", props?.height] });
|
92268
92435
|
}
|
92269
92436
|
|
92270
92437
|
// build/processor.fixedLadder/info.js
|
92271
92438
|
var import_FaLayerGroup = __toESM(require_FaLayerGroup());
|
92272
|
-
function
|
92439
|
+
function info_default29({ defineComponent, common: { FrameRates } }) {
|
92273
92440
|
function softwareHint() {
|
92274
92441
|
return {
|
92275
92442
|
type: "form-pick",
|
@@ -92315,6 +92482,7 @@ function info_default28({ defineComponent, common: { FrameRates } }) {
|
|
92315
92482
|
advanced: void 0,
|
92316
92483
|
hint: {
|
92317
92484
|
type: "select",
|
92485
|
+
optional: true,
|
92318
92486
|
options: [
|
92319
92487
|
{ value: "baseline", display: "baseline" },
|
92320
92488
|
{ value: "main", display: "main" },
|
@@ -92439,6 +92607,7 @@ function info_default28({ defineComponent, common: { FrameRates } }) {
|
|
92439
92607
|
advanced: void 0,
|
92440
92608
|
hint: {
|
92441
92609
|
type: "select",
|
92610
|
+
optional: true,
|
92442
92611
|
options: [
|
92443
92612
|
{ value: "none", display: "none" },
|
92444
92613
|
{ value: "vbr", display: "vbr" },
|
@@ -92492,6 +92661,7 @@ function info_default28({ defineComponent, common: { FrameRates } }) {
|
|
92492
92661
|
advanced: void 0,
|
92493
92662
|
hint: {
|
92494
92663
|
type: "select",
|
92664
|
+
optional: true,
|
92495
92665
|
options: [
|
92496
92666
|
{ value: "main", display: "main" },
|
92497
92667
|
{ value: "main10", display: "main10" },
|
@@ -92680,6 +92850,7 @@ function info_default28({ defineComponent, common: { FrameRates } }) {
|
|
92680
92850
|
advanced: void 0,
|
92681
92851
|
hint: {
|
92682
92852
|
type: "select",
|
92853
|
+
optional: true,
|
92683
92854
|
options: [
|
92684
92855
|
{ value: "baseline", display: "baseline" },
|
92685
92856
|
{ value: "main", display: "main" },
|
@@ -92815,6 +92986,7 @@ function info_default28({ defineComponent, common: { FrameRates } }) {
|
|
92815
92986
|
advanced: void 0,
|
92816
92987
|
hint: {
|
92817
92988
|
type: "select",
|
92989
|
+
optional: true,
|
92818
92990
|
options: [
|
92819
92991
|
{ value: "main", display: "main" },
|
92820
92992
|
{ value: "main10", display: "main10" }
|
@@ -92973,6 +93145,7 @@ function info_default28({ defineComponent, common: { FrameRates } }) {
|
|
92973
93145
|
advanced: void 0,
|
92974
93146
|
hint: {
|
92975
93147
|
type: "select",
|
93148
|
+
optional: true,
|
92976
93149
|
options: [
|
92977
93150
|
{ value: "main_420_8", display: "main_420_8" }
|
92978
93151
|
]
|
@@ -93194,6 +93367,7 @@ function info_default28({ defineComponent, common: { FrameRates } }) {
|
|
93194
93367
|
advanced: void 0,
|
93195
93368
|
hint: {
|
93196
93369
|
type: "select",
|
93370
|
+
optional: true,
|
93197
93371
|
options: [
|
93198
93372
|
{ value: "baseline", display: "baseline" },
|
93199
93373
|
{ value: "main", display: "main" },
|
@@ -93303,6 +93477,7 @@ function info_default28({ defineComponent, common: { FrameRates } }) {
|
|
93303
93477
|
advanced: void 0,
|
93304
93478
|
hint: {
|
93305
93479
|
type: "select",
|
93480
|
+
optional: true,
|
93306
93481
|
options: [
|
93307
93482
|
{ value: "main", display: "main" },
|
93308
93483
|
{ value: "main10", display: "main10" }
|
@@ -93507,7 +93682,7 @@ function createSoftwareRung(rung) {
|
|
93507
93682
|
case "h264_320x180":
|
93508
93683
|
return createRungImpl({ name: rung, threads: 1, bitrate: 800 });
|
93509
93684
|
default:
|
93510
|
-
return
|
93685
|
+
return assertUnreachable20(rung);
|
93511
93686
|
}
|
93512
93687
|
}
|
93513
93688
|
function createNvidiaRung(rung) {
|
@@ -93521,7 +93696,7 @@ function createNvidiaRung(rung) {
|
|
93521
93696
|
case "h264_320x180":
|
93522
93697
|
return createNvidiaRungImpl({ name: rung, bitrate: 8e5 });
|
93523
93698
|
default:
|
93524
|
-
return
|
93699
|
+
return assertUnreachable20(rung);
|
93525
93700
|
}
|
93526
93701
|
}
|
93527
93702
|
function createQuadraRung(rung) {
|
@@ -93535,7 +93710,7 @@ function createQuadraRung(rung) {
|
|
93535
93710
|
case "h264_320x180":
|
93536
93711
|
return createQuadraRungImpl({ name: rung, bitrate: 8e5 });
|
93537
93712
|
default:
|
93538
|
-
return
|
93713
|
+
return assertUnreachable20(rung);
|
93539
93714
|
}
|
93540
93715
|
}
|
93541
93716
|
function createRungImpl({ name, threads, bitrate }) {
|
@@ -93598,7 +93773,7 @@ function rungWidth(rungName) {
|
|
93598
93773
|
function rungHeight(rungName) {
|
93599
93774
|
return parseInt(rungName.split("_")[1].split(`x`)[1]);
|
93600
93775
|
}
|
93601
|
-
function
|
93776
|
+
function assertUnreachable20(_) {
|
93602
93777
|
throw new Error("Didn't expect to get here");
|
93603
93778
|
}
|
93604
93779
|
|
@@ -93606,8 +93781,8 @@ function assertUnreachable19(_) {
|
|
93606
93781
|
var import_FaImage = __toESM(require_FaImage());
|
93607
93782
|
|
93608
93783
|
// build/processor.gate/inline-view.js
|
93609
|
-
var
|
93610
|
-
function
|
93784
|
+
var import_jsx_runtime40 = __toESM(require_jsx_runtime());
|
93785
|
+
function InlineView16({ state, config, sendCommand }) {
|
93611
93786
|
function onStatusChanged(selected) {
|
93612
93787
|
if (selected) {
|
93613
93788
|
sendCommand({ type: "open" });
|
@@ -93615,12 +93790,12 @@ function InlineView15({ state, config, sendCommand }) {
|
|
93615
93790
|
sendCommand({ type: "close" });
|
93616
93791
|
}
|
93617
93792
|
}
|
93618
|
-
return (0,
|
93793
|
+
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
93794
|
}
|
93620
|
-
var
|
93795
|
+
var inline_view_default16 = InlineView16;
|
93621
93796
|
|
93622
93797
|
// build/processor.gate/info.js
|
93623
|
-
function
|
93798
|
+
function info_default30({ defineComponent, All }) {
|
93624
93799
|
return defineComponent({
|
93625
93800
|
identifier: "processor.gate",
|
93626
93801
|
category: "processor",
|
@@ -93651,7 +93826,7 @@ function info_default29({ defineComponent, All }) {
|
|
93651
93826
|
};
|
93652
93827
|
},
|
93653
93828
|
runtime: {
|
93654
|
-
inline:
|
93829
|
+
inline: inline_view_default16,
|
93655
93830
|
initialState: () => ({
|
93656
93831
|
status: "closed"
|
93657
93832
|
}),
|
@@ -93661,7 +93836,7 @@ function info_default29({ defineComponent, All }) {
|
|
93661
93836
|
case "status-changed":
|
93662
93837
|
return { ...state, status: ev.status };
|
93663
93838
|
default:
|
93664
|
-
|
93839
|
+
assertUnreachable21(evType);
|
93665
93840
|
}
|
93666
93841
|
}
|
93667
93842
|
},
|
@@ -93683,13 +93858,13 @@ function info_default29({ defineComponent, All }) {
|
|
93683
93858
|
}
|
93684
93859
|
});
|
93685
93860
|
}
|
93686
|
-
function
|
93861
|
+
function assertUnreachable21(_) {
|
93687
93862
|
throw new Error("Didn't expect to get here");
|
93688
93863
|
}
|
93689
93864
|
|
93690
93865
|
// build/processor.makeProgram/info.js
|
93691
93866
|
var import_FaPlayCircle = __toESM(require_FaPlayCircle());
|
93692
|
-
function
|
93867
|
+
function info_default31({ defineComponent, All, validation: { Z } }) {
|
93693
93868
|
return defineComponent({
|
93694
93869
|
identifier: "processor.makeProgram",
|
93695
93870
|
category: "processor",
|
@@ -93815,7 +93990,7 @@ function getStreamKeyMapping(componentId, rows, columns) {
|
|
93815
93990
|
audioStreamKeys
|
93816
93991
|
};
|
93817
93992
|
}
|
93818
|
-
function
|
93993
|
+
function info_default32({ defineComponent, validation: { Z } }) {
|
93819
93994
|
return defineComponent({
|
93820
93995
|
identifier: "processor.multiview",
|
93821
93996
|
name: "Multiview",
|
@@ -93926,7 +94101,7 @@ function info_default31({ defineComponent, validation: { Z } }) {
|
|
93926
94101
|
var import_config7 = __toESM(require_config());
|
93927
94102
|
|
93928
94103
|
// build/processor.onscreenGraphic/image-selection.js
|
93929
|
-
var
|
94104
|
+
var import_jsx_runtime41 = __toESM(require_jsx_runtime());
|
93930
94105
|
var import_react10 = __toESM(require_react());
|
93931
94106
|
function GraphicSelection(props) {
|
93932
94107
|
const [loading, setLoading] = (0, import_react10.useState)(true);
|
@@ -93955,19 +94130,19 @@ function GraphicSelection(props) {
|
|
93955
94130
|
}, [staticUrl, defaultValue, onChanged]);
|
93956
94131
|
const [graphcs, setGraphics] = (0, import_react10.useState)([]);
|
93957
94132
|
if (loading) {
|
93958
|
-
return (0,
|
94133
|
+
return (0, import_jsx_runtime41.jsx)("div", { children: "Loading.." });
|
93959
94134
|
}
|
93960
94135
|
if (graphcs.length == 0) {
|
93961
|
-
return (0,
|
94136
|
+
return (0, import_jsx_runtime41.jsx)("div", { children: "No graphics loaded" });
|
93962
94137
|
}
|
93963
|
-
return (0,
|
93964
|
-
return (0,
|
94138
|
+
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) => {
|
94139
|
+
return (0, import_jsx_runtime41.jsx)("option", { value: o, children: o }, i);
|
93965
94140
|
})] }) });
|
93966
94141
|
}
|
93967
94142
|
var image_selection_default = GraphicSelection;
|
93968
94143
|
|
93969
94144
|
// build/processor.onscreenGraphic/summary-view.js
|
93970
|
-
var
|
94145
|
+
var import_jsx_runtime42 = __toESM(require_jsx_runtime());
|
93971
94146
|
var import_react11 = __toESM(require_react());
|
93972
94147
|
function SummaryView9({ state, sendCommand, urls }) {
|
93973
94148
|
const [graphic, setGraphic] = (0, import_react11.useState)(state.activeGraphic?.file);
|
@@ -94105,7 +94280,7 @@ function SummaryView9({ state, sendCommand, urls }) {
|
|
94105
94280
|
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
94281
|
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
94282
|
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,
|
94283
|
+
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
94284
|
}
|
94110
94285
|
function fromLocalPosition(pos) {
|
94111
94286
|
if (pos.type === "named")
|
@@ -94114,7 +94289,7 @@ function fromLocalPosition(pos) {
|
|
94114
94289
|
return { type: pos.type, x: pos.x, y: pos.y };
|
94115
94290
|
if (pos.type === "percentage")
|
94116
94291
|
return { type: pos.type, x: pos.x, y: pos.y };
|
94117
|
-
|
94292
|
+
assertUnreachable22(pos);
|
94118
94293
|
}
|
94119
94294
|
function convertPosition(givenPosition, currentVideo, currentGraphic) {
|
94120
94295
|
if (!givenPosition)
|
@@ -94132,7 +94307,7 @@ function convertPosition(givenPosition, currentVideo, currentGraphic) {
|
|
94132
94307
|
} else if (givenPosition.position === "center") {
|
94133
94308
|
xy = { x: 50, y: 50 };
|
94134
94309
|
} else {
|
94135
|
-
|
94310
|
+
assertUnreachable22(givenPosition.position);
|
94136
94311
|
}
|
94137
94312
|
return { ...givenPosition, ...xy, xPct: xy.x, yPct: xy.y };
|
94138
94313
|
}
|
@@ -94231,7 +94406,7 @@ var PositionSelector = ({ initialPosition: givenPosition = { type: "named", posi
|
|
94231
94406
|
window.removeEventListener("mouseup", previous.handleMouseUp);
|
94232
94407
|
};
|
94233
94408
|
}, [isDragging, handleMouseMove, handleMouseUp]);
|
94234
|
-
return (0,
|
94409
|
+
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
94410
|
const newType = e.target.value;
|
94236
94411
|
if (newType === "named") {
|
94237
94412
|
setPosition(convertPos({ type: "named", position: "topleft" }));
|
@@ -94239,12 +94414,12 @@ var PositionSelector = ({ initialPosition: givenPosition = { type: "named", posi
|
|
94239
94414
|
setPositionUnit("%");
|
94240
94415
|
setPosition({ ...convertPos(position), type: "percentage" });
|
94241
94416
|
}
|
94242
|
-
}, className: "node-editor-select-input", children: [(0,
|
94417
|
+
}, 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
94418
|
setPosition(convertPos({
|
94244
94419
|
type: "named",
|
94245
94420
|
position: e.target.value
|
94246
94421
|
}));
|
94247
|
-
}, className: "w-full node-editor-select-input", children: [(0,
|
94422
|
+
}, 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
94423
|
setPositionUnit(e.target.value);
|
94249
94424
|
if (e.target.value === "px" && position.type !== "coordinate" && currentVideo && currentGraphic) {
|
94250
94425
|
const { width: videoWidth, height: videoHeight } = currentVideo;
|
@@ -94269,18 +94444,18 @@ var PositionSelector = ({ initialPosition: givenPosition = { type: "named", posi
|
|
94269
94444
|
yStr: void 0
|
94270
94445
|
});
|
94271
94446
|
}
|
94272
|
-
}, className: "node-editor-select-input", children: [(0,
|
94447
|
+
}, 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
94448
|
width: "100%",
|
94274
94449
|
userSelect: "none",
|
94275
94450
|
aspectRatio: currentVideo ? `${currentVideo.width} / ${currentVideo.height}` : `3 / 2`
|
94276
|
-
}, ref: previewAreaRef, children: [(0,
|
94451
|
+
}, 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
94452
|
${isDragging ? "bg-opacity-75" : ""}`, style: {
|
94278
94453
|
left: `${position.xPct}%`,
|
94279
94454
|
top: `${position.yPct}%`,
|
94280
94455
|
transform: `translate(-${position.xPct}%, -${position.yPct}%)`,
|
94281
94456
|
aspectRatio: currentGraphic && !graphicChanged ? `${currentGraphic.width} / ${currentGraphic.height}` : `1`,
|
94282
94457
|
width: currentGraphic && currentVideo && !graphicChanged ? currentGraphic.width / currentVideo.width * 100 + "%" : void 0
|
94283
|
-
}, onMouseDown: handleMouseDown, ref: previewTargetRef, children: (0,
|
94458
|
+
}, 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
94459
|
const newX = Number(e.target.value);
|
94285
94460
|
setPosition(convertPos({
|
94286
94461
|
type: positionUnit === "%" ? "percentage" : "coordinate",
|
@@ -94289,7 +94464,7 @@ var PositionSelector = ({ initialPosition: givenPosition = { type: "named", posi
|
|
94289
94464
|
y: position.y,
|
94290
94465
|
yStr: position.yStr
|
94291
94466
|
}));
|
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,
|
94467
|
+
}, 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
94468
|
const newY = Number(e.target.value);
|
94294
94469
|
setPosition(convertPos({
|
94295
94470
|
type: positionUnit === "%" ? "percentage" : "coordinate",
|
@@ -94303,14 +94478,14 @@ var PositionSelector = ({ initialPosition: givenPosition = { type: "named", posi
|
|
94303
94478
|
function clamp2(min2, num, max2) {
|
94304
94479
|
return num < min2 ? min2 : num > max2 ? max2 : num;
|
94305
94480
|
}
|
94306
|
-
function
|
94481
|
+
function assertUnreachable22(_) {
|
94307
94482
|
throw new Error("Didn't expect to get here");
|
94308
94483
|
}
|
94309
94484
|
var summary_view_default9 = SummaryView9;
|
94310
94485
|
|
94311
94486
|
// build/processor.onscreenGraphic/info.js
|
94312
94487
|
var import_FaImage2 = __toESM(require_FaImage());
|
94313
|
-
function
|
94488
|
+
function info_default33({ defineComponent }) {
|
94314
94489
|
return defineComponent({
|
94315
94490
|
identifier: "processor.onscreenGraphic",
|
94316
94491
|
category: "processor",
|
@@ -94349,7 +94524,7 @@ function info_default32({ defineComponent }) {
|
|
94349
94524
|
case "graphic-loaded":
|
94350
94525
|
return { ...state, currentGraphic: ev.currentGraphic };
|
94351
94526
|
default:
|
94352
|
-
|
94527
|
+
assertUnreachable23(evType);
|
94353
94528
|
}
|
94354
94529
|
}
|
94355
94530
|
},
|
@@ -94385,12 +94560,12 @@ function info_default32({ defineComponent }) {
|
|
94385
94560
|
}
|
94386
94561
|
});
|
94387
94562
|
}
|
94388
|
-
function
|
94563
|
+
function assertUnreachable23(_) {
|
94389
94564
|
throw new Error("Didn't expect to get here");
|
94390
94565
|
}
|
94391
94566
|
|
94392
94567
|
// build/processor.smartSingleMediaSwitch/source-selection.js
|
94393
|
-
var
|
94568
|
+
var import_jsx_runtime43 = __toESM(require_jsx_runtime());
|
94394
94569
|
var import_react12 = __toESM(require_react());
|
94395
94570
|
function OrderInput(props) {
|
94396
94571
|
const { onChanged } = props;
|
@@ -94399,10 +94574,10 @@ function OrderInput(props) {
|
|
94399
94574
|
onChanged(value);
|
94400
94575
|
}, [value, onChanged]);
|
94401
94576
|
if (value.length == 0) {
|
94402
|
-
return (0,
|
94577
|
+
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
94578
|
} else {
|
94404
|
-
return (0,
|
94405
|
-
return (0,
|
94579
|
+
return (0, import_jsx_runtime43.jsx)("div", { id: props.id, children: (0, import_jsx_runtime43.jsx)("ul", { children: value.map((v, ix) => {
|
94580
|
+
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
94581
|
}) }) });
|
94407
94582
|
}
|
94408
94583
|
function moveUp(ix) {
|
@@ -94425,18 +94600,18 @@ function OrderInput(props) {
|
|
94425
94600
|
var source_selection_default = OrderInput;
|
94426
94601
|
|
94427
94602
|
// build/processor.smartSingleMediaSwitch/inline-view.js
|
94428
|
-
var
|
94603
|
+
var import_jsx_runtime44 = __toESM(require_jsx_runtime());
|
94429
94604
|
var activeClasses = "active text-green-500 dark:text-green-300";
|
94430
94605
|
var availableClasses = "available text-green-500 dark:text-green-300";
|
94431
94606
|
var inactiveClasses = "inactive text-orange-500 dark:text-orange-300";
|
94432
|
-
function
|
94433
|
-
return (0,
|
94607
|
+
function InlineView17({ state, config }) {
|
94608
|
+
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
94609
|
}
|
94435
|
-
var
|
94610
|
+
var inline_view_default17 = InlineView17;
|
94436
94611
|
|
94437
94612
|
// build/processor.smartSingleMediaSwitch/info.js
|
94438
94613
|
var import_FaSlidersH = __toESM(require_FaSlidersH());
|
94439
|
-
function
|
94614
|
+
function info_default34({ defineComponent, All, common: { Resolutions, FrameRates }, streamMatchesFilter }) {
|
94440
94615
|
function patchConfigFromSubscription(cfg, sub) {
|
94441
94616
|
const potentiallyNewSources = sub.expectedStreams;
|
94442
94617
|
potentiallyNewSources.forEach((s) => {
|
@@ -94521,12 +94696,12 @@ function info_default33({ defineComponent, All, common: { Resolutions, FrameRate
|
|
94521
94696
|
state.availableSources.splice(state.availableSources.indexOf(ev.sourceIndex), 1);
|
94522
94697
|
return { ...state };
|
94523
94698
|
default:
|
94524
|
-
|
94699
|
+
assertUnreachable24(evType);
|
94525
94700
|
}
|
94526
94701
|
},
|
94527
|
-
inline:
|
94528
|
-
summary:
|
94529
|
-
fullscreen:
|
94702
|
+
inline: inline_view_default17,
|
94703
|
+
summary: inline_view_default17,
|
94704
|
+
fullscreen: inline_view_default17
|
94530
94705
|
},
|
94531
94706
|
configForm: {
|
94532
94707
|
form: {
|
@@ -94573,12 +94748,12 @@ function info_default33({ defineComponent, All, common: { Resolutions, FrameRate
|
|
94573
94748
|
}
|
94574
94749
|
});
|
94575
94750
|
}
|
94576
|
-
function
|
94751
|
+
function assertUnreachable24(_) {
|
94577
94752
|
throw new Error("Didn't expect to get here");
|
94578
94753
|
}
|
94579
94754
|
|
94580
94755
|
// build/processor.smartSourceSwitch/source-selection.js
|
94581
|
-
var
|
94756
|
+
var import_jsx_runtime45 = __toESM(require_jsx_runtime());
|
94582
94757
|
var import_react13 = __toESM(require_react());
|
94583
94758
|
function OrderInput2(props) {
|
94584
94759
|
const { onChanged } = props;
|
@@ -94587,10 +94762,10 @@ function OrderInput2(props) {
|
|
94587
94762
|
onChanged(value);
|
94588
94763
|
}, [value, onChanged]);
|
94589
94764
|
if (value.length == 0) {
|
94590
|
-
return (0,
|
94765
|
+
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
94766
|
} else {
|
94592
|
-
return (0,
|
94593
|
-
return (0,
|
94767
|
+
return (0, import_jsx_runtime45.jsx)("div", { id: props.id, children: (0, import_jsx_runtime45.jsx)("ul", { children: value.map((v, ix) => {
|
94768
|
+
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
94769
|
}) }) });
|
94595
94770
|
}
|
94596
94771
|
function moveUp(ix) {
|
@@ -94613,35 +94788,35 @@ function OrderInput2(props) {
|
|
94613
94788
|
var source_selection_default2 = OrderInput2;
|
94614
94789
|
|
94615
94790
|
// build/processor.smartSourceSwitch/inline-view.js
|
94616
|
-
var
|
94617
|
-
function
|
94791
|
+
var import_jsx_runtime46 = __toESM(require_jsx_runtime());
|
94792
|
+
function cn2(...classes) {
|
94618
94793
|
return classes.filter(Boolean).join(" ");
|
94619
94794
|
}
|
94620
|
-
function
|
94621
|
-
return (0,
|
94795
|
+
function InlineView18({ state, config }) {
|
94796
|
+
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
94797
|
const isActive = state.activeSource === s;
|
94623
94798
|
const isAvailable = state.availableSources.includes(s);
|
94624
|
-
const indicatorClasses =
|
94625
|
-
return (0,
|
94626
|
-
}), (0,
|
94799
|
+
const indicatorClasses = cn2("w-3 h-3 rounded-full", isActive ? "bg-live" : isAvailable ? "bg-standby" : "bg-offline");
|
94800
|
+
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);
|
94801
|
+
}), (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
94802
|
}
|
94628
|
-
var
|
94803
|
+
var inline_view_default18 = InlineView18;
|
94629
94804
|
|
94630
94805
|
// build/processor.smartSourceSwitch/info.js
|
94631
94806
|
var import_FaSlidersH2 = __toESM(require_FaSlidersH());
|
94632
94807
|
var import_client_types4 = __toESM(require_client_types());
|
94633
94808
|
|
94634
94809
|
// build/processor.smartSourceSwitch/form-views.js
|
94635
|
-
var
|
94810
|
+
var import_jsx_runtime47 = __toESM(require_jsx_runtime());
|
94636
94811
|
function FallbackConfiguration(cfg) {
|
94637
94812
|
if (cfg.kind === "file") {
|
94638
|
-
return (0,
|
94813
|
+
return (0, import_jsx_runtime47.jsx)("div", { className: "text-sm", children: cfg.filePath || "No file specified" });
|
94639
94814
|
}
|
94640
|
-
return (0,
|
94815
|
+
return (0, import_jsx_runtime47.jsx)("div", { className: "text-sm", children: "Test Card" });
|
94641
94816
|
}
|
94642
94817
|
|
94643
94818
|
// build/processor.smartSourceSwitch/info.js
|
94644
|
-
function
|
94819
|
+
function info_default35({ defineComponent, Av, common: { Resolutions, FrameRates } }) {
|
94645
94820
|
function patchConfigFromSubscription(cfg, sub) {
|
94646
94821
|
const potentiallyNewSources = sub.expectedStreams.map((s) => s.sourceName).filter((s) => !!s);
|
94647
94822
|
potentiallyNewSources.forEach((s) => {
|
@@ -94738,12 +94913,12 @@ function info_default34({ defineComponent, Av, common: { Resolutions, FrameRates
|
|
94738
94913
|
state.availableSources.splice(state.availableSources.indexOf(ev.source), 1);
|
94739
94914
|
return { ...state };
|
94740
94915
|
default:
|
94741
|
-
|
94916
|
+
assertUnreachable25(evType);
|
94742
94917
|
}
|
94743
94918
|
},
|
94744
|
-
inline:
|
94745
|
-
summary:
|
94746
|
-
fullscreen:
|
94919
|
+
inline: inline_view_default18,
|
94920
|
+
summary: inline_view_default18,
|
94921
|
+
fullscreen: inline_view_default18
|
94747
94922
|
},
|
94748
94923
|
configForm: {
|
94749
94924
|
form: {
|
@@ -94818,13 +94993,13 @@ function info_default34({ defineComponent, Av, common: { Resolutions, FrameRates
|
|
94818
94993
|
}
|
94819
94994
|
});
|
94820
94995
|
}
|
94821
|
-
function
|
94996
|
+
function assertUnreachable25(_) {
|
94822
94997
|
throw new Error("Didn't expect to get here");
|
94823
94998
|
}
|
94824
94999
|
|
94825
95000
|
// build/processor.streamKeyOverride/info.js
|
94826
95001
|
var import_FaKey = __toESM(require_FaKey());
|
94827
|
-
function
|
95002
|
+
function info_default36({ defineComponent, All, validation: { Z } }) {
|
94828
95003
|
return defineComponent({
|
94829
95004
|
identifier: "processor.streamKeyOverride",
|
94830
95005
|
category: "processor",
|
@@ -94920,20 +95095,20 @@ function info_default35({ defineComponent, All, validation: { Z } }) {
|
|
94920
95095
|
var import_config8 = __toESM(require_config());
|
94921
95096
|
|
94922
95097
|
// build/processor.syncExternalAudio/inline-view.js
|
94923
|
-
var
|
95098
|
+
var import_jsx_runtime48 = __toESM(require_jsx_runtime());
|
94924
95099
|
var import_react14 = __toESM(require_react());
|
94925
|
-
function
|
95100
|
+
function InlineView19({ state, raise }) {
|
94926
95101
|
(0, import_react14.useEffect)(() => {
|
94927
95102
|
if (raise) {
|
94928
95103
|
raise();
|
94929
95104
|
}
|
94930
95105
|
}, [raise]);
|
94931
|
-
return (0,
|
95106
|
+
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
95107
|
}
|
94933
|
-
var
|
95108
|
+
var inline_view_default19 = InlineView19;
|
94934
95109
|
|
94935
95110
|
// build/processor.syncExternalAudio/fullscreen-view.js
|
94936
|
-
var
|
95111
|
+
var import_jsx_runtime49 = __toESM(require_jsx_runtime());
|
94937
95112
|
var import_react15 = __toESM(require_react());
|
94938
95113
|
var CommentaryWhepClient = class extends NorskWhepClient {
|
94939
95114
|
audio;
|
@@ -95122,11 +95297,11 @@ function SyncExternalAudioFullscreenView({ state, config, sendCommand }) {
|
|
95122
95297
|
setAudioStarted(true);
|
95123
95298
|
}
|
95124
95299
|
};
|
95125
|
-
return (0,
|
95300
|
+
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
95301
|
}
|
95127
95302
|
|
95128
95303
|
// build/processor.syncExternalAudio/info.js
|
95129
|
-
function
|
95304
|
+
function info_default37(R) {
|
95130
95305
|
const { defineComponent, validation: { Z } } = R;
|
95131
95306
|
return defineComponent({
|
95132
95307
|
identifier: "processor.syncExternalAudio",
|
@@ -95231,14 +95406,14 @@ function info_default36(R) {
|
|
95231
95406
|
}
|
95232
95407
|
},
|
95233
95408
|
fullscreen: SyncExternalAudioFullscreenView,
|
95234
|
-
inline:
|
95409
|
+
inline: inline_view_default19
|
95235
95410
|
}
|
95236
95411
|
});
|
95237
95412
|
}
|
95238
95413
|
|
95239
95414
|
// build/processor.videoDecoder/info.js
|
95240
95415
|
var import_FaFileVideo = __toESM(require_FaFileVideo());
|
95241
|
-
function
|
95416
|
+
function info_default38({ defineComponent }) {
|
95242
95417
|
return defineComponent({
|
95243
95418
|
identifier: "processor.videoDecoder",
|
95244
95419
|
category: "processor",
|
@@ -95291,7 +95466,7 @@ var import_config9 = __toESM(require_config());
|
|
95291
95466
|
var import_util10 = __toESM(require_util());
|
95292
95467
|
|
95293
95468
|
// build/processor.webRtcDuplex/fullscreen.js
|
95294
|
-
var
|
95469
|
+
var import_jsx_runtime50 = __toESM(require_jsx_runtime());
|
95295
95470
|
var import_react16 = __toESM(require_react());
|
95296
95471
|
var import_webrtc_client2 = __toESM(require_webrtc_client());
|
95297
95472
|
var DuplexWhepClient = class extends NorskWhepClient {
|
@@ -95364,11 +95539,11 @@ function FullscreenView2({ state, config }) {
|
|
95364
95539
|
}
|
95365
95540
|
}
|
95366
95541
|
}, [state.publishUrl, state.outputUrl, container, button, client, sender, config, state.videoAvailable]);
|
95367
|
-
return (0,
|
95542
|
+
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
95543
|
}
|
95369
95544
|
|
95370
95545
|
// build/processor.webRtcDuplex/info.js
|
95371
|
-
function
|
95546
|
+
function info_default39(R) {
|
95372
95547
|
const { defineComponent } = R;
|
95373
95548
|
return defineComponent({
|
95374
95549
|
identifier: "processor.webrtcDuplex",
|
@@ -95447,7 +95622,7 @@ function info_default38(R) {
|
|
95447
95622
|
|
95448
95623
|
// build/processor.zoomTo/info.js
|
95449
95624
|
var import_config10 = __toESM(require_config());
|
95450
|
-
function
|
95625
|
+
function info_default40({ defineComponent, validation: { Z } }) {
|
95451
95626
|
return defineComponent({
|
95452
95627
|
identifier: "processor.zoomTo",
|
95453
95628
|
name: "Zoom To",
|
@@ -95524,7 +95699,7 @@ function info_default39({ defineComponent, validation: { Z } }) {
|
|
95524
95699
|
inputVideoAspectRatio: ev.inputVideoAspectRatio
|
95525
95700
|
};
|
95526
95701
|
default:
|
95527
|
-
|
95702
|
+
assertUnreachable27(evType);
|
95528
95703
|
}
|
95529
95704
|
}
|
95530
95705
|
},
|
@@ -95613,12 +95788,12 @@ function info_default39({ defineComponent, validation: { Z } }) {
|
|
95613
95788
|
}
|
95614
95789
|
});
|
95615
95790
|
}
|
95616
|
-
function
|
95791
|
+
function assertUnreachable27(_) {
|
95617
95792
|
throw new Error("Didn't expect to get here");
|
95618
95793
|
}
|
95619
95794
|
|
95620
95795
|
// build/util.stats.latency/inline-view.js
|
95621
|
-
var
|
95796
|
+
var import_jsx_runtime51 = __toESM(require_jsx_runtime());
|
95622
95797
|
var import_react17 = __toESM(require_react());
|
95623
95798
|
|
95624
95799
|
// ../../node_modules/chart.js/auto/auto.js
|
@@ -95626,7 +95801,7 @@ Chart.register(...registerables);
|
|
95626
95801
|
var auto_default = Chart;
|
95627
95802
|
|
95628
95803
|
// build/util.stats.latency/inline-view.js
|
95629
|
-
function
|
95804
|
+
function InlineView20({ state, config: _2 }) {
|
95630
95805
|
const chartContainer = (0, import_react17.useRef)(null);
|
95631
95806
|
const [chartControl, setChartControl] = (0, import_react17.useState)(void 0);
|
95632
95807
|
function makeDataSet(key, color2, values) {
|
@@ -95688,19 +95863,19 @@ function InlineView19({ state, config: _2 }) {
|
|
95688
95863
|
return;
|
95689
95864
|
chartControl.data = makeData(state);
|
95690
95865
|
}, [chartControl, makeData, state]);
|
95691
|
-
return (0,
|
95866
|
+
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
95867
|
}
|
95693
|
-
var
|
95868
|
+
var inline_view_default20 = InlineView20;
|
95694
95869
|
|
95695
95870
|
// build/util.stats.latency/source-node-selection.js
|
95696
|
-
var
|
95871
|
+
var import_jsx_runtime52 = __toESM(require_jsx_runtime());
|
95697
95872
|
function SourceNodeSelection(props) {
|
95698
|
-
return (0,
|
95873
|
+
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
95874
|
if (o.id == props.id)
|
95700
|
-
return (0,
|
95875
|
+
return (0, import_jsx_runtime52.jsx)(import_jsx_runtime52.Fragment, {});
|
95701
95876
|
if (o.info.category === "output")
|
95702
95877
|
return;
|
95703
|
-
return (0,
|
95878
|
+
return (0, import_jsx_runtime52.jsx)("option", { value: o.id, children: o.config.displayName }, i);
|
95704
95879
|
})] }) });
|
95705
95880
|
function myOnChange(e) {
|
95706
95881
|
props.onChanged(e.target.value);
|
@@ -95710,7 +95885,7 @@ var source_node_selection_default = SourceNodeSelection;
|
|
95710
95885
|
|
95711
95886
|
// build/util.stats.latency/info.js
|
95712
95887
|
var import_FaClock = __toESM(require_FaClock());
|
95713
|
-
function
|
95888
|
+
function info_default41(R) {
|
95714
95889
|
const { defineComponent } = R;
|
95715
95890
|
return defineComponent({
|
95716
95891
|
identifier: "util.stats.latency",
|
@@ -95740,11 +95915,11 @@ function info_default40(R) {
|
|
95740
95915
|
break;
|
95741
95916
|
}
|
95742
95917
|
default:
|
95743
|
-
|
95918
|
+
assertUnreachable28(evType);
|
95744
95919
|
}
|
95745
95920
|
return { ...state };
|
95746
95921
|
},
|
95747
|
-
inline:
|
95922
|
+
inline: inline_view_default20
|
95748
95923
|
},
|
95749
95924
|
configForm: {
|
95750
95925
|
form: {
|
@@ -95795,7 +95970,7 @@ function info_default40(R) {
|
|
95795
95970
|
}
|
95796
95971
|
});
|
95797
95972
|
}
|
95798
|
-
function
|
95973
|
+
function assertUnreachable28(_) {
|
95799
95974
|
throw new Error("Didn't expect to get here");
|
95800
95975
|
}
|
95801
95976
|
|
@@ -95824,11 +95999,11 @@ AllComponents.push((r) => info_default8(r));
|
|
95824
95999
|
AllComponents.push((r) => info_default9(r));
|
95825
96000
|
AllComponents.push((r) => info_default10(r));
|
95826
96001
|
AllComponents.push((r) => info_default11(r));
|
95827
|
-
AllComponents.push((r) =>
|
96002
|
+
AllComponents.push((r) => info_default12(r));
|
95828
96003
|
AllComponents.push((r) => info_default14(r));
|
95829
96004
|
AllComponents.push((r) => info_default15(r));
|
95830
|
-
AllComponents.push((r) => info_default12(r));
|
95831
96005
|
AllComponents.push((r) => info_default16(r));
|
96006
|
+
AllComponents.push((r) => info_default13(r));
|
95832
96007
|
AllComponents.push((r) => info_default17(r));
|
95833
96008
|
AllComponents.push((r) => info_default18(r));
|
95834
96009
|
AllComponents.push((r) => info_default19(r));
|
@@ -95853,6 +96028,7 @@ AllComponents.push((r) => info_default37(r));
|
|
95853
96028
|
AllComponents.push((r) => info_default38(r));
|
95854
96029
|
AllComponents.push((r) => info_default39(r));
|
95855
96030
|
AllComponents.push((r) => info_default40(r));
|
96031
|
+
AllComponents.push((r) => info_default41(r));
|
95856
96032
|
export {
|
95857
96033
|
getNodeInfo as default
|
95858
96034
|
};
|