@univerjs/drawing-ui 1.0.0-alpha.6 → 1.0.0-alpha.8

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/lib/cjs/index.js CHANGED
@@ -456,12 +456,14 @@ function SetDrawingAlignVerticalMenuItemFactory() {
456
456
  //#endregion
457
457
  //#region src/menu/arrange.menu.ts
458
458
  const DRAWING_ARRANGE_CONTEXT_MENU_ID = "contextMenu.drawing-arrange";
459
- function DrawingArrangeContextMenuItemFactory() {
459
+ function DrawingArrangeContextMenuItemFactory(accessor) {
460
+ const drawingManagerService = accessor.get(_univerjs_drawing.IDrawingManagerService);
460
461
  return {
461
462
  id: DRAWING_ARRANGE_CONTEXT_MENU_ID,
462
463
  type: _univerjs_ui.MenuItemType.SUBITEMS,
463
464
  icon: "TopmostIcon",
464
- title: "drawing-ui.image-panel.arrange.title"
465
+ title: "drawing-ui.image-panel.arrange.title",
466
+ hidden$: drawingManagerService.focus$.pipe((0, rxjs.startWith)(drawingManagerService.getFocusDrawings()), (0, rxjs.map)((drawings) => drawings.length === 0))
465
467
  };
466
468
  }
467
469
  function SetDrawingArrangeFrontMenuItemFactory() {
@@ -625,7 +627,7 @@ const menuSchema = { [_univerjs_ui.ContextMenuPosition.DRAWING]: { [_univerjs_ui
625
627
  //#endregion
626
628
  //#region package.json
627
629
  var name = "@univerjs/drawing-ui";
628
- var version = "1.0.0-alpha.6";
630
+ var version = "1.0.0-alpha.8";
629
631
 
630
632
  //#endregion
631
633
  //#region src/config/config.ts
@@ -899,7 +901,7 @@ function DocChartFloatingToolbar(props) {
899
901
  }
900
902
 
901
903
  //#endregion
902
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
904
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
903
905
  function __decorateParam(paramIndex, decorator) {
904
906
  return function(target, key) {
905
907
  decorator(target, key, paramIndex);
@@ -907,7 +909,7 @@ function __decorateParam(paramIndex, decorator) {
907
909
  }
908
910
 
909
911
  //#endregion
910
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
912
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
911
913
  function __decorate(decorators, target, key, desc) {
912
914
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
913
915
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -962,7 +964,7 @@ let ComponentsController = class ComponentsController extends _univerjs_core.Dis
962
964
  ComponentsController = __decorate([__decorateParam(0, (0, _univerjs_core.Inject)(_univerjs_ui.ComponentManager)), __decorateParam(1, (0, _univerjs_core.Inject)(_univerjs_ui.IconManager))], ComponentsController);
963
965
 
964
966
  //#endregion
965
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/typeof.js
967
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
966
968
  function _typeof(o) {
967
969
  "@babel/helpers - typeof";
968
970
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -973,7 +975,7 @@ function _typeof(o) {
973
975
  }
974
976
 
975
977
  //#endregion
976
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPrimitive.js
978
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
977
979
  function toPrimitive(t, r) {
978
980
  if ("object" != _typeof(t) || !t) return t;
979
981
  var e = t[Symbol.toPrimitive];
@@ -986,14 +988,14 @@ function toPrimitive(t, r) {
986
988
  }
987
989
 
988
990
  //#endregion
989
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPropertyKey.js
991
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
990
992
  function toPropertyKey(t) {
991
993
  var i = toPrimitive(t, "string");
992
994
  return "symbol" == _typeof(i) ? i : i + "";
993
995
  }
994
996
 
995
997
  //#endregion
996
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/defineProperty.js
998
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
997
999
  function _defineProperty(e, r, t) {
998
1000
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
999
1001
  value: t,
@@ -1368,7 +1370,7 @@ let DrawingUpdateController = class DrawingUpdateController extends _univerjs_co
1368
1370
  }
1369
1371
  _getSceneAndTransformerByDrawingSearch(unitId) {
1370
1372
  if (unitId == null) return;
1371
- const renderObject = this._renderManagerService.getRenderById(unitId);
1373
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
1372
1374
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
1373
1375
  if (scene == null) return null;
1374
1376
  return {
@@ -1980,7 +1982,7 @@ let ImageCropperController = class ImageCropperController extends _univerjs_core
1980
1982
  const drawingParams = this._drawingManagerService.getFocusDrawings();
1981
1983
  if (drawingParams.length !== 1) return;
1982
1984
  const { unitId, subUnitId, drawingId } = drawingParams[0];
1983
- const renderObject = this._renderManagerService.getRenderById(unitId);
1985
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
1984
1986
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
1985
1987
  if (scene == null) return true;
1986
1988
  if (this._searchCropObject(scene) != null) this._commandService.syncExecuteCommand(CloseImageCropOperation.id, { isAuto: true });
@@ -2072,7 +2074,7 @@ let ImageCropperController = class ImageCropperController extends _univerjs_core
2072
2074
  const params = command.params;
2073
2075
  if (params == null) return;
2074
2076
  const { unitId, subUnitId, drawingId } = params;
2075
- const renderObject = this._renderManagerService.getRenderById(unitId);
2077
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
2076
2078
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
2077
2079
  if (scene == null) return true;
2078
2080
  if (!this._sceneListenerOnImageMap.has(scene)) {
@@ -2128,7 +2130,7 @@ let ImageCropperController = class ImageCropperController extends _univerjs_core
2128
2130
  const currentUnit = this._univerInstanceService.getFocusedUnit();
2129
2131
  if (currentUnit == null) return;
2130
2132
  const unitId = currentUnit.getUnitId();
2131
- const renderObject = this._renderManagerService.getRenderById(unitId);
2133
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
2132
2134
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
2133
2135
  if (scene == null) return true;
2134
2136
  const imageCropperObject = this._searchCropObject(scene);
@@ -2298,7 +2300,7 @@ let ImageUpdateController = class ImageUpdateController extends _univerjs_core.D
2298
2300
  }
2299
2301
  _getSceneAndTransformerByDrawingSearch(unitId) {
2300
2302
  if (unitId == null) return;
2301
- const renderObject = this._renderManagerService.getRenderById(unitId);
2303
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
2302
2304
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
2303
2305
  if (scene == null) return null;
2304
2306
  return {
@@ -2384,7 +2386,7 @@ let ImageUpdateController = class ImageUpdateController extends _univerjs_core.D
2384
2386
  if (drawingType !== _univerjs_core.DrawingTypeEnum.DRAWING_IMAGE) return;
2385
2387
  const renderObject = this._getSceneAndTransformerByDrawingSearch(unitId);
2386
2388
  if (renderObject == null) return;
2387
- const { scene, transformer } = renderObject;
2389
+ const { scene } = renderObject;
2388
2390
  if (transform == null) return true;
2389
2391
  const drawingShapeKey = (0, _univerjs_drawing.getDrawingShapeKeyByDrawingSearch)({
2390
2392
  unitId,
@@ -2393,7 +2395,18 @@ let ImageUpdateController = class ImageUpdateController extends _univerjs_core.D
2393
2395
  });
2394
2396
  const imageShape = scene.getObject(drawingShapeKey);
2395
2397
  if (imageShape == null) return true;
2396
- imageShape.transformByState(transform);
2398
+ const { left = 0, top = 0, width = 0, height = 0, angle = 0, flipX = false, flipY = false, skewX = 0, skewY = 0 } = transform;
2399
+ imageShape.transformByState({
2400
+ left,
2401
+ top,
2402
+ width,
2403
+ height,
2404
+ angle,
2405
+ flipX,
2406
+ flipY,
2407
+ skewX,
2408
+ skewY
2409
+ });
2397
2410
  (_setClipBounds = imageShape.setClipBounds) === null || _setClipBounds === void 0 || _setClipBounds.call(imageShape, transform.clipBounds);
2398
2411
  ensureDrawingRenderLayer(scene, imageShape, drawingParam);
2399
2412
  imageShape.setSrcRect(srcRect);
@@ -2522,7 +2535,11 @@ let UniverDrawingUIPlugin = class UniverDrawingUIPlugin extends _univerjs_core.P
2522
2535
  _defineProperty(UniverDrawingUIPlugin, "pluginName", "UNIVER_DRAWING_UI_PLUGIN");
2523
2536
  _defineProperty(UniverDrawingUIPlugin, "packageName", name);
2524
2537
  _defineProperty(UniverDrawingUIPlugin, "version", version);
2525
- UniverDrawingUIPlugin = __decorate([__decorateParam(1, (0, _univerjs_core.Inject)(_univerjs_core.Injector)), __decorateParam(2, _univerjs_core.IConfigService)], UniverDrawingUIPlugin);
2538
+ UniverDrawingUIPlugin = __decorate([
2539
+ (0, _univerjs_core.DependentOn)(_univerjs_drawing.UniverDrawingPlugin, _univerjs_engine_render.UniverRenderEnginePlugin, _univerjs_ui.UniverUIPlugin),
2540
+ __decorateParam(1, (0, _univerjs_core.Inject)(_univerjs_core.Injector)),
2541
+ __decorateParam(2, _univerjs_core.IConfigService)
2542
+ ], UniverDrawingUIPlugin);
2526
2543
 
2527
2544
  //#endregion
2528
2545
  //#region src/views/object-list-panel/object-list-panel-layer.ts
@@ -2675,7 +2692,7 @@ function ObjectListPanelBase(props) {
2675
2692
  });
2676
2693
  };
2677
2694
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2678
- className: "univer-box-border univer-flex univer-size-full univer-min-w-0 univer-max-w-full univer-flex-col univer-gap-3 univer-overflow-hidden univer-text-gray-700 dark:!univer-text-gray-200",
2695
+ className: "univer-box-border univer-flex univer-size-full univer-min-w-0 univer-max-w-full univer-flex-col univer-gap-3 univer-overflow-hidden univer-py-2 univer-text-gray-700 dark:!univer-text-gray-200",
2679
2696
  "data-drawing-object-list-panel": "true",
2680
2697
  children: [
2681
2698
  showHeader && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
@@ -2909,7 +2926,7 @@ function ObjectListRow(props) {
2909
2926
  }),
2910
2927
  showLock && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
2911
2928
  type: "button",
2912
- className: (0, _univerjs_design.clsx)(iconButtonClassName, !locked && "univer-opacity-70"),
2929
+ className: iconButtonClassName,
2913
2930
  disabled,
2914
2931
  title: locked ? labels.unlock : labels.lock,
2915
2932
  "aria-label": locked ? labels.unlock : labels.lock,
@@ -2917,7 +2934,7 @@ function ObjectListRow(props) {
2917
2934
  event.stopPropagation();
2918
2935
  onToggleSelectable();
2919
2936
  },
2920
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.LockIcon, {})
2937
+ children: locked ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.LockIcon, {}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_univerjs_icons.UnlockIcon, {})
2921
2938
  }),
2922
2939
  showVisible && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
2923
2940
  type: "button",
@@ -3143,7 +3160,7 @@ const DrawingGroup = (props) => {
3143
3160
  const GroupIcon = iconManager.get("GroupIcon");
3144
3161
  const UngroupIcon = iconManager.get("UngroupIcon");
3145
3162
  const drawingParam = drawings[0];
3146
- const transformer = drawingParam ? (_renderManagerService = renderManagerService.getRenderById(drawingParam.unitId)) === null || _renderManagerService === void 0 || (_renderManagerService = _renderManagerService.scene) === null || _renderManagerService === void 0 ? void 0 : _renderManagerService.getTransformerByCreate() : void 0;
3163
+ const transformer = drawingParam ? (_renderManagerService = renderManagerService.getRenderUnitById(drawingParam.unitId)) === null || _renderManagerService === void 0 || (_renderManagerService = _renderManagerService.scene) === null || _renderManagerService === void 0 ? void 0 : _renderManagerService.getTransformerByCreate() : void 0;
3147
3164
  const { groupShow, groupBtnShow, ungroupBtnShow } = (0, _univerjs_ui.useObservable)(transformer ? () => (0, rxjs.merge)(transformer.clearControl$.pipe((0, rxjs.filter)((changeSelf) => changeSelf === true), (0, rxjs.map)(() => ({
3148
3165
  groupShow: false,
3149
3166
  groupBtnShow: false,
@@ -3222,7 +3239,7 @@ const DrawingTransform = (props) => {
3222
3239
  var _renderManagerService, _scene$getEngine;
3223
3240
  const renderManagerService = (0, _univerjs_ui.useDependency)(_univerjs_engine_render.IRenderManagerService);
3224
3241
  const drawingParam = props.drawings[0];
3225
- const scene = drawingParam ? (_renderManagerService = renderManagerService.getRenderById(drawingParam.unitId)) === null || _renderManagerService === void 0 ? void 0 : _renderManagerService.scene : void 0;
3242
+ const scene = drawingParam ? (_renderManagerService = renderManagerService.getRenderUnitById(drawingParam.unitId)) === null || _renderManagerService === void 0 ? void 0 : _renderManagerService.scene : void 0;
3226
3243
  const topScene = scene === null || scene === void 0 || (_scene$getEngine = scene.getEngine()) === null || _scene$getEngine === void 0 ? void 0 : _scene$getEngine.activeScene;
3227
3244
  if (!(drawingParam === null || drawingParam === void 0 ? void 0 : drawingParam.transform) || !scene || !topScene) return null;
3228
3245
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DrawingTransformContent, { ...props });
@@ -3235,7 +3252,7 @@ function DrawingTransformContent(props) {
3235
3252
  const drawingParam = drawings[0];
3236
3253
  const transform = drawingParam.transform;
3237
3254
  const { unitId, subUnitId, drawingId, drawingType } = drawingParam;
3238
- const scene = renderManagerService.getRenderById(unitId).scene;
3255
+ const scene = renderManagerService.getRenderUnitById(unitId).scene;
3239
3256
  const topScene = scene.getEngine().activeScene;
3240
3257
  const transformer = scene.getTransformerByCreate();
3241
3258
  const { width: originWidth = 0, height: originHeight = 0, left: originX = 0, top: originY = 0, angle: originRotation = 0 } = transform;
@@ -3602,7 +3619,7 @@ const DrawingCommonPanel = (props) => {
3602
3619
  const localeService = (0, _univerjs_ui.useDependency)(_univerjs_core.LocaleService);
3603
3620
  const { drawings, hasArrange = true, hasTransform = true, hasAlign = true, hasCropper = true, hasGroup = true } = props;
3604
3621
  const drawingParam = drawings[0];
3605
- const renderObject = drawingParam ? renderManagerService.getRenderById(drawingParam.unitId) : void 0;
3622
+ const renderObject = drawingParam ? renderManagerService.getRenderUnitById(drawingParam.unitId) : void 0;
3606
3623
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
3607
3624
  const transformer = scene === null || scene === void 0 ? void 0 : scene.getTransformerByCreate();
3608
3625
  const { arrangeShow, transformShow, alignShow, cropperShow, nullShow } = (0, _univerjs_ui.useObservable)(() => (0, rxjs.merge)(drawingManagerService.focus$.pipe((0, rxjs.map)(getPanelShowState)), ...transformer ? [transformer.clearControl$.pipe((0, rxjs.filter)((changeSelf) => changeSelf === true), (0, rxjs.map)(() => getPanelShowState([]))), transformer.changeStart$.pipe((0, rxjs.map)((state) => getPanelShowState(getUpdateParams(state.objects, drawingManagerService))))] : []), getPanelShowState(drawings), false, [drawingManagerService, transformer]);
@@ -18,7 +18,7 @@ const locale = { "drawing-ui": {
18
18
  nameInput: "Nom de l'objet",
19
19
  description: "Description",
20
20
  descriptionPlaceholder: "Ajouter une description",
21
- details: "Details",
21
+ details: "Détails",
22
22
  locate: "Localiser",
23
23
  expand: "Développer",
24
24
  collapse: "Réduire",
@@ -89,22 +89,22 @@ const locale = { "drawing-ui": {
89
89
  null: "Нет выбранных объектов"
90
90
  },
91
91
  "image-text-wrap": {
92
- title: "Text Wrapping",
93
- wrappingStyle: "Wrapping Style",
94
- square: "Square",
95
- topAndBottom: "Top and Bottom",
96
- inline: "In line with text",
97
- behindText: "Behind text",
98
- inFrontText: "In front of text",
99
- wrapText: "Wrap text",
100
- bothSide: "Both sides",
101
- leftOnly: "Left only",
102
- rightOnly: "Right only",
103
- distanceFromText: "Distance from text",
104
- top: "Top(px)",
105
- left: "Left(px)",
106
- bottom: "Bottom(px)",
107
- right: "Right(px)"
92
+ title: "Обтекание текстом",
93
+ wrappingStyle: "Стиль обтекания",
94
+ square: "Вокруг рамки",
95
+ topAndBottom: "Сверху и снизу",
96
+ inline: "В тексте",
97
+ behindText: "За текстом",
98
+ inFrontText: "Перед текстом",
99
+ wrapText: "Обтекание",
100
+ bothSide: "С обеих сторон",
101
+ leftOnly: "Только слева",
102
+ rightOnly: "Только справа",
103
+ distanceFromText: "Расстояние от текста",
104
+ top: "Сверху (пкс)",
105
+ left: "Слева (пкс)",
106
+ bottom: "Снизу (пкс)",
107
+ right: "Справа (пкс)"
108
108
  },
109
109
  "image-popup": {
110
110
  replace: "Заменить",
@@ -89,22 +89,22 @@ const locale = { "drawing-ui": {
89
89
  null: "Không có đối tượng nào được chọn"
90
90
  },
91
91
  "image-text-wrap": {
92
- title: "Text Wrapping",
93
- wrappingStyle: "Wrapping Style",
94
- square: "Square",
95
- topAndBottom: "Top and Bottom",
96
- inline: "In line with text",
97
- behindText: "Behind text",
98
- inFrontText: "In front of text",
99
- wrapText: "Wrap text",
100
- bothSide: "Both sides",
101
- leftOnly: "Left only",
102
- rightOnly: "Right only",
103
- distanceFromText: "Distance from text",
104
- top: "Top(px)",
105
- left: "Left(px)",
106
- bottom: "Bottom(px)",
107
- right: "Right(px)"
92
+ title: "Bố cục văn bản",
93
+ wrappingStyle: "Kiểu bố cục",
94
+ square: "Vuông",
95
+ topAndBottom: "Trên dưới",
96
+ inline: "Cùng dòng với văn bản",
97
+ behindText: "Phía sau văn bản",
98
+ inFrontText: "Phía trước văn bản",
99
+ wrapText: "Bọc văn bản",
100
+ bothSide: "Cả hai bên",
101
+ leftOnly: "Chỉ bên trái",
102
+ rightOnly: "Chỉ bên phải",
103
+ distanceFromText: "Khoảng cách từ văn bản",
104
+ top: "Trên (px)",
105
+ left: "Trái (px)",
106
+ bottom: "Dưới (px)",
107
+ right: "Phải (px)"
108
108
  },
109
109
  "image-popup": {
110
110
  replace: "Thay thế",
package/lib/es/index.js CHANGED
@@ -1,9 +1,9 @@
1
- import { ArrangeTypeEnum, BooleanNumber, CommandType, Disposable, DrawingTypeEnum, ICommandService, IConfigService, IImageIoService, IURLImageService, IUniverInstanceService, ImageSourceType, Inject, Injector, LocaleService, Plugin, PositionedObjectLayoutType, UniverInstanceType, checkIfMove, debounce, generateRandomId, merge, toDisposable } from "@univerjs/core";
2
- import { DRAWING_GROUPABLE_TYPES, IDrawingManagerService, SetDrawingSelectedOperation, getDrawingShapeKeyByDrawingSearch, isGroupableDrawingType, resolveDrawingRotateEnabled } from "@univerjs/drawing";
3
- import { CURSOR_TYPE, Canvas, DRAWING_OBJECT_LAYER_INDEX, DrawingGroupObject, Group, IRenderManagerService, Image, RENDER_CLASS_TYPE, Rect, Shape, Vector2, degToRad, getGroupState, precisionTo, transformObjectOutOfGroup } from "@univerjs/engine-render";
4
- import { ComponentManager, ContextMenuGroup, ContextMenuPosition, IDialogService, IGalleryService, IMenuManagerService, IMessageService, IconManager, MenuItemType, useDependency, useObservable } from "@univerjs/ui";
5
- import { BehaviorSubject, Observable, bufferTime, filter, map, merge as merge$1, of, switchMap } from "rxjs";
6
- import { ArrowDownIcon, ArrowUpIcon, AutofillDoubleIcon, BottomIcon, ChartIcon, CreateCopyIcon, CropIcon, DeleteIcon, DocSettingIcon, EyeIcon, EyelashIcon, GroupIcon, LocateFixedIcon, LockIcon, MoreDownIcon, MoreRightIcon, MoveDownIcon, MoveUpIcon, TextWrapShapeIcon, TopmostIcon, UngroupIcon } from "@univerjs/icons";
1
+ import { ArrangeTypeEnum, BooleanNumber, CommandType, DependentOn, Disposable, DrawingTypeEnum, ICommandService, IConfigService, IImageIoService, IURLImageService, IUniverInstanceService, ImageSourceType, Inject, Injector, LocaleService, Plugin, PositionedObjectLayoutType, UniverInstanceType, checkIfMove, debounce, generateRandomId, merge, toDisposable } from "@univerjs/core";
2
+ import { DRAWING_GROUPABLE_TYPES, IDrawingManagerService, SetDrawingSelectedOperation, UniverDrawingPlugin, getDrawingShapeKeyByDrawingSearch, isGroupableDrawingType, resolveDrawingRotateEnabled } from "@univerjs/drawing";
3
+ import { CURSOR_TYPE, Canvas, DRAWING_OBJECT_LAYER_INDEX, DrawingGroupObject, Group, IRenderManagerService, Image, RENDER_CLASS_TYPE, Rect, Shape, UniverRenderEnginePlugin, Vector2, degToRad, getGroupState, precisionTo, transformObjectOutOfGroup } from "@univerjs/engine-render";
4
+ import { ComponentManager, ContextMenuGroup, ContextMenuPosition, IDialogService, IGalleryService, IMenuManagerService, IMessageService, IconManager, MenuItemType, UniverUIPlugin, useDependency, useObservable } from "@univerjs/ui";
5
+ import { BehaviorSubject, Observable, bufferTime, filter, map, merge as merge$1, of, startWith, switchMap } from "rxjs";
6
+ import { ArrowDownIcon, ArrowUpIcon, AutofillDoubleIcon, BottomIcon, ChartIcon, CreateCopyIcon, CropIcon, DeleteIcon, DocSettingIcon, EyeIcon, EyelashIcon, GroupIcon, LocateFixedIcon, LockIcon, MoreDownIcon, MoreRightIcon, MoveDownIcon, MoveUpIcon, TextWrapShapeIcon, TopmostIcon, UngroupIcon, UnlockIcon } from "@univerjs/icons";
7
7
  import { Button, Checkbox, Dropdown, DropdownMenu, Input, InputNumber, MessageType, Select, Separator, Tooltip, borderClassName, clsx } from "@univerjs/design";
8
8
  import { useEffect, useMemo, useRef, useState } from "react";
9
9
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -455,12 +455,14 @@ function SetDrawingAlignVerticalMenuItemFactory() {
455
455
  //#endregion
456
456
  //#region src/menu/arrange.menu.ts
457
457
  const DRAWING_ARRANGE_CONTEXT_MENU_ID = "contextMenu.drawing-arrange";
458
- function DrawingArrangeContextMenuItemFactory() {
458
+ function DrawingArrangeContextMenuItemFactory(accessor) {
459
+ const drawingManagerService = accessor.get(IDrawingManagerService);
459
460
  return {
460
461
  id: DRAWING_ARRANGE_CONTEXT_MENU_ID,
461
462
  type: MenuItemType.SUBITEMS,
462
463
  icon: "TopmostIcon",
463
- title: "drawing-ui.image-panel.arrange.title"
464
+ title: "drawing-ui.image-panel.arrange.title",
465
+ hidden$: drawingManagerService.focus$.pipe(startWith(drawingManagerService.getFocusDrawings()), map((drawings) => drawings.length === 0))
464
466
  };
465
467
  }
466
468
  function SetDrawingArrangeFrontMenuItemFactory() {
@@ -624,7 +626,7 @@ const menuSchema = { [ContextMenuPosition.DRAWING]: { [ContextMenuGroup.OTHERS]:
624
626
  //#endregion
625
627
  //#region package.json
626
628
  var name = "@univerjs/drawing-ui";
627
- var version = "1.0.0-alpha.6";
629
+ var version = "1.0.0-alpha.8";
628
630
 
629
631
  //#endregion
630
632
  //#region src/config/config.ts
@@ -898,7 +900,7 @@ function DocChartFloatingToolbar(props) {
898
900
  }
899
901
 
900
902
  //#endregion
901
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
903
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
902
904
  function __decorateParam(paramIndex, decorator) {
903
905
  return function(target, key) {
904
906
  decorator(target, key, paramIndex);
@@ -906,7 +908,7 @@ function __decorateParam(paramIndex, decorator) {
906
908
  }
907
909
 
908
910
  //#endregion
909
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
911
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
910
912
  function __decorate(decorators, target, key, desc) {
911
913
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
912
914
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -961,7 +963,7 @@ let ComponentsController = class ComponentsController extends Disposable {
961
963
  ComponentsController = __decorate([__decorateParam(0, Inject(ComponentManager)), __decorateParam(1, Inject(IconManager))], ComponentsController);
962
964
 
963
965
  //#endregion
964
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/typeof.js
966
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
965
967
  function _typeof(o) {
966
968
  "@babel/helpers - typeof";
967
969
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -972,7 +974,7 @@ function _typeof(o) {
972
974
  }
973
975
 
974
976
  //#endregion
975
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPrimitive.js
977
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
976
978
  function toPrimitive(t, r) {
977
979
  if ("object" != _typeof(t) || !t) return t;
978
980
  var e = t[Symbol.toPrimitive];
@@ -985,14 +987,14 @@ function toPrimitive(t, r) {
985
987
  }
986
988
 
987
989
  //#endregion
988
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPropertyKey.js
990
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
989
991
  function toPropertyKey(t) {
990
992
  var i = toPrimitive(t, "string");
991
993
  return "symbol" == _typeof(i) ? i : i + "";
992
994
  }
993
995
 
994
996
  //#endregion
995
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/defineProperty.js
997
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
996
998
  function _defineProperty(e, r, t) {
997
999
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
998
1000
  value: t,
@@ -1367,7 +1369,7 @@ let DrawingUpdateController = class DrawingUpdateController extends Disposable {
1367
1369
  }
1368
1370
  _getSceneAndTransformerByDrawingSearch(unitId) {
1369
1371
  if (unitId == null) return;
1370
- const renderObject = this._renderManagerService.getRenderById(unitId);
1372
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
1371
1373
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
1372
1374
  if (scene == null) return null;
1373
1375
  return {
@@ -1979,7 +1981,7 @@ let ImageCropperController = class ImageCropperController extends Disposable {
1979
1981
  const drawingParams = this._drawingManagerService.getFocusDrawings();
1980
1982
  if (drawingParams.length !== 1) return;
1981
1983
  const { unitId, subUnitId, drawingId } = drawingParams[0];
1982
- const renderObject = this._renderManagerService.getRenderById(unitId);
1984
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
1983
1985
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
1984
1986
  if (scene == null) return true;
1985
1987
  if (this._searchCropObject(scene) != null) this._commandService.syncExecuteCommand(CloseImageCropOperation.id, { isAuto: true });
@@ -2071,7 +2073,7 @@ let ImageCropperController = class ImageCropperController extends Disposable {
2071
2073
  const params = command.params;
2072
2074
  if (params == null) return;
2073
2075
  const { unitId, subUnitId, drawingId } = params;
2074
- const renderObject = this._renderManagerService.getRenderById(unitId);
2076
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
2075
2077
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
2076
2078
  if (scene == null) return true;
2077
2079
  if (!this._sceneListenerOnImageMap.has(scene)) {
@@ -2127,7 +2129,7 @@ let ImageCropperController = class ImageCropperController extends Disposable {
2127
2129
  const currentUnit = this._univerInstanceService.getFocusedUnit();
2128
2130
  if (currentUnit == null) return;
2129
2131
  const unitId = currentUnit.getUnitId();
2130
- const renderObject = this._renderManagerService.getRenderById(unitId);
2132
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
2131
2133
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
2132
2134
  if (scene == null) return true;
2133
2135
  const imageCropperObject = this._searchCropObject(scene);
@@ -2297,7 +2299,7 @@ let ImageUpdateController = class ImageUpdateController extends Disposable {
2297
2299
  }
2298
2300
  _getSceneAndTransformerByDrawingSearch(unitId) {
2299
2301
  if (unitId == null) return;
2300
- const renderObject = this._renderManagerService.getRenderById(unitId);
2302
+ const renderObject = this._renderManagerService.getRenderUnitById(unitId);
2301
2303
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
2302
2304
  if (scene == null) return null;
2303
2305
  return {
@@ -2383,7 +2385,7 @@ let ImageUpdateController = class ImageUpdateController extends Disposable {
2383
2385
  if (drawingType !== DrawingTypeEnum.DRAWING_IMAGE) return;
2384
2386
  const renderObject = this._getSceneAndTransformerByDrawingSearch(unitId);
2385
2387
  if (renderObject == null) return;
2386
- const { scene, transformer } = renderObject;
2388
+ const { scene } = renderObject;
2387
2389
  if (transform == null) return true;
2388
2390
  const drawingShapeKey = getDrawingShapeKeyByDrawingSearch({
2389
2391
  unitId,
@@ -2392,7 +2394,18 @@ let ImageUpdateController = class ImageUpdateController extends Disposable {
2392
2394
  });
2393
2395
  const imageShape = scene.getObject(drawingShapeKey);
2394
2396
  if (imageShape == null) return true;
2395
- imageShape.transformByState(transform);
2397
+ const { left = 0, top = 0, width = 0, height = 0, angle = 0, flipX = false, flipY = false, skewX = 0, skewY = 0 } = transform;
2398
+ imageShape.transformByState({
2399
+ left,
2400
+ top,
2401
+ width,
2402
+ height,
2403
+ angle,
2404
+ flipX,
2405
+ flipY,
2406
+ skewX,
2407
+ skewY
2408
+ });
2396
2409
  (_setClipBounds = imageShape.setClipBounds) === null || _setClipBounds === void 0 || _setClipBounds.call(imageShape, transform.clipBounds);
2397
2410
  ensureDrawingRenderLayer(scene, imageShape, drawingParam);
2398
2411
  imageShape.setSrcRect(srcRect);
@@ -2521,7 +2534,11 @@ let UniverDrawingUIPlugin = class UniverDrawingUIPlugin extends Plugin {
2521
2534
  _defineProperty(UniverDrawingUIPlugin, "pluginName", "UNIVER_DRAWING_UI_PLUGIN");
2522
2535
  _defineProperty(UniverDrawingUIPlugin, "packageName", name);
2523
2536
  _defineProperty(UniverDrawingUIPlugin, "version", version);
2524
- UniverDrawingUIPlugin = __decorate([__decorateParam(1, Inject(Injector)), __decorateParam(2, IConfigService)], UniverDrawingUIPlugin);
2537
+ UniverDrawingUIPlugin = __decorate([
2538
+ DependentOn(UniverDrawingPlugin, UniverRenderEnginePlugin, UniverUIPlugin),
2539
+ __decorateParam(1, Inject(Injector)),
2540
+ __decorateParam(2, IConfigService)
2541
+ ], UniverDrawingUIPlugin);
2525
2542
 
2526
2543
  //#endregion
2527
2544
  //#region src/views/object-list-panel/object-list-panel-layer.ts
@@ -2674,7 +2691,7 @@ function ObjectListPanelBase(props) {
2674
2691
  });
2675
2692
  };
2676
2693
  return /* @__PURE__ */ jsxs("div", {
2677
- className: "univer-box-border univer-flex univer-size-full univer-min-w-0 univer-max-w-full univer-flex-col univer-gap-3 univer-overflow-hidden univer-text-gray-700 dark:!univer-text-gray-200",
2694
+ className: "univer-box-border univer-flex univer-size-full univer-min-w-0 univer-max-w-full univer-flex-col univer-gap-3 univer-overflow-hidden univer-py-2 univer-text-gray-700 dark:!univer-text-gray-200",
2678
2695
  "data-drawing-object-list-panel": "true",
2679
2696
  children: [
2680
2697
  showHeader && /* @__PURE__ */ jsx("div", {
@@ -2908,7 +2925,7 @@ function ObjectListRow(props) {
2908
2925
  }),
2909
2926
  showLock && /* @__PURE__ */ jsx("button", {
2910
2927
  type: "button",
2911
- className: clsx(iconButtonClassName, !locked && "univer-opacity-70"),
2928
+ className: iconButtonClassName,
2912
2929
  disabled,
2913
2930
  title: locked ? labels.unlock : labels.lock,
2914
2931
  "aria-label": locked ? labels.unlock : labels.lock,
@@ -2916,7 +2933,7 @@ function ObjectListRow(props) {
2916
2933
  event.stopPropagation();
2917
2934
  onToggleSelectable();
2918
2935
  },
2919
- children: /* @__PURE__ */ jsx(LockIcon, {})
2936
+ children: locked ? /* @__PURE__ */ jsx(LockIcon, {}) : /* @__PURE__ */ jsx(UnlockIcon, {})
2920
2937
  }),
2921
2938
  showVisible && /* @__PURE__ */ jsx("button", {
2922
2939
  type: "button",
@@ -3142,7 +3159,7 @@ const DrawingGroup = (props) => {
3142
3159
  const GroupIcon = iconManager.get("GroupIcon");
3143
3160
  const UngroupIcon = iconManager.get("UngroupIcon");
3144
3161
  const drawingParam = drawings[0];
3145
- const transformer = drawingParam ? (_renderManagerService = renderManagerService.getRenderById(drawingParam.unitId)) === null || _renderManagerService === void 0 || (_renderManagerService = _renderManagerService.scene) === null || _renderManagerService === void 0 ? void 0 : _renderManagerService.getTransformerByCreate() : void 0;
3162
+ const transformer = drawingParam ? (_renderManagerService = renderManagerService.getRenderUnitById(drawingParam.unitId)) === null || _renderManagerService === void 0 || (_renderManagerService = _renderManagerService.scene) === null || _renderManagerService === void 0 ? void 0 : _renderManagerService.getTransformerByCreate() : void 0;
3146
3163
  const { groupShow, groupBtnShow, ungroupBtnShow } = useObservable(transformer ? () => merge$1(transformer.clearControl$.pipe(filter((changeSelf) => changeSelf === true), map(() => ({
3147
3164
  groupShow: false,
3148
3165
  groupBtnShow: false,
@@ -3221,7 +3238,7 @@ const DrawingTransform = (props) => {
3221
3238
  var _renderManagerService, _scene$getEngine;
3222
3239
  const renderManagerService = useDependency(IRenderManagerService);
3223
3240
  const drawingParam = props.drawings[0];
3224
- const scene = drawingParam ? (_renderManagerService = renderManagerService.getRenderById(drawingParam.unitId)) === null || _renderManagerService === void 0 ? void 0 : _renderManagerService.scene : void 0;
3241
+ const scene = drawingParam ? (_renderManagerService = renderManagerService.getRenderUnitById(drawingParam.unitId)) === null || _renderManagerService === void 0 ? void 0 : _renderManagerService.scene : void 0;
3225
3242
  const topScene = scene === null || scene === void 0 || (_scene$getEngine = scene.getEngine()) === null || _scene$getEngine === void 0 ? void 0 : _scene$getEngine.activeScene;
3226
3243
  if (!(drawingParam === null || drawingParam === void 0 ? void 0 : drawingParam.transform) || !scene || !topScene) return null;
3227
3244
  return /* @__PURE__ */ jsx(DrawingTransformContent, { ...props });
@@ -3234,7 +3251,7 @@ function DrawingTransformContent(props) {
3234
3251
  const drawingParam = drawings[0];
3235
3252
  const transform = drawingParam.transform;
3236
3253
  const { unitId, subUnitId, drawingId, drawingType } = drawingParam;
3237
- const scene = renderManagerService.getRenderById(unitId).scene;
3254
+ const scene = renderManagerService.getRenderUnitById(unitId).scene;
3238
3255
  const topScene = scene.getEngine().activeScene;
3239
3256
  const transformer = scene.getTransformerByCreate();
3240
3257
  const { width: originWidth = 0, height: originHeight = 0, left: originX = 0, top: originY = 0, angle: originRotation = 0 } = transform;
@@ -3601,7 +3618,7 @@ const DrawingCommonPanel = (props) => {
3601
3618
  const localeService = useDependency(LocaleService);
3602
3619
  const { drawings, hasArrange = true, hasTransform = true, hasAlign = true, hasCropper = true, hasGroup = true } = props;
3603
3620
  const drawingParam = drawings[0];
3604
- const renderObject = drawingParam ? renderManagerService.getRenderById(drawingParam.unitId) : void 0;
3621
+ const renderObject = drawingParam ? renderManagerService.getRenderUnitById(drawingParam.unitId) : void 0;
3605
3622
  const scene = renderObject === null || renderObject === void 0 ? void 0 : renderObject.scene;
3606
3623
  const transformer = scene === null || scene === void 0 ? void 0 : scene.getTransformerByCreate();
3607
3624
  const { arrangeShow, transformShow, alignShow, cropperShow, nullShow } = useObservable(() => merge$1(drawingManagerService.focus$.pipe(map(getPanelShowState)), ...transformer ? [transformer.clearControl$.pipe(filter((changeSelf) => changeSelf === true), map(() => getPanelShowState([]))), transformer.changeStart$.pipe(map((state) => getPanelShowState(getUpdateParams(state.objects, drawingManagerService))))] : []), getPanelShowState(drawings), false, [drawingManagerService, transformer]);
@@ -17,7 +17,7 @@ const locale = { "drawing-ui": {
17
17
  nameInput: "Nom de l'objet",
18
18
  description: "Description",
19
19
  descriptionPlaceholder: "Ajouter une description",
20
- details: "Details",
20
+ details: "Détails",
21
21
  locate: "Localiser",
22
22
  expand: "Développer",
23
23
  collapse: "Réduire",
@@ -88,22 +88,22 @@ const locale = { "drawing-ui": {
88
88
  null: "Нет выбранных объектов"
89
89
  },
90
90
  "image-text-wrap": {
91
- title: "Text Wrapping",
92
- wrappingStyle: "Wrapping Style",
93
- square: "Square",
94
- topAndBottom: "Top and Bottom",
95
- inline: "In line with text",
96
- behindText: "Behind text",
97
- inFrontText: "In front of text",
98
- wrapText: "Wrap text",
99
- bothSide: "Both sides",
100
- leftOnly: "Left only",
101
- rightOnly: "Right only",
102
- distanceFromText: "Distance from text",
103
- top: "Top(px)",
104
- left: "Left(px)",
105
- bottom: "Bottom(px)",
106
- right: "Right(px)"
91
+ title: "Обтекание текстом",
92
+ wrappingStyle: "Стиль обтекания",
93
+ square: "Вокруг рамки",
94
+ topAndBottom: "Сверху и снизу",
95
+ inline: "В тексте",
96
+ behindText: "За текстом",
97
+ inFrontText: "Перед текстом",
98
+ wrapText: "Обтекание",
99
+ bothSide: "С обеих сторон",
100
+ leftOnly: "Только слева",
101
+ rightOnly: "Только справа",
102
+ distanceFromText: "Расстояние от текста",
103
+ top: "Сверху (пкс)",
104
+ left: "Слева (пкс)",
105
+ bottom: "Снизу (пкс)",
106
+ right: "Справа (пкс)"
107
107
  },
108
108
  "image-popup": {
109
109
  replace: "Заменить",