@univerjs/engine-render 0.1.3 → 0.1.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.
Files changed (126) hide show
  1. package/lib/cjs/index.js +2 -2
  2. package/lib/es/index.js +10914 -10855
  3. package/lib/types/base-object.d.ts +7 -23
  4. package/lib/types/basics/cell-data.d.ts +2 -16
  5. package/lib/types/basics/document-node-tools.d.ts +10 -24
  6. package/lib/types/basics/draw.d.ts +5 -20
  7. package/lib/types/basics/font-cache.d.ts +4 -18
  8. package/lib/types/basics/i-document-skeleton-cached.d.ts +15 -23
  9. package/lib/types/basics/i-events.d.ts +2 -16
  10. package/lib/types/basics/interfaces.d.ts +7 -21
  11. package/lib/types/basics/path2.d.ts +2 -16
  12. package/lib/types/basics/position.d.ts +3 -17
  13. package/lib/types/basics/quick-event.d.ts +3 -17
  14. package/lib/types/basics/range.d.ts +2 -16
  15. package/lib/types/basics/text-rotation.d.ts +2 -16
  16. package/lib/types/basics/tools.d.ts +10 -20
  17. package/lib/types/basics/transform.d.ts +3 -17
  18. package/lib/types/basics/vector2.d.ts +2 -16
  19. package/lib/types/basics/viewport-subtract.d.ts +3 -0
  20. package/lib/types/canvas.d.ts +1 -15
  21. package/lib/types/components/component.d.ts +5 -19
  22. package/lib/types/components/docs/doc-component.d.ts +10 -25
  23. package/lib/types/components/docs/doc-extension.d.ts +4 -18
  24. package/lib/types/components/docs/document.d.ts +10 -26
  25. package/lib/types/components/docs/extensions/background.d.ts +5 -19
  26. package/lib/types/components/docs/extensions/border.d.ts +5 -19
  27. package/lib/types/components/docs/extensions/font-and-base-line.d.ts +5 -19
  28. package/lib/types/components/docs/extensions/line.d.ts +5 -19
  29. package/lib/types/components/docs/layout/block/paragraph/bullet-ruler.d.ts +3 -0
  30. package/lib/types/components/docs/layout/block/paragraph/bullet.d.ts +5 -0
  31. package/lib/types/components/docs/layout/block/paragraph/inline-drawing.d.ts +5 -0
  32. package/lib/types/components/docs/layout/block/paragraph/language-ruler.d.ts +21 -0
  33. package/lib/types/components/docs/layout/block/paragraph/layout-ruler.d.ts +4 -0
  34. package/lib/types/components/docs/layout/block/paragraph/layout.d.ts +6 -0
  35. package/lib/types/components/docs/layout/block/paragraph/line-adjustment.d.ts +4 -0
  36. package/lib/types/components/docs/layout/block/paragraph/linebreaking.d.ts +7 -0
  37. package/lib/types/components/docs/layout/block/paragraph/shaping.d.ts +11 -0
  38. package/lib/types/components/docs/layout/block/section.d.ts +10 -0
  39. package/lib/types/components/docs/{doc-skeleton.d.ts → layout/doc-skeleton.d.ts} +11 -26
  40. package/lib/types/components/docs/layout/linebreak/extensions/tab-linebreak-extension.d.ts +3 -0
  41. package/lib/types/components/docs/layout/linebreak/linebreaker.d.ts +27 -0
  42. package/lib/types/components/docs/layout/model/__test__/glyph.spec.d.ts +16 -0
  43. package/lib/types/components/docs/layout/model/column.d.ts +4 -0
  44. package/lib/types/components/docs/layout/model/glyph.d.ts +16 -0
  45. package/lib/types/components/docs/{common → layout/model}/line.d.ts +2 -16
  46. package/lib/types/components/docs/layout/model/page.d.ts +4 -0
  47. package/lib/types/components/docs/layout/model/section.d.ts +5 -0
  48. package/lib/types/components/docs/{common → layout}/tools.d.ts +10 -25
  49. package/lib/types/components/docs/{common/liquid.d.ts → liquid.d.ts} +4 -19
  50. package/lib/types/components/docs/{common → text-selection}/convert-cursor.d.ts +9 -23
  51. package/lib/types/components/docs/{common → text-selection}/text-range.d.ts +10 -25
  52. package/lib/types/components/docs/{text-selection-render-manager.d.ts → text-selection/text-selection-render-manager.d.ts} +15 -28
  53. package/lib/types/components/docs/view-model/data-stream-tree-node.d.ts +2 -17
  54. package/lib/types/components/docs/view-model/document-view-model.d.ts +8 -23
  55. package/lib/types/components/extension.d.ts +5 -20
  56. package/lib/types/components/index.d.ts +0 -1
  57. package/lib/types/components/sheets/column-header.d.ts +5 -19
  58. package/lib/types/components/sheets/extensions/background.d.ts +4 -18
  59. package/lib/types/components/sheets/extensions/border.d.ts +4 -18
  60. package/lib/types/components/sheets/extensions/column-header-layout.d.ts +4 -18
  61. package/lib/types/components/sheets/extensions/font.d.ts +4 -18
  62. package/lib/types/components/sheets/extensions/row-header-layout.d.ts +4 -18
  63. package/lib/types/components/sheets/extensions/sheet-extension.d.ts +4 -18
  64. package/lib/types/components/sheets/interfaces.d.ts +4 -18
  65. package/lib/types/components/sheets/row-header.d.ts +5 -19
  66. package/lib/types/components/sheets/sheet-component.d.ts +6 -20
  67. package/lib/types/components/sheets/sheet-skeleton.d.ts +8 -23
  68. package/lib/types/components/sheets/spreadsheet.d.ts +8 -22
  69. package/lib/types/components/skeleton.d.ts +2 -16
  70. package/lib/types/components/slides/slide.d.ts +5 -20
  71. package/lib/types/context.d.ts +4 -0
  72. package/lib/types/custom/custom-object.d.ts +3 -17
  73. package/lib/types/engine.d.ts +9 -19
  74. package/lib/types/group.d.ts +4 -19
  75. package/lib/types/index.d.ts +9 -1
  76. package/lib/types/layer.d.ts +5 -18
  77. package/lib/types/render-engine.d.ts +4 -18
  78. package/lib/types/render-manager.service.d.ts +10 -23
  79. package/lib/types/scene-viewer.d.ts +7 -21
  80. package/lib/types/scene.d.ts +14 -29
  81. package/lib/types/scene.input-manager.d.ts +3 -17
  82. package/lib/types/scene.transformer.d.ts +5 -20
  83. package/lib/types/scroll-timer.d.ts +4 -18
  84. package/lib/types/services/object-transform-manager.service.d.ts +4 -18
  85. package/lib/types/shape/base-scroll-bar.d.ts +7 -21
  86. package/lib/types/shape/circle.d.ts +3 -18
  87. package/lib/types/shape/path.d.ts +3 -18
  88. package/lib/types/shape/picture.d.ts +4 -19
  89. package/lib/types/shape/rect.d.ts +3 -18
  90. package/lib/types/shape/regular-polygon.d.ts +5 -20
  91. package/lib/types/shape/rich-text.d.ts +4 -18
  92. package/lib/types/shape/scroll-bar.d.ts +6 -21
  93. package/lib/types/shape/shape.d.ts +5 -19
  94. package/lib/types/thin-engine.d.ts +6 -21
  95. package/lib/types/thin-scene.d.ts +11 -24
  96. package/lib/types/viewport.d.ts +9 -28
  97. package/lib/umd/index.js +2 -2
  98. package/package.json +10 -9
  99. package/lib/types/components/docs/block/index.d.ts +0 -18
  100. package/lib/types/components/docs/block/paragraph/bullet-ruler.d.ts +0 -17
  101. package/lib/types/components/docs/block/paragraph/bullet.d.ts +0 -19
  102. package/lib/types/components/docs/block/paragraph/index.d.ts +0 -21
  103. package/lib/types/components/docs/block/paragraph/inline-drawing.d.ts +0 -19
  104. package/lib/types/components/docs/block/paragraph/language-ruler.d.ts +0 -35
  105. package/lib/types/components/docs/block/paragraph/layout-ruler.d.ts +0 -18
  106. package/lib/types/components/docs/block/paragraph/paragraph.d.ts +0 -20
  107. package/lib/types/components/docs/block/section.d.ts +0 -24
  108. package/lib/types/components/docs/common/column.d.ts +0 -19
  109. package/lib/types/components/docs/common/index.d.ts +0 -24
  110. package/lib/types/components/docs/common/page.d.ts +0 -19
  111. package/lib/types/components/docs/common/section.d.ts +0 -20
  112. package/lib/types/components/docs/common/span.d.ts +0 -28
  113. package/lib/types/components/docs/index.d.ts +0 -22
  114. package/lib/types/components/docs/linebreak/extensions/tab-linebreak-extension.d.ts +0 -17
  115. package/lib/types/components/docs/linebreak/linebreaker.d.ts +0 -41
  116. /package/lib/types/components/docs/{block → layout/block}/block-error.d.ts +0 -0
  117. /package/lib/types/components/docs/{linebreak → layout/linebreak}/__tests__/linebreak.spec.d.ts +0 -0
  118. /package/lib/types/components/docs/{linebreak → layout/linebreak}/break.d.ts +0 -0
  119. /package/lib/types/components/docs/{linebreak → layout/linebreak}/classes.d.ts +0 -0
  120. /package/lib/types/components/docs/{linebreak → layout/linebreak}/index.d.ts +0 -0
  121. /package/lib/types/components/docs/{linebreak → layout/linebreak}/pairs.d.ts +0 -0
  122. /package/lib/types/components/docs/{linebreak → layout/linebreak}/rule.d.ts +0 -0
  123. /package/lib/types/components/docs/{linebreak → layout/linebreak}/swap.d.ts +0 -0
  124. /package/lib/types/components/docs/{linebreak → layout/linebreak}/tiny-inflate.d.ts +0 -0
  125. /package/lib/types/components/docs/{linebreak → layout/linebreak}/trie-data.d.ts +0 -0
  126. /package/lib/types/components/docs/{linebreak → layout/linebreak}/unicode-trie.d.ts +0 -0
@@ -1,27 +1,11 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { EventState, IKeyValue, Nullable, Observer } from '@univerjs/core';
17
- import { Observable } from '@univerjs/core';
18
- import type { EVENT_TYPE } from './basics/const';
19
- import { CURSOR_TYPE, RENDER_CLASS_TYPE } from './basics/const';
20
- import type { IMouseEvent, IPointerEvent, IWheelEvent } from './basics/i-events';
21
- import type { IObjectFullState, ITransformChangeState } from './basics/interfaces';
1
+ import { UniverRenderingContext } from './context';
2
+ import { IViewportBound, Vector2 } from './basics/vector2';
22
3
  import { Transform } from './basics/transform';
23
- import type { IViewportBound, Vector2 } from './basics/vector2';
24
- import type { UniverRenderingContext } from './context';
4
+ import { IObjectFullState, ITransformChangeState } from './basics/interfaces';
5
+ import { IMouseEvent, IPointerEvent, IWheelEvent } from './basics/i-events';
6
+ import { EVENT_TYPE, CURSOR_TYPE, RENDER_CLASS_TYPE } from './basics/const';
7
+ import { EventState, IKeyValue, Nullable, Observer, Observable } from '@univerjs/core';
8
+
25
9
  export declare const BASE_OBJECT_ARRAY: string[];
26
10
  export declare abstract class BaseObject {
27
11
  groupKey?: string;
@@ -1,19 +1,5 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { ICellData, IStyleData } from '@univerjs/core';
1
+ import { ICellData, IStyleData } from '@univerjs/core';
2
+
17
3
  export interface ITempCellData extends ICellData {
18
4
  style: IStyleData;
19
5
  prefix: string[];
@@ -1,24 +1,10 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { IDocumentBody, Nullable } from '@univerjs/core';
17
- import type { IDocumentSkeletonSpan } from './i-document-skeleton-cached';
18
- export declare function hasListSpan(span: Nullable<IDocumentSkeletonSpan>): boolean;
19
- export declare function isIndentBySpan(span: Nullable<IDocumentSkeletonSpan>, body?: IDocumentBody): boolean;
20
- export declare function isLastSpan(span: Nullable<IDocumentSkeletonSpan>): boolean;
21
- export declare function isFirstSpan(span: Nullable<IDocumentSkeletonSpan>): boolean;
22
- export declare function getParagraphBySpan(span: Nullable<IDocumentSkeletonSpan>, body?: IDocumentBody): import("@univerjs/core").IParagraph | undefined;
23
- export declare function isPlaceholderOrSpace(span: Nullable<IDocumentSkeletonSpan>): boolean;
24
- export declare function isSameLine(span1: Nullable<IDocumentSkeletonSpan>, span2: Nullable<IDocumentSkeletonSpan>): boolean;
1
+ import { IDocumentSkeletonGlyph } from './i-document-skeleton-cached';
2
+ import { IDocumentBody, Nullable } from '@univerjs/core';
3
+
4
+ export declare function hasListGlyph(glyph: Nullable<IDocumentSkeletonGlyph>): boolean;
5
+ export declare function isIndentByGlyph(glyph: Nullable<IDocumentSkeletonGlyph>, body?: IDocumentBody): boolean;
6
+ export declare function isLastGlyph(glyph: Nullable<IDocumentSkeletonGlyph>): boolean;
7
+ export declare function isFirstGlyph(glyph: Nullable<IDocumentSkeletonGlyph>): boolean;
8
+ export declare function getParagraphByGlyph(glyph: Nullable<IDocumentSkeletonGlyph>, body?: IDocumentBody): import('@univerjs/core').IParagraph | undefined;
9
+ export declare function isPlaceholderOrSpace(glyph: Nullable<IDocumentSkeletonGlyph>): boolean;
10
+ export declare function isSameLine(glyph1: Nullable<IDocumentSkeletonGlyph>, glyph2: Nullable<IDocumentSkeletonGlyph>): boolean;
@@ -1,24 +1,9 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { IPosition } from '@univerjs/core';
17
- import { BorderStyleTypes } from '@univerjs/core';
18
- import type { UniverRenderingContext } from '../context';
19
- import { BORDER_TYPE, ORIENTATION_TYPE } from './const';
20
- import type { IDocumentSkeletonLine } from './i-document-skeleton-cached';
21
1
  import { Vector2 } from './vector2';
2
+ import { IDocumentSkeletonLine } from './i-document-skeleton-cached';
3
+ import { BORDER_TYPE, ORIENTATION_TYPE } from './const';
4
+ import { UniverRenderingContext } from '../context';
5
+ import { IPosition, BorderStyleTypes } from '@univerjs/core';
6
+
22
7
  export interface IContext2D extends CanvasRenderingContext2D {
23
8
  webkitBackingStorePixelRatio: number;
24
9
  mozBackingStorePixelRatio: number;
@@ -1,21 +1,7 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { Nullable } from '@univerjs/core';
17
- import type { IDocumentSkeletonBoundingBox, IDocumentSkeletonFontStyle } from './i-document-skeleton-cached';
18
- import type { IMeasureTextCache } from './interfaces';
1
+ import { IMeasureTextCache } from './interfaces';
2
+ import { IDocumentSkeletonBoundingBox, IDocumentSkeletonFontStyle } from './i-document-skeleton-cached';
3
+ import { Nullable } from '@univerjs/core';
4
+
19
5
  export declare class FontCache {
20
6
  private static _getTextHeightCache;
21
7
  private static _context;
@@ -1,19 +1,5 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { BulletAlignment, ColumnSeparatorType, DataStreamTreeTokenType, IDocumentRenderConfig, IDrawing, IIndentStart, INestingLevel, ITextStyle, PageOrientType } from '@univerjs/core';
1
+ import { BulletAlignment, ColumnSeparatorType, DataStreamTreeTokenType, IDocumentRenderConfig, IDrawing, IIndentStart, INestingLevel, ITextStyle, PageOrientType } from '@univerjs/core';
2
+
17
3
  export interface IDocumentSkeletonCached extends ISkeletonResourceReference {
18
4
  pages: IDocumentSkeletonPage[];
19
5
  left: number;
@@ -115,7 +101,7 @@ export interface IDocumentSkeletonLine {
115
101
  parent?: IDocumentSkeletonColumn;
116
102
  }
117
103
  export interface IDocumentSkeletonDivide {
118
- spanGroup: IDocumentSkeletonSpan[];
104
+ glyphGroup: IDocumentSkeletonGlyph[];
119
105
  width: number;
120
106
  left: number;
121
107
  paddingLeft: number;
@@ -124,16 +110,22 @@ export interface IDocumentSkeletonDivide {
124
110
  ed: number;
125
111
  parent?: IDocumentSkeletonLine;
126
112
  }
127
- export interface IDocumentSkeletonSpan {
128
- eId?: string;
129
- spanType: SpanType;
113
+ export interface IAdjustability {
114
+ stretchability: [number, number];
115
+ shrinkability: [number, number];
116
+ }
117
+ export interface IDocumentSkeletonGlyph {
118
+ glyphId?: string;
119
+ glyphType: GlyphType;
130
120
  streamType: DataStreamTreeTokenType;
131
121
  width: number;
132
122
  bBox: IDocumentSkeletonBoundingBox;
133
- paddingLeft: number;
123
+ xOffset: number;
134
124
  left: number;
135
125
  count: number;
136
126
  content: string;
127
+ adjustability: IAdjustability;
128
+ isJustifiable: boolean;
137
129
  ts?: ITextStyle;
138
130
  fontStyle?: IDocumentSkeletonFontStyle;
139
131
  parent?: IDocumentSkeletonDivide;
@@ -179,7 +171,7 @@ export interface IDocumentSkeletonBoundingBox {
179
171
  spo: number;
180
172
  }
181
173
  export declare enum SkeletonType {
182
- SPAN = 0,
174
+ GLYPH = 0,
183
175
  DIVIDE = 1,
184
176
  LINE = 2,
185
177
  COLUMN = 3,
@@ -200,7 +192,7 @@ export declare enum LineType {
200
192
  PARAGRAPH = 0,
201
193
  BLOCK = 1
202
194
  }
203
- export declare enum SpanType {
195
+ export declare enum GlyphType {
204
196
  LETTER = 0,
205
197
  WORD = 1,
206
198
  LIST = 2,
@@ -1,19 +1,5 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { Nullable } from '@univerjs/core';
1
+ import { Nullable } from '@univerjs/core';
2
+
17
3
  /**
18
4
  * Alias type for number that are floats
19
5
  */
@@ -1,22 +1,8 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { BooleanNumber, GridType, IDocStyleBase, IDocumentLayout, IOffset, IParagraphStyle, IReferenceSource, IScale, ISectionBreakBase, ISize, ITextStyle, ITransformState, LocaleService } from '@univerjs/core';
17
- import type { DocumentViewModel } from '../components/docs/view-model/document-view-model';
18
- import type { IDocumentSkeletonBullet, IDocumentSkeletonDrawing, IDocumentSkeletonDrawingAnchor, IDocumentSkeletonFontStyle, IDocumentSkeletonFooter, IDocumentSkeletonHeader, IDocumentSkeletonSpan } from './i-document-skeleton-cached';
19
- import type { Vector2 } from './vector2';
1
+ import { Vector2 } from './vector2';
2
+ import { IDocumentSkeletonBullet, IDocumentSkeletonDrawing, IDocumentSkeletonDrawingAnchor, IDocumentSkeletonFontStyle, IDocumentSkeletonFooter, IDocumentSkeletonGlyph, IDocumentSkeletonHeader } from './i-document-skeleton-cached';
3
+ import { DocumentViewModel } from '../components/docs/view-model/document-view-model';
4
+ import { BooleanNumber, GridType, IDocStyleBase, IDocumentLayout, IOffset, IParagraphStyle, IReferenceSource, IScale, ISectionBreakBase, ISize, ITextStyle, ITransformState, LocaleService } from '@univerjs/core';
5
+
20
6
  export interface IObjectFullState extends ITransformState {
21
7
  strokeWidth?: number;
22
8
  zIndex?: number;
@@ -99,12 +85,12 @@ export interface IFontCreateConfig {
99
85
  pageWidth?: number;
100
86
  }
101
87
  export interface INodeInfo {
102
- node: IDocumentSkeletonSpan;
88
+ node: IDocumentSkeletonGlyph;
103
89
  ratioX: number;
104
90
  ratioY: number;
105
91
  }
106
92
  export interface INodeSearch {
107
- span: number;
93
+ glyph: number;
108
94
  divide: number;
109
95
  line: number;
110
96
  column: number;
@@ -1,20 +1,6 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { Nullable } from '@univerjs/core';
17
1
  import { Vector2 } from './vector2';
2
+ import { Nullable } from '@univerjs/core';
3
+
18
4
  export declare const INITIAL_Path2: Vector2[];
19
5
  export declare class Path2 {
20
6
  private _lines;
@@ -1,20 +1,6 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { BaseObject } from '../base-object';
17
- import type { IBoundRect } from './vector2';
1
+ import { IBoundRect } from './vector2';
2
+ import { BaseObject } from '../base-object';
3
+
18
4
  export declare function getOffsetRectForDom(ele: HTMLElement): {
19
5
  top: number;
20
6
  left: number;
@@ -1,18 +1,4 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { BaseObject } from '../base-object';
17
- import type { IMouseEvent, IPointerEvent } from './i-events';
1
+ import { IMouseEvent, IPointerEvent } from './i-events';
2
+ import { BaseObject } from '../base-object';
3
+
18
4
  export declare function attachObjectHover(o: BaseObject, hoverIn: (o: any, evt: IPointerEvent | IMouseEvent) => void, hoverOut: (o: any, evt: IPointerEvent | IMouseEvent) => void): void;
@@ -1,19 +1,5 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { ITextRangeParam } from '@univerjs/core';
1
+ import { ITextRangeParam } from '@univerjs/core';
2
+
17
3
  export interface ITextSelectionStyle {
18
4
  strokeWidth: number;
19
5
  stroke: string;
@@ -1,19 +1,5 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { type ITextRotation } from '@univerjs/core';
1
+ import { ITextRotation } from '@univerjs/core';
2
+
17
3
  export declare const VERTICAL_ROTATE_ANGLE = 90;
18
4
  export declare function convertTextRotation(textRotation?: ITextRotation): {
19
5
  centerAngle: number;
@@ -1,20 +1,6 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { IRange, IRangeWithCoord, IScale, ISelectionCell, ISelectionCellWithCoord, IStyleBase, LocaleService, Nullable } from '@univerjs/core';
17
- import type { IBoundRectNoAngle } from './vector2';
1
+ import { IBoundRectNoAngle } from './vector2';
2
+ import { IRange, IRangeWithCoord, IScale, ISelectionCell, ISelectionCellWithCoord, IStyleBase, LocaleService, Nullable } from '@univerjs/core';
3
+
18
4
  export declare const getColor: (RgbArray: number[], opacity?: number) => string;
19
5
  export declare const toPx: (num: number | string, ReferenceValue: Nullable<number>) => number;
20
6
  /**
@@ -66,6 +52,7 @@ export declare function getFontStyleString(textStyle?: IStyleBase, localeService
66
52
  };
67
53
  export declare function hasCJKText(text: string): boolean;
68
54
  export declare function hasCJK(text: string): boolean;
55
+ export declare function hasCJKPunctuation(text: string): boolean;
69
56
  export declare function hasAllLatin(text: string): boolean;
70
57
  export declare function hasBasicLatin(text: string): boolean;
71
58
  export declare function hasLatinOneSupplement(text: string): boolean;
@@ -76,6 +63,9 @@ export declare function startWithEmoji(text: string): boolean;
76
63
  export declare function hasArabic(text: string): boolean;
77
64
  export declare function hasTibetan(text: string): boolean;
78
65
  export declare function hasSpace(text: string): boolean;
66
+ export declare function isCjkLeftAlignedPunctuation(text: string): boolean;
67
+ export declare function isCjkRightAlignedPunctuation(text: string): boolean;
68
+ export declare function isCjkCenterAlignedPunctuation(text: string): boolean;
79
69
  export declare function getDPI(): number;
80
70
  export declare function ptToPx(pt: number): number;
81
71
  export declare function pxToPt(px: number): number;
@@ -104,9 +94,9 @@ export declare function mergeInfoOffset(mergeInfo: IRangeWithCoord, offsetX: num
104
94
  endY: number;
105
95
  startColumn: number;
106
96
  endColumn: number;
107
- rangeType?: import("@univerjs/core").RANGE_TYPE | undefined;
108
- startAbsoluteRefType?: import("@univerjs/core").AbsoluteRefType | undefined;
109
- endAbsoluteRefType?: import("@univerjs/core").AbsoluteRefType | undefined;
97
+ rangeType?: import('@univerjs/core').RANGE_TYPE | undefined;
98
+ startAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType | undefined;
99
+ endAbsoluteRefType?: import('@univerjs/core').AbsoluteRefType | undefined;
110
100
  startRow: number;
111
101
  endRow: number;
112
102
  };
@@ -1,21 +1,7 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { ITransformState } from '@univerjs/core';
17
- import type { IRect } from './interfaces';
18
1
  import { Vector2 } from './vector2';
2
+ import { IRect } from './interfaces';
3
+ import { ITransformState } from '@univerjs/core';
4
+
19
5
  export declare const INITIAL_MATRIX: number[];
20
6
  export declare class Transform {
21
7
  dirty: boolean;
@@ -1,19 +1,5 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { DeepImmutable, FloatArray } from './i-events';
1
+ import { DeepImmutable, FloatArray } from './i-events';
2
+
17
3
  export interface IPoint {
18
4
  x: number;
19
5
  y: number;
@@ -0,0 +1,3 @@
1
+ import { IRange } from '@univerjs/core';
2
+
3
+ export declare function subtractViewportRange(range1: IRange, range2: IRange): IRange[];
@@ -1,19 +1,5 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
1
  import { UniverRenderingContext } from './context';
2
+
17
3
  /**
18
4
  * canvas render mode
19
5
  */
@@ -1,23 +1,9 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { IDisposable } from '@wendellhu/redi';
1
+ import { ComponentExtension } from './extension';
2
+ import { UniverRenderingContext } from '../context';
3
+ import { IViewportBound } from '../basics/vector2';
17
4
  import { BaseObject } from '../base-object';
18
- import type { IViewportBound } from '../basics/vector2';
19
- import type { UniverRenderingContext } from '../context';
20
- import type { ComponentExtension } from './extension';
5
+ import { IDisposable } from '@wendellhu/redi';
6
+
21
7
  export declare class RenderComponent<T, U, V> extends BaseObject {
22
8
  private _extensions;
23
9
  get extensions(): Map<string, ComponentExtension<T, U, V>>;
@@ -1,28 +1,13 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { Nullable } from '@univerjs/core';
17
- import type { IDocumentSkeletonLine, IDocumentSkeletonSpan } from '../../basics/i-document-skeleton-cached';
18
- import { PageLayoutType } from '../../basics/i-document-skeleton-cached';
19
- import type { INodeInfo } from '../../basics/interfaces';
20
- import type { IBoundRectNoAngle, IViewportBound } from '../../basics/vector2';
21
- import type { UniverRenderingContext } from '../../context';
1
+ import { DocumentSkeleton } from './layout/doc-skeleton';
2
+ import { DOCS_EXTENSION_TYPE } from './doc-extension';
22
3
  import { RenderComponent } from '../component';
23
- import type { DOCS_EXTENSION_TYPE } from './doc-extension';
24
- import type { DocumentSkeleton } from './doc-skeleton';
25
- export declare class DocComponent extends RenderComponent<IDocumentSkeletonSpan | IDocumentSkeletonLine, DOCS_EXTENSION_TYPE, IBoundRectNoAngle[]> {
4
+ import { UniverRenderingContext } from '../../context';
5
+ import { IBoundRectNoAngle, IViewportBound } from '../../basics/vector2';
6
+ import { INodeInfo } from '../../basics/interfaces';
7
+ import { IDocumentSkeletonGlyph, IDocumentSkeletonLine, PageLayoutType } from '../../basics/i-document-skeleton-cached';
8
+ import { Nullable } from '@univerjs/core';
9
+
10
+ export declare class DocComponent extends RenderComponent<IDocumentSkeletonGlyph | IDocumentSkeletonLine, DOCS_EXTENSION_TYPE, IBoundRectNoAngle[]> {
26
11
  private _skeleton?;
27
12
  pageMarginLeft: number;
28
13
  pageMarginTop: number;
@@ -39,7 +24,7 @@ export declare class DocComponent extends RenderComponent<IDocumentSkeletonSpan
39
24
  syncSelection(): void;
40
25
  remainActiveSelection(): void;
41
26
  findNodeByCoord(offsetX: number, offsetY: number): Nullable<INodeInfo>;
42
- findCoordByNode(span: IDocumentSkeletonSpan): void;
27
+ findCoordByNode(glyph: IDocumentSkeletonGlyph): void;
43
28
  protected _getBounding(bounds?: IViewportBound): void;
44
29
  protected _draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
45
30
  }
@@ -1,26 +1,12 @@
1
- /**
2
- * Copyright 2023-present DreamNum Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import type { IDocumentSkeletonLine, IDocumentSkeletonSpan } from '../../basics/i-document-skeleton-cached';
17
- import type { IBoundRectNoAngle } from '../../basics/vector2';
18
1
  import { ComponentExtension } from '../extension';
2
+ import { IBoundRectNoAngle } from '../../basics/vector2';
3
+ import { IDocumentSkeletonGlyph, IDocumentSkeletonLine } from '../../basics/i-document-skeleton-cached';
4
+
19
5
  export declare enum DOCS_EXTENSION_TYPE {
20
6
  SPAN = 0,
21
7
  LINE = 1
22
8
  }
23
- export declare class docExtension extends ComponentExtension<IDocumentSkeletonSpan | IDocumentSkeletonLine, DOCS_EXTENSION_TYPE, IBoundRectNoAngle> {
9
+ export declare class docExtension extends ComponentExtension<IDocumentSkeletonGlyph | IDocumentSkeletonLine, DOCS_EXTENSION_TYPE, IBoundRectNoAngle> {
24
10
  type: DOCS_EXTENSION_TYPE;
25
11
  translateX: number;
26
12
  translateY: number;