@bigbluebutton/tldraw 2.0.0-alpha.19 → 2.0.0-alpha.20

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 (64) hide show
  1. package/dist-cjs/index.d.ts +55 -50
  2. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js +2 -2
  3. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js.map +1 -1
  4. package/dist-cjs/lib/tools/SelectTool/childStates/Brushing.js +3 -0
  5. package/dist-cjs/lib/tools/SelectTool/childStates/Brushing.js.map +2 -2
  6. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js +2 -2
  7. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js.map +2 -2
  8. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js +3 -0
  9. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js.map +2 -2
  10. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js +7 -6
  11. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +2 -2
  12. package/dist-cjs/lib/ui/hooks/useActions.js +13 -0
  13. package/dist-cjs/lib/ui/hooks/useActions.js.map +2 -2
  14. package/dist-cjs/lib/ui/hooks/useEventsProvider.js.map +2 -2
  15. package/dist-cjs/lib/ui/hooks/useMenuSchema.js +5 -0
  16. package/dist-cjs/lib/ui/hooks/useMenuSchema.js.map +2 -2
  17. package/dist-cjs/lib/ui/hooks/usePreloadAssets.js +1 -0
  18. package/dist-cjs/lib/ui/hooks/usePreloadAssets.js.map +2 -2
  19. package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
  20. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +2 -0
  21. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
  22. package/dist-cjs/lib/utils/assets/assets.js +5 -1
  23. package/dist-cjs/lib/utils/assets/assets.js.map +2 -2
  24. package/dist-esm/index.d.mts +55 -50
  25. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs +2 -2
  26. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs.map +1 -1
  27. package/dist-esm/lib/tools/SelectTool/childStates/Brushing.mjs +4 -0
  28. package/dist-esm/lib/tools/SelectTool/childStates/Brushing.mjs.map +2 -2
  29. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs +2 -2
  30. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs.map +2 -2
  31. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs +5 -1
  32. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs.map +2 -2
  33. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs +9 -7
  34. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +2 -2
  35. package/dist-esm/lib/ui/hooks/useActions.mjs +13 -0
  36. package/dist-esm/lib/ui/hooks/useActions.mjs.map +2 -2
  37. package/dist-esm/lib/ui/hooks/useEventsProvider.mjs.map +2 -2
  38. package/dist-esm/lib/ui/hooks/useMenuSchema.mjs +5 -0
  39. package/dist-esm/lib/ui/hooks/useMenuSchema.mjs.map +2 -2
  40. package/dist-esm/lib/ui/hooks/usePreloadAssets.mjs +1 -0
  41. package/dist-esm/lib/ui/hooks/usePreloadAssets.mjs.map +2 -2
  42. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +2 -0
  43. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
  44. package/dist-esm/lib/utils/assets/assets.mjs +5 -1
  45. package/dist-esm/lib/utils/assets/assets.mjs.map +2 -2
  46. package/package.json +3 -3
  47. package/src/lib/shapes/bookmark/BookmarkShapeUtil.tsx +2 -2
  48. package/src/lib/shapes/line/LineShapeUtil.test.ts +1 -1
  49. package/src/lib/tools/SelectTool/childStates/Brushing.ts +6 -0
  50. package/src/lib/tools/SelectTool/childStates/Idle.ts +6 -2
  51. package/src/lib/tools/SelectTool/childStates/Resizing.ts +6 -0
  52. package/src/lib/tools/SelectTool/childStates/Translating.ts +10 -7
  53. package/src/lib/ui/hooks/useActions.tsx +13 -0
  54. package/src/lib/ui/hooks/useEventsProvider.tsx +1 -0
  55. package/src/lib/ui/hooks/useMenuSchema.tsx +5 -0
  56. package/src/lib/ui/hooks/usePreloadAssets.ts +1 -0
  57. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +2 -0
  58. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +2 -0
  59. package/src/lib/utils/assets/assets.ts +5 -1
  60. package/src/test/TLUserPreferences.test.ts +4 -1
  61. package/src/test/TestEditor.ts +3 -0
  62. package/src/test/resizing.test.ts +22 -0
  63. package/src/test/selection-omnibus.test.ts +93 -0
  64. package/src/test/translating.test.ts +35 -0
@@ -127,6 +127,40 @@ describe('When translating...', () => {
127
127
  .expectShapeToMatch({ id: ids.box1, x: 60, y: 60 })
128
128
  })
129
129
 
130
+ it('translates a single shape near the top left edge', () => {
131
+ editor.user.updateUserPreferences({ edgeScrollSpeed: 1 })
132
+ editor.pointerDown(50, 50, ids.box1).pointerMove(0, 50) // [-50, 0]
133
+
134
+ jest.advanceTimersByTime(100)
135
+ editor
136
+ // The change is bigger than expected because the camera moves
137
+ .expectShapeToMatch({ id: ids.box1, x: -160, y: 10 })
138
+ // We'll continue moving in the x postion, but now we'll also move in the y position.
139
+ // The speed in the y position is smaller since we are further away from the edge.
140
+ .pointerMove(0, 25)
141
+ jest.advanceTimersByTime(100)
142
+ editor
143
+ .expectShapeToMatch({ id: ids.box1, x: -280, y: -42.54 })
144
+ .pointerUp()
145
+ .expectShapeToMatch({ id: ids.box1, x: -280, y: -42.54 })
146
+ })
147
+
148
+ it('translates a single shape near the bottom right edge', () => {
149
+ editor.user.updateUserPreferences({ edgeScrollSpeed: 1 })
150
+ editor.pointerDown(50, 50, ids.box1).pointerMove(1080, 50)
151
+
152
+ jest.advanceTimersByTime(100)
153
+ editor
154
+ // The change is bigger than expected because the camera moves
155
+ .expectShapeToMatch({ id: ids.box1, x: 1140, y: 10 })
156
+ .pointerMove(1080, 800)
157
+ jest.advanceTimersByTime(100)
158
+ editor
159
+ .expectShapeToMatch({ id: ids.box1, x: 1280, y: 845.68 })
160
+ .pointerUp()
161
+ .expectShapeToMatch({ id: ids.box1, x: 1280, y: 845.68 })
162
+ })
163
+
130
164
  it('translates multiple shapes', () => {
131
165
  editor
132
166
  .select(ids.box1, ids.box2)
@@ -173,6 +207,7 @@ describe('When cloning...', () => {
173
207
  })
174
208
 
175
209
  it('clones a single shape and restores when stopping cloning', () => {
210
+ // Move the camera so that we are not at the edges, which causes the camera to move when we translate
176
211
  expect(editor.getCurrentPageShapeIds().size).toBe(3)
177
212
  expect(editor.getCurrentPageShapeIds().size).toBe(3)
178
213
  editor.select(ids.box1).pointerDown(50, 50, ids.box1).pointerMove(50, 40) // [0, -10]