@twick/studio 0.15.4 → 0.15.5

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/dist/index.js CHANGED
@@ -2833,11 +2833,25 @@ function PropsToolbar({
2833
2833
  }) });
2834
2834
  }
2835
2835
  function ElementProps({ selectedElement, updateElement }) {
2836
- const elementProps = (selectedElement == null ? void 0 : selectedElement.getProps()) || {};
2837
- const { x, y, opacity, rotation } = elementProps;
2838
- const handleUpdateElement = (props) => {
2836
+ const opacity = (selectedElement == null ? void 0 : selectedElement.getOpacity()) || 1;
2837
+ const rotation = (selectedElement == null ? void 0 : selectedElement.getRotation()) || 0;
2838
+ const position = (selectedElement == null ? void 0 : selectedElement.getPosition()) || { x: 0, y: 0 };
2839
+ const handleRotationChange = (rotation2) => {
2839
2840
  if (selectedElement) {
2840
- updateElement == null ? void 0 : updateElement(selectedElement == null ? void 0 : selectedElement.setProps({ ...elementProps, ...props }));
2841
+ selectedElement.setRotation(rotation2);
2842
+ updateElement == null ? void 0 : updateElement(selectedElement);
2843
+ }
2844
+ };
2845
+ const handleOpacityChange = (opacity2) => {
2846
+ if (selectedElement) {
2847
+ selectedElement.setOpacity(opacity2);
2848
+ updateElement == null ? void 0 : updateElement(selectedElement);
2849
+ }
2850
+ };
2851
+ const handlePositionChange = (props) => {
2852
+ if (selectedElement) {
2853
+ selectedElement.setPosition({ x: props.x ?? 0, y: props.y ?? 0 });
2854
+ updateElement == null ? void 0 : updateElement(selectedElement);
2841
2855
  }
2842
2856
  };
2843
2857
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "panel-container", children: [
@@ -2851,8 +2865,8 @@ function ElementProps({ selectedElement, updateElement }) {
2851
2865
  "input",
2852
2866
  {
2853
2867
  type: "number",
2854
- value: x ?? 0,
2855
- onChange: (e) => handleUpdateElement({ x: Number(e.target.value) }),
2868
+ value: position.x ?? 0,
2869
+ onChange: (e) => handlePositionChange({ x: Number(e.target.value) }),
2856
2870
  className: "input-dark"
2857
2871
  }
2858
2872
  )
@@ -2863,8 +2877,8 @@ function ElementProps({ selectedElement, updateElement }) {
2863
2877
  "input",
2864
2878
  {
2865
2879
  type: "number",
2866
- value: y ?? 0,
2867
- onChange: (e) => handleUpdateElement({ y: Number(e.target.value) }),
2880
+ value: position.y ?? 0,
2881
+ onChange: (e) => handlePositionChange({ y: Number(e.target.value) }),
2868
2882
  className: "input-dark"
2869
2883
  }
2870
2884
  )
@@ -2881,7 +2895,7 @@ function ElementProps({ selectedElement, updateElement }) {
2881
2895
  min: "0",
2882
2896
  max: "100",
2883
2897
  value: (opacity ?? 1) * 100,
2884
- onChange: (e) => handleUpdateElement({ opacity: Number(e.target.value) / 100 }),
2898
+ onChange: (e) => handleOpacityChange(Number(e.target.value) / 100),
2885
2899
  className: "slider-purple"
2886
2900
  }
2887
2901
  ),
@@ -2901,7 +2915,7 @@ function ElementProps({ selectedElement, updateElement }) {
2901
2915
  min: "0",
2902
2916
  max: "360",
2903
2917
  value: rotation ?? 0,
2904
- onChange: (e) => handleUpdateElement({ rotation: Number(e.target.value) }),
2918
+ onChange: (e) => handleRotationChange(Number(e.target.value)),
2905
2919
  className: "slider-purple"
2906
2920
  }
2907
2921
  ),