tldraw 4.3.0-canary.da35795ba8e2 → 4.3.0-canary.e1766dd4eab3
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 +26 -5
- package/dist-cjs/index.js +2 -1
- package/dist-cjs/index.js.map +2 -2
- package/dist-cjs/lib/bindings/arrow/ArrowBindingUtil.js.map +2 -2
- package/dist-cjs/lib/canvas/TldrawSelectionForeground.js +2 -2
- package/dist-cjs/lib/canvas/TldrawSelectionForeground.js.map +2 -2
- package/dist-cjs/lib/defaultExternalContentHandlers.js.map +2 -2
- package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js +9 -12
- package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js.map +2 -2
- package/dist-cjs/lib/shapes/arrow/arrow-types.js.map +1 -1
- package/dist-cjs/lib/shapes/arrow/arrowLabel.js.map +2 -2
- package/dist-cjs/lib/shapes/arrow/arrowTargetState.js.map +2 -2
- package/dist-cjs/lib/shapes/arrow/elbow/elbowArrowSnapLines.js.map +2 -2
- package/dist-cjs/lib/shapes/arrow/shared.js.map +2 -2
- package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js.map +2 -2
- package/dist-cjs/lib/shapes/bookmark/bookmarks.js.map +2 -2
- package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js +3 -3
- package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js.map +2 -2
- package/dist-cjs/lib/shapes/draw/toolStates/Drawing.js.map +2 -2
- package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js.map +2 -2
- package/dist-cjs/lib/shapes/frame/FrameShapeTool.js.map +1 -1
- package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +1 -1
- package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +2 -2
- package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js +10 -6
- package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js.map +2 -2
- package/dist-cjs/lib/shapes/geo/toolStates/Pointing.js.map +2 -2
- package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js +1 -1
- package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js.map +2 -2
- package/dist-cjs/lib/shapes/line/toolStates/Pointing.js.map +2 -2
- package/dist-cjs/lib/shapes/note/NoteShapeUtil.js +5 -5
- package/dist-cjs/lib/shapes/note/NoteShapeUtil.js.map +2 -2
- package/dist-cjs/lib/shapes/note/noteHelpers.js.map +2 -2
- package/dist-cjs/lib/shapes/shared/HyperlinkButton.js +2 -1
- package/dist-cjs/lib/shapes/shared/HyperlinkButton.js.map +2 -2
- package/dist-cjs/lib/shapes/shared/PlainTextLabel.js +14 -2
- package/dist-cjs/lib/shapes/shared/PlainTextLabel.js.map +3 -3
- package/dist-cjs/lib/shapes/shared/RichTextLabel.js +11 -3
- package/dist-cjs/lib/shapes/shared/RichTextLabel.js.map +3 -3
- package/dist-cjs/lib/shapes/shared/ShapeFill.js +2 -2
- package/dist-cjs/lib/shapes/shared/ShapeFill.js.map +2 -2
- package/dist-cjs/lib/shapes/shared/crop.js +1 -0
- package/dist-cjs/lib/shapes/shared/crop.js.map +2 -2
- package/dist-cjs/lib/shapes/shared/useEditablePlainText.js.map +2 -2
- package/dist-cjs/lib/shapes/shared/useEditableRichText.js.map +2 -2
- package/dist-cjs/lib/shapes/shared/{useForceSolid.js → useEfficientZoomThreshold.js} +10 -7
- package/dist-cjs/lib/shapes/shared/useEfficientZoomThreshold.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/useImageOrVideoAsset.js +1 -1
- package/dist-cjs/lib/shapes/shared/useImageOrVideoAsset.js.map +2 -2
- package/dist-cjs/lib/shapes/text/TextShapeUtil.js +5 -2
- package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +2 -2
- package/dist-cjs/lib/shapes/text/toolStates/Pointing.js.map +2 -2
- package/dist-cjs/lib/shapes/video/VideoShapeUtil.js +1 -1
- package/dist-cjs/lib/shapes/video/VideoShapeUtil.js.map +2 -2
- package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js.map +2 -2
- package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js.map +2 -2
- package/dist-cjs/lib/tools/SelectTool/DragAndDropManager.js +1 -4
- package/dist-cjs/lib/tools/SelectTool/DragAndDropManager.js.map +2 -2
- package/dist-cjs/lib/tools/SelectTool/childStates/Brushing.js.map +2 -2
- package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js.map +2 -2
- package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js +1 -1
- package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js.map +2 -2
- package/dist-cjs/lib/tools/SelectTool/childStates/EditingShape.js +30 -10
- package/dist-cjs/lib/tools/SelectTool/childStates/EditingShape.js.map +2 -2
- package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js.map +2 -2
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingArrowLabel.js.map +2 -2
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingHandle.js.map +2 -2
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingSelection.js.map +2 -2
- package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js.map +2 -2
- package/dist-cjs/lib/tools/SelectTool/childStates/ScribbleBrushing.js.map +2 -2
- package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +2 -2
- package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenuContent.js +3 -9
- package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenuContent.js.map +2 -2
- package/dist-cjs/lib/ui/components/EditLinkDialog.js +11 -1
- package/dist-cjs/lib/ui/components/EditLinkDialog.js.map +2 -2
- package/dist-cjs/lib/ui/components/Toolbar/AltTextEditor.js.map +2 -2
- package/dist-cjs/lib/ui/components/ZoomMenu/DefaultZoomMenu.js +1 -1
- package/dist-cjs/lib/ui/components/ZoomMenu/DefaultZoomMenu.js.map +2 -2
- package/dist-cjs/lib/ui/components/menu-items.js +3 -1
- package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
- package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js +1 -1
- package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js.map +2 -2
- package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +143 -88
- package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js.map +2 -2
- package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +1 -1
- package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
- package/dist-cjs/lib/ui/context/actions.js +1 -2
- package/dist-cjs/lib/ui/context/actions.js.map +2 -2
- package/dist-cjs/lib/ui/hooks/menu-hooks.js.map +2 -2
- package/dist-cjs/lib/ui/hooks/useFlatten.js.map +2 -2
- package/dist-cjs/lib/ui/hooks/useTools.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-cjs/lib/utils/excalidraw/putExcalidrawContent.js +8 -0
- package/dist-cjs/lib/utils/excalidraw/putExcalidrawContent.js.map +2 -2
- package/dist-cjs/lib/utils/export/exportAs.js.map +2 -2
- package/dist-cjs/lib/utils/frames/frames.js.map +2 -2
- package/dist-cjs/lib/utils/text/richText.js +7 -17
- package/dist-cjs/lib/utils/text/richText.js.map +3 -3
- package/dist-cjs/lib/utils/tldr/buildFromV1Document.js.map +2 -2
- package/dist-esm/index.d.mts +26 -5
- package/dist-esm/index.mjs +3 -1
- package/dist-esm/index.mjs.map +2 -2
- package/dist-esm/lib/bindings/arrow/ArrowBindingUtil.mjs.map +2 -2
- package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs +2 -2
- package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs.map +2 -2
- package/dist-esm/lib/defaultExternalContentHandlers.mjs.map +2 -2
- package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +10 -14
- package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/shapes/arrow/arrowLabel.mjs.map +2 -2
- package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs.map +2 -2
- package/dist-esm/lib/shapes/arrow/elbow/elbowArrowSnapLines.mjs.map +2 -2
- package/dist-esm/lib/shapes/arrow/shared.mjs.map +2 -2
- package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs.map +2 -2
- package/dist-esm/lib/shapes/bookmark/bookmarks.mjs.map +2 -2
- package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs +3 -3
- package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/shapes/draw/toolStates/Drawing.mjs.map +2 -2
- package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/shapes/frame/FrameShapeTool.mjs.map +1 -1
- package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +1 -1
- package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs +10 -6
- package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/shapes/geo/toolStates/Pointing.mjs.map +2 -2
- package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs +1 -1
- package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/shapes/line/toolStates/Pointing.mjs.map +2 -2
- package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs +5 -5
- package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/shapes/note/noteHelpers.mjs.map +2 -2
- package/dist-esm/lib/shapes/shared/HyperlinkButton.mjs +3 -2
- package/dist-esm/lib/shapes/shared/HyperlinkButton.mjs.map +2 -2
- package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs +14 -2
- package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs.map +2 -2
- package/dist-esm/lib/shapes/shared/RichTextLabel.mjs +11 -3
- package/dist-esm/lib/shapes/shared/RichTextLabel.mjs.map +2 -2
- package/dist-esm/lib/shapes/shared/ShapeFill.mjs +2 -2
- package/dist-esm/lib/shapes/shared/ShapeFill.mjs.map +2 -2
- package/dist-esm/lib/shapes/shared/crop.mjs +1 -0
- package/dist-esm/lib/shapes/shared/crop.mjs.map +2 -2
- package/dist-esm/lib/shapes/shared/useEditablePlainText.mjs.map +2 -2
- package/dist-esm/lib/shapes/shared/useEditableRichText.mjs.map +2 -2
- package/dist-esm/lib/shapes/shared/useEfficientZoomThreshold.mjs +12 -0
- package/dist-esm/lib/shapes/shared/useEfficientZoomThreshold.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/useImageOrVideoAsset.mjs +1 -1
- package/dist-esm/lib/shapes/shared/useImageOrVideoAsset.mjs.map +2 -2
- package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +5 -2
- package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/shapes/text/toolStates/Pointing.mjs.map +2 -2
- package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs +1 -1
- package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs.map +2 -2
- package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs.map +2 -2
- package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs +1 -4
- package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs.map +2 -2
- package/dist-esm/lib/tools/SelectTool/DragAndDropManager.mjs +1 -4
- package/dist-esm/lib/tools/SelectTool/DragAndDropManager.mjs.map +2 -2
- package/dist-esm/lib/tools/SelectTool/childStates/Brushing.mjs.map +2 -2
- package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs.map +2 -2
- package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs +1 -1
- package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs.map +2 -2
- package/dist-esm/lib/tools/SelectTool/childStates/EditingShape.mjs +30 -10
- package/dist-esm/lib/tools/SelectTool/childStates/EditingShape.mjs.map +2 -2
- package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs.map +2 -2
- package/dist-esm/lib/tools/SelectTool/childStates/PointingArrowLabel.mjs.map +2 -2
- package/dist-esm/lib/tools/SelectTool/childStates/PointingHandle.mjs +1 -4
- package/dist-esm/lib/tools/SelectTool/childStates/PointingHandle.mjs.map +2 -2
- package/dist-esm/lib/tools/SelectTool/childStates/PointingSelection.mjs.map +2 -2
- package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs.map +2 -2
- package/dist-esm/lib/tools/SelectTool/childStates/ScribbleBrushing.mjs.map +2 -2
- package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +2 -2
- package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenuContent.mjs +2 -8
- package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenuContent.mjs.map +2 -2
- package/dist-esm/lib/ui/components/EditLinkDialog.mjs +11 -1
- package/dist-esm/lib/ui/components/EditLinkDialog.mjs.map +2 -2
- package/dist-esm/lib/ui/components/Toolbar/AltTextEditor.mjs.map +2 -2
- package/dist-esm/lib/ui/components/ZoomMenu/DefaultZoomMenu.mjs +1 -1
- package/dist-esm/lib/ui/components/ZoomMenu/DefaultZoomMenu.mjs.map +2 -2
- package/dist-esm/lib/ui/components/menu-items.mjs +4 -5
- package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
- package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs +2 -2
- package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs.map +2 -2
- package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs +151 -90
- package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs.map +2 -2
- package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +2 -2
- package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
- package/dist-esm/lib/ui/context/actions.mjs +1 -2
- package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
- package/dist-esm/lib/ui/hooks/menu-hooks.mjs +1 -4
- package/dist-esm/lib/ui/hooks/menu-hooks.mjs.map +2 -2
- package/dist-esm/lib/ui/hooks/useFlatten.mjs.map +2 -2
- package/dist-esm/lib/ui/hooks/useTools.mjs.map +2 -2
- package/dist-esm/lib/ui/version.mjs +3 -3
- package/dist-esm/lib/ui/version.mjs.map +1 -1
- package/dist-esm/lib/utils/excalidraw/putExcalidrawContent.mjs +8 -0
- package/dist-esm/lib/utils/excalidraw/putExcalidrawContent.mjs.map +2 -2
- package/dist-esm/lib/utils/export/exportAs.mjs +1 -3
- package/dist-esm/lib/utils/export/exportAs.mjs.map +2 -2
- package/dist-esm/lib/utils/frames/frames.mjs.map +2 -2
- package/dist-esm/lib/utils/text/richText.mjs +3 -3
- package/dist-esm/lib/utils/text/richText.mjs.map +2 -2
- package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs.map +2 -2
- package/package.json +10 -10
- package/src/index.ts +1 -0
- package/src/lib/bindings/arrow/ArrowBindingUtil.ts +1 -1
- package/src/lib/canvas/TldrawSelectionForeground.tsx +6 -11
- package/src/lib/defaultExternalContentHandlers.ts +3 -4
- package/src/lib/shapes/arrow/ArrowShapeUtil.test.ts +2 -2
- package/src/lib/shapes/arrow/ArrowShapeUtil.tsx +11 -13
- package/src/lib/shapes/arrow/arrow-types.ts +2 -0
- package/src/lib/shapes/arrow/arrowLabel.ts +1 -1
- package/src/lib/shapes/arrow/arrowTargetState.ts +1 -1
- package/src/lib/shapes/arrow/elbow/elbowArrowSnapLines.tsx +3 -3
- package/src/lib/shapes/arrow/shared.ts +4 -4
- package/src/lib/shapes/arrow/toolStates/Pointing.tsx +1 -1
- package/src/lib/shapes/bookmark/bookmarks.ts +3 -3
- package/src/lib/shapes/draw/DrawShapeUtil.tsx +3 -3
- package/src/lib/shapes/draw/toolStates/Drawing.ts +4 -4
- package/src/lib/shapes/embed/EmbedShapeUtil.tsx +1 -1
- package/src/lib/shapes/frame/FrameShapeTool.ts +1 -1
- package/src/lib/shapes/frame/FrameShapeUtil.tsx +1 -1
- package/src/lib/shapes/geo/GeoShapeUtil.test.tsx +10 -2
- package/src/lib/shapes/geo/GeoShapeUtil.tsx +9 -4
- package/src/lib/shapes/geo/toolStates/Pointing.ts +3 -3
- package/src/lib/shapes/highlight/HighlightShapeUtil.tsx +1 -1
- package/src/lib/shapes/line/LineShapeTool.test.ts +6 -6
- package/src/lib/shapes/line/LineShapeUtil.test.tsx +5 -5
- package/src/lib/shapes/line/toolStates/Pointing.ts +1 -1
- package/src/lib/shapes/note/NoteShapeTool.test.ts +2 -1
- package/src/lib/shapes/note/NoteShapeUtil.tsx +7 -8
- package/src/lib/shapes/note/noteHelpers.ts +2 -2
- package/src/lib/shapes/shared/HyperlinkButton.tsx +3 -2
- package/src/lib/shapes/shared/PlainTextLabel.tsx +12 -2
- package/src/lib/shapes/shared/RichTextLabel.tsx +13 -3
- package/src/lib/shapes/shared/ShapeFill.tsx +2 -2
- package/src/lib/shapes/shared/crop.ts +1 -0
- package/src/lib/shapes/shared/useEditablePlainText.ts +7 -3
- package/src/lib/shapes/shared/useEditableRichText.ts +7 -3
- package/src/lib/shapes/shared/useEfficientZoomThreshold.ts +10 -0
- package/src/lib/shapes/shared/useImageOrVideoAsset.ts +1 -1
- package/src/lib/shapes/text/TextShapeTool.test.ts +4 -4
- package/src/lib/shapes/text/TextShapeUtil.tsx +5 -0
- package/src/lib/shapes/text/toolStates/Pointing.ts +1 -1
- package/src/lib/shapes/video/VideoShapeUtil.tsx +2 -1
- package/src/lib/tools/EraserTool/childStates/Erasing.ts +3 -5
- package/src/lib/tools/EraserTool/childStates/Pointing.ts +3 -16
- package/src/lib/tools/SelectTool/DragAndDropManager.ts +2 -4
- package/src/lib/tools/SelectTool/childStates/Brushing.ts +2 -6
- package/src/lib/tools/SelectTool/childStates/Crop/children/Idle.ts +2 -3
- package/src/lib/tools/SelectTool/childStates/DraggingHandle.tsx +4 -7
- package/src/lib/tools/SelectTool/childStates/EditingShape.ts +46 -15
- package/src/lib/tools/SelectTool/childStates/Idle.ts +6 -10
- package/src/lib/tools/SelectTool/childStates/PointingArrowLabel.ts +1 -1
- package/src/lib/tools/SelectTool/childStates/PointingHandle.ts +4 -12
- package/src/lib/tools/SelectTool/childStates/PointingSelection.ts +2 -2
- package/src/lib/tools/SelectTool/childStates/Resizing.ts +2 -4
- package/src/lib/tools/SelectTool/childStates/ScribbleBrushing.ts +2 -4
- package/src/lib/tools/SelectTool/childStates/Translating.ts +1 -3
- package/src/lib/ui/components/ActionsMenu/DefaultActionsMenuContent.tsx +1 -9
- package/src/lib/ui/components/EditLinkDialog.tsx +16 -6
- package/src/lib/ui/components/Toolbar/AltTextEditor.tsx +2 -2
- package/src/lib/ui/components/ZoomMenu/DefaultZoomMenu.tsx +1 -1
- package/src/lib/ui/components/menu-items.tsx +9 -15
- package/src/lib/ui/components/primitives/TldrawUiSlider.tsx +2 -2
- package/src/lib/ui/components/primitives/TldrawUiTooltip.tsx +196 -108
- package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +2 -2
- package/src/lib/ui/context/actions.tsx +9 -13
- package/src/lib/ui/hooks/menu-hooks.ts +9 -19
- package/src/lib/ui/hooks/useFlatten.ts +1 -2
- package/src/lib/ui/hooks/useTools.tsx +1 -2
- package/src/lib/ui/version.ts +3 -3
- package/src/lib/utils/excalidraw/putExcalidrawContent.ts +8 -0
- package/src/lib/utils/export/exportAs.ts +2 -9
- package/src/lib/utils/frames/frames.ts +1 -1
- package/src/lib/utils/text/richText.ts +3 -3
- package/src/lib/utils/tldr/buildFromV1Document.ts +12 -17
- package/src/test/Editor.test.tsx +38 -12
- package/src/test/SelectTool.test.ts +11 -19
- package/src/test/TestEditor.ts +1 -4
- package/src/test/TldrawEditor.test.tsx +21 -18
- package/src/test/bindings.test.tsx +29 -25
- package/src/test/bindingsIndex.test.tsx +4 -4
- package/src/test/commands/__snapshots__/getSvgString.test.ts.snap +2 -2
- package/src/test/commands/cameraState.test.ts +299 -0
- package/src/test/commands/createShape.test.ts +64 -0
- package/src/test/commands/createShapes.test.ts +15 -1
- package/src/test/commands/getSvgString.test.ts +2 -2
- package/src/test/commands/isShapeOfType.test.ts +44 -0
- package/src/test/commands/putContent.test.ts +80 -1
- package/src/test/commands/updateShape.test.ts +67 -0
- package/src/test/commands/updateShapes.test.ts +21 -5
- package/src/test/custom-clipping.test.ts +36 -35
- package/src/test/customSnapping.test.tsx +77 -62
- package/src/test/duplicate.test.ts +1 -1
- package/src/test/frames.test.ts +2 -2
- package/src/test/getCulledShapes.test.tsx +11 -3
- package/src/test/getShapeAtPoint.test.ts +2 -2
- package/src/test/groups.test.tsx +6 -3
- package/src/test/resizing.test.ts +9 -13
- package/src/test/selection-omnibus.test.ts +11 -11
- package/src/test/shapeutils.test.ts +1 -1
- package/src/test/styles2.test.tsx +1 -1
- package/src/test/styles3.test.ts +5 -5
- package/src/test/test-jsx.tsx +69 -57
- package/src/test/text.test.ts +15 -17
- package/src/test/translating.test.ts +6 -8
- package/tldraw.css +8 -4
- package/dist-cjs/lib/shapes/shared/useForceSolid.js.map +0 -7
- package/dist-esm/lib/shapes/shared/useForceSolid.mjs +0 -9
- package/dist-esm/lib/shapes/shared/useForceSolid.mjs.map +0 -7
- package/src/lib/shapes/shared/useForceSolid.ts +0 -6
package/src/test/test-jsx.tsx
CHANGED
|
@@ -5,8 +5,7 @@ import {
|
|
|
5
5
|
TLBinding,
|
|
6
6
|
TLBindingCreate,
|
|
7
7
|
TLBindingId,
|
|
8
|
-
|
|
9
|
-
TLDefaultShape,
|
|
8
|
+
TLShape,
|
|
10
9
|
TLShapeId,
|
|
11
10
|
TLShapePartial,
|
|
12
11
|
ZERO_INDEX_KEY,
|
|
@@ -23,6 +22,7 @@ import React, { Fragment } from 'react'
|
|
|
23
22
|
const shapeTypeSymbol = Symbol('shapeJsx')
|
|
24
23
|
const assetTypeSymbol = Symbol('assetJsx')
|
|
25
24
|
const bindingTypeSymbol = Symbol('bindingJsx')
|
|
25
|
+
|
|
26
26
|
interface CommonShapeProps {
|
|
27
27
|
x?: number
|
|
28
28
|
y?: number
|
|
@@ -34,7 +34,6 @@ interface CommonShapeProps {
|
|
|
34
34
|
opacity?: number
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
type ShapeByType<Type extends TLDefaultShape['type']> = Extract<TLDefaultShape, { type: Type }>
|
|
38
37
|
type FormatShapeProps<Props extends object> = {
|
|
39
38
|
[K in keyof Props]?: Props[K] extends TLAssetId
|
|
40
39
|
? TLAssetId | React.JSX.Element
|
|
@@ -42,24 +41,39 @@ type FormatShapeProps<Props extends object> = {
|
|
|
42
41
|
? TLAssetId | React.JSX.Element | null
|
|
43
42
|
: Props[K]
|
|
44
43
|
}
|
|
45
|
-
type PropsForShape<Type extends
|
|
46
|
-
|
|
47
|
-
: CommonShapeProps & Record<string, unknown>
|
|
44
|
+
type PropsForShape<Type extends TLShape['type']> = CommonShapeProps &
|
|
45
|
+
FormatShapeProps<TLShape<Type>['props']>
|
|
48
46
|
|
|
49
47
|
type AssetByType<Type extends TLAsset['type']> = Extract<TLAsset, { type: Type }>
|
|
50
48
|
type PropsForAsset<Type extends string> = Type extends TLAsset['type']
|
|
51
49
|
? Partial<AssetByType<Type>['props']>
|
|
52
50
|
: Record<string, unknown>
|
|
53
51
|
|
|
54
|
-
interface
|
|
52
|
+
interface BindingReactConnections {
|
|
55
53
|
from?: string | TLShapeId
|
|
56
54
|
to: string | TLShapeId
|
|
57
55
|
}
|
|
58
56
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
interface CommonBindingReactProps extends BindingReactConnections {
|
|
58
|
+
ref?: string
|
|
59
|
+
id?: TLBindingId
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
type ReactPropsForBinding<Type extends TLBinding['type']> = CommonBindingReactProps &
|
|
63
|
+
Partial<TLBinding<Type>['props']>
|
|
64
|
+
|
|
65
|
+
type BindingToCreate = TLBinding extends infer E
|
|
66
|
+
? E extends TLBinding
|
|
67
|
+
? {
|
|
68
|
+
type: E['type']
|
|
69
|
+
props: Partial<TLBinding<E['type']>['props']>
|
|
70
|
+
id: TLBindingId | undefined
|
|
71
|
+
parentId: TLShapeId | undefined
|
|
72
|
+
ref: string | undefined
|
|
73
|
+
connections: BindingReactConnections
|
|
74
|
+
}
|
|
75
|
+
: never
|
|
76
|
+
: never
|
|
63
77
|
|
|
64
78
|
const createElement = (
|
|
65
79
|
type: typeof shapeTypeSymbol | typeof assetTypeSymbol | typeof bindingTypeSymbol,
|
|
@@ -90,10 +104,9 @@ const tlBinding = new Proxy(
|
|
|
90
104
|
return createElement(bindingTypeSymbol, key as string)
|
|
91
105
|
},
|
|
92
106
|
}
|
|
93
|
-
) as {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
>
|
|
107
|
+
) as {
|
|
108
|
+
[K in TLBinding['type']]: (props: ReactPropsForBinding<K>) => null
|
|
109
|
+
}
|
|
97
110
|
|
|
98
111
|
/**
|
|
99
112
|
* TL - jsx helpers for creating tldraw shapes in test cases
|
|
@@ -112,8 +125,8 @@ export const TL = new Proxy(
|
|
|
112
125
|
},
|
|
113
126
|
}
|
|
114
127
|
) as { asset: typeof tlAsset; binding: typeof tlBinding } & {
|
|
115
|
-
[K in
|
|
116
|
-
}
|
|
128
|
+
[K in TLShape['type']]: (props: PropsForShape<K>) => null
|
|
129
|
+
}
|
|
117
130
|
|
|
118
131
|
export function shapesFromJsx(shapes: React.JSX.Element | Array<React.JSX.Element>, idPrefix = '') {
|
|
119
132
|
const ids = { bindings: {} } as Record<string, TLShapeId> & {
|
|
@@ -122,12 +135,7 @@ export function shapesFromJsx(shapes: React.JSX.Element | Array<React.JSX.Elemen
|
|
|
122
135
|
const currentPageShapes: Array<TLShapePartial> = []
|
|
123
136
|
const assets: Array<TLAsset> = []
|
|
124
137
|
|
|
125
|
-
const bindingsToCreate: Array<
|
|
126
|
-
type: string
|
|
127
|
-
props: Record<string, unknown>
|
|
128
|
-
parentId: TLShapeId | undefined
|
|
129
|
-
ref: string | undefined
|
|
130
|
-
}> = []
|
|
138
|
+
const bindingsToCreate: Array<BindingToCreate> = []
|
|
131
139
|
|
|
132
140
|
function addChildren(
|
|
133
141
|
children: React.JSX.Element | Array<React.JSX.Element>,
|
|
@@ -152,10 +160,21 @@ export function shapesFromJsx(shapes: React.JSX.Element | Array<React.JSX.Elemen
|
|
|
152
160
|
}
|
|
153
161
|
|
|
154
162
|
if (el.type[bindingTypeSymbol]) {
|
|
155
|
-
const bindingType = (el.type as any)[bindingTypeSymbol] as
|
|
156
|
-
const
|
|
157
|
-
|
|
158
|
-
|
|
163
|
+
const bindingType = (el.type as any)[bindingTypeSymbol] as TLBinding['type']
|
|
164
|
+
const { id, from, to, ref, ...props } = el.props
|
|
165
|
+
const bindingRef: unknown = (el as any).ref || ref
|
|
166
|
+
assert(
|
|
167
|
+
bindingRef === undefined || typeof bindingRef === 'string',
|
|
168
|
+
'ref must be string or undefined'
|
|
169
|
+
)
|
|
170
|
+
bindingsToCreate.push({
|
|
171
|
+
type: bindingType,
|
|
172
|
+
props,
|
|
173
|
+
id,
|
|
174
|
+
parentId,
|
|
175
|
+
ref: bindingRef,
|
|
176
|
+
connections: { from, to },
|
|
177
|
+
})
|
|
159
178
|
} else {
|
|
160
179
|
const shapeType = (el.type as any)[shapeTypeSymbol] as string
|
|
161
180
|
if (!shapeType) {
|
|
@@ -239,55 +258,48 @@ export function shapesFromJsx(shapes: React.JSX.Element | Array<React.JSX.Elemen
|
|
|
239
258
|
addChildren(shapes)
|
|
240
259
|
|
|
241
260
|
const bindings: TLBindingCreate[] = []
|
|
242
|
-
for (const binding of bindingsToCreate) {
|
|
261
|
+
for (const { id, parentId, ref, connections, ...binding } of bindingsToCreate) {
|
|
243
262
|
let fromId: TLShapeId, toId: TLShapeId
|
|
244
|
-
if (
|
|
245
|
-
assert(typeof
|
|
246
|
-
if (isShapeId(
|
|
247
|
-
fromId =
|
|
263
|
+
if (connections.from) {
|
|
264
|
+
assert(typeof connections.from === 'string', 'from must be a ref string or a shape id')
|
|
265
|
+
if (isShapeId(connections.from)) {
|
|
266
|
+
fromId = connections.from
|
|
248
267
|
} else {
|
|
249
|
-
assert(ids[
|
|
250
|
-
fromId = ids[
|
|
268
|
+
assert(ids[connections.from], `Ref not found: ${connections.from}`)
|
|
269
|
+
fromId = ids[connections.from]
|
|
251
270
|
}
|
|
252
|
-
} else if (
|
|
253
|
-
fromId =
|
|
271
|
+
} else if (parentId) {
|
|
272
|
+
fromId = parentId
|
|
254
273
|
} else {
|
|
255
274
|
throw new Error('from must be specified, or binding must be a child of a shape')
|
|
256
275
|
}
|
|
257
276
|
|
|
258
|
-
assert(
|
|
259
|
-
assert(typeof
|
|
260
|
-
if (isShapeId(
|
|
261
|
-
toId =
|
|
277
|
+
assert(connections.to, 'to must be specified')
|
|
278
|
+
assert(typeof connections.to === 'string', 'to must be a ref string or a shape id')
|
|
279
|
+
if (isShapeId(connections.to)) {
|
|
280
|
+
toId = connections.to
|
|
262
281
|
} else {
|
|
263
|
-
assert(ids[
|
|
264
|
-
toId = ids[
|
|
282
|
+
assert(ids[connections.to], `Ref not found: ${connections.to}`)
|
|
283
|
+
toId = ids[connections.to]
|
|
265
284
|
}
|
|
266
285
|
|
|
267
|
-
let bindingId
|
|
268
|
-
if (
|
|
269
|
-
assert(typeof
|
|
270
|
-
assert(!ids.bindings[
|
|
271
|
-
assert(!bindingId, `Cannot use both ref and id on binding: ${
|
|
272
|
-
bindingId = createBindingId(`${idPrefix}${
|
|
273
|
-
ids.bindings[
|
|
286
|
+
let bindingId = id
|
|
287
|
+
if (ref) {
|
|
288
|
+
assert(typeof ref === 'string', 'binding ref must be string')
|
|
289
|
+
assert(!ids.bindings[ref], `Duplicate ref: ${ref}`)
|
|
290
|
+
assert(!bindingId, `Cannot use both ref and id on binding: ${ref}`)
|
|
291
|
+
bindingId = createBindingId(`${idPrefix}${ref}`)
|
|
292
|
+
ids.bindings[ref] = bindingId
|
|
274
293
|
}
|
|
275
294
|
if (!bindingId) {
|
|
276
295
|
bindingId = createBindingId()
|
|
277
296
|
}
|
|
278
297
|
|
|
279
|
-
const props = { ...binding.props }
|
|
280
|
-
delete props.ref
|
|
281
|
-
delete props.id
|
|
282
|
-
delete props.from
|
|
283
|
-
delete props.to
|
|
284
|
-
|
|
285
298
|
bindings.push({
|
|
299
|
+
...binding,
|
|
286
300
|
id: bindingId,
|
|
287
|
-
type: binding.type,
|
|
288
301
|
fromId,
|
|
289
302
|
toId,
|
|
290
|
-
props,
|
|
291
303
|
})
|
|
292
304
|
}
|
|
293
305
|
|
package/src/test/text.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createShapeId, toRichText } from '@tldraw/editor'
|
|
2
2
|
import { TestEditor } from './TestEditor'
|
|
3
3
|
|
|
4
4
|
let editor: TestEditor
|
|
@@ -13,7 +13,7 @@ afterEach(() => {
|
|
|
13
13
|
describe('When editing text', () => {
|
|
14
14
|
it('preserves the top center when center aligned', () => {
|
|
15
15
|
const id = createShapeId()
|
|
16
|
-
editor.createShapes
|
|
16
|
+
editor.createShapes([
|
|
17
17
|
{
|
|
18
18
|
id,
|
|
19
19
|
type: 'text',
|
|
@@ -27,7 +27,7 @@ describe('When editing text', () => {
|
|
|
27
27
|
},
|
|
28
28
|
])
|
|
29
29
|
const boundsA = editor.getShapePageBounds(id)
|
|
30
|
-
editor.updateShapes
|
|
30
|
+
editor.updateShapes([
|
|
31
31
|
{
|
|
32
32
|
id,
|
|
33
33
|
type: 'text',
|
|
@@ -47,7 +47,7 @@ describe('When editing text', () => {
|
|
|
47
47
|
|
|
48
48
|
it('preserved the right center when center aligned and rotated 90deg', () => {
|
|
49
49
|
const id = createShapeId()
|
|
50
|
-
editor.createShapes
|
|
50
|
+
editor.createShapes([
|
|
51
51
|
{
|
|
52
52
|
id,
|
|
53
53
|
type: 'text',
|
|
@@ -63,9 +63,7 @@ describe('When editing text', () => {
|
|
|
63
63
|
])
|
|
64
64
|
|
|
65
65
|
const boundsA = editor.getShapePageBounds(id)!
|
|
66
|
-
editor.updateShapes
|
|
67
|
-
{ id, type: 'text', props: { richText: toRichText('Hello, world!') } },
|
|
68
|
-
])
|
|
66
|
+
editor.updateShapes([{ id, type: 'text', props: { richText: toRichText('Hello, world!') } }])
|
|
69
67
|
const boundsB = editor.getShapePageBounds(id)!
|
|
70
68
|
expect(boundsA.x).toBeCloseTo(boundsB.x)
|
|
71
69
|
expect(boundsA.y).not.toBeCloseTo(boundsB.y)
|
|
@@ -75,7 +73,7 @@ describe('When editing text', () => {
|
|
|
75
73
|
|
|
76
74
|
it('preserves the top left corner when start aligned', () => {
|
|
77
75
|
const id = createShapeId()
|
|
78
|
-
editor.createShapes
|
|
76
|
+
editor.createShapes([
|
|
79
77
|
{
|
|
80
78
|
id,
|
|
81
79
|
type: 'text',
|
|
@@ -89,7 +87,7 @@ describe('When editing text', () => {
|
|
|
89
87
|
},
|
|
90
88
|
])
|
|
91
89
|
const boundsA = editor.getShapePageBounds(id)
|
|
92
|
-
editor.updateShapes
|
|
90
|
+
editor.updateShapes([
|
|
93
91
|
{
|
|
94
92
|
id,
|
|
95
93
|
type: 'text',
|
|
@@ -109,7 +107,7 @@ describe('When editing text', () => {
|
|
|
109
107
|
|
|
110
108
|
it('preserves the top right edge when end aligned', () => {
|
|
111
109
|
const id = createShapeId()
|
|
112
|
-
editor.createShapes
|
|
110
|
+
editor.createShapes([
|
|
113
111
|
{
|
|
114
112
|
id,
|
|
115
113
|
type: 'text',
|
|
@@ -123,7 +121,7 @@ describe('When editing text', () => {
|
|
|
123
121
|
},
|
|
124
122
|
])
|
|
125
123
|
const boundsA = editor.getShapePageBounds(id)
|
|
126
|
-
editor.updateShapes
|
|
124
|
+
editor.updateShapes([
|
|
127
125
|
{
|
|
128
126
|
id,
|
|
129
127
|
type: 'text',
|
|
@@ -145,7 +143,7 @@ describe('When editing text', () => {
|
|
|
145
143
|
describe('When changing text size', () => {
|
|
146
144
|
it('preserves the center when center aligned', () => {
|
|
147
145
|
const id = createShapeId()
|
|
148
|
-
editor.createShapes
|
|
146
|
+
editor.createShapes([
|
|
149
147
|
{
|
|
150
148
|
id,
|
|
151
149
|
type: 'text',
|
|
@@ -160,7 +158,7 @@ describe('When changing text size', () => {
|
|
|
160
158
|
},
|
|
161
159
|
])
|
|
162
160
|
const boundsA = editor.getShapePageBounds(id)
|
|
163
|
-
editor.updateShapes
|
|
161
|
+
editor.updateShapes([
|
|
164
162
|
{
|
|
165
163
|
id,
|
|
166
164
|
type: 'text',
|
|
@@ -180,7 +178,7 @@ describe('When changing text size', () => {
|
|
|
180
178
|
|
|
181
179
|
it('preserves the center left point when start aligned', () => {
|
|
182
180
|
const id = createShapeId()
|
|
183
|
-
editor.createShapes
|
|
181
|
+
editor.createShapes([
|
|
184
182
|
{
|
|
185
183
|
id,
|
|
186
184
|
type: 'text',
|
|
@@ -195,7 +193,7 @@ describe('When changing text size', () => {
|
|
|
195
193
|
},
|
|
196
194
|
])
|
|
197
195
|
const boundsA = editor.getShapePageBounds(id)
|
|
198
|
-
editor.updateShapes
|
|
196
|
+
editor.updateShapes([
|
|
199
197
|
{
|
|
200
198
|
id,
|
|
201
199
|
type: 'text',
|
|
@@ -215,7 +213,7 @@ describe('When changing text size', () => {
|
|
|
215
213
|
|
|
216
214
|
it('preserves the top right edge when end aligned', () => {
|
|
217
215
|
const id = createShapeId()
|
|
218
|
-
editor.createShapes
|
|
216
|
+
editor.createShapes([
|
|
219
217
|
{
|
|
220
218
|
id,
|
|
221
219
|
type: 'text',
|
|
@@ -230,7 +228,7 @@ describe('When changing text size', () => {
|
|
|
230
228
|
},
|
|
231
229
|
])
|
|
232
230
|
const boundsA = editor.getShapePageBounds(id)
|
|
233
|
-
editor.updateShapes
|
|
231
|
+
editor.updateShapes([
|
|
234
232
|
{
|
|
235
233
|
id,
|
|
236
234
|
type: 'text',
|
|
@@ -1749,9 +1749,7 @@ describe('translating a shape with a bound shape', () => {
|
|
|
1749
1749
|
|
|
1750
1750
|
const newArrow = editor
|
|
1751
1751
|
.getCurrentPageShapes()
|
|
1752
|
-
.find(
|
|
1753
|
-
(s) => editor.isShapeOfType<TLArrowShape>(s, 'arrow') && s.id !== arrow1
|
|
1754
|
-
)! as TLArrowShape
|
|
1752
|
+
.find((s) => editor.isShapeOfType(s, 'arrow') && s.id !== arrow1)! as TLArrowShape
|
|
1755
1753
|
expect(getArrowBindings(editor, newArrow)).toMatchObject({
|
|
1756
1754
|
start: { type: 'arrow' },
|
|
1757
1755
|
end: undefined,
|
|
@@ -2061,7 +2059,7 @@ describe('Note shape grid helper positions / pits', () => {
|
|
|
2061
2059
|
editor
|
|
2062
2060
|
.createShape({ type: 'note' })
|
|
2063
2061
|
.createShape({ type: 'note', x: 500, y: 500 })
|
|
2064
|
-
.updateShape({ ...editor.getLastCreatedShape(), props: { growY: 100 } })
|
|
2062
|
+
.updateShape({ ...editor.getLastCreatedShape<TLNoteShape>(), props: { growY: 100 } })
|
|
2065
2063
|
.pointerMove(600, 600)
|
|
2066
2064
|
// start translating
|
|
2067
2065
|
.pointerDown()
|
|
@@ -2080,7 +2078,7 @@ describe('Note shape grid helper positions / pits', () => {
|
|
|
2080
2078
|
it('Snaps correctly to the bottom when the not-translating shape has growY', () => {
|
|
2081
2079
|
editor
|
|
2082
2080
|
.createShape({ type: 'note' })
|
|
2083
|
-
.updateShape({ ...editor.getLastCreatedShape(), props: { growY: 100 } })
|
|
2081
|
+
.updateShape({ ...editor.getLastCreatedShape<TLNoteShape>(), props: { growY: 100 } })
|
|
2084
2082
|
.createShape({ type: 'note', x: 500, y: 500 })
|
|
2085
2083
|
.pointerMove(600, 600)
|
|
2086
2084
|
// start translating
|
|
@@ -2183,7 +2181,7 @@ describe('Note shape grid helper positions / pits', () => {
|
|
|
2183
2181
|
|
|
2184
2182
|
describe('cancelling a translate operation', () => {
|
|
2185
2183
|
it('undoes any changes since the start of the translate operation', () => {
|
|
2186
|
-
editor.createShape
|
|
2184
|
+
editor.createShape({
|
|
2187
2185
|
type: 'geo',
|
|
2188
2186
|
x: 0,
|
|
2189
2187
|
y: 0,
|
|
@@ -2220,7 +2218,7 @@ describe('cancelling a translate operation', () => {
|
|
|
2220
2218
|
const shapeId = createShapeId()
|
|
2221
2219
|
|
|
2222
2220
|
editor
|
|
2223
|
-
.createShape
|
|
2221
|
+
.createShape({
|
|
2224
2222
|
id: shapeId,
|
|
2225
2223
|
type: 'geo',
|
|
2226
2224
|
x: 0,
|
|
@@ -2268,7 +2266,7 @@ describe('cancelling a translate operation', () => {
|
|
|
2268
2266
|
const shapeId = createShapeId()
|
|
2269
2267
|
|
|
2270
2268
|
editor
|
|
2271
|
-
.createShape
|
|
2269
|
+
.createShape({
|
|
2272
2270
|
id: shapeId,
|
|
2273
2271
|
type: 'geo',
|
|
2274
2272
|
x: 0,
|
package/tldraw.css
CHANGED
|
@@ -611,7 +611,6 @@ input,
|
|
|
611
611
|
pointer-events: all;
|
|
612
612
|
white-space: pre-wrap;
|
|
613
613
|
overflow-wrap: break-word;
|
|
614
|
-
text-shadow: var(--tl-text-outline);
|
|
615
614
|
}
|
|
616
615
|
|
|
617
616
|
.tl-text-wrapper[data-font='draw'] {
|
|
@@ -774,7 +773,6 @@ input,
|
|
|
774
773
|
justify-content: center;
|
|
775
774
|
align-items: center;
|
|
776
775
|
color: var(--tl-color-text);
|
|
777
|
-
text-shadow: var(--tl-text-outline);
|
|
778
776
|
line-height: inherit;
|
|
779
777
|
position: absolute;
|
|
780
778
|
inset: 0px;
|
|
@@ -974,6 +972,14 @@ input,
|
|
|
974
972
|
display: block;
|
|
975
973
|
}
|
|
976
974
|
|
|
975
|
+
.tl-text__outline {
|
|
976
|
+
text-shadow: var(--tl-text-outline);
|
|
977
|
+
}
|
|
978
|
+
|
|
979
|
+
.tl-text__no-outline {
|
|
980
|
+
text-shadow: none;
|
|
981
|
+
}
|
|
982
|
+
|
|
977
983
|
/* --------------------- Loading -------------------- */
|
|
978
984
|
|
|
979
985
|
.tl-loading {
|
|
@@ -1221,7 +1227,6 @@ input,
|
|
|
1221
1227
|
align-items: center;
|
|
1222
1228
|
text-align: center;
|
|
1223
1229
|
color: var(--tl-color-text);
|
|
1224
|
-
text-shadow: var(--tl-text-outline);
|
|
1225
1230
|
}
|
|
1226
1231
|
|
|
1227
1232
|
.tl-shape[data-shape-type='arrow'] .tl-text-label__inner {
|
|
@@ -1450,7 +1455,6 @@ input,
|
|
|
1450
1455
|
}
|
|
1451
1456
|
|
|
1452
1457
|
.tl-note__container > .tl-text-label {
|
|
1453
|
-
text-shadow: none;
|
|
1454
1458
|
color: currentColor;
|
|
1455
1459
|
}
|
|
1456
1460
|
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/lib/shapes/shared/useForceSolid.ts"],
|
|
4
|
-
"sourcesContent": ["import { useEditor, useValue } from '@tldraw/editor'\n\nexport function useForceSolid() {\n\tconst editor = useEditor()\n\treturn useValue('zoom', () => editor.getZoomLevel() < 0.35, [editor])\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAoC;AAE7B,SAAS,gBAAgB;AAC/B,QAAM,aAAS,yBAAU;AACzB,aAAO,wBAAS,QAAQ,MAAM,OAAO,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC;AACrE;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { useEditor, useValue } from "@tldraw/editor";
|
|
2
|
-
function useForceSolid() {
|
|
3
|
-
const editor = useEditor();
|
|
4
|
-
return useValue("zoom", () => editor.getZoomLevel() < 0.35, [editor]);
|
|
5
|
-
}
|
|
6
|
-
export {
|
|
7
|
-
useForceSolid
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=useForceSolid.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/lib/shapes/shared/useForceSolid.ts"],
|
|
4
|
-
"sourcesContent": ["import { useEditor, useValue } from '@tldraw/editor'\n\nexport function useForceSolid() {\n\tconst editor = useEditor()\n\treturn useValue('zoom', () => editor.getZoomLevel() < 0.35, [editor])\n}\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,WAAW,gBAAgB;AAE7B,SAAS,gBAAgB;AAC/B,QAAM,SAAS,UAAU;AACzB,SAAO,SAAS,QAAQ,MAAM,OAAO,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC;AACrE;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|