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