@univerjs/docs-ui 0.4.0-alpha.0 → 0.4.0-nightly.202410121605
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 +4 -4
- package/lib/es/index.js +29 -14
- package/lib/types/services/selection/selection-utils.d.ts +1 -1
- package/lib/umd/index.js +4 -4
- package/package.json +10 -17
- package/LICENSE +0 -176
package/lib/es/index.js
CHANGED
|
@@ -11,7 +11,6 @@ import { LexerTreeBuilder, operatorToken, isReferenceStrings, serializeRange, se
|
|
|
11
11
|
import { Subject, BehaviorSubject, takeUntil, fromEvent, merge, combineLatest, Observable, map as map$1, distinctUntilChanged, filter as filter$1, throttleTime, mergeMap, take, animationFrameScheduler } from "rxjs";
|
|
12
12
|
import { ILayoutService, useEvent, ComponentManager, ISidebarService, KeyCode, MetaKeys, IClipboardInterfaceService, PLAIN_TEXT_CLIPBOARD_MIME_TYPE, HTML_CLIPBOARD_MIME_TYPE, CopyCommand, CutCommand, PasteCommand, IConfirmService, MenuItemType, getMenuHiddenObservable, FONT_FAMILY_LIST, FONT_SIZE_LIST, getHeaderFooterMenuHiddenObservable, RibbonStartGroup, ContextMenuPosition, ContextMenuGroup, FontFamily, FontFamilyItem, FontSize, BuiltInUIPart, IMenuManagerService, IUIPartsService, IShortcutService, ICanvasPopupService, IContextMenuService, SetEditorResizeOperation } from "@univerjs/ui";
|
|
13
13
|
import { Tooltip, Dialog, Button, Input, Checkbox, InputNumber, Slider, Select, ColorPicker } from "@univerjs/design";
|
|
14
|
-
import clsx from "clsx";
|
|
15
14
|
import { filter, bufferTime, map } from "rxjs/operators";
|
|
16
15
|
var __defProp$r = Object.defineProperty, __getOwnPropDesc$r = Object.getOwnPropertyDescriptor, __decorateClass$r = /* @__PURE__ */ __name((decorators, target, key, kind) => {
|
|
17
16
|
for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$r(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
|
|
@@ -1440,8 +1439,8 @@ const _RectRange = class _RectRange {
|
|
|
1440
1439
|
};
|
|
1441
1440
|
__name(_RectRange, "RectRange");
|
|
1442
1441
|
let RectRange = _RectRange;
|
|
1443
|
-
function getTextRangeFromCharIndex(startOffset, endOffset, scene, document2, skeleton, style, segmentId, segmentPage) {
|
|
1444
|
-
const startNodePosition = skeleton.findNodePositionByCharIndex(startOffset,
|
|
1442
|
+
function getTextRangeFromCharIndex(startOffset, endOffset, scene, document2, skeleton, style, segmentId, segmentPage, startIsBack = !0, endIsBack = !0) {
|
|
1443
|
+
const startNodePosition = skeleton.findNodePositionByCharIndex(startOffset, startIsBack, segmentId, segmentPage), endNodePosition = skeleton.findNodePositionByCharIndex(endOffset, endIsBack, segmentId, segmentPage);
|
|
1445
1444
|
if (!(startNodePosition == null || endNodePosition == null))
|
|
1446
1445
|
return new TextRange(scene, document2, skeleton, startNodePosition, endNodePosition, style, segmentId, segmentPage);
|
|
1447
1446
|
}
|
|
@@ -1692,7 +1691,6 @@ let DocSelectionRenderService = (_a2 = class extends RxDisposable {
|
|
|
1692
1691
|
_setRangeStyle(style = NORMAL_TEXT_SELECTION_PLUGIN_STYLE) {
|
|
1693
1692
|
this._selectionStyle = style;
|
|
1694
1693
|
}
|
|
1695
|
-
// eslint-disable-next-line max-lines-per-function
|
|
1696
1694
|
addDocRanges(ranges, isEditing = !0, options) {
|
|
1697
1695
|
const {
|
|
1698
1696
|
_currentSegmentId: segmentId,
|
|
@@ -1700,9 +1698,9 @@ let DocSelectionRenderService = (_a2 = class extends RxDisposable {
|
|
|
1700
1698
|
_selectionStyle: style
|
|
1701
1699
|
} = this, { scene, mainComponent } = this._context, document2 = mainComponent, docSkeleton = this._docSkeletonManagerService.getSkeleton();
|
|
1702
1700
|
for (const range of ranges) {
|
|
1703
|
-
const { startOffset, endOffset, rangeType } = range;
|
|
1701
|
+
const { startOffset, endOffset, rangeType, startNodePosition, endNodePosition } = range;
|
|
1704
1702
|
if (rangeType === DOC_RANGE_TYPE.RECT) {
|
|
1705
|
-
const
|
|
1703
|
+
const rectRange = getRectRangeFromCharIndex(
|
|
1706
1704
|
startOffset,
|
|
1707
1705
|
endOffset,
|
|
1708
1706
|
scene,
|
|
@@ -1714,15 +1712,17 @@ let DocSelectionRenderService = (_a2 = class extends RxDisposable {
|
|
|
1714
1712
|
);
|
|
1715
1713
|
rectRange && this._addRectRanges([rectRange]);
|
|
1716
1714
|
} else if (rangeType === DOC_RANGE_TYPE.TEXT) {
|
|
1717
|
-
const
|
|
1718
|
-
startOffset,
|
|
1719
|
-
endOffset,
|
|
1715
|
+
const textRange = getTextRangeFromCharIndex(
|
|
1716
|
+
startNodePosition != null && startNodePosition.isBack ? startOffset : startOffset - 1,
|
|
1717
|
+
endNodePosition != null && endNodePosition.isBack ? endOffset : endOffset - 1,
|
|
1720
1718
|
scene,
|
|
1721
1719
|
document2,
|
|
1722
1720
|
docSkeleton,
|
|
1723
1721
|
style,
|
|
1724
1722
|
segmentId,
|
|
1725
|
-
segmentPage
|
|
1723
|
+
segmentPage,
|
|
1724
|
+
startNodePosition == null ? void 0 : startNodePosition.isBack,
|
|
1725
|
+
endNodePosition == null ? void 0 : endNodePosition.isBack
|
|
1726
1726
|
);
|
|
1727
1727
|
textRange && this._addTextRange(textRange);
|
|
1728
1728
|
} else {
|
|
@@ -1935,11 +1935,11 @@ let DocSelectionRenderService = (_a2 = class extends RxDisposable {
|
|
|
1935
1935
|
}), this._scrollTimers = [];
|
|
1936
1936
|
}
|
|
1937
1937
|
_setSystemHighlightColorToStyle() {
|
|
1938
|
-
const { r, g, b, a } = getSystemHighlightColor(), style = {
|
|
1938
|
+
const { r: r2, g, b, a } = getSystemHighlightColor(), style = {
|
|
1939
1939
|
strokeWidth: 1.5,
|
|
1940
1940
|
stroke: "rgba(0, 0, 0, 0)",
|
|
1941
1941
|
strokeActive: "rgba(0, 0, 0, 1)",
|
|
1942
|
-
fill: `rgba(${
|
|
1942
|
+
fill: `rgba(${r2}, ${g}, ${b}, ${a != null ? a : 0.3})`
|
|
1943
1943
|
};
|
|
1944
1944
|
this._setRangeStyle(style);
|
|
1945
1945
|
}
|
|
@@ -3182,6 +3182,21 @@ var element = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width:
|
|
|
3182
3182
|
}));
|
|
3183
3183
|
});
|
|
3184
3184
|
TodoList.displayName = "TodoList";
|
|
3185
|
+
function r(e) {
|
|
3186
|
+
var t, f2, n2 = "";
|
|
3187
|
+
if (typeof e == "string" || typeof e == "number") n2 += e;
|
|
3188
|
+
else if (typeof e == "object") if (Array.isArray(e)) {
|
|
3189
|
+
var o = e.length;
|
|
3190
|
+
for (t = 0; t < o; t++) e[t] && (f2 = r(e[t])) && (n2 && (n2 += " "), n2 += f2);
|
|
3191
|
+
} else for (f2 in e) e[f2] && (n2 && (n2 += " "), n2 += f2);
|
|
3192
|
+
return n2;
|
|
3193
|
+
}
|
|
3194
|
+
__name(r, "r");
|
|
3195
|
+
function clsx() {
|
|
3196
|
+
for (var e, t, f2 = 0, n2 = "", o = arguments.length; f2 < o; f2++) (e = arguments[f2]) && (t = r(e)) && (n2 && (n2 += " "), n2 += t);
|
|
3197
|
+
return n2;
|
|
3198
|
+
}
|
|
3199
|
+
__name(clsx, "clsx");
|
|
3185
3200
|
const _RangeSelectorService = class _RangeSelectorService extends Disposable {
|
|
3186
3201
|
constructor() {
|
|
3187
3202
|
super(...arguments);
|
|
@@ -5426,7 +5441,7 @@ const InnerPasteCommand = {
|
|
|
5426
5441
|
// eslint-disable-next-line max-lines-per-function, complexity
|
|
5427
5442
|
handler: /* @__PURE__ */ __name(async (accessor, params) => {
|
|
5428
5443
|
var _a28, _b2, _c, _d;
|
|
5429
|
-
const { segmentId, textRanges, doc } = params, commandService = accessor.get(ICommandService), docSelectionManagerService = accessor.get(DocSelectionManagerService), univerInstanceService = accessor.get(IUniverInstanceService), originSelections = docSelectionManagerService.getTextRanges(), { body, tableSource, drawings } = doc;
|
|
5444
|
+
const { segmentId, textRanges, doc } = params, commandService = accessor.get(ICommandService), docSelectionManagerService = accessor.get(DocSelectionManagerService), univerInstanceService = accessor.get(IUniverInstanceService), originSelections = docSelectionManagerService.getTextRanges(), rectRanges = docSelectionManagerService.getRectRanges(), { body, tableSource, drawings } = doc;
|
|
5430
5445
|
if (!Array.isArray(originSelections) || originSelections.length === 0 || body == null)
|
|
5431
5446
|
return !1;
|
|
5432
5447
|
const docDataModel = univerInstanceService.getCurrentUniverDocInstance(), originBody = docDataModel == null ? void 0 : docDataModel.getSelfOrHeaderFooterModel(segmentId).getBody();
|
|
@@ -5443,7 +5458,7 @@ const InnerPasteCommand = {
|
|
|
5443
5458
|
}, memoryCursor = new MemoryCursor();
|
|
5444
5459
|
memoryCursor.reset();
|
|
5445
5460
|
const textX = new TextX(), jsonX = JSONX.getInstance(), rawActions = [], hasTable = !!((_a28 = body.tables) != null && _a28.length), hasCustomBlock = !!((_b2 = body.customBlocks) != null && _b2.length);
|
|
5446
|
-
if (hasTable && segmentId || hasTable && hasRangeInTable(selections))
|
|
5461
|
+
if (hasTable && segmentId || hasTable && hasRangeInTable(selections) || selections.length && (rectRanges != null && rectRanges.length))
|
|
5447
5462
|
return !1;
|
|
5448
5463
|
for (const selection of selections) {
|
|
5449
5464
|
const { startOffset, endOffset, collapsed } = selection, len = startOffset - memoryCursor.cursor, cloneBody = Tools.deepClone(body);
|
|
@@ -7,7 +7,7 @@ interface IDocRangeList {
|
|
|
7
7
|
textRanges: TextRange[];
|
|
8
8
|
rectRanges: RectRange[];
|
|
9
9
|
}
|
|
10
|
-
export declare function getTextRangeFromCharIndex(startOffset: number, endOffset: number, scene: Scene, document: Documents, skeleton: DocumentSkeleton, style: ITextSelectionStyle, segmentId: string, segmentPage: number): Nullable<TextRange>;
|
|
10
|
+
export declare function getTextRangeFromCharIndex(startOffset: number, endOffset: number, scene: Scene, document: Documents, skeleton: DocumentSkeleton, style: ITextSelectionStyle, segmentId: string, segmentPage: number, startIsBack?: boolean, endIsBack?: boolean): Nullable<TextRange>;
|
|
11
11
|
export declare function getRectRangeFromCharIndex(startOffset: number, endOffset: number, scene: Scene, document: Documents, skeleton: DocumentSkeleton, style: ITextSelectionStyle, segmentId: string, segmentPage: number): Nullable<RectRange>;
|
|
12
12
|
export declare function getRangeListFromCharIndex(startOffset: number, endOffset: number, scene: Scene, document: Documents, skeleton: DocumentSkeleton, style: ITextSelectionStyle, segmentId: string, segmentPage: number): Nullable<IDocRangeList>;
|
|
13
13
|
export declare function getRangeListFromSelection(anchorPosition: INodePosition, focusPosition: INodePosition, scene: Scene, document: Documents, skeleton: DocumentSkeleton, style: ITextSelectionStyle, segmentId: string, segmentPage: number): Nullable<IDocRangeList>;
|