nwl-components 0.0.23 → 0.0.26

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.
@@ -6897,17 +6897,27 @@ const _sfc_main$s = {
6897
6897
  var ProjectInfo = /* @__PURE__ */ _export_sfc$1(_sfc_main$s, [["__scopeId", "data-v-51e11f34"]]);
6898
6898
  var Access_vue_vue_type_style_index_0_scoped_true_lang = "";
6899
6899
  const _hoisted_1$k = ["data-level"];
6900
- const _hoisted_2$e = ["title"];
6901
- const _hoisted_3$c = ["title"];
6902
- const _hoisted_4$c = ["title"];
6903
- const _hoisted_5$9 = ["title"];
6900
+ const _hoisted_2$e = ["disabled", "title"];
6901
+ const _hoisted_3$c = ["disabled", "title"];
6902
+ const _hoisted_4$c = ["disabled", "title"];
6903
+ const _hoisted_5$9 = ["disabled", "title"];
6904
6904
  const _sfc_main$r = {
6905
6905
  props: {
6906
6906
  collaborator: Object,
6907
- type: String
6907
+ type: String,
6908
+ readonly: {
6909
+ type: Boolean,
6910
+ default: false
6911
+ }
6908
6912
  },
6909
6913
  emits: ["updateAccess"],
6910
- setup(__props) {
6914
+ setup(__props, { emit }) {
6915
+ const props = __props;
6916
+ const handleButtonClick = (level) => {
6917
+ if (props.readonly)
6918
+ return;
6919
+ emit("updateAccess", props.collaborator, props.type, level);
6920
+ };
6911
6921
  return (_ctx, _cache) => {
6912
6922
  return openBlock(), createElementBlock("div", {
6913
6923
  class: "access",
@@ -6915,33 +6925,37 @@ const _sfc_main$r = {
6915
6925
  }, [
6916
6926
  createElementVNode("button", {
6917
6927
  small: true,
6918
- onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("updateAccess", __props.collaborator, __props.type, 1)),
6928
+ onClick: _cache[0] || (_cache[0] = ($event) => handleButtonClick(1)),
6919
6929
  class: "view",
6930
+ disabled: __props.readonly,
6920
6931
  title: `view ${__props.type}`
6921
6932
  }, null, 8, _hoisted_2$e),
6922
6933
  createElementVNode("button", {
6923
6934
  small: true,
6924
- onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("updateAccess", __props.collaborator, __props.type, 2)),
6935
+ onClick: _cache[1] || (_cache[1] = ($event) => handleButtonClick(2)),
6925
6936
  class: "edit",
6937
+ disabled: __props.readonly,
6926
6938
  title: `edit ${__props.type}`
6927
6939
  }, null, 8, _hoisted_3$c),
6928
6940
  createElementVNode("button", {
6929
6941
  small: true,
6930
- onClick: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("updateAccess", __props.collaborator, __props.type, 3)),
6942
+ onClick: _cache[2] || (_cache[2] = ($event) => handleButtonClick(3)),
6931
6943
  class: "add",
6944
+ disabled: __props.readonly,
6932
6945
  title: `add ${__props.type}`
6933
6946
  }, null, 8, _hoisted_4$c),
6934
6947
  createElementVNode("button", {
6935
6948
  small: true,
6936
- onClick: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("updateAccess", __props.collaborator, __props.type, 4)),
6949
+ onClick: _cache[3] || (_cache[3] = ($event) => handleButtonClick(4)),
6937
6950
  class: "remove",
6951
+ disabled: __props.readonly,
6938
6952
  title: `remove ${__props.type}`
6939
6953
  }, null, 8, _hoisted_5$9)
6940
6954
  ], 8, _hoisted_1$k);
6941
6955
  };
6942
6956
  }
6943
6957
  };
6944
- var Access = /* @__PURE__ */ _export_sfc$1(_sfc_main$r, [["__scopeId", "data-v-1db05093"]]);
6958
+ var Access = /* @__PURE__ */ _export_sfc$1(_sfc_main$r, [["__scopeId", "data-v-995e0324"]]);
6945
6959
  var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
6946
6960
  var freeGlobal$1 = freeGlobal;
6947
6961
  var freeSelf = typeof self == "object" && self && self.Object === Object && self;
@@ -10061,7 +10075,7 @@ var _imports_0$2 = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZG
10061
10075
  var _imports_0$1 = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaWQ9InN2ZzIiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC45MSByMTM3MjUiCiAgIHNvZGlwb2RpOmRvY25hbWU9InRpbWVzLWNpcmNsZS5zdmciCiAgIHdpZHRoPSIxNTM2IgogICBoZWlnaHQ9IjE1MzYiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE0MjEiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iOTI3IgogICAgIGlkPSJuYW1lZHZpZXc2IgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBmaXQtbWFyZ2luLXRvcD0iMCIKICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMCIKICAgICBmaXQtbWFyZ2luLWJvdHRvbT0iMCIKICAgICBpbmtzY2FwZTp6b29tPSIwLjI0OTgzNTc4IgogICAgIGlua3NjYXBlOmN4PSI2MDMuNjk5NjYiCiAgICAgaW5rc2NhcGU6Y3k9IjcxNy41NzkzMiIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iMyIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iOTQiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmcyIiAvPgogIDxjaXJjbGUKICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6NDkuMjI0MDcxNTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLWRhc2hvZmZzZXQ6My4yNzU5MDAxMztzdHJva2Utb3BhY2l0eTowIgogICAgIGlkPSJwYXRoNDE2MyIKICAgICBjeD0iNzcxLjM2ODc3IgogICAgIGN5PSI3NjkuNTgwMDgiCiAgICAgcj0iNzQxLjQ0Mjk5IiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MSIKICAgICBkPSJtIDQ3Ni41NDc5Miw0MjUuOTcxNzEgcSAxMC4wNjYyMywtMTAuMDMxMTUgMzAuODMzODcsLTMuOTAzMTQgMjAuNzY3NjUsNi4xMjggMzkuMTIwMzEsMjQuNTQ0ODQgbCA1NDIuMTA5NCw1NDQuMDA0OTkgcSAxOC4zNTI2LDE4LjQxNjggMjQuNDA4MSwzOS4yMDU3IDYuMDU1NSwyMC43ODg5IC00LjAxMDcsMzAuODIwMSBsIC00OS41NTY4LDQ5LjM4NDEgcSAtMTAuMDY2MiwxMC4wMzExIC0zMC44MzM5LDMuOTAzMSAtMjAuNzY3NiwtNi4xMjggLTM5LjEyMDMsLTI0LjU0NDggTCA0NDcuMzg4NTQsNTQ1LjM4MTYgcSAtMTguMzUyNjYsLTE4LjQxNjg0IC0yNC40MDgxNCwtMzkuMjA1NzQgLTYuMDU1NDgsLTIwLjc4ODkxIDQuMDEwNzUsLTMwLjgyMDA2IGwgNDkuNTU2NzgsLTQ5LjM4NDEgeiIKICAgICBpZD0icGF0aDQiCiAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjEiCiAgICAgZD0ibSAxMTEwLjAyODMsNDc2LjU0NzkxIHEgMTAuMDMxMSwxMC4wNjYyMiAzLjkwMzEsMzAuODMzODcgLTYuMTI4LDIwLjc2NzY1IC0yNC41NDQ4LDM5LjEyMDMxIEwgNTQ1LjM4MTU5LDEwODguNjExNSBxIC0xOC40MTY4MywxOC4zNTI2IC0zOS4yMDU3NCwyNC40MDgxIC0yMC43ODg5LDYuMDU1NSAtMzAuODIwMDUsLTQuMDEwNyBsIC00OS4zODQwOSwtNDkuNTU2OCBxIC0xMC4wMzExNSwtMTAuMDY2MiAtMy45MDMxNiwtMzAuODMzOSA2LjEyODAyLC0yMC43Njc2IDI0LjU0NDg1LC0zOS4xMjAzIEwgOTkwLjYxODQxLDQ0Ny4zODg1MyBxIDE4LjQxNjc5LC0xOC4zNTI2NiAzOS4yMDU2OSwtMjQuNDA4MTUgMjAuNzg5LC02LjA1NTQ3IDMwLjgyMDEsNC4wMTA3NiBsIDQ5LjM4NDEsNDkuNTU2NzggeiIKICAgICBpZD0icGF0aDQtNiIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgo8L3N2Zz4K";
10062
10076
  var _imports_2$1 = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgd2lkdGg9IjE3OTIiCiAgIGhlaWdodD0iMTc5MiIKICAgdmlld0JveD0iMCAwIDE3OTIgMTc5MiIKICAgaWQ9InN2ZzIiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC45MSByMTM3MjUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNhcmV0LXNxdWFyZS1vLWxlZnQuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExMCI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczgiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxNzg1IgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwODIiCiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMzc4MTEyNzkiCiAgICAgaW5rc2NhcGU6Y3g9IjEyMTEuMDgzNSIKICAgICBpbmtzY2FwZTpjeT0iOTIyLjE5MzY0IgogICAgIGlua3NjYXBlOndpbmRvdy14PSI0IgogICAgIGlua3NjYXBlOndpbmRvdy15PSI0NiIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzIiIC8+CiAgPGcKICAgICBpZD0iZzQyMTAiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC45MzgwMTQ1MywwLDAsMC44NzI1ODU0Miw1NS41Mzg5ODEsMTE0LjE2MzQ2KSI+CiAgICA8cGF0aAogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3NzcyIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIgogICAgICAgaWQ9InBhdGg0IgogICAgICAgZD0ibSAxNTIxLjQ5OTQsMTUxNi40MTI5IC0zLjgzNDIsLTEyNDUuNzk0MjkgYyAtMC4wMjcsLTguNjY2NjMgLTMuMTY2NywtMTYuMTY2NjcgLTkuNSwtMjIuNSAtNi4zMzMzLC02LjMzMzMzIC0xMy44MzM0LC05LjQ3NjE4IC0yMi41LC05LjUgbCAtODAyLjkyMTQyLC0yLjIwNzA4IGMgLTguNjY2NjMsLTAuMDIzOCAtMTguMDU5NTcsMS43Mjc1MyAtMjQuMzkyOSw4LjA2MDg2IC02LjMzMzMzLDYuMzMzMzMgLTcuNTgwNzYsNC4yMDAxMyAtNy42MDcxLDIzLjkzOTE0IGwgLTEuNjY2LDEyNDguNzc1ODcgYyAtMC4wMTE2LDguNjY2OCAzLjE2NjY3LDE2LjE2NjcgOS41LDIyLjUgNi4zMzMzMyw2LjMzMzMgMTMuODMzMzIsOS41MDgzIDIyLjUsOS41IGwgODA4LjQyMTYyLC0wLjc3NDUgYyA4LjY2NjYsLTAuMDEgMTYuMTY2NywtMy4xNjY3IDIyLjUsLTkuNSA2LjMzMzMsLTYuMzMzMyA5LjUyNjcsLTEzLjgzMzQgOS41LC0yMi41IHogTSAxNjY0LDQxNiBsIDAsOTYwIGMgMCw3OS4zMzMzIC0yOC4xNjY3LDE0Ny4xNjY3IC04NC41LDIwMy41IC01Ni4zMzMzLDU2LjMzMzMgLTEyNC4xNjY3LDg0LjUgLTIwMy41LDg0LjUgbCAtOTYwLDAgYyAtNzkuMzMzMzMsMCAtMTQ3LjE2NjY3LC0yOC4xNjY3IC0yMDMuNSwtODQuNSBDIDE1Ni4xNjY2NywxNTIzLjE2NjcgMTI4LDE0NTUuMzMzMyAxMjgsMTM3NiBsIDAsLTk2MCBDIDEyOCwzMzYuNjY2NjcgMTU2LjE2NjY3LDI2OC44MzMzMyAyMTIuNSwyMTIuNSAyNjguODMzMzMsMTU2LjE2NjY3IDMzNi42NjY2NywxMjggNDE2LDEyOCBsIDk2MCwwIGMgNzkuMzMzMywwIDE0Ny4xNjY3LDI4LjE2NjY3IDIwMy41LDg0LjUgNTYuMzMzMyw1Ni4zMzMzMyA4NC41LDEyNC4xNjY2NyA4NC41LDIwMy41IHoiIC8+CiAgPC9nPgo8L3N2Zz4K";
10063
10077
  var Editor_vue_vue_type_style_index_0_scoped_true_lang = "";
10064
- const _withScopeId$2 = (n) => (pushScopeId("data-v-6d4ade60"), n = n(), popScopeId(), n);
10078
+ const _withScopeId$2 = (n) => (pushScopeId("data-v-60b8b667"), n = n(), popScopeId(), n);
10065
10079
  const _hoisted_1$7 = { class: "content-wrapper" };
10066
10080
  const _hoisted_2$4 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("img", {
10067
10081
  src: _imports_0$2,
@@ -10103,6 +10117,7 @@ const _sfc_main$8 = {
10103
10117
  const position = ref({ top: 5, left: 5, right: "auto" });
10104
10118
  const relativeCoords = ref({ left: 0, top: 0 });
10105
10119
  const toggled = ref(true);
10120
+ const toolsRect = ref({});
10106
10121
  const handleMouseDown = (event) => {
10107
10122
  const headerRect = event.target.getBoundingClientRect();
10108
10123
  relativeCoords.value = {
@@ -10113,17 +10128,16 @@ const _sfc_main$8 = {
10113
10128
  };
10114
10129
  const placeLeft = () => {
10115
10130
  drag.value = false;
10116
- const areaRect = document.querySelector(".area").getBoundingClientRect();
10117
- position.value = { left: `${areaRect.left + margin}px`, top: `${areaRect.top + margin}px`, right: "auto" };
10131
+ position.value = { left: `${margin}px`, top: `${margin}px`, right: "auto" };
10118
10132
  };
10119
10133
  const placeRight = () => {
10120
10134
  drag.value = false;
10121
- const areaRect = document.querySelector(".area").getBoundingClientRect();
10122
- position.value = { left: "auto", top: `${areaRect.top + margin}px`, right: `${margin}px` };
10135
+ position.value = { left: "auto", top: `${margin}px`, right: `${margin}px` };
10123
10136
  };
10124
10137
  onMounted(() => {
10125
10138
  document.addEventListener("mousemove", handleMove);
10126
10139
  placeLeft();
10140
+ toolsRect.value = document.querySelector(".area .tools").getBoundingClientRect();
10127
10141
  });
10128
10142
  onUnmounted(() => {
10129
10143
  document.removeEventListener("mousemove", handleMove);
@@ -10131,7 +10145,10 @@ const _sfc_main$8 = {
10131
10145
  const handleMove = (event) => {
10132
10146
  if (!drag.value)
10133
10147
  return;
10134
- position.value = { left: `${event.clientX - relativeCoords.value.left}px`, top: `${event.clientY - relativeCoords.value.top}px` };
10148
+ const areaRect = document.querySelector(".area").getBoundingClientRect();
10149
+ const posX = Math.max(0, Math.min(areaRect.width - toolsRect.value.width, event.clientX - areaRect.left - relativeCoords.value.left));
10150
+ const posY = Math.max(0, Math.min(areaRect.height - toolsRect.value.height, event.clientY - areaRect.top - relativeCoords.value.top));
10151
+ position.value = { left: `${posX}px`, top: `${posY}px` };
10135
10152
  };
10136
10153
  const margin = 5;
10137
10154
  return (_ctx, _cache) => {
@@ -10144,6 +10161,7 @@ const _sfc_main$8 = {
10144
10161
  renderSlot(_ctx.$slots, "content", {}, void 0, true)
10145
10162
  ]),
10146
10163
  createElementVNode("div", {
10164
+ ref: "tools",
10147
10165
  class: "tools",
10148
10166
  style: normalizeStyle(__spreadValues({}, position.value))
10149
10167
  }, [
@@ -10183,7 +10201,7 @@ const _sfc_main$8 = {
10183
10201
  };
10184
10202
  }
10185
10203
  };
10186
- var Editor = /* @__PURE__ */ _export_sfc$1(_sfc_main$8, [["__scopeId", "data-v-6d4ade60"]]);
10204
+ var Editor = /* @__PURE__ */ _export_sfc$1(_sfc_main$8, [["__scopeId", "data-v-60b8b667"]]);
10187
10205
  var RangeSlider_vue_vue_type_style_index_0_scoped_true_lang = "";
10188
10206
  const _hoisted_1$6 = { class: "range-slider" };
10189
10207
  const _hoisted_2$3 = /* @__PURE__ */ createTextVNode("-");