tldraw 3.15.0-next.39f008bfb627 → 3.15.0-next.f1dfcef63951
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/dist-cjs/index.d.ts +84 -77
- package/dist-cjs/index.js +30 -31
- package/dist-cjs/index.js.map +2 -2
- package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +5 -5
- package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +2 -2
- package/dist-cjs/lib/shapes/text/TextShapeUtil.js +11 -5
- package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +2 -2
- package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js +1 -11
- package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js.map +2 -2
- package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js +0 -1
- package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js.map +2 -2
- package/dist-cjs/lib/ui/components/menu-items.js +0 -16
- package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
- package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +2 -0
- package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
- package/dist-cjs/lib/ui/context/actions.js +1 -28
- package/dist-cjs/lib/ui/context/actions.js.map +2 -2
- package/dist-cjs/lib/ui/context/events.js.map +2 -2
- package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js +2 -2
- package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js.map +2 -2
- package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
- package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +0 -4
- package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
- package/dist-cjs/lib/ui/version.js +3 -3
- package/dist-cjs/lib/ui/version.js.map +1 -1
- package/dist-esm/index.d.mts +84 -77
- package/dist-esm/index.mjs +132 -134
- package/dist-esm/index.mjs.map +2 -2
- package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +5 -5
- package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +11 -5
- package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs +1 -11
- package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs.map +2 -2
- package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs +0 -2
- package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs.map +2 -2
- package/dist-esm/lib/ui/components/menu-items.mjs +0 -16
- package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
- package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +2 -0
- package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
- package/dist-esm/lib/ui/context/actions.mjs +1 -28
- package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
- package/dist-esm/lib/ui/context/events.mjs.map +2 -2
- package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs +2 -2
- package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs.map +2 -2
- package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +0 -4
- package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
- package/dist-esm/lib/ui/version.mjs +3 -3
- package/dist-esm/lib/ui/version.mjs.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +158 -159
- package/src/lib/shapes/frame/FrameShapeUtil.tsx +7 -5
- package/src/lib/shapes/text/TextShapeUtil.tsx +12 -5
- package/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx +0 -8
- package/src/lib/ui/components/MainMenu/DefaultMainMenuContent.tsx +0 -2
- package/src/lib/ui/components/menu-items.tsx +0 -17
- package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +2 -0
- package/src/lib/ui/context/actions.tsx +1 -29
- package/src/lib/ui/context/events.tsx +0 -2
- package/src/lib/ui/hooks/useKeyboardShortcuts.ts +2 -3
- package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +0 -4
- package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +0 -4
- package/src/lib/ui/version.ts +3 -3
- package/src/test/Editor.test.tsx +1 -68
- package/src/test/commands/clipboard.test.ts +1 -1
- package/src/test/editor.test.ts +77 -0
|
@@ -28,7 +28,6 @@ import { fitFrameToContent, removeFrame } from '../../utils/frames/frames'
|
|
|
28
28
|
import { generateShapeAnnouncementMessage } from '../components/A11y'
|
|
29
29
|
import { EditLinkDialog } from '../components/EditLinkDialog'
|
|
30
30
|
import { EmbedDialog } from '../components/EmbedDialog'
|
|
31
|
-
import { DefaultKeyboardShortcutsDialog } from '../components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialog'
|
|
32
31
|
import { useShowCollaborationUi } from '../hooks/useCollaborationStatus'
|
|
33
32
|
import { flattenShapesToImages } from '../hooks/useFlatten'
|
|
34
33
|
import { TLUiTranslationKey } from '../hooks/useTranslation/TLUiTranslationKey'
|
|
@@ -49,7 +48,6 @@ export interface TLUiActionItem<
|
|
|
49
48
|
label?: TransationKey | { [key: string]: TransationKey }
|
|
50
49
|
readonlyOk?: boolean
|
|
51
50
|
checkbox?: boolean
|
|
52
|
-
isRequiredA11yAction?: boolean
|
|
53
51
|
onSelect(source: TLUiEventSource): Promise<void> | void
|
|
54
52
|
}
|
|
55
53
|
|
|
@@ -170,15 +168,6 @@ export function ActionsProvider({ overrides, children }: ActionsProviderProps) {
|
|
|
170
168
|
helpers.addDialog({ component: EmbedDialog })
|
|
171
169
|
},
|
|
172
170
|
},
|
|
173
|
-
{
|
|
174
|
-
id: 'open-kbd-shortcuts',
|
|
175
|
-
label: 'action.open-kbd-shortcuts',
|
|
176
|
-
kbd: 'cmd+alt+/,ctrl+alt+/',
|
|
177
|
-
onSelect(source) {
|
|
178
|
-
trackEvent('open-kbd-shortcuts', { source })
|
|
179
|
-
helpers.addDialog({ component: DefaultKeyboardShortcutsDialog })
|
|
180
|
-
},
|
|
181
|
-
},
|
|
182
171
|
{
|
|
183
172
|
id: 'insert-media',
|
|
184
173
|
label: 'action.insert-media',
|
|
@@ -513,6 +502,7 @@ export function ActionsProvider({ overrides, children }: ActionsProviderProps) {
|
|
|
513
502
|
}
|
|
514
503
|
}
|
|
515
504
|
|
|
505
|
+
if (!editor.canCreateShapes(ids)) return
|
|
516
506
|
editor.markHistoryStoppingPoint('duplicate shapes')
|
|
517
507
|
editor.duplicateShapes(ids, offset)
|
|
518
508
|
|
|
@@ -1244,21 +1234,6 @@ export function ActionsProvider({ overrides, children }: ActionsProviderProps) {
|
|
|
1244
1234
|
},
|
|
1245
1235
|
checkbox: true,
|
|
1246
1236
|
},
|
|
1247
|
-
{
|
|
1248
|
-
id: 'toggle-keyboard-shortcuts',
|
|
1249
|
-
label: {
|
|
1250
|
-
default: 'action.toggle-keyboard-shortcuts',
|
|
1251
|
-
menu: 'action.toggle-keyboard-shortcuts.menu',
|
|
1252
|
-
},
|
|
1253
|
-
readonlyOk: true,
|
|
1254
|
-
onSelect(source) {
|
|
1255
|
-
trackEvent('toggle-keyboard-shortcuts', { source })
|
|
1256
|
-
editor.user.updateUserPreferences({
|
|
1257
|
-
areKeyboardShortcutsEnabled: !editor.user.getAreKeyboardShortcutsEnabled(),
|
|
1258
|
-
})
|
|
1259
|
-
},
|
|
1260
|
-
checkbox: true,
|
|
1261
|
-
},
|
|
1262
1237
|
{
|
|
1263
1238
|
id: 'toggle-edge-scrolling',
|
|
1264
1239
|
label: {
|
|
@@ -1555,7 +1530,6 @@ export function ActionsProvider({ overrides, children }: ActionsProviderProps) {
|
|
|
1555
1530
|
id: 'adjust-shape-styles',
|
|
1556
1531
|
label: 'a11y.adjust-shape-styles',
|
|
1557
1532
|
kbd: 'cmd+Enter,ctrl+Enter',
|
|
1558
|
-
isRequiredA11yAction: true,
|
|
1559
1533
|
onSelect: async (source) => {
|
|
1560
1534
|
if (!canApplySelectionAction()) return
|
|
1561
1535
|
|
|
@@ -1569,7 +1543,6 @@ export function ActionsProvider({ overrides, children }: ActionsProviderProps) {
|
|
|
1569
1543
|
{
|
|
1570
1544
|
id: 'a11y-open-context-menu',
|
|
1571
1545
|
kbd: 'cmd+shift+Enter,ctrl+shift+Enter',
|
|
1572
|
-
isRequiredA11yAction: true,
|
|
1573
1546
|
readonlyOk: true,
|
|
1574
1547
|
onSelect: async (source) => {
|
|
1575
1548
|
if (!canApplySelectionAction()) return
|
|
@@ -1622,7 +1595,6 @@ export function ActionsProvider({ overrides, children }: ActionsProviderProps) {
|
|
|
1622
1595
|
id: 'a11y-repeat-shape-announce',
|
|
1623
1596
|
kbd: 'alt+r',
|
|
1624
1597
|
label: 'a11y.repeat-shape',
|
|
1625
|
-
isRequiredA11yAction: true,
|
|
1626
1598
|
readonlyOk: true,
|
|
1627
1599
|
onSelect: async (source) => {
|
|
1628
1600
|
const selectedShapeIds = editor.getSelectedShapeIds()
|
|
@@ -107,7 +107,6 @@ export interface TLUiEventMap {
|
|
|
107
107
|
'toggle-paste-at-cursor': null
|
|
108
108
|
'toggle-lock': null
|
|
109
109
|
'toggle-reduce-motion': null
|
|
110
|
-
'toggle-keyboard-shortcuts': null
|
|
111
110
|
'toggle-edge-scrolling': null
|
|
112
111
|
'color-scheme': { value: string }
|
|
113
112
|
'exit-pen-mode': null
|
|
@@ -128,7 +127,6 @@ export interface TLUiEventMap {
|
|
|
128
127
|
'copy-link': null
|
|
129
128
|
'image-replace': null
|
|
130
129
|
'video-replace': null
|
|
131
|
-
'open-kbd-shortcuts': null
|
|
132
130
|
'rich-text': {
|
|
133
131
|
operation:
|
|
134
132
|
| 'bold'
|
|
@@ -61,7 +61,7 @@ export function useKeyboardShortcuts() {
|
|
|
61
61
|
if (SKIP_KBDS.includes(action.id)) continue
|
|
62
62
|
|
|
63
63
|
hot(getHotkeysStringFromKbd(action.kbd), (event) => {
|
|
64
|
-
if (areShortcutsDisabled(editor)
|
|
64
|
+
if (areShortcutsDisabled(editor)) return
|
|
65
65
|
preventDefault(event)
|
|
66
66
|
action.onSelect('kbd')
|
|
67
67
|
})
|
|
@@ -149,8 +149,7 @@ export function areShortcutsDisabled(editor: Editor) {
|
|
|
149
149
|
return (
|
|
150
150
|
editor.menus.hasAnyOpenMenus() ||
|
|
151
151
|
editor.getEditingShapeId() !== null ||
|
|
152
|
-
editor.getCrashingError()
|
|
153
|
-
!editor.user.getAreKeyboardShortcutsEnabled()
|
|
152
|
+
editor.getCrashingError()
|
|
154
153
|
)
|
|
155
154
|
}
|
|
156
155
|
|
|
@@ -55,7 +55,6 @@ export type TLUiTranslationKey =
|
|
|
55
55
|
| 'action.new-project'
|
|
56
56
|
| 'action.new-shared-project'
|
|
57
57
|
| 'action.open-cursor-chat'
|
|
58
|
-
| 'action.open-kbd-shortcuts'
|
|
59
58
|
| 'action.open-file'
|
|
60
59
|
| 'action.pack'
|
|
61
60
|
| 'action.paste'
|
|
@@ -91,8 +90,6 @@ export type TLUiTranslationKey =
|
|
|
91
90
|
| 'action.toggle-wrap-mode'
|
|
92
91
|
| 'action.toggle-reduce-motion.menu'
|
|
93
92
|
| 'action.toggle-reduce-motion'
|
|
94
|
-
| 'action.toggle-keyboard-shortcuts.menu'
|
|
95
|
-
| 'action.toggle-keyboard-shortcuts'
|
|
96
93
|
| 'action.toggle-edge-scrolling.menu'
|
|
97
94
|
| 'action.toggle-edge-scrolling'
|
|
98
95
|
| 'action.toggle-debug-mode.menu'
|
|
@@ -291,7 +288,6 @@ export type TLUiTranslationKey =
|
|
|
291
288
|
| 'a11y.pan-camera'
|
|
292
289
|
| 'a11y.adjust-shape-styles'
|
|
293
290
|
| 'a11y.open-context-menu'
|
|
294
|
-
| 'a11y.open-keyboard-shortcuts'
|
|
295
291
|
| 'menu.title'
|
|
296
292
|
| 'menu.theme'
|
|
297
293
|
| 'menu.copy-as'
|
|
@@ -55,7 +55,6 @@ export const DEFAULT_TRANSLATION = {
|
|
|
55
55
|
'action.new-project': 'New project',
|
|
56
56
|
'action.new-shared-project': 'New shared project',
|
|
57
57
|
'action.open-cursor-chat': 'Cursor chat',
|
|
58
|
-
'action.open-kbd-shortcuts': 'Open keyboard shortcuts',
|
|
59
58
|
'action.open-file': 'Open file',
|
|
60
59
|
'action.pack': 'Pack',
|
|
61
60
|
'action.paste': 'Paste',
|
|
@@ -92,8 +91,6 @@ export const DEFAULT_TRANSLATION = {
|
|
|
92
91
|
'action.toggle-wrap-mode': 'Toggle Select on wrap',
|
|
93
92
|
'action.toggle-reduce-motion.menu': 'Reduce motion',
|
|
94
93
|
'action.toggle-reduce-motion': 'Toggle reduce motion',
|
|
95
|
-
'action.toggle-keyboard-shortcuts.menu': 'Keyboard shortcuts',
|
|
96
|
-
'action.toggle-keyboard-shortcuts': 'Toggle keyboard shortcuts',
|
|
97
94
|
'action.toggle-edge-scrolling.menu': 'Edge scrolling',
|
|
98
95
|
'action.toggle-edge-scrolling': 'Toggle edge scrolling',
|
|
99
96
|
'action.toggle-debug-mode.menu': 'Debug mode',
|
|
@@ -292,7 +289,6 @@ export const DEFAULT_TRANSLATION = {
|
|
|
292
289
|
'a11y.pan-camera': 'Pan camera',
|
|
293
290
|
'a11y.adjust-shape-styles': 'Adjust shape styles',
|
|
294
291
|
'a11y.open-context-menu': 'Open context menu',
|
|
295
|
-
'a11y.open-keyboard-shortcuts': 'Open keyboard shortcuts',
|
|
296
292
|
'menu.title': 'Menu',
|
|
297
293
|
'menu.theme': 'Theme',
|
|
298
294
|
'menu.copy-as': 'Copy as',
|
package/src/lib/ui/version.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// This file is automatically generated by internal/scripts/refresh-assets.ts.
|
|
2
2
|
// Do not edit manually. Or do, I'm a comment, not a cop.
|
|
3
3
|
|
|
4
|
-
export const version = '3.15.0-next.
|
|
4
|
+
export const version = '3.15.0-next.f1dfcef63951'
|
|
5
5
|
export const publishDates = {
|
|
6
6
|
major: '2024-09-13T14:36:29.063Z',
|
|
7
|
-
minor: '2025-07-
|
|
8
|
-
patch: '2025-07-
|
|
7
|
+
minor: '2025-07-03T10:22:18.515Z',
|
|
8
|
+
patch: '2025-07-03T10:22:18.515Z',
|
|
9
9
|
}
|
package/src/test/Editor.test.tsx
CHANGED
|
@@ -49,7 +49,7 @@ beforeEach(() => {
|
|
|
49
49
|
})
|
|
50
50
|
|
|
51
51
|
const moveShapesToPage2 = () => {
|
|
52
|
-
// directly
|
|
52
|
+
// directly maniuplate parentId like would happen in multiplayer situations
|
|
53
53
|
|
|
54
54
|
editor.updateShapes([
|
|
55
55
|
{ id: ids.box1, type: 'geo', parentId: ids.page2 },
|
|
@@ -899,70 +899,3 @@ describe('the geometry cache', () => {
|
|
|
899
899
|
expect(editor.getShapePageBounds(A)!.width).toBe(200)
|
|
900
900
|
})
|
|
901
901
|
})
|
|
902
|
-
describe('editor.getShapePageBounds', () => {
|
|
903
|
-
it('calculates axis aligned bounds correctly', () => {
|
|
904
|
-
editor.createShape({
|
|
905
|
-
type: 'geo',
|
|
906
|
-
x: 99,
|
|
907
|
-
y: 88,
|
|
908
|
-
props: {
|
|
909
|
-
w: 199,
|
|
910
|
-
h: 188,
|
|
911
|
-
},
|
|
912
|
-
})
|
|
913
|
-
const shape = editor.getLastCreatedShape()
|
|
914
|
-
expect(editor.getShapePageBounds(shape)!).toMatchInlineSnapshot(`
|
|
915
|
-
Box {
|
|
916
|
-
"h": 188,
|
|
917
|
-
"w": 199,
|
|
918
|
-
"x": 99,
|
|
919
|
-
"y": 88,
|
|
920
|
-
}
|
|
921
|
-
`)
|
|
922
|
-
})
|
|
923
|
-
|
|
924
|
-
it('calculates rotated bounds correctly', () => {
|
|
925
|
-
editor.createShape({
|
|
926
|
-
type: 'geo',
|
|
927
|
-
x: 99,
|
|
928
|
-
y: 88,
|
|
929
|
-
rotation: Math.PI / 4,
|
|
930
|
-
props: {
|
|
931
|
-
w: 199,
|
|
932
|
-
h: 188,
|
|
933
|
-
},
|
|
934
|
-
})
|
|
935
|
-
const shape = editor.getLastCreatedShape()
|
|
936
|
-
expect(editor.getShapePageBounds(shape)!).toMatchInlineSnapshot(`
|
|
937
|
-
Box {
|
|
938
|
-
"h": 273.65032431919394,
|
|
939
|
-
"w": 273.6503243191939,
|
|
940
|
-
"x": -33.93607486307093,
|
|
941
|
-
"y": 88,
|
|
942
|
-
}
|
|
943
|
-
`)
|
|
944
|
-
})
|
|
945
|
-
|
|
946
|
-
it('calculates bounds based on vertices, not corners', () => {
|
|
947
|
-
editor.createShape({
|
|
948
|
-
type: 'geo',
|
|
949
|
-
x: 99,
|
|
950
|
-
y: 88,
|
|
951
|
-
rotation: Math.PI / 4,
|
|
952
|
-
props: {
|
|
953
|
-
geo: 'ellipse',
|
|
954
|
-
w: 199,
|
|
955
|
-
h: 188,
|
|
956
|
-
},
|
|
957
|
-
})
|
|
958
|
-
const shape = editor.getLastCreatedShape()
|
|
959
|
-
expect(editor.getShapePageBounds(shape)!).toMatchInlineSnapshot(`
|
|
960
|
-
Box {
|
|
961
|
-
"h": 193.49999999999997,
|
|
962
|
-
"w": 193.50000000000003,
|
|
963
|
-
"x": 6.139087296526014,
|
|
964
|
-
"y": 128.07516215959694,
|
|
965
|
-
}
|
|
966
|
-
`)
|
|
967
|
-
})
|
|
968
|
-
})
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { TestEditor } from './TestEditor'
|
|
2
|
+
|
|
3
|
+
describe('editor', () => {
|
|
4
|
+
let editor: TestEditor
|
|
5
|
+
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
editor = new TestEditor()
|
|
8
|
+
})
|
|
9
|
+
|
|
10
|
+
describe('editor.getShapePageBounds', () => {
|
|
11
|
+
it('calculates axis aligned bounds correctly', () => {
|
|
12
|
+
editor.createShape({
|
|
13
|
+
type: 'geo',
|
|
14
|
+
x: 99,
|
|
15
|
+
y: 88,
|
|
16
|
+
props: {
|
|
17
|
+
w: 199,
|
|
18
|
+
h: 188,
|
|
19
|
+
},
|
|
20
|
+
})
|
|
21
|
+
const shape = editor.getLastCreatedShape()
|
|
22
|
+
expect(editor.getShapePageBounds(shape)!).toMatchInlineSnapshot(`
|
|
23
|
+
Box {
|
|
24
|
+
"h": 188,
|
|
25
|
+
"w": 199,
|
|
26
|
+
"x": 99,
|
|
27
|
+
"y": 88,
|
|
28
|
+
}
|
|
29
|
+
`)
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
it('calculates rotated bounds correctly', () => {
|
|
33
|
+
editor.createShape({
|
|
34
|
+
type: 'geo',
|
|
35
|
+
x: 99,
|
|
36
|
+
y: 88,
|
|
37
|
+
rotation: Math.PI / 4,
|
|
38
|
+
props: {
|
|
39
|
+
w: 199,
|
|
40
|
+
h: 188,
|
|
41
|
+
},
|
|
42
|
+
})
|
|
43
|
+
const shape = editor.getLastCreatedShape()
|
|
44
|
+
expect(editor.getShapePageBounds(shape)!).toMatchInlineSnapshot(`
|
|
45
|
+
Box {
|
|
46
|
+
"h": 273.65032431919394,
|
|
47
|
+
"w": 273.6503243191939,
|
|
48
|
+
"x": -33.93607486307093,
|
|
49
|
+
"y": 88,
|
|
50
|
+
}
|
|
51
|
+
`)
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
it('calculates bounds based on vertices, not corners', () => {
|
|
55
|
+
editor.createShape({
|
|
56
|
+
type: 'geo',
|
|
57
|
+
x: 99,
|
|
58
|
+
y: 88,
|
|
59
|
+
rotation: Math.PI / 4,
|
|
60
|
+
props: {
|
|
61
|
+
geo: 'ellipse',
|
|
62
|
+
w: 199,
|
|
63
|
+
h: 188,
|
|
64
|
+
},
|
|
65
|
+
})
|
|
66
|
+
const shape = editor.getLastCreatedShape()
|
|
67
|
+
expect(editor.getShapePageBounds(shape)!).toMatchInlineSnapshot(`
|
|
68
|
+
Box {
|
|
69
|
+
"h": 193.49999999999997,
|
|
70
|
+
"w": 193.50000000000003,
|
|
71
|
+
"x": 6.139087296526014,
|
|
72
|
+
"y": 128.07516215959694,
|
|
73
|
+
}
|
|
74
|
+
`)
|
|
75
|
+
})
|
|
76
|
+
})
|
|
77
|
+
})
|