diff --git a/ts/editor/BUILD.bazel b/ts/editor/BUILD.bazel
index 18221bd9e..e71ee51c9 100644
--- a/ts/editor/BUILD.bazel
+++ b/ts/editor/BUILD.bazel
@@ -118,6 +118,11 @@ copy_mdi_icons(
"format-color-text.svg",
"format-color-highlight.svg",
"color-helper.svg",
+
+ # image handle
+ "format-float-left.svg",
+ "format-float-right.svg",
+ "close-circle-outline.svg",
],
visibility = ["//visibility:public"],
)
diff --git a/ts/editor/ImageHandle.svelte b/ts/editor/ImageHandle.svelte
index 03bec711b..1e4553e5b 100644
--- a/ts/editor/ImageHandle.svelte
+++ b/ts/editor/ImageHandle.svelte
@@ -3,6 +3,7 @@ Copyright: Ankitects Pty Ltd and contributors
License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
-->
@@ -82,6 +95,13 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
{hidden}
>
+
+
+
{width}×{height} (Original: {naturalWidth}×{naturalHeight})
@@ -115,6 +135,11 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
opacity: 0.2;
}
+ .image-handle-buttons {
+ top: 3px;
+ left: 3px;
+ }
+
.image-handle-dimensions {
pointer-events: none;
user-select: none;
diff --git a/ts/editor/ImageHandleButtons.svelte b/ts/editor/ImageHandleButtons.svelte
new file mode 100644
index 000000000..ddcd9198a
--- /dev/null
+++ b/ts/editor/ImageHandleButtons.svelte
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+ dispatch("floatleft")}
+ >{@html floatLeftIcon}
+
+
+
+ dispatch("floatright")}
+ >{@html floatRightIcon}
+
+
+
+ dispatch("floatreset")}
+ >{@html resetIcon}
+
+
+
diff --git a/ts/editor/icons.ts b/ts/editor/icons.ts
index 003cdcd01..d80d5282a 100644
--- a/ts/editor/icons.ts
+++ b/ts/editor/icons.ts
@@ -33,3 +33,8 @@ export { default as xmlIcon } from "./xml.svg";
export const arrowIcon =
'';
+
+// image handle
+export { default as floatLeftIcon } from "./format-float-left.svg";
+export { default as floatRightIcon } from "./format-float-right.svg";
+export { default as resetIcon } from "./close-circle-outline.svg";