@norskvideo/norsk-studio-source-switcher 1.27.0-2025-04-09-a7944f8c → 1.27.0-2025-04-14-1f338398
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 +32048 -2602
- package/client/tailwind.css +832 -83
- package/lib/inline-view.js +7 -8
- package/lib/inline-view.js.map +1 -1
- package/lib/select.js +72 -0
- package/lib/select.js.map +1 -0
- package/lib/summary-view.js +23 -15
- package/lib/summary-view.js.map +1 -1
- package/lib/utils.js +9 -0
- package/lib/utils.js.map +1 -0
- package/package.json +3 -3
package/lib/inline-view.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
-
const
|
|
5
|
-
const availableClasses = "available text-green-500 dark:text-green-300";
|
|
6
|
-
const inactiveClasses = "inactive text-orange-500 dark:text-orange-300";
|
|
4
|
+
const utils_1 = require("./utils");
|
|
7
5
|
function InlineView({ state }) {
|
|
8
|
-
return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h5", { children: "Sources" }), (0, jsx_runtime_1.jsx)("ul", { children: state.knownSources.map((s, i) =>
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h5", { className: "text-gray-900 dark:text-white font-medium", children: "Sources:" }), (0, jsx_runtime_1.jsx)("ul", { className: "space-y-2 mt-2", children: state.knownSources.map((s, i) => {
|
|
7
|
+
const isAvailable = state.availableSources.find((a) => a.sourceName === s.sourceName);
|
|
8
|
+
const isActive = state.activeSource.sourceName === s.sourceName;
|
|
9
|
+
const indicatorClasses = (0, utils_1.cn)("w-3 h-3 rounded-full", isActive ? "bg-live" : isAvailable ? "bg-standby" : "bg-offline");
|
|
10
|
+
return ((0, jsx_runtime_1.jsxs)("li", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: "relative", children: [(0, jsx_runtime_1.jsx)("div", { className: indicatorClasses }), isActive && (0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: (0, jsx_runtime_1.jsx)("div", { className: "w-3 h-3 rounded-full bg-live animate-ping duration-150" }) })] }), (0, jsx_runtime_1.jsx)("span", { className: "text-gray-900 dark:text-white", children: s.sourceName })] }, i));
|
|
11
|
+
}) })] });
|
|
13
12
|
}
|
|
14
13
|
exports.default = InlineView;
|
|
15
14
|
//# sourceMappingURL=inline-view.js.map
|
package/lib/inline-view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../src/inline-view.tsx"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../src/inline-view.tsx"],"names":[],"mappings":";;;AACA,mCAA6B;AAE7B,SAAS,UAAU,CAAC,EAAE,KAAK,EAA4D;IACrF,OAAO,6DACL,+BAAI,SAAS,EAAC,2CAA2C,yBAAc,EACvE,+BAAI,SAAS,EAAC,gBAAgB,YAC3B,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;oBACtF,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,CAAC;oBAEhE,MAAM,gBAAgB,GAAG,IAAA,UAAE,EACzB,sBAAsB,EACtB,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CACjE,CAAC;oBAEF,OAAO,CACL,gCAAY,SAAS,EAAC,yBAAyB,aAC7C,iCAAK,SAAS,EAAC,UAAU,aACnB,gCAAK,SAAS,EAAE,gBAAgB,GAAQ,EACvC,QAAQ,IAAI,gCAAK,SAAS,EAAC,mDAAmD,YAC7E,gCAAK,SAAS,EAAC,wDAAwD,GAAO,GAC1E,IACF,EACV,iCAAM,SAAS,EAAC,+BAA+B,YAAE,CAAC,CAAC,UAAU,GAAQ,KAP9D,CAAC,CAQL,CACN,CAAC;gBACJ,CAAC,CAAC,GACC,IACJ,CAAA;AACL,CAAC;AAED,kBAAe,UAAU,CAAC"}
|
package/lib/select.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.Select = Select;
|
|
27
|
+
exports.SelectContent = SelectContent;
|
|
28
|
+
exports.SelectGroup = SelectGroup;
|
|
29
|
+
exports.SelectItem = SelectItem;
|
|
30
|
+
exports.SelectLabel = SelectLabel;
|
|
31
|
+
exports.SelectScrollDownButton = SelectScrollDownButton;
|
|
32
|
+
exports.SelectScrollUpButton = SelectScrollUpButton;
|
|
33
|
+
exports.SelectSeparator = SelectSeparator;
|
|
34
|
+
exports.SelectTrigger = SelectTrigger;
|
|
35
|
+
exports.SelectValue = SelectValue;
|
|
36
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
37
|
+
const SelectPrimitive = __importStar(require("@radix-ui/react-select"));
|
|
38
|
+
const lucide_react_1 = require("lucide-react");
|
|
39
|
+
const utils_1 = require("./utils");
|
|
40
|
+
function Select({ ...props }) {
|
|
41
|
+
return (0, jsx_runtime_1.jsx)(SelectPrimitive.Root, { "data-slot": "select", ...props });
|
|
42
|
+
}
|
|
43
|
+
function SelectGroup({ ...props }) {
|
|
44
|
+
return (0, jsx_runtime_1.jsx)(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
|
|
45
|
+
}
|
|
46
|
+
function SelectValue({ ...props }) {
|
|
47
|
+
return (0, jsx_runtime_1.jsx)(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
48
|
+
}
|
|
49
|
+
function SelectTrigger({ className, size = "default", children, ...props }) {
|
|
50
|
+
return ((0, jsx_runtime_1.jsxs)(SelectPrimitive.Trigger, { "data-slot": "select-trigger", "data-size": size, className: (0, utils_1.cn)("text-gray-800 dark:text-gray-200 dark:bg-gray-700 hover:bg-gray-200 dark:hover:bg-gray-800 border-gray-200 dark:border-gray-600 transition-colors duration-200 flex w-fit items-center justify-between gap-2 rounded-lg border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs outline-none ring-0 focus:ring-0 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8", className), ...props, children: [children, (0, jsx_runtime_1.jsx)(SelectPrimitive.Icon, { asChild: true, children: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDownIcon, { className: "size-4 text-black dark:text-white" }) })] }));
|
|
51
|
+
}
|
|
52
|
+
function SelectContent({ className, children, position = "popper", ...props }) {
|
|
53
|
+
return ((0, jsx_runtime_1.jsx)(SelectPrimitive.Portal, { children: (0, jsx_runtime_1.jsxs)(SelectPrimitive.Content, { "data-slot": "select-content", className: (0, utils_1.cn)("bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-lg text-sm p-1 ring-0 focus:ring-0 focus:outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto", position === "popper" &&
|
|
54
|
+
"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className), position: position, ...props, children: [(0, jsx_runtime_1.jsx)(SelectScrollUpButton, {}), (0, jsx_runtime_1.jsx)(SelectPrimitive.Viewport, { className: (0, utils_1.cn)("p-1", position === "popper" &&
|
|
55
|
+
"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"), children: children }), (0, jsx_runtime_1.jsx)(SelectScrollDownButton, {})] }) }));
|
|
56
|
+
}
|
|
57
|
+
function SelectLabel({ className, ...props }) {
|
|
58
|
+
return ((0, jsx_runtime_1.jsx)(SelectPrimitive.Label, { "data-slot": "select-label", className: (0, utils_1.cn)("p-2 text-md font-semibold text-gray-900 dark:text-white", className), ...props }));
|
|
59
|
+
}
|
|
60
|
+
function SelectItem({ className, children, ...props }) {
|
|
61
|
+
return ((0, jsx_runtime_1.jsxs)(SelectPrimitive.Item, { "data-slot": "select-item", className: (0, utils_1.cn)("w-full bg-transparent flex items-center gap-2 hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors duration-200 relative cursor-default rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none data-[disabled]:pointer-events-none text-gray-900 dark:text-white ring-0 focus:ring-0 focus:outline-none", className), ...props, children: [(0, jsx_runtime_1.jsx)("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: (0, jsx_runtime_1.jsx)(SelectPrimitive.ItemIndicator, { children: (0, jsx_runtime_1.jsx)(lucide_react_1.CheckIcon, { className: "size-4 text-black dark:text-white" }) }) }), (0, jsx_runtime_1.jsx)(SelectPrimitive.ItemText, { children: children })] }));
|
|
62
|
+
}
|
|
63
|
+
function SelectSeparator({ className, ...props }) {
|
|
64
|
+
return ((0, jsx_runtime_1.jsx)(SelectPrimitive.Separator, { "data-slot": "select-separator", className: (0, utils_1.cn)("bg-neutral-200 pointer-events-none -mx-1 my-1 h-px dark:bg-neutral-800", className), ...props }));
|
|
65
|
+
}
|
|
66
|
+
function SelectScrollUpButton({ className, ...props }) {
|
|
67
|
+
return ((0, jsx_runtime_1.jsx)(SelectPrimitive.ScrollUpButton, { "data-slot": "select-scroll-up-button", className: (0, utils_1.cn)("flex cursor-default items-center justify-center py-1", className), ...props, children: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronUpIcon, { className: "size-4 text-black dark:text-white" }) }));
|
|
68
|
+
}
|
|
69
|
+
function SelectScrollDownButton({ className, ...props }) {
|
|
70
|
+
return ((0, jsx_runtime_1.jsx)(SelectPrimitive.ScrollDownButton, { "data-slot": "select-scroll-down-button", className: (0, utils_1.cn)("flex cursor-default items-center justify-center py-1", className), ...props, children: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDownIcon, { className: "size-4 text-black dark:text-white" }) }));
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../src/select.tsx"],"names":[],"mappings":"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"}
|
package/lib/summary-view.js
CHANGED
|
@@ -3,9 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const webrtc_client_1 = require("@norskvideo/webrtc-client");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const inactiveClasses = "inactive text-orange-500 dark:text-orange-300";
|
|
6
|
+
const select_1 = require("./select");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
9
8
|
function SummaryView({ state, config, sendCommand }) {
|
|
10
9
|
const [previewSource, setPreviewSource] = (0, react_1.useState)(undefined);
|
|
11
10
|
const [activePlayerSource, setActivePlayerSource] = (0, react_1.useState)(undefined);
|
|
@@ -46,19 +45,28 @@ function SummaryView({ state, config, sendCommand }) {
|
|
|
46
45
|
initialLoad,
|
|
47
46
|
state.players
|
|
48
47
|
]);
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
: (0, jsx_runtime_1.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
48
|
+
const [selectedSource, setSelectedSource] = (0, react_1.useState)(previewSource ?? state.activeSource);
|
|
49
|
+
return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: "space-y-2", children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: "select-preview", className: "mt-2", children: "Source" }), (0, jsx_runtime_1.jsxs)(select_1.Select, { onValueChange: (value) => {
|
|
50
|
+
setPreviewSource(JSON.parse(value));
|
|
51
|
+
setSelectedSource(JSON.parse(value));
|
|
52
|
+
}, value: JSON.stringify(previewSource), children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: "w-full", children: selectedSource ?
|
|
53
|
+
(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("div", { className: `w-4 h-4 rounded-full ${selectedSource.sourceName == state.activeSource.sourceName ? "bg-live" : "bg-standby"}` }), (0, jsx_runtime_1.jsx)("span", { className: "text-gray-900 dark:text-white", children: selectedSource.sourceName })] })
|
|
54
|
+
: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: "Select a source" }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { className: "w-full", children: state.knownSources.map((s, i) => {
|
|
55
|
+
const isAvailable = state.availableSources.find((a) => s.sourceName == a.sourceName);
|
|
56
|
+
const isActive = state.activeSource.sourceName == s.sourceName;
|
|
57
|
+
const indicatorClasses = (0, utils_1.cn)("w-4 h-4 rounded-full", isActive ? "bg-live" : isAvailable ? "bg-standby" : "bg-offline");
|
|
58
|
+
const textClasses = (0, utils_1.cn)("text-gray-900 dark:text-white", !isAvailable && "opacity-50");
|
|
59
|
+
return (0, jsx_runtime_1.jsx)(select_1.SelectItem, { disabled: !isAvailable, value: JSON.stringify(s), children: (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsxs)("div", { className: "relative", children: [(0, jsx_runtime_1.jsx)("div", { className: indicatorClasses }), isActive && (0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: (0, jsx_runtime_1.jsx)("div", { className: "w-3 h-3 rounded-full bg-live animate-ping duration-150" }) })] }), (0, jsx_runtime_1.jsx)("span", { className: textClasses, children: s.sourceName }), (0, jsx_runtime_1.jsxs)("span", { className: "text-gray-500 dark:text-gray-400", children: ["(", isActive ? "Active" : isAvailable ? "Available" : "Unavailable", ")"] })] }) }, i);
|
|
60
|
+
}) })] })] }), (0, jsx_runtime_1.jsx)("button", { disabled: !previewSource || previewSource == state.activeSource, type: "button", className: "mt-2 mb-2 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-4 py-2 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800 disabled:opacity-50 disabled:cursor-not-allowed", onClick: (e) => {
|
|
58
61
|
e.preventDefault();
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
+
if (previewSource) {
|
|
63
|
+
sendCommand({ type: "select-source", source: previewSource, overlays: [] });
|
|
64
|
+
setPreviewSource(undefined);
|
|
65
|
+
setSelectedSource(previewSource);
|
|
66
|
+
}
|
|
67
|
+
}, children: "Make Active" }), config.enablePreviews ?
|
|
68
|
+
(0, jsx_runtime_1.jsxs)("div", { className: "space-y-2", children: [(0, jsx_runtime_1.jsx)("h4", { className: "text-gray-500 dark:text-gray-400 font-medium", children: "Preview:" }), (0, jsx_runtime_1.jsx)("div", { className: "relative w-full aspect-video bg-gray-200 dark:bg-gray-900 rounded-lg overflow-hidden", children: (0, jsx_runtime_1.jsx)("div", { id: `${config.id}-preview`, className: "absolute inset-0" }) })] })
|
|
69
|
+
: null] });
|
|
62
70
|
}
|
|
63
71
|
exports.default = SummaryView;
|
|
64
72
|
//# sourceMappingURL=summary-view.js.map
|
package/lib/summary-view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary-view.js","sourceRoot":"","sources":["../src/summary-view.tsx"],"names":[],"mappings":";;;AAAA,iCAA4C;AAG5C,6DAAsD;
|
|
1
|
+
{"version":3,"file":"summary-view.js","sourceRoot":"","sources":["../src/summary-view.tsx"],"names":[],"mappings":";;;AAAA,iCAA4C;AAG5C,6DAAsD;AACtD,qCAAyF;AACzF,mCAA6B;AAG7B,SAAS,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAA6G;IAE5J,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAiC,SAAS,CAAC,CAAC;IAC9F,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,gBAAQ,EAAiC,SAAS,CAAC,CAAA;IACvG,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAyB,SAAS,CAAC,CAAC;IAEtF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,aAAa,KAAK,kBAAkB,IAAI,WAAW,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB;gBAChE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;YAC7D,IAAI,CAAC,MAAM;gBAAE,OAAO;YAGpB,IAAI,aAAa,EAAE,CAAC;gBAGlB,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACxC,CAAC,CAAC,MAAM,EAAE,CAAC;gBACb,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,EAAE,UAAU,CAAC,CAAA;YAEjE,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;YAC3B,CAAC;YAID,qBAAqB,CAAC,aAAa,CAAC,CAAC;YACrC,cAAc,CAAC,KAAK,CAAC,CAAC;YAEtB,MAAM,MAAM,GAAG,IAAI,0BAAU,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,IAAI,SAAS,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1G,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAEzB,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE;YACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,EAAE,UAAU,CAAC,CAAA;YACjE,OAAO,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxE,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAA;gBAC5E,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACnC,CAAC;QAEH,CAAC,EAAE,GAAG,CAAC,CAAA;QACP,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC,EAAE;QACD,aAAa;QACb,kBAAkB;QAClB,WAAW;QACX,KAAK,CAAC,OAAO;KACd,CAAC,CAAA;IAEF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAiC,aAAa,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAE1H,OAAO,6DAGL,iCAAK,SAAS,EAAC,WAAW,aACxB,kCAAO,OAAO,EAAC,gBAAgB,EAAC,SAAS,EAAC,MAAM,uBAAe,EAC/D,wBAAC,eAAM,IAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;4BAC/B,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;4BACnC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;wBACtC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aACrC,uBAAC,sBAAa,IAAC,SAAS,EAAC,QAAQ,YAC9B,cAAc,CAAC,CAAC;oCACf,iCAAK,SAAS,EAAC,yBAAyB,aACtC,gCAAK,SAAS,EAAE,wBAAwB,cAAc,CAAC,UAAU,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,GAAQ,EACvI,iCAAM,SAAS,EAAC,+BAA+B,YAAE,cAAc,CAAC,UAAU,GAAQ,IAC9E;oCACN,CAAC,CAAC,uBAAC,oBAAW,IAAC,WAAW,EAAC,iBAAiB,GAAG,GAEnC,EAChB,uBAAC,sBAAa,IAAC,SAAS,EAAC,QAAQ,YAC9B,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oCAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;oCACrF,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC;oCAC/D,MAAM,gBAAgB,GAAG,IAAA,UAAE,EACzB,sBAAsB,EACtB,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CACjE,CAAA;oCAED,MAAM,WAAW,GAAG,IAAA,UAAE,EACpB,+BAA+B,EAC/B,CAAC,WAAW,IAAI,YAAY,CAC7B,CAAA;oCAED,OAAO,uBAAC,mBAAU,IAAS,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YACzE,iCAAK,SAAS,EAAC,yBAAyB,aACtC,iCAAK,SAAS,EAAC,UAAU,aACvB,gCAAK,SAAS,EAAE,gBAAgB,GAAQ,EACvC,QAAQ,IAAI,gCAAK,SAAS,EAAC,mDAAmD,YAC7E,gCAAK,SAAS,EAAC,wDAAwD,GAAO,GAC1E,IACF,EACN,iCAAM,SAAS,EAAE,WAAW,YAAG,CAAC,CAAC,UAAU,GAAQ,EACnD,kCAAM,SAAS,EAAC,kCAAkC,kBAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,SAAS,IACzH,IAVgB,CAAC,CAWZ,CAAA;gCACf,CAAC,CAAC,GACY,IACT,IACL,EAGN,mCAAQ,QAAQ,EAAE,CAAC,aAAa,IAAI,aAAa,IAAI,KAAK,CAAC,YAAY,EAAE,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,sTAAsT,EACrZ,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,CAAC,CAAC,cAAc,EAAE,CAAC;oBAEnB,IAAI,aAAa,EAAE,CAAC;wBAClB,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC5E,gBAAgB,CAAC,SAAS,CAAC,CAAC;wBAC5B,iBAAiB,CAAC,aAAa,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC,4BAGM,EAER,MAAM,CAAC,cAAc,CAAC,CAAC;gBACtB,iCAAK,SAAS,EAAC,WAAW,aACxB,+BAAI,SAAS,EAAC,8CAA8C,yBAAc,EAC1E,gCAAK,SAAS,EAAC,sFAAsF,YACnG,gCAAK,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,EAAC,kBAAkB,GAAO,GAChE,IACF;gBACN,CAAC,CAAC,IAAI,IAEP,CAAA;AACL,CAAC;AAED,kBAAe,WAAW,CAAC"}
|
package/lib/utils.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cn = cn;
|
|
4
|
+
const clsx_1 = require("clsx");
|
|
5
|
+
const tailwind_merge_1 = require("tailwind-merge");
|
|
6
|
+
function cn(...inputs) {
|
|
7
|
+
return (0, tailwind_merge_1.twMerge)((0, clsx_1.clsx)(inputs));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=utils.js.map
|
package/lib/utils.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAGA,gBAEC;AALD,+BAA4C;AAC5C,mDAAwC;AAExC,SAAgB,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,IAAA,wBAAO,EAAC,IAAA,WAAI,EAAC,MAAM,CAAC,CAAC,CAAA;AAC9B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@norskvideo/norsk-studio-source-switcher",
|
|
3
|
-
"version": "1.27.0-2025-04-
|
|
3
|
+
"version": "1.27.0-2025-04-14-1f338398",
|
|
4
4
|
"description": "",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"clean": "rm -rf lib",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"@aws-sdk/client-medialive": "^3.499.0",
|
|
25
25
|
"@aws-sdk/client-mediapackage": "^3.499.0",
|
|
26
26
|
"@aws-sdk/client-translate": "^3.535.0",
|
|
27
|
-
"@norskvideo/norsk-sdk": "^1.0.401-2025-04-
|
|
28
|
-
"@norskvideo/norsk-studio": "1.27.0-2025-04-
|
|
27
|
+
"@norskvideo/norsk-sdk": "^1.0.401-2025-04-14-dc9c0dee",
|
|
28
|
+
"@norskvideo/norsk-studio": "1.27.0-2025-04-14-1f338398",
|
|
29
29
|
"@norskvideo/webrtc-client": "^0.1.2",
|
|
30
30
|
"chart.js": "^4.4.2",
|
|
31
31
|
"express": "^4.18.2",
|