@norskvideo/norsk-studio 1.27.0-2025-07-06-336ac6c6 → 1.27.0-2025-07-09-f9b24945

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/ui/index.js CHANGED
@@ -200902,6 +200902,7 @@ function getNodeStyles(state, hasInputs, hasOutputs) {
200902
200902
  switch (state) {
200903
200903
  case NodeState.design_error:
200904
200904
  return {
200905
+ cornerClasses,
200905
200906
  baseClasses: twMerge(errorClasses, "border-node-error dark:border-node-error"),
200906
200907
  selectedClasses: errorClasses,
200907
200908
  overlay: {
@@ -200910,6 +200911,7 @@ function getNodeStyles(state, hasInputs, hasOutputs) {
200910
200911
  };
200911
200912
  case NodeState.design_warning:
200912
200913
  return {
200914
+ cornerClasses,
200913
200915
  baseClasses: twMerge(warningClasses, "border-node-warning dark:border-node-warning"),
200914
200916
  selectedClasses: warningClasses,
200915
200917
  overlay: {
@@ -200918,6 +200920,7 @@ function getNodeStyles(state, hasInputs, hasOutputs) {
200918
200920
  };
200919
200921
  case NodeState.runtime_warning:
200920
200922
  return {
200923
+ cornerClasses,
200921
200924
  baseClasses: twMerge(warningClasses, "border-node-warning dark:border-node-warning"),
200922
200925
  selectedClasses: warningClasses,
200923
200926
  overlay: {
@@ -200926,16 +200929,19 @@ function getNodeStyles(state, hasInputs, hasOutputs) {
200926
200929
  };
200927
200930
  case NodeState.runtime_default:
200928
200931
  return {
200932
+ cornerClasses,
200929
200933
  baseClasses: twMerge(baseWithCorners, "border-node-active dark:border-node-active shadow-node-shadow-active dark:shadow-node-shadow-active"),
200930
200934
  selectedClasses: twMerge(baseWithCorners, "shadow-node-shadow-active dark:shadow-node-shadow-active")
200931
200935
  };
200932
200936
  case NodeState.design_default:
200933
200937
  return {
200938
+ cornerClasses,
200934
200939
  baseClasses: baseWithCorners,
200935
200940
  selectedClasses: baseWithCorners
200936
200941
  };
200937
200942
  case NodeState.runtime_error:
200938
200943
  return {
200944
+ cornerClasses,
200939
200945
  baseClasses: twMerge(errorClasses, "border-node-error dark:border-node-error"),
200940
200946
  selectedClasses: errorClasses
200941
200947
  };
@@ -200976,7 +200982,7 @@ var NodeComponent = ({ data, emit, env }) => {
200976
200982
  const hasInputs = inputs.length > 0;
200977
200983
  const hasOutputs = outputs.length > 0;
200978
200984
  const state = useNodeState(data);
200979
- const { baseClasses, overlay, selectedClasses } = getNodeStyles(state, hasInputs, hasOutputs);
200985
+ const { baseClasses, overlay, selectedClasses, cornerClasses } = getNodeStyles(state, hasInputs, hasOutputs);
200980
200986
  const dashColour = getDashedColour(state);
200981
200987
  const urls = {
200982
200988
  instanceUrl: instanceApiUrl(node.id, env),
@@ -201000,15 +201006,15 @@ var NodeComponent = ({ data, emit, env }) => {
201000
201006
  }
201001
201007
  })();
201002
201008
  const sendCommand = (0, import_react20.useCallback)((c2) => data.sendCommand(c2), [data]);
201003
- return (0, import_jsx_runtime47.jsxs)("div", { className: "relative", children: [(0, import_jsx_runtime47.jsx)("div", { className: twMerge("absolute inset-0 pointer-events-none z-20 transition-opacity duration-200", !selected && "opacity-0"), style: {
201009
+ return (0, import_jsx_runtime47.jsxs)("div", { className: twMerge("relative", false), children: [(0, import_jsx_runtime47.jsx)("div", { className: twMerge("absolute inset-0 pointer-events-none z-20 transition-opacity duration-200", !selected && "opacity-0"), style: {
201004
201010
  padding: "2px",
201005
201011
  backgroundSize: "20px 2px, 20px 2px, 2px 20px, 2px 20px",
201006
201012
  backgroundPosition: "0 0, 0 100%, 0 0, 100% 0",
201007
201013
  backgroundRepeat: "repeat-x, repeat-x, repeat-y, repeat-y",
201008
201014
  backgroundImage: `
201009
- linear-gradient(to right, ${dashColour} 50%, transparent 50%),
201010
- linear-gradient(to right, ${dashColour} 50%, transparent 50%),
201011
- linear-gradient(to bottom, ${dashColour} 50%, transparent 50%),
201015
+ linear-gradient(to right, ${dashColour} 50%, transparent 50%),
201016
+ linear-gradient(to right, ${dashColour} 50%, transparent 50%),
201017
+ linear-gradient(to bottom, ${dashColour} 50%, transparent 50%),
201012
201018
  linear-gradient(to bottom, ${dashColour} 50%, transparent 50%)
201013
201019
  `,
201014
201020
  animation: "marching-ants 1s linear infinite",
@@ -211929,9 +211935,10 @@ function FormItem(props) {
211929
211935
  return;
211930
211936
  const newValue = { ...e2 };
211931
211937
  setValue(newValue);
211938
+ onChange(newValue);
211932
211939
  onContract();
211933
211940
  setEditing(false);
211934
- }, [onContract, editing]);
211941
+ }, [onContract, editing, onChange]);
211935
211942
  return editing ? (0, import_jsx_runtime102.jsx)(import_jsx_runtime102.Fragment, { children: (0, import_jsx_runtime102.jsx)(Form, { defaultValue: value, form: props.form, onCancel, onSave, latest: props.latest, env: props.env, node: props.node }) }) : (0, import_jsx_runtime102.jsxs)("div", { className: "p-2 flex gap-2 border border-gray-200 dark:border-gray-700 text-gray-500 dark:text-gray-400 items-start", children: [(0, import_jsx_runtime102.jsx)("span", { className: "flex-grow text-sm", children: (0, import_jsx_runtime102.jsx)(import_react48.Suspense, { fallback: (0, import_jsx_runtime102.jsx)("div", { children: "..." }), children: (0, import_jsx_runtime102.jsx)(props.view, { ...value }) }) }), (0, import_jsx_runtime102.jsx)("a", { onClick: () => onEdit(), href: "#", className: "text-blue-500 dark:hover:text-white hover:text-gray-900 hover:underline text-sm", children: (0, import_jsx_runtime102.jsx)(PencilLine, { className: "w-5 h-5" }) })] });
211936
211943
  }
211937
211944
  function DiscriminatedForm(props) {
@@ -230877,8 +230884,8 @@ var Creator = class {
230877
230884
  this.session.runNodeStateEvent(msg.id, msg.event);
230878
230885
  }
230879
230886
  break;
230880
- case "output":
230881
- this.console.addOutput(msg.outputType, msg.id, msg.text);
230887
+ case "registered-attribute":
230888
+ this.console.addOutput(msg.attributeType, msg.id, msg.text);
230882
230889
  break;
230883
230890
  case "stopped":
230884
230891
  this.session.endLiveSession();
@@ -231064,7 +231071,7 @@ function Main({ library, env, view, nodeId, onRuntimeStateChange }) {
231064
231071
  setRuntimeState(msg.state[nodeId]);
231065
231072
  }
231066
231073
  break;
231067
- case "output":
231074
+ case "registered-attribute":
231068
231075
  break;
231069
231076
  case "error":
231070
231077
  console.error(msg.msg);