@bigbluebutton/tldraw 2.0.0-alpha.19
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/LICENSE +190 -0
- package/dist-cjs/index.d.ts +2954 -0
- package/dist-cjs/index.js +216 -0
- package/dist-cjs/index.js.map +7 -0
- package/dist-cjs/lib/Tldraw.js +136 -0
- package/dist-cjs/lib/Tldraw.js.map +7 -0
- package/dist-cjs/lib/canvas/TldrawCropHandles.js +164 -0
- package/dist-cjs/lib/canvas/TldrawCropHandles.js.map +7 -0
- package/dist-cjs/lib/canvas/TldrawHandles.js +37 -0
- package/dist-cjs/lib/canvas/TldrawHandles.js.map +7 -0
- package/dist-cjs/lib/canvas/TldrawHoveredShapeIndicator.js +42 -0
- package/dist-cjs/lib/canvas/TldrawHoveredShapeIndicator.js.map +7 -0
- package/dist-cjs/lib/canvas/TldrawScribble.js +72 -0
- package/dist-cjs/lib/canvas/TldrawScribble.js.map +7 -0
- package/dist-cjs/lib/canvas/TldrawSelectionBackground.js +44 -0
- package/dist-cjs/lib/canvas/TldrawSelectionBackground.js.map +7 -0
- package/dist-cjs/lib/canvas/TldrawSelectionForeground.js +509 -0
- package/dist-cjs/lib/canvas/TldrawSelectionForeground.js.map +7 -0
- package/dist-cjs/lib/defaultExternalContentHandlers.js +400 -0
- package/dist-cjs/lib/defaultExternalContentHandlers.js.map +7 -0
- package/dist-cjs/lib/defaultShapeTools.js +42 -0
- package/dist-cjs/lib/defaultShapeTools.js.map +7 -0
- package/dist-cjs/lib/defaultShapeUtils.js +50 -0
- package/dist-cjs/lib/defaultShapeUtils.js.map +7 -0
- package/dist-cjs/lib/defaultSideEffects.js +69 -0
- package/dist-cjs/lib/defaultSideEffects.js.map +7 -0
- package/dist-cjs/lib/defaultTools.js +30 -0
- package/dist-cjs/lib/defaultTools.js.map +7 -0
- package/dist-cjs/lib/shapes/arrow/ArrowShapeTool.js +33 -0
- package/dist-cjs/lib/shapes/arrow/ArrowShapeTool.js.map +7 -0
- package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js +805 -0
- package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js.map +7 -0
- package/dist-cjs/lib/shapes/arrow/components/ArrowTextLabel.js +114 -0
- package/dist-cjs/lib/shapes/arrow/components/ArrowTextLabel.js.map +7 -0
- package/dist-cjs/lib/shapes/arrow/toolStates/Idle.js +53 -0
- package/dist-cjs/lib/shapes/arrow/toolStates/Idle.js.map +7 -0
- package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js +182 -0
- package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js.map +7 -0
- package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js +163 -0
- package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js.map +7 -0
- package/dist-cjs/lib/shapes/draw/DrawShapeTool.js +37 -0
- package/dist-cjs/lib/shapes/draw/DrawShapeTool.js.map +7 -0
- package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js +243 -0
- package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js.map +7 -0
- package/dist-cjs/lib/shapes/draw/getPath.js +102 -0
- package/dist-cjs/lib/shapes/draw/getPath.js.map +7 -0
- package/dist-cjs/lib/shapes/draw/toolStates/Drawing.js +556 -0
- package/dist-cjs/lib/shapes/draw/toolStates/Drawing.js.map +7 -0
- package/dist-cjs/lib/shapes/draw/toolStates/Idle.js +37 -0
- package/dist-cjs/lib/shapes/draw/toolStates/Idle.js.map +7 -0
- package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js +192 -0
- package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js.map +7 -0
- package/dist-cjs/lib/shapes/frame/FrameShapeTool.js +66 -0
- package/dist-cjs/lib/shapes/frame/FrameShapeTool.js.map +7 -0
- package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +234 -0
- package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +7 -0
- package/dist-cjs/lib/shapes/frame/components/FrameHeading.js +106 -0
- package/dist-cjs/lib/shapes/frame/components/FrameHeading.js.map +7 -0
- package/dist-cjs/lib/shapes/frame/components/FrameLabelInput.js +101 -0
- package/dist-cjs/lib/shapes/frame/components/FrameLabelInput.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/GeoShapeTool.js +33 -0
- package/dist-cjs/lib/shapes/geo/GeoShapeTool.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js +999 -0
- package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/cloudOutline.js +288 -0
- package/dist-cjs/lib/shapes/geo/cloudOutline.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/components/DashStyleCloud.js +124 -0
- package/dist-cjs/lib/shapes/geo/components/DashStyleCloud.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/components/DashStyleEllipse.js +123 -0
- package/dist-cjs/lib/shapes/geo/components/DashStyleEllipse.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/components/DashStyleOval.js +118 -0
- package/dist-cjs/lib/shapes/geo/components/DashStyleOval.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/components/DashStylePolygon.js +155 -0
- package/dist-cjs/lib/shapes/geo/components/DashStylePolygon.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/components/DrawStyleCloud.js +79 -0
- package/dist-cjs/lib/shapes/geo/components/DrawStyleCloud.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/components/DrawStyleEllipse.js +133 -0
- package/dist-cjs/lib/shapes/geo/components/DrawStyleEllipse.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/components/DrawStylePolygon.js +93 -0
- package/dist-cjs/lib/shapes/geo/components/DrawStylePolygon.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/components/SolidStyleCloud.js +79 -0
- package/dist-cjs/lib/shapes/geo/components/SolidStyleCloud.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/components/SolidStyleEllipse.js +84 -0
- package/dist-cjs/lib/shapes/geo/components/SolidStyleEllipse.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/components/SolidStyleOval.js +99 -0
- package/dist-cjs/lib/shapes/geo/components/SolidStyleOval.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/components/SolidStylePolygon.js +86 -0
- package/dist-cjs/lib/shapes/geo/components/SolidStylePolygon.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/helpers.js +53 -0
- package/dist-cjs/lib/shapes/geo/helpers.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/toolStates/Idle.js +53 -0
- package/dist-cjs/lib/shapes/geo/toolStates/Idle.js.map +7 -0
- package/dist-cjs/lib/shapes/geo/toolStates/Pointing.js +118 -0
- package/dist-cjs/lib/shapes/geo/toolStates/Pointing.js.map +7 -0
- package/dist-cjs/lib/shapes/highlight/HighlightShapeTool.js +37 -0
- package/dist-cjs/lib/shapes/highlight/HighlightShapeTool.js.map +7 -0
- package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js +208 -0
- package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js.map +7 -0
- package/dist-cjs/lib/shapes/image/ImageShapeUtil.js +262 -0
- package/dist-cjs/lib/shapes/image/ImageShapeUtil.js.map +7 -0
- package/dist-cjs/lib/shapes/line/LineShapeTool.js +33 -0
- package/dist-cjs/lib/shapes/line/LineShapeTool.js.map +7 -0
- package/dist-cjs/lib/shapes/line/LineShapeUtil.js +359 -0
- package/dist-cjs/lib/shapes/line/LineShapeUtil.js.map +7 -0
- package/dist-cjs/lib/shapes/line/components/getLinePath.js +88 -0
- package/dist-cjs/lib/shapes/line/components/getLinePath.js.map +7 -0
- package/dist-cjs/lib/shapes/line/components/svg.js +73 -0
- package/dist-cjs/lib/shapes/line/components/svg.js.map +7 -0
- package/dist-cjs/lib/shapes/line/toolStates/Idle.js +39 -0
- package/dist-cjs/lib/shapes/line/toolStates/Idle.js.map +7 -0
- package/dist-cjs/lib/shapes/line/toolStates/Pointing.js +145 -0
- package/dist-cjs/lib/shapes/line/toolStates/Pointing.js.map +7 -0
- package/dist-cjs/lib/shapes/note/NoteShapeTool.js +33 -0
- package/dist-cjs/lib/shapes/note/NoteShapeTool.js.map +7 -0
- package/dist-cjs/lib/shapes/note/NoteShapeUtil.js +205 -0
- package/dist-cjs/lib/shapes/note/NoteShapeUtil.js.map +7 -0
- package/dist-cjs/lib/shapes/note/toolStates/Idle.js +37 -0
- package/dist-cjs/lib/shapes/note/toolStates/Idle.js.map +7 -0
- package/dist-cjs/lib/shapes/note/toolStates/Pointing.js +114 -0
- package/dist-cjs/lib/shapes/note/toolStates/Pointing.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/HyperlinkButton.js +65 -0
- package/dist-cjs/lib/shapes/shared/HyperlinkButton.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/ShapeFill.js +117 -0
- package/dist-cjs/lib/shapes/shared/ShapeFill.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/TextHelpers.js +228 -0
- package/dist-cjs/lib/shapes/shared/TextHelpers.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/TextLabel.js +138 -0
- package/dist-cjs/lib/shapes/shared/TextLabel.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/createTextSvgElementFromSpans.js +75 -0
- package/dist-cjs/lib/shapes/shared/createTextSvgElementFromSpans.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/default-shape-constants.js +72 -0
- package/dist-cjs/lib/shapes/shared/default-shape-constants.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/defaultStyleDefs.js +252 -0
- package/dist-cjs/lib/shapes/shared/defaultStyleDefs.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/freehand/getStroke.js +33 -0
- package/dist-cjs/lib/shapes/shared/freehand/getStroke.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/freehand/getStrokeOutlinePoints.js +175 -0
- package/dist-cjs/lib/shapes/shared/freehand/getStrokeOutlinePoints.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/freehand/getStrokePoints.js +144 -0
- package/dist-cjs/lib/shapes/shared/freehand/getStrokePoints.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/freehand/getStrokeRadius.js +27 -0
- package/dist-cjs/lib/shapes/shared/freehand/getStrokeRadius.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/freehand/setStrokePointRadii.js +101 -0
- package/dist-cjs/lib/shapes/shared/freehand/setStrokePointRadii.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/freehand/svg.js +56 -0
- package/dist-cjs/lib/shapes/shared/freehand/svg.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/freehand/svgInk.js +163 -0
- package/dist-cjs/lib/shapes/shared/freehand/svgInk.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/freehand/types.js +17 -0
- package/dist-cjs/lib/shapes/shared/freehand/types.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/getBrowserCanvasMaxSize.js +52 -0
- package/dist-cjs/lib/shapes/shared/getBrowserCanvasMaxSize.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/getPerfectDashProps.js +96 -0
- package/dist-cjs/lib/shapes/shared/getPerfectDashProps.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/getTextLabelSvgElement.js +56 -0
- package/dist-cjs/lib/shapes/shared/getTextLabelSvgElement.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/legacyProps.js +42 -0
- package/dist-cjs/lib/shapes/shared/legacyProps.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/polygon-helpers.js +116 -0
- package/dist-cjs/lib/shapes/shared/polygon-helpers.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/resizeBox.js +117 -0
- package/dist-cjs/lib/shapes/shared/resizeBox.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/resizeScaled.js +48 -0
- package/dist-cjs/lib/shapes/shared/resizeScaled.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/rotated-box-shadow.js +50 -0
- package/dist-cjs/lib/shapes/shared/rotated-box-shadow.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/useColorSpace.js +39 -0
- package/dist-cjs/lib/shapes/shared/useColorSpace.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/useEditableText.js +179 -0
- package/dist-cjs/lib/shapes/shared/useEditableText.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/useForceSolid.js +29 -0
- package/dist-cjs/lib/shapes/shared/useForceSolid.js.map +7 -0
- package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js +38 -0
- package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js.map +7 -0
- package/dist-cjs/lib/shapes/text/TextShapeTool.js +33 -0
- package/dist-cjs/lib/shapes/text/TextShapeTool.js.map +7 -0
- package/dist-cjs/lib/shapes/text/TextShapeUtil.js +341 -0
- package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +7 -0
- package/dist-cjs/lib/shapes/text/toolStates/Idle.js +62 -0
- package/dist-cjs/lib/shapes/text/toolStates/Idle.js.map +7 -0
- package/dist-cjs/lib/shapes/text/toolStates/Pointing.js +109 -0
- package/dist-cjs/lib/shapes/text/toolStates/Pointing.js.map +7 -0
- package/dist-cjs/lib/shapes/video/VideoShapeUtil.js +202 -0
- package/dist-cjs/lib/shapes/video/VideoShapeUtil.js.map +7 -0
- package/dist-cjs/lib/tools/EraserTool/EraserTool.js +36 -0
- package/dist-cjs/lib/tools/EraserTool/EraserTool.js.map +7 -0
- package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js +111 -0
- package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js.map +7 -0
- package/dist-cjs/lib/tools/EraserTool/childStates/Idle.js +34 -0
- package/dist-cjs/lib/tools/EraserTool/childStates/Idle.js.map +7 -0
- package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js +84 -0
- package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js.map +7 -0
- package/dist-cjs/lib/tools/HandTool/HandTool.js +58 -0
- package/dist-cjs/lib/tools/HandTool/HandTool.js.map +7 -0
- package/dist-cjs/lib/tools/HandTool/childStates/Dragging.js +58 -0
- package/dist-cjs/lib/tools/HandTool/childStates/Dragging.js.map +7 -0
- package/dist-cjs/lib/tools/HandTool/childStates/Idle.js +37 -0
- package/dist-cjs/lib/tools/HandTool/childStates/Idle.js.map +7 -0
- package/dist-cjs/lib/tools/HandTool/childStates/Pointing.js +55 -0
- package/dist-cjs/lib/tools/HandTool/childStates/Pointing.js.map +7 -0
- package/dist-cjs/lib/tools/LaserTool/LaserTool.js +35 -0
- package/dist-cjs/lib/tools/LaserTool/LaserTool.js.map +7 -0
- package/dist-cjs/lib/tools/LaserTool/childStates/Idle.js +31 -0
- package/dist-cjs/lib/tools/LaserTool/childStates/Idle.js.map +7 -0
- package/dist-cjs/lib/tools/LaserTool/childStates/Lasering.js +66 -0
- package/dist-cjs/lib/tools/LaserTool/childStates/Lasering.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/DragAndDropManager.js +100 -0
- package/dist-cjs/lib/tools/SelectTool/DragAndDropManager.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/SelectTool.js +70 -0
- package/dist-cjs/lib/tools/SelectTool/SelectTool.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Brushing.js +145 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Brushing.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Crop/Crop.js +33 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Crop/Crop.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js +204 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.js +39 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.js +101 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/crop_helpers.js +58 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/crop_helpers.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Crop/crop-constants.js +25 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Crop/crop-constants.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Cropping.js +210 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Cropping.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js +230 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/EditingShape.js +121 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/EditingShape.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js +461 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingCanvas.js +56 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingCanvas.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingCropHandle.js +89 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingCropHandle.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingHandle.js +67 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingHandle.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingResizeHandle.js +91 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingResizeHandle.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingRotateHandle.js +83 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingRotateHandle.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingSelection.js +73 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingSelection.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js +176 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js +371 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js +148 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/ScribbleBrushing.js +140 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/ScribbleBrushing.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js +315 -0
- package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +7 -0
- package/dist-cjs/lib/tools/SelectTool/children/DraggingHandle.js +230 -0
- package/dist-cjs/lib/tools/SelectTool/children/DraggingHandle.js.map +7 -0
- package/dist-cjs/lib/tools/ZoomTool/ZoomTool.js +79 -0
- package/dist-cjs/lib/tools/ZoomTool/ZoomTool.js.map +7 -0
- package/dist-cjs/lib/tools/ZoomTool/childStates/Idle.js +35 -0
- package/dist-cjs/lib/tools/ZoomTool/childStates/Idle.js.map +7 -0
- package/dist-cjs/lib/tools/ZoomTool/childStates/Pointing.js +55 -0
- package/dist-cjs/lib/tools/ZoomTool/childStates/Pointing.js.map +7 -0
- package/dist-cjs/lib/tools/ZoomTool/childStates/ZoomBrushing.js +72 -0
- package/dist-cjs/lib/tools/ZoomTool/childStates/ZoomBrushing.js.map +7 -0
- package/dist-cjs/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.js +41 -0
- package/dist-cjs/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.js.map +7 -0
- package/dist-cjs/lib/tools/selection-logic/getShouldEnterCropModeOnPointerDown.js +28 -0
- package/dist-cjs/lib/tools/selection-logic/getShouldEnterCropModeOnPointerDown.js.map +7 -0
- package/dist-cjs/lib/tools/selection-logic/selectOnCanvasPointerUp.js +80 -0
- package/dist-cjs/lib/tools/selection-logic/selectOnCanvasPointerUp.js.map +7 -0
- package/dist-cjs/lib/tools/selection-logic/updateHoveredId.js +47 -0
- package/dist-cjs/lib/tools/selection-logic/updateHoveredId.js.map +7 -0
- package/dist-cjs/lib/ui/TldrawUi.js +155 -0
- package/dist-cjs/lib/ui/TldrawUi.js.map +7 -0
- package/dist-cjs/lib/ui/TldrawUiContextProvider.js +57 -0
- package/dist-cjs/lib/ui/TldrawUiContextProvider.js.map +7 -0
- package/dist-cjs/lib/ui/assetUrls.js +67 -0
- package/dist-cjs/lib/ui/assetUrls.js.map +7 -0
- package/dist-cjs/lib/ui/components/ActionsMenu.js +96 -0
- package/dist-cjs/lib/ui/components/ActionsMenu.js.map +7 -0
- package/dist-cjs/lib/ui/components/BackToContent.js +67 -0
- package/dist-cjs/lib/ui/components/BackToContent.js.map +7 -0
- package/dist-cjs/lib/ui/components/ContextMenu.js +214 -0
- package/dist-cjs/lib/ui/components/ContextMenu.js.map +7 -0
- package/dist-cjs/lib/ui/components/DebugPanel.js +334 -0
- package/dist-cjs/lib/ui/components/DebugPanel.js.map +7 -0
- package/dist-cjs/lib/ui/components/Dialogs.js +64 -0
- package/dist-cjs/lib/ui/components/Dialogs.js.map +7 -0
- package/dist-cjs/lib/ui/components/DuplicateButton.js +47 -0
- package/dist-cjs/lib/ui/components/DuplicateButton.js.map +7 -0
- package/dist-cjs/lib/ui/components/EditLinkDialog.js +161 -0
- package/dist-cjs/lib/ui/components/EditLinkDialog.js.map +7 -0
- package/dist-cjs/lib/ui/components/EmbedDialog.js +152 -0
- package/dist-cjs/lib/ui/components/EmbedDialog.js.map +7 -0
- package/dist-cjs/lib/ui/components/FollowingIndicator.js +41 -0
- package/dist-cjs/lib/ui/components/FollowingIndicator.js.map +7 -0
- package/dist-cjs/lib/ui/components/HTMLCanvas.js +66 -0
- package/dist-cjs/lib/ui/components/HTMLCanvas.js.map +7 -0
- package/dist-cjs/lib/ui/components/HelpMenu.js +116 -0
- package/dist-cjs/lib/ui/components/HelpMenu.js.map +7 -0
- package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog.js +74 -0
- package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog.js.map +7 -0
- package/dist-cjs/lib/ui/components/LanguageMenu.js +60 -0
- package/dist-cjs/lib/ui/components/LanguageMenu.js.map +7 -0
- package/dist-cjs/lib/ui/components/Menu.js +139 -0
- package/dist-cjs/lib/ui/components/Menu.js.map +7 -0
- package/dist-cjs/lib/ui/components/MenuZone.js +51 -0
- package/dist-cjs/lib/ui/components/MenuZone.js.map +7 -0
- package/dist-cjs/lib/ui/components/MobileStylePanel.js +69 -0
- package/dist-cjs/lib/ui/components/MobileStylePanel.js.map +7 -0
- package/dist-cjs/lib/ui/components/MoveToPageMenu.js +142 -0
- package/dist-cjs/lib/ui/components/MoveToPageMenu.js.map +7 -0
- package/dist-cjs/lib/ui/components/NavigationZone/Minimap.js +208 -0
- package/dist-cjs/lib/ui/components/NavigationZone/Minimap.js.map +7 -0
- package/dist-cjs/lib/ui/components/NavigationZone/MinimapManager.js +293 -0
- package/dist-cjs/lib/ui/components/NavigationZone/MinimapManager.js.map +7 -0
- package/dist-cjs/lib/ui/components/NavigationZone/NavigationZone.js +103 -0
- package/dist-cjs/lib/ui/components/NavigationZone/NavigationZone.js.map +7 -0
- package/dist-cjs/lib/ui/components/NavigationZone/ZoomMenu.js +118 -0
- package/dist-cjs/lib/ui/components/NavigationZone/ZoomMenu.js.map +7 -0
- package/dist-cjs/lib/ui/components/OfflineIndicator/OfflineIndicator.js +47 -0
- package/dist-cjs/lib/ui/components/OfflineIndicator/OfflineIndicator.js.map +7 -0
- package/dist-cjs/lib/ui/components/PageMenu/PageItemInput.js +63 -0
- package/dist-cjs/lib/ui/components/PageMenu/PageItemInput.js.map +7 -0
- package/dist-cjs/lib/ui/components/PageMenu/PageItemSubmenu.js +88 -0
- package/dist-cjs/lib/ui/components/PageMenu/PageItemSubmenu.js.map +7 -0
- package/dist-cjs/lib/ui/components/PageMenu/PageMenu.js +395 -0
- package/dist-cjs/lib/ui/components/PageMenu/PageMenu.js.map +7 -0
- package/dist-cjs/lib/ui/components/PageMenu/edit-pages-shared.js +45 -0
- package/dist-cjs/lib/ui/components/PageMenu/edit-pages-shared.js.map +7 -0
- package/dist-cjs/lib/ui/components/PenModeToggle.js +45 -0
- package/dist-cjs/lib/ui/components/PenModeToggle.js.map +7 -0
- package/dist-cjs/lib/ui/components/RedoButton.js +49 -0
- package/dist-cjs/lib/ui/components/RedoButton.js.map +7 -0
- package/dist-cjs/lib/ui/components/Spinner.js +41 -0
- package/dist-cjs/lib/ui/components/Spinner.js.map +7 -0
- package/dist-cjs/lib/ui/components/StopFollowing.js +45 -0
- package/dist-cjs/lib/ui/components/StopFollowing.js.map +7 -0
- package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js +138 -0
- package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js.map +7 -0
- package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js +89 -0
- package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js.map +7 -0
- package/dist-cjs/lib/ui/components/StylePanel/StylePanel.js +313 -0
- package/dist-cjs/lib/ui/components/StylePanel/StylePanel.js.map +7 -0
- package/dist-cjs/lib/ui/components/StylePanel/styles.js +119 -0
- package/dist-cjs/lib/ui/components/StylePanel/styles.js.map +7 -0
- package/dist-cjs/lib/ui/components/Toasts.js +101 -0
- package/dist-cjs/lib/ui/components/Toasts.js.map +7 -0
- package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js +73 -0
- package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js.map +7 -0
- package/dist-cjs/lib/ui/components/Toolbar/Toolbar.js +247 -0
- package/dist-cjs/lib/ui/components/Toolbar/Toolbar.js.map +7 -0
- package/dist-cjs/lib/ui/components/TrashButton.js +51 -0
- package/dist-cjs/lib/ui/components/TrashButton.js.map +7 -0
- package/dist-cjs/lib/ui/components/UndoButton.js +49 -0
- package/dist-cjs/lib/ui/components/UndoButton.js.map +7 -0
- package/dist-cjs/lib/ui/components/primitives/Button.js +79 -0
- package/dist-cjs/lib/ui/components/primitives/Button.js.map +7 -0
- package/dist-cjs/lib/ui/components/primitives/ButtonPicker.js +121 -0
- package/dist-cjs/lib/ui/components/primitives/ButtonPicker.js.map +7 -0
- package/dist-cjs/lib/ui/components/primitives/Dialog.js +70 -0
- package/dist-cjs/lib/ui/components/primitives/Dialog.js.map +7 -0
- package/dist-cjs/lib/ui/components/primitives/DropdownMenu.js +187 -0
- package/dist-cjs/lib/ui/components/primitives/DropdownMenu.js.map +7 -0
- package/dist-cjs/lib/ui/components/primitives/Icon.js +71 -0
- package/dist-cjs/lib/ui/components/primitives/Icon.js.map +7 -0
- package/dist-cjs/lib/ui/components/primitives/Input.js +155 -0
- package/dist-cjs/lib/ui/components/primitives/Input.js.map +7 -0
- package/dist-cjs/lib/ui/components/primitives/Kbd.js +29 -0
- package/dist-cjs/lib/ui/components/primitives/Kbd.js.map +7 -0
- package/dist-cjs/lib/ui/components/primitives/Popover.js +69 -0
- package/dist-cjs/lib/ui/components/primitives/Popover.js.map +7 -0
- package/dist-cjs/lib/ui/components/primitives/Slider.js +69 -0
- package/dist-cjs/lib/ui/components/primitives/Slider.js.map +7 -0
- package/dist-cjs/lib/ui/components/primitives/shared.js +44 -0
- package/dist-cjs/lib/ui/components/primitives/shared.js.map +7 -0
- package/dist-cjs/lib/ui/constants.js +25 -0
- package/dist-cjs/lib/ui/constants.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/clipboard/pasteExcalidrawContent.js +454 -0
- package/dist-cjs/lib/ui/hooks/clipboard/pasteExcalidrawContent.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/clipboard/pasteFiles.js +37 -0
- package/dist-cjs/lib/ui/hooks/clipboard/pasteFiles.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/clipboard/pasteTldrawContent.js +32 -0
- package/dist-cjs/lib/ui/hooks/clipboard/pasteTldrawContent.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/clipboard/pasteUrl.js +48 -0
- package/dist-cjs/lib/ui/hooks/clipboard/pasteUrl.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/menuHelpers.js +172 -0
- package/dist-cjs/lib/ui/hooks/menuHelpers.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useActions.js +1152 -0
- package/dist-cjs/lib/ui/hooks/useActions.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useActionsMenuSchema.js +112 -0
- package/dist-cjs/lib/ui/hooks/useActionsMenuSchema.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useAssetUrls.js +41 -0
- package/dist-cjs/lib/ui/hooks/useAssetUrls.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useBreakpoint.js +64 -0
- package/dist-cjs/lib/ui/hooks/useBreakpoint.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useCanRedo.js +29 -0
- package/dist-cjs/lib/ui/hooks/useCanRedo.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useCanUndo.js +29 -0
- package/dist-cjs/lib/ui/hooks/useCanUndo.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useClipboardEvents.js +463 -0
- package/dist-cjs/lib/ui/hooks/useClipboardEvents.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useContextMenuSchema.js +228 -0
- package/dist-cjs/lib/ui/hooks/useContextMenuSchema.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useCopyAs.js +47 -0
- package/dist-cjs/lib/ui/hooks/useCopyAs.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useDialogsProvider.js +108 -0
- package/dist-cjs/lib/ui/hooks/useDialogsProvider.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useEditorEvents.js +43 -0
- package/dist-cjs/lib/ui/hooks/useEditorEvents.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useEventsProvider.js +47 -0
- package/dist-cjs/lib/ui/hooks/useEventsProvider.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useExportAs.js +51 -0
- package/dist-cjs/lib/ui/hooks/useExportAs.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useHasLinkShapeSelected.js +36 -0
- package/dist-cjs/lib/ui/hooks/useHasLinkShapeSelected.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useHelpMenuSchema.js +103 -0
- package/dist-cjs/lib/ui/hooks/useHelpMenuSchema.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useHighDpiCanvas.js +35 -0
- package/dist-cjs/lib/ui/hooks/useHighDpiCanvas.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useInsertMedia.js +57 -0
- package/dist-cjs/lib/ui/hooks/useInsertMedia.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js +138 -0
- package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useKeyboardShortcutsSchema.js +134 -0
- package/dist-cjs/lib/ui/hooks/useKeyboardShortcutsSchema.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useLocalStorageState.js +59 -0
- package/dist-cjs/lib/ui/hooks/useLocalStorageState.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useMenuIsOpen.js +74 -0
- package/dist-cjs/lib/ui/hooks/useMenuIsOpen.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useMenuSchema.js +260 -0
- package/dist-cjs/lib/ui/hooks/useMenuSchema.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useOnlyFlippableShape.js +38 -0
- package/dist-cjs/lib/ui/hooks/useOnlyFlippableShape.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/usePreloadAssets.js +106 -0
- package/dist-cjs/lib/ui/hooks/usePreloadAssets.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/usePreloadIcons.js +51 -0
- package/dist-cjs/lib/ui/hooks/usePreloadIcons.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/usePrint.js +220 -0
- package/dist-cjs/lib/ui/hooks/usePrint.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useReadonly.js +29 -0
- package/dist-cjs/lib/ui/hooks/useReadonly.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useRevelantStyles.js +45 -0
- package/dist-cjs/lib/ui/hooks/useRevelantStyles.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useShowAutoSizeToggle.js +36 -0
- package/dist-cjs/lib/ui/hooks/useShowAutoSizeToggle.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useToastsProvider.js +53 -0
- package/dist-cjs/lib/ui/hooks/useToastsProvider.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useToolbarSchema.js +99 -0
- package/dist-cjs/lib/ui/hooks/useToolbarSchema.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useTools.js +235 -0
- package/dist-cjs/lib/ui/hooks/useTools.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js +17 -0
- package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +377 -0
- package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useTranslation/translations.js +67 -0
- package/dist-cjs/lib/ui/hooks/useTranslation/translations.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useTranslation/useLanguages.js +32 -0
- package/dist-cjs/lib/ui/hooks/useTranslation/useLanguages.js.map +7 -0
- package/dist-cjs/lib/ui/hooks/useTranslation/useTranslation.js +101 -0
- package/dist-cjs/lib/ui/hooks/useTranslation/useTranslation.js.map +7 -0
- package/dist-cjs/lib/ui/icon-types.js +190 -0
- package/dist-cjs/lib/ui/icon-types.js.map +7 -0
- package/dist-cjs/lib/ui/overrides.js +178 -0
- package/dist-cjs/lib/ui/overrides.js.map +7 -0
- package/dist-cjs/lib/ui/version.js +25 -0
- package/dist-cjs/lib/ui/version.js.map +7 -0
- package/dist-cjs/lib/utils/assets/assets.js +91 -0
- package/dist-cjs/lib/utils/assets/assets.js.map +7 -0
- package/dist-cjs/lib/utils/assets/is-gif-animated.js +74 -0
- package/dist-cjs/lib/utils/assets/is-gif-animated.js.map +7 -0
- package/dist-cjs/lib/utils/assets.js +91 -0
- package/dist-cjs/lib/utils/assets.js.map +7 -0
- package/dist-cjs/lib/utils/embeds/embeds.js +85 -0
- package/dist-cjs/lib/utils/embeds/embeds.js.map +7 -0
- package/dist-cjs/lib/utils/export/copyAs.js +116 -0
- package/dist-cjs/lib/utils/export/copyAs.js.map +7 -0
- package/dist-cjs/lib/utils/export/export.js +117 -0
- package/dist-cjs/lib/utils/export/export.js.map +7 -0
- package/dist-cjs/lib/utils/export/exportAs.js +88 -0
- package/dist-cjs/lib/utils/export/exportAs.js.map +7 -0
- package/dist-cjs/lib/utils/frames/frames.js +92 -0
- package/dist-cjs/lib/utils/frames/frames.js.map +7 -0
- package/dist-cjs/lib/utils/static-assets/assetUrls.js +48 -0
- package/dist-cjs/lib/utils/static-assets/assetUrls.js.map +7 -0
- package/dist-cjs/lib/utils/text/text.js +57 -0
- package/dist-cjs/lib/utils/text/text.js.map +7 -0
- package/dist-cjs/lib/utils/tldr/buildFromV1Document.js +792 -0
- package/dist-cjs/lib/utils/tldr/buildFromV1Document.js.map +7 -0
- package/dist-cjs/lib/utils/tldr/file.js +230 -0
- package/dist-cjs/lib/utils/tldr/file.js.map +7 -0
- package/dist-esm/index.d.mts +2954 -0
- package/dist-esm/index.mjs +234 -0
- package/dist-esm/index.mjs.map +7 -0
- package/dist-esm/lib/Tldraw.mjs +127 -0
- package/dist-esm/lib/Tldraw.mjs.map +7 -0
- package/dist-esm/lib/canvas/TldrawCropHandles.mjs +134 -0
- package/dist-esm/lib/canvas/TldrawCropHandles.mjs.map +7 -0
- package/dist-esm/lib/canvas/TldrawHandles.mjs +17 -0
- package/dist-esm/lib/canvas/TldrawHandles.mjs.map +7 -0
- package/dist-esm/lib/canvas/TldrawHoveredShapeIndicator.mjs +26 -0
- package/dist-esm/lib/canvas/TldrawHoveredShapeIndicator.mjs.map +7 -0
- package/dist-esm/lib/canvas/TldrawScribble.mjs +42 -0
- package/dist-esm/lib/canvas/TldrawScribble.mjs.map +7 -0
- package/dist-esm/lib/canvas/TldrawSelectionBackground.mjs +28 -0
- package/dist-esm/lib/canvas/TldrawSelectionBackground.mjs.map +7 -0
- package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs +487 -0
- package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs.map +7 -0
- package/dist-esm/lib/defaultExternalContentHandlers.mjs +387 -0
- package/dist-esm/lib/defaultExternalContentHandlers.mjs.map +7 -0
- package/dist-esm/lib/defaultShapeTools.mjs +22 -0
- package/dist-esm/lib/defaultShapeTools.mjs.map +7 -0
- package/dist-esm/lib/defaultShapeUtils.mjs +30 -0
- package/dist-esm/lib/defaultShapeUtils.mjs.map +7 -0
- package/dist-esm/lib/defaultSideEffects.mjs +49 -0
- package/dist-esm/lib/defaultSideEffects.mjs.map +7 -0
- package/dist-esm/lib/defaultTools.mjs +10 -0
- package/dist-esm/lib/defaultTools.mjs.map +7 -0
- package/dist-esm/lib/shapes/arrow/ArrowShapeTool.mjs +13 -0
- package/dist-esm/lib/shapes/arrow/ArrowShapeTool.mjs.map +7 -0
- package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +808 -0
- package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +7 -0
- package/dist-esm/lib/shapes/arrow/components/ArrowTextLabel.mjs +84 -0
- package/dist-esm/lib/shapes/arrow/components/ArrowTextLabel.mjs.map +7 -0
- package/dist-esm/lib/shapes/arrow/toolStates/Idle.mjs +33 -0
- package/dist-esm/lib/shapes/arrow/toolStates/Idle.mjs.map +7 -0
- package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs +162 -0
- package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs.map +7 -0
- package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs +154 -0
- package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs.map +7 -0
- package/dist-esm/lib/shapes/draw/DrawShapeTool.mjs +17 -0
- package/dist-esm/lib/shapes/draw/DrawShapeTool.mjs.map +7 -0
- package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs +237 -0
- package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs.map +7 -0
- package/dist-esm/lib/shapes/draw/getPath.mjs +87 -0
- package/dist-esm/lib/shapes/draw/getPath.mjs.map +7 -0
- package/dist-esm/lib/shapes/draw/toolStates/Drawing.mjs +546 -0
- package/dist-esm/lib/shapes/draw/toolStates/Drawing.mjs.map +7 -0
- package/dist-esm/lib/shapes/draw/toolStates/Idle.mjs +17 -0
- package/dist-esm/lib/shapes/draw/toolStates/Idle.mjs.map +7 -0
- package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs +181 -0
- package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs.map +7 -0
- package/dist-esm/lib/shapes/frame/FrameShapeTool.mjs +46 -0
- package/dist-esm/lib/shapes/frame/FrameShapeTool.mjs.map +7 -0
- package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +216 -0
- package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +7 -0
- package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs +93 -0
- package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs.map +7 -0
- package/dist-esm/lib/shapes/frame/components/FrameLabelInput.mjs +81 -0
- package/dist-esm/lib/shapes/frame/components/FrameLabelInput.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/GeoShapeTool.mjs +13 -0
- package/dist-esm/lib/shapes/geo/GeoShapeTool.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs +1010 -0
- package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/cloudOutline.mjs +275 -0
- package/dist-esm/lib/shapes/geo/cloudOutline.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/components/DashStyleCloud.mjs +102 -0
- package/dist-esm/lib/shapes/geo/components/DashStyleCloud.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/components/DashStyleEllipse.mjs +101 -0
- package/dist-esm/lib/shapes/geo/components/DashStyleEllipse.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/components/DashStyleOval.mjs +93 -0
- package/dist-esm/lib/shapes/geo/components/DashStyleOval.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/components/DashStylePolygon.mjs +130 -0
- package/dist-esm/lib/shapes/geo/components/DashStylePolygon.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/components/DrawStyleCloud.mjs +54 -0
- package/dist-esm/lib/shapes/geo/components/DrawStyleCloud.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/components/DrawStyleEllipse.mjs +116 -0
- package/dist-esm/lib/shapes/geo/components/DrawStyleEllipse.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/components/DrawStylePolygon.mjs +68 -0
- package/dist-esm/lib/shapes/geo/components/DrawStylePolygon.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/components/SolidStyleCloud.mjs +54 -0
- package/dist-esm/lib/shapes/geo/components/SolidStyleCloud.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/components/SolidStyleEllipse.mjs +59 -0
- package/dist-esm/lib/shapes/geo/components/SolidStyleEllipse.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/components/SolidStyleOval.mjs +74 -0
- package/dist-esm/lib/shapes/geo/components/SolidStyleOval.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/components/SolidStylePolygon.mjs +61 -0
- package/dist-esm/lib/shapes/geo/components/SolidStylePolygon.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/helpers.mjs +33 -0
- package/dist-esm/lib/shapes/geo/helpers.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/toolStates/Idle.mjs +33 -0
- package/dist-esm/lib/shapes/geo/toolStates/Idle.mjs.map +7 -0
- package/dist-esm/lib/shapes/geo/toolStates/Pointing.mjs +104 -0
- package/dist-esm/lib/shapes/geo/toolStates/Pointing.mjs.map +7 -0
- package/dist-esm/lib/shapes/highlight/HighlightShapeTool.mjs +17 -0
- package/dist-esm/lib/shapes/highlight/HighlightShapeTool.mjs.map +7 -0
- package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs +198 -0
- package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs.map +7 -0
- package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs +252 -0
- package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs.map +7 -0
- package/dist-esm/lib/shapes/line/LineShapeTool.mjs +13 -0
- package/dist-esm/lib/shapes/line/LineShapeTool.mjs.map +7 -0
- package/dist-esm/lib/shapes/line/LineShapeUtil.mjs +357 -0
- package/dist-esm/lib/shapes/line/LineShapeUtil.mjs.map +7 -0
- package/dist-esm/lib/shapes/line/components/getLinePath.mjs +68 -0
- package/dist-esm/lib/shapes/line/components/getLinePath.mjs.map +7 -0
- package/dist-esm/lib/shapes/line/components/svg.mjs +57 -0
- package/dist-esm/lib/shapes/line/components/svg.mjs.map +7 -0
- package/dist-esm/lib/shapes/line/toolStates/Idle.mjs +19 -0
- package/dist-esm/lib/shapes/line/toolStates/Idle.mjs.map +7 -0
- package/dist-esm/lib/shapes/line/toolStates/Pointing.mjs +134 -0
- package/dist-esm/lib/shapes/line/toolStates/Pointing.mjs.map +7 -0
- package/dist-esm/lib/shapes/note/NoteShapeTool.mjs +13 -0
- package/dist-esm/lib/shapes/note/NoteShapeTool.mjs.map +7 -0
- package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs +193 -0
- package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs.map +7 -0
- package/dist-esm/lib/shapes/note/toolStates/Idle.mjs +17 -0
- package/dist-esm/lib/shapes/note/toolStates/Idle.mjs.map +7 -0
- package/dist-esm/lib/shapes/note/toolStates/Pointing.mjs +97 -0
- package/dist-esm/lib/shapes/note/toolStates/Pointing.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/HyperlinkButton.mjs +35 -0
- package/dist-esm/lib/shapes/shared/HyperlinkButton.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/ShapeFill.mjs +93 -0
- package/dist-esm/lib/shapes/shared/ShapeFill.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/TextHelpers.mjs +208 -0
- package/dist-esm/lib/shapes/shared/TextHelpers.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/TextLabel.mjs +112 -0
- package/dist-esm/lib/shapes/shared/TextLabel.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/createTextSvgElementFromSpans.mjs +57 -0
- package/dist-esm/lib/shapes/shared/createTextSvgElementFromSpans.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/default-shape-constants.mjs +52 -0
- package/dist-esm/lib/shapes/shared/default-shape-constants.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/defaultStyleDefs.mjs +240 -0
- package/dist-esm/lib/shapes/shared/defaultStyleDefs.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/freehand/getStroke.mjs +13 -0
- package/dist-esm/lib/shapes/shared/freehand/getStroke.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/freehand/getStrokeOutlinePoints.mjs +155 -0
- package/dist-esm/lib/shapes/shared/freehand/getStrokeOutlinePoints.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/freehand/getStrokePoints.mjs +124 -0
- package/dist-esm/lib/shapes/shared/freehand/getStrokePoints.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/freehand/getStrokeRadius.mjs +7 -0
- package/dist-esm/lib/shapes/shared/freehand/getStrokeRadius.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/freehand/setStrokePointRadii.mjs +81 -0
- package/dist-esm/lib/shapes/shared/freehand/setStrokePointRadii.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/freehand/svg.mjs +36 -0
- package/dist-esm/lib/shapes/shared/freehand/svg.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/freehand/svgInk.mjs +150 -0
- package/dist-esm/lib/shapes/shared/freehand/svgInk.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/freehand/types.mjs +1 -0
- package/dist-esm/lib/shapes/shared/freehand/types.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/getBrowserCanvasMaxSize.mjs +22 -0
- package/dist-esm/lib/shapes/shared/getBrowserCanvasMaxSize.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/getPerfectDashProps.mjs +76 -0
- package/dist-esm/lib/shapes/shared/getPerfectDashProps.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/getTextLabelSvgElement.mjs +36 -0
- package/dist-esm/lib/shapes/shared/getTextLabelSvgElement.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/legacyProps.mjs +22 -0
- package/dist-esm/lib/shapes/shared/legacyProps.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/polygon-helpers.mjs +96 -0
- package/dist-esm/lib/shapes/shared/polygon-helpers.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/resizeBox.mjs +99 -0
- package/dist-esm/lib/shapes/shared/resizeBox.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/resizeScaled.mjs +28 -0
- package/dist-esm/lib/shapes/shared/resizeScaled.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/rotated-box-shadow.mjs +30 -0
- package/dist-esm/lib/shapes/shared/rotated-box-shadow.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/useColorSpace.mjs +19 -0
- package/dist-esm/lib/shapes/shared/useColorSpace.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/useEditableText.mjs +165 -0
- package/dist-esm/lib/shapes/shared/useEditableText.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/useForceSolid.mjs +9 -0
- package/dist-esm/lib/shapes/shared/useForceSolid.mjs.map +7 -0
- package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs +18 -0
- package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs.map +7 -0
- package/dist-esm/lib/shapes/text/TextShapeTool.mjs +13 -0
- package/dist-esm/lib/shapes/text/TextShapeTool.mjs.map +7 -0
- package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +334 -0
- package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +7 -0
- package/dist-esm/lib/shapes/text/toolStates/Idle.mjs +42 -0
- package/dist-esm/lib/shapes/text/toolStates/Idle.mjs.map +7 -0
- package/dist-esm/lib/shapes/text/toolStates/Pointing.mjs +89 -0
- package/dist-esm/lib/shapes/text/toolStates/Pointing.mjs.map +7 -0
- package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs +180 -0
- package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs.map +7 -0
- package/dist-esm/lib/tools/EraserTool/EraserTool.mjs +16 -0
- package/dist-esm/lib/tools/EraserTool/EraserTool.mjs.map +7 -0
- package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs +95 -0
- package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs.map +7 -0
- package/dist-esm/lib/tools/EraserTool/childStates/Idle.mjs +14 -0
- package/dist-esm/lib/tools/EraserTool/childStates/Idle.mjs.map +7 -0
- package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs +67 -0
- package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs.map +7 -0
- package/dist-esm/lib/tools/HandTool/HandTool.mjs +38 -0
- package/dist-esm/lib/tools/HandTool/HandTool.mjs.map +7 -0
- package/dist-esm/lib/tools/HandTool/childStates/Dragging.mjs +38 -0
- package/dist-esm/lib/tools/HandTool/childStates/Dragging.mjs.map +7 -0
- package/dist-esm/lib/tools/HandTool/childStates/Idle.mjs +17 -0
- package/dist-esm/lib/tools/HandTool/childStates/Idle.mjs.map +7 -0
- package/dist-esm/lib/tools/HandTool/childStates/Pointing.mjs +35 -0
- package/dist-esm/lib/tools/HandTool/childStates/Pointing.mjs.map +7 -0
- package/dist-esm/lib/tools/LaserTool/LaserTool.mjs +15 -0
- package/dist-esm/lib/tools/LaserTool/LaserTool.mjs.map +7 -0
- package/dist-esm/lib/tools/LaserTool/childStates/Idle.mjs +11 -0
- package/dist-esm/lib/tools/LaserTool/childStates/Idle.mjs.map +7 -0
- package/dist-esm/lib/tools/LaserTool/childStates/Lasering.mjs +46 -0
- package/dist-esm/lib/tools/LaserTool/childStates/Lasering.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/DragAndDropManager.mjs +80 -0
- package/dist-esm/lib/tools/SelectTool/DragAndDropManager.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/SelectTool.mjs +50 -0
- package/dist-esm/lib/tools/SelectTool/SelectTool.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Brushing.mjs +131 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Brushing.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Crop/Crop.mjs +13 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Crop/Crop.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs +187 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.mjs +19 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.mjs +81 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/crop_helpers.mjs +40 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/crop_helpers.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Crop/crop-constants.mjs +5 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Crop/crop-constants.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Cropping.mjs +194 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Cropping.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs +217 -0
- package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/EditingShape.mjs +103 -0
- package/dist-esm/lib/tools/SelectTool/childStates/EditingShape.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs +447 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/PointingCanvas.mjs +36 -0
- package/dist-esm/lib/tools/SelectTool/childStates/PointingCanvas.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/PointingCropHandle.mjs +69 -0
- package/dist-esm/lib/tools/SelectTool/childStates/PointingCropHandle.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/PointingHandle.mjs +47 -0
- package/dist-esm/lib/tools/SelectTool/childStates/PointingHandle.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/PointingResizeHandle.mjs +73 -0
- package/dist-esm/lib/tools/SelectTool/childStates/PointingResizeHandle.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/PointingRotateHandle.mjs +63 -0
- package/dist-esm/lib/tools/SelectTool/childStates/PointingRotateHandle.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/PointingSelection.mjs +55 -0
- package/dist-esm/lib/tools/SelectTool/childStates/PointingSelection.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs +159 -0
- package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs +360 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs +136 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/ScribbleBrushing.mjs +125 -0
- package/dist-esm/lib/tools/SelectTool/childStates/ScribbleBrushing.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs +302 -0
- package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +7 -0
- package/dist-esm/lib/tools/SelectTool/children/DraggingHandle.mjs +217 -0
- package/dist-esm/lib/tools/SelectTool/children/DraggingHandle.mjs.map +7 -0
- package/dist-esm/lib/tools/ZoomTool/ZoomTool.mjs +61 -0
- package/dist-esm/lib/tools/ZoomTool/ZoomTool.mjs.map +7 -0
- package/dist-esm/lib/tools/ZoomTool/childStates/Idle.mjs +15 -0
- package/dist-esm/lib/tools/ZoomTool/childStates/Idle.mjs.map +7 -0
- package/dist-esm/lib/tools/ZoomTool/childStates/Pointing.mjs +35 -0
- package/dist-esm/lib/tools/ZoomTool/childStates/Pointing.mjs.map +7 -0
- package/dist-esm/lib/tools/ZoomTool/childStates/ZoomBrushing.mjs +52 -0
- package/dist-esm/lib/tools/ZoomTool/childStates/ZoomBrushing.mjs.map +7 -0
- package/dist-esm/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.mjs +21 -0
- package/dist-esm/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.mjs.map +7 -0
- package/dist-esm/lib/tools/selection-logic/getShouldEnterCropModeOnPointerDown.mjs +8 -0
- package/dist-esm/lib/tools/selection-logic/getShouldEnterCropModeOnPointerDown.mjs.map +7 -0
- package/dist-esm/lib/tools/selection-logic/selectOnCanvasPointerUp.mjs +60 -0
- package/dist-esm/lib/tools/selection-logic/selectOnCanvasPointerUp.mjs.map +7 -0
- package/dist-esm/lib/tools/selection-logic/updateHoveredId.mjs +27 -0
- package/dist-esm/lib/tools/selection-logic/updateHoveredId.mjs.map +7 -0
- package/dist-esm/lib/ui/TldrawUi.mjs +125 -0
- package/dist-esm/lib/ui/TldrawUi.mjs.map +7 -0
- package/dist-esm/lib/ui/TldrawUiContextProvider.mjs +37 -0
- package/dist-esm/lib/ui/TldrawUiContextProvider.mjs.map +7 -0
- package/dist-esm/lib/ui/assetUrls.mjs +47 -0
- package/dist-esm/lib/ui/assetUrls.mjs.map +7 -0
- package/dist-esm/lib/ui/components/ActionsMenu.mjs +66 -0
- package/dist-esm/lib/ui/components/ActionsMenu.mjs.map +7 -0
- package/dist-esm/lib/ui/components/BackToContent.mjs +47 -0
- package/dist-esm/lib/ui/components/BackToContent.mjs.map +7 -0
- package/dist-esm/lib/ui/components/ContextMenu.mjs +184 -0
- package/dist-esm/lib/ui/components/ContextMenu.mjs.map +7 -0
- package/dist-esm/lib/ui/components/DebugPanel.mjs +315 -0
- package/dist-esm/lib/ui/components/DebugPanel.mjs.map +7 -0
- package/dist-esm/lib/ui/components/Dialogs.mjs +34 -0
- package/dist-esm/lib/ui/components/Dialogs.mjs.map +7 -0
- package/dist-esm/lib/ui/components/DuplicateButton.mjs +27 -0
- package/dist-esm/lib/ui/components/DuplicateButton.mjs.map +7 -0
- package/dist-esm/lib/ui/components/EditLinkDialog.mjs +131 -0
- package/dist-esm/lib/ui/components/EditLinkDialog.mjs.map +7 -0
- package/dist-esm/lib/ui/components/EmbedDialog.mjs +122 -0
- package/dist-esm/lib/ui/components/EmbedDialog.mjs.map +7 -0
- package/dist-esm/lib/ui/components/FollowingIndicator.mjs +21 -0
- package/dist-esm/lib/ui/components/FollowingIndicator.mjs.map +7 -0
- package/dist-esm/lib/ui/components/HTMLCanvas.mjs +36 -0
- package/dist-esm/lib/ui/components/HTMLCanvas.mjs.map +7 -0
- package/dist-esm/lib/ui/components/HelpMenu.mjs +86 -0
- package/dist-esm/lib/ui/components/HelpMenu.mjs.map +7 -0
- package/dist-esm/lib/ui/components/KeyboardShortcutsDialog.mjs +44 -0
- package/dist-esm/lib/ui/components/KeyboardShortcutsDialog.mjs.map +7 -0
- package/dist-esm/lib/ui/components/LanguageMenu.mjs +30 -0
- package/dist-esm/lib/ui/components/LanguageMenu.mjs.map +7 -0
- package/dist-esm/lib/ui/components/Menu.mjs +109 -0
- package/dist-esm/lib/ui/components/Menu.mjs.map +7 -0
- package/dist-esm/lib/ui/components/MenuZone.mjs +31 -0
- package/dist-esm/lib/ui/components/MenuZone.mjs.map +7 -0
- package/dist-esm/lib/ui/components/MobileStylePanel.mjs +54 -0
- package/dist-esm/lib/ui/components/MobileStylePanel.mjs.map +7 -0
- package/dist-esm/lib/ui/components/MoveToPageMenu.mjs +112 -0
- package/dist-esm/lib/ui/components/MoveToPageMenu.mjs.map +7 -0
- package/dist-esm/lib/ui/components/NavigationZone/Minimap.mjs +191 -0
- package/dist-esm/lib/ui/components/NavigationZone/Minimap.mjs.map +7 -0
- package/dist-esm/lib/ui/components/NavigationZone/MinimapManager.mjs +279 -0
- package/dist-esm/lib/ui/components/NavigationZone/MinimapManager.mjs.map +7 -0
- package/dist-esm/lib/ui/components/NavigationZone/NavigationZone.mjs +83 -0
- package/dist-esm/lib/ui/components/NavigationZone/NavigationZone.mjs.map +7 -0
- package/dist-esm/lib/ui/components/NavigationZone/ZoomMenu.mjs +88 -0
- package/dist-esm/lib/ui/components/NavigationZone/ZoomMenu.mjs.map +7 -0
- package/dist-esm/lib/ui/components/OfflineIndicator/OfflineIndicator.mjs +17 -0
- package/dist-esm/lib/ui/components/OfflineIndicator/OfflineIndicator.mjs.map +7 -0
- package/dist-esm/lib/ui/components/PageMenu/PageItemInput.mjs +43 -0
- package/dist-esm/lib/ui/components/PageMenu/PageItemInput.mjs.map +7 -0
- package/dist-esm/lib/ui/components/PageMenu/PageItemSubmenu.mjs +58 -0
- package/dist-esm/lib/ui/components/PageMenu/PageItemSubmenu.mjs.map +7 -0
- package/dist-esm/lib/ui/components/PageMenu/PageMenu.mjs +381 -0
- package/dist-esm/lib/ui/components/PageMenu/PageMenu.mjs.map +7 -0
- package/dist-esm/lib/ui/components/PageMenu/edit-pages-shared.mjs +29 -0
- package/dist-esm/lib/ui/components/PageMenu/edit-pages-shared.mjs.map +7 -0
- package/dist-esm/lib/ui/components/PenModeToggle.mjs +25 -0
- package/dist-esm/lib/ui/components/PenModeToggle.mjs.map +7 -0
- package/dist-esm/lib/ui/components/RedoButton.mjs +29 -0
- package/dist-esm/lib/ui/components/RedoButton.mjs.map +7 -0
- package/dist-esm/lib/ui/components/Spinner.mjs +21 -0
- package/dist-esm/lib/ui/components/Spinner.mjs.map +7 -0
- package/dist-esm/lib/ui/components/StopFollowing.mjs +25 -0
- package/dist-esm/lib/ui/components/StopFollowing.mjs.map +7 -0
- package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs +108 -0
- package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs.map +7 -0
- package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs +59 -0
- package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs.map +7 -0
- package/dist-esm/lib/ui/components/StylePanel/StylePanel.mjs +297 -0
- package/dist-esm/lib/ui/components/StylePanel/StylePanel.mjs.map +7 -0
- package/dist-esm/lib/ui/components/StylePanel/styles.mjs +99 -0
- package/dist-esm/lib/ui/components/StylePanel/styles.mjs.map +7 -0
- package/dist-esm/lib/ui/components/Toasts.mjs +71 -0
- package/dist-esm/lib/ui/components/Toasts.mjs.map +7 -0
- package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs +43 -0
- package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs.map +7 -0
- package/dist-esm/lib/ui/components/Toolbar/Toolbar.mjs +217 -0
- package/dist-esm/lib/ui/components/Toolbar/Toolbar.mjs.map +7 -0
- package/dist-esm/lib/ui/components/TrashButton.mjs +31 -0
- package/dist-esm/lib/ui/components/TrashButton.mjs.map +7 -0
- package/dist-esm/lib/ui/components/UndoButton.mjs +29 -0
- package/dist-esm/lib/ui/components/UndoButton.mjs.map +7 -0
- package/dist-esm/lib/ui/components/primitives/Button.mjs +49 -0
- package/dist-esm/lib/ui/components/primitives/Button.mjs.map +7 -0
- package/dist-esm/lib/ui/components/primitives/ButtonPicker.mjs +96 -0
- package/dist-esm/lib/ui/components/primitives/ButtonPicker.mjs.map +7 -0
- package/dist-esm/lib/ui/components/primitives/Dialog.mjs +40 -0
- package/dist-esm/lib/ui/components/primitives/Dialog.mjs.map +7 -0
- package/dist-esm/lib/ui/components/primitives/DropdownMenu.mjs +157 -0
- package/dist-esm/lib/ui/components/primitives/DropdownMenu.mjs.map +7 -0
- package/dist-esm/lib/ui/components/primitives/Icon.mjs +41 -0
- package/dist-esm/lib/ui/components/primitives/Icon.mjs.map +7 -0
- package/dist-esm/lib/ui/components/primitives/Input.mjs +125 -0
- package/dist-esm/lib/ui/components/primitives/Input.mjs.map +7 -0
- package/dist-esm/lib/ui/components/primitives/Kbd.mjs +9 -0
- package/dist-esm/lib/ui/components/primitives/Kbd.mjs.map +7 -0
- package/dist-esm/lib/ui/components/primitives/Popover.mjs +39 -0
- package/dist-esm/lib/ui/components/primitives/Popover.mjs.map +7 -0
- package/dist-esm/lib/ui/components/primitives/Slider.mjs +49 -0
- package/dist-esm/lib/ui/components/primitives/Slider.mjs.map +7 -0
- package/dist-esm/lib/ui/components/primitives/shared.mjs +24 -0
- package/dist-esm/lib/ui/components/primitives/shared.mjs.map +7 -0
- package/dist-esm/lib/ui/constants.mjs +5 -0
- package/dist-esm/lib/ui/constants.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/clipboard/pasteExcalidrawContent.mjs +444 -0
- package/dist-esm/lib/ui/hooks/clipboard/pasteExcalidrawContent.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/clipboard/pasteFiles.mjs +17 -0
- package/dist-esm/lib/ui/hooks/clipboard/pasteFiles.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/clipboard/pasteTldrawContent.mjs +12 -0
- package/dist-esm/lib/ui/hooks/clipboard/pasteTldrawContent.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/clipboard/pasteUrl.mjs +28 -0
- package/dist-esm/lib/ui/hooks/clipboard/pasteUrl.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/menuHelpers.mjs +157 -0
- package/dist-esm/lib/ui/hooks/menuHelpers.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useActions.mjs +1132 -0
- package/dist-esm/lib/ui/hooks/useActions.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useActionsMenuSchema.mjs +87 -0
- package/dist-esm/lib/ui/hooks/useActionsMenuSchema.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useAssetUrls.mjs +21 -0
- package/dist-esm/lib/ui/hooks/useAssetUrls.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useBreakpoint.mjs +34 -0
- package/dist-esm/lib/ui/hooks/useBreakpoint.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useCanRedo.mjs +9 -0
- package/dist-esm/lib/ui/hooks/useCanRedo.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useCanUndo.mjs +9 -0
- package/dist-esm/lib/ui/hooks/useCanUndo.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs +448 -0
- package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useContextMenuSchema.mjs +208 -0
- package/dist-esm/lib/ui/hooks/useContextMenuSchema.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useCopyAs.mjs +27 -0
- package/dist-esm/lib/ui/hooks/useCopyAs.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useDialogsProvider.mjs +88 -0
- package/dist-esm/lib/ui/hooks/useDialogsProvider.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useEditorEvents.mjs +23 -0
- package/dist-esm/lib/ui/hooks/useEditorEvents.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useEventsProvider.mjs +17 -0
- package/dist-esm/lib/ui/hooks/useEventsProvider.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useExportAs.mjs +31 -0
- package/dist-esm/lib/ui/hooks/useExportAs.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useHasLinkShapeSelected.mjs +16 -0
- package/dist-esm/lib/ui/hooks/useHasLinkShapeSelected.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useHelpMenuSchema.mjs +73 -0
- package/dist-esm/lib/ui/hooks/useHelpMenuSchema.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useHighDpiCanvas.mjs +15 -0
- package/dist-esm/lib/ui/hooks/useHighDpiCanvas.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useInsertMedia.mjs +37 -0
- package/dist-esm/lib/ui/hooks/useInsertMedia.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs +108 -0
- package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useKeyboardShortcutsSchema.mjs +104 -0
- package/dist-esm/lib/ui/hooks/useKeyboardShortcutsSchema.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useLocalStorageState.mjs +29 -0
- package/dist-esm/lib/ui/hooks/useLocalStorageState.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useMenuIsOpen.mjs +54 -0
- package/dist-esm/lib/ui/hooks/useMenuIsOpen.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useMenuSchema.mjs +239 -0
- package/dist-esm/lib/ui/hooks/useMenuSchema.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useOnlyFlippableShape.mjs +21 -0
- package/dist-esm/lib/ui/hooks/useOnlyFlippableShape.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/usePreloadAssets.mjs +86 -0
- package/dist-esm/lib/ui/hooks/usePreloadAssets.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/usePreloadIcons.mjs +31 -0
- package/dist-esm/lib/ui/hooks/usePreloadIcons.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/usePrint.mjs +200 -0
- package/dist-esm/lib/ui/hooks/usePrint.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useReadonly.mjs +9 -0
- package/dist-esm/lib/ui/hooks/useReadonly.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useRevelantStyles.mjs +33 -0
- package/dist-esm/lib/ui/hooks/useRevelantStyles.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useShowAutoSizeToggle.mjs +16 -0
- package/dist-esm/lib/ui/hooks/useShowAutoSizeToggle.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useToastsProvider.mjs +33 -0
- package/dist-esm/lib/ui/hooks/useToastsProvider.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useToolbarSchema.mjs +69 -0
- package/dist-esm/lib/ui/hooks/useToolbarSchema.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useTools.mjs +205 -0
- package/dist-esm/lib/ui/hooks/useTools.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useTranslation/TLUiTranslationKey.mjs +1 -0
- package/dist-esm/lib/ui/hooks/useTranslation/TLUiTranslationKey.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +357 -0
- package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useTranslation/translations.mjs +47 -0
- package/dist-esm/lib/ui/hooks/useTranslation/translations.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useTranslation/useLanguages.mjs +12 -0
- package/dist-esm/lib/ui/hooks/useTranslation/useLanguages.mjs.map +7 -0
- package/dist-esm/lib/ui/hooks/useTranslation/useTranslation.mjs +71 -0
- package/dist-esm/lib/ui/hooks/useTranslation/useTranslation.mjs.map +7 -0
- package/dist-esm/lib/ui/icon-types.mjs +170 -0
- package/dist-esm/lib/ui/icon-types.mjs.map +7 -0
- package/dist-esm/lib/ui/overrides.mjs +158 -0
- package/dist-esm/lib/ui/overrides.mjs.map +7 -0
- package/dist-esm/lib/ui/version.mjs +5 -0
- package/dist-esm/lib/ui/version.mjs.map +7 -0
- package/dist-esm/lib/utils/assets/assets.mjs +61 -0
- package/dist-esm/lib/utils/assets/assets.mjs.map +7 -0
- package/dist-esm/lib/utils/assets/is-gif-animated.mjs +54 -0
- package/dist-esm/lib/utils/assets/is-gif-animated.mjs.map +7 -0
- package/dist-esm/lib/utils/assets.mjs +61 -0
- package/dist-esm/lib/utils/assets.mjs.map +7 -0
- package/dist-esm/lib/utils/embeds/embeds.mjs +65 -0
- package/dist-esm/lib/utils/embeds/embeds.mjs.map +7 -0
- package/dist-esm/lib/utils/export/copyAs.mjs +96 -0
- package/dist-esm/lib/utils/export/copyAs.mjs.map +7 -0
- package/dist-esm/lib/utils/export/export.mjs +97 -0
- package/dist-esm/lib/utils/export/export.mjs.map +7 -0
- package/dist-esm/lib/utils/export/exportAs.mjs +68 -0
- package/dist-esm/lib/utils/export/exportAs.mjs.map +7 -0
- package/dist-esm/lib/utils/frames/frames.mjs +76 -0
- package/dist-esm/lib/utils/frames/frames.mjs.map +7 -0
- package/dist-esm/lib/utils/static-assets/assetUrls.mjs +28 -0
- package/dist-esm/lib/utils/static-assets/assetUrls.mjs.map +7 -0
- package/dist-esm/lib/utils/text/text.mjs +37 -0
- package/dist-esm/lib/utils/text/text.mjs.map +7 -0
- package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs +779 -0
- package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs.map +7 -0
- package/dist-esm/lib/utils/tldr/file.mjs +219 -0
- package/dist-esm/lib/utils/tldr/file.mjs.map +7 -0
- package/package.json +105 -0
- package/src/index.ts +174 -0
- package/src/lib/Tldraw.test.tsx +78 -0
- package/src/lib/Tldraw.tsx +179 -0
- package/src/lib/canvas/TldrawCropHandles.tsx +126 -0
- package/src/lib/canvas/TldrawHandles.tsx +15 -0
- package/src/lib/canvas/TldrawHoveredShapeIndicator.tsx +30 -0
- package/src/lib/canvas/TldrawScribble.tsx +45 -0
- package/src/lib/canvas/TldrawSelectionBackground.tsx +29 -0
- package/src/lib/canvas/TldrawSelectionForeground.tsx +526 -0
- package/src/lib/defaultExternalContentHandlers.ts +533 -0
- package/src/lib/defaultShapeTools.ts +20 -0
- package/src/lib/defaultShapeUtils.ts +29 -0
- package/src/lib/defaultSideEffects.ts +48 -0
- package/src/lib/defaultTools.ts +8 -0
- package/src/lib/shapes/arrow/ArrowShapeTool.test.ts +558 -0
- package/src/lib/shapes/arrow/ArrowShapeTool.ts +12 -0
- package/src/lib/shapes/arrow/ArrowShapeUtil.test.ts +595 -0
- package/src/lib/shapes/arrow/ArrowShapeUtil.tsx +1036 -0
- package/src/lib/shapes/arrow/components/ArrowTextLabel.tsx +87 -0
- package/src/lib/shapes/arrow/toolStates/Idle.ts +37 -0
- package/src/lib/shapes/arrow/toolStates/Pointing.ts +190 -0
- package/src/lib/shapes/bookmark/BookmarkShapeUtil.tsx +196 -0
- package/src/lib/shapes/draw/DrawShapeTool.test.ts +52 -0
- package/src/lib/shapes/draw/DrawShapeTool.ts +17 -0
- package/src/lib/shapes/draw/DrawShapeUtil.tsx +298 -0
- package/src/lib/shapes/draw/getPath.ts +108 -0
- package/src/lib/shapes/draw/toolStates/Drawing.ts +722 -0
- package/src/lib/shapes/draw/toolStates/Idle.ts +17 -0
- package/src/lib/shapes/embed/EmbedShapeUtil.tsx +218 -0
- package/src/lib/shapes/frame/FrameShapeTool.test.ts +169 -0
- package/src/lib/shapes/frame/FrameShapeTool.ts +53 -0
- package/src/lib/shapes/frame/FrameShapeUtil.tsx +258 -0
- package/src/lib/shapes/frame/components/FrameHeading.tsx +115 -0
- package/src/lib/shapes/frame/components/FrameLabelInput.tsx +85 -0
- package/src/lib/shapes/geo/GeoShapeTool.test.ts +191 -0
- package/src/lib/shapes/geo/GeoShapeTool.ts +11 -0
- package/src/lib/shapes/geo/GeoShapeUtil.tsx +1153 -0
- package/src/lib/shapes/geo/cloudOutline.ts +391 -0
- package/src/lib/shapes/geo/components/DashStyleCloud.tsx +135 -0
- package/src/lib/shapes/geo/components/DashStyleEllipse.tsx +117 -0
- package/src/lib/shapes/geo/components/DashStyleOval.tsx +102 -0
- package/src/lib/shapes/geo/components/DashStylePolygon.tsx +152 -0
- package/src/lib/shapes/geo/components/DrawStyleCloud.tsx +65 -0
- package/src/lib/shapes/geo/components/DrawStyleEllipse.tsx +145 -0
- package/src/lib/shapes/geo/components/DrawStylePolygon.tsx +263 -0
- package/src/lib/shapes/geo/components/SolidStyleCloud.tsx +65 -0
- package/src/lib/shapes/geo/components/SolidStyleEllipse.tsx +68 -0
- package/src/lib/shapes/geo/components/SolidStyleOval.tsx +83 -0
- package/src/lib/shapes/geo/components/SolidStylePolygon.tsx +77 -0
- package/src/lib/shapes/geo/helpers.ts +34 -0
- package/src/lib/shapes/geo/toolStates/Idle.ts +38 -0
- package/src/lib/shapes/geo/toolStates/Pointing.ts +131 -0
- package/src/lib/shapes/highlight/HighlightShapeTool.test.ts +3 -0
- package/src/lib/shapes/highlight/HighlightShapeTool.ts +17 -0
- package/src/lib/shapes/highlight/HighlightShapeUtil.tsx +255 -0
- package/src/lib/shapes/image/ImageShapeUtil.tsx +313 -0
- package/src/lib/shapes/line/LineShapeTool.test.ts +228 -0
- package/src/lib/shapes/line/LineShapeTool.ts +12 -0
- package/src/lib/shapes/line/LineShapeUtil.test.ts +222 -0
- package/src/lib/shapes/line/LineShapeUtil.tsx +421 -0
- package/src/lib/shapes/line/__snapshots__/LineShapeUtil.test.ts.snap +41 -0
- package/src/lib/shapes/line/components/getLinePath.ts +91 -0
- package/src/lib/shapes/line/components/svg.ts +62 -0
- package/src/lib/shapes/line/toolStates/Idle.ts +20 -0
- package/src/lib/shapes/line/toolStates/Pointing.ts +165 -0
- package/src/lib/shapes/note/NoteShapeTool.test.ts +146 -0
- package/src/lib/shapes/note/NoteShapeTool.ts +11 -0
- package/src/lib/shapes/note/NoteShapeUtil.tsx +221 -0
- package/src/lib/shapes/note/toolStates/Idle.ts +17 -0
- package/src/lib/shapes/note/toolStates/Pointing.ts +121 -0
- package/src/lib/shapes/shared/HyperlinkButton.tsx +30 -0
- package/src/lib/shapes/shared/ShapeFill.tsx +113 -0
- package/src/lib/shapes/shared/TextHelpers.ts +289 -0
- package/src/lib/shapes/shared/TextLabel.tsx +131 -0
- package/src/lib/shapes/shared/createTextSvgElementFromSpans.ts +101 -0
- package/src/lib/shapes/shared/default-shape-constants.ts +57 -0
- package/src/lib/shapes/shared/defaultStyleDefs.tsx +276 -0
- package/src/lib/shapes/shared/freehand/getStroke.ts +23 -0
- package/src/lib/shapes/shared/freehand/getStrokeOutlinePoints.ts +333 -0
- package/src/lib/shapes/shared/freehand/getStrokePoints.ts +187 -0
- package/src/lib/shapes/shared/freehand/getStrokeRadius.ts +13 -0
- package/src/lib/shapes/shared/freehand/setStrokePointRadii.ts +127 -0
- package/src/lib/shapes/shared/freehand/svg.ts +50 -0
- package/src/lib/shapes/shared/freehand/svgInk.ts +195 -0
- package/src/lib/shapes/shared/freehand/types.ts +49 -0
- package/src/lib/shapes/shared/getBrowserCanvasMaxSize.tsx +28 -0
- package/src/lib/shapes/shared/getPerfectDashProps.ts +96 -0
- package/src/lib/shapes/shared/getTextLabelSvgElement.ts +42 -0
- package/src/lib/shapes/shared/legacyProps.ts +25 -0
- package/src/lib/shapes/shared/polygon-helpers.ts +131 -0
- package/src/lib/shapes/shared/resizeBox.ts +130 -0
- package/src/lib/shapes/shared/resizeScaled.ts +40 -0
- package/src/lib/shapes/shared/rotated-box-shadow.ts +29 -0
- package/src/lib/shapes/shared/useColorSpace.tsx +21 -0
- package/src/lib/shapes/shared/useEditableText.ts +211 -0
- package/src/lib/shapes/shared/useForceSolid.ts +6 -0
- package/src/lib/shapes/shared/usePrefersReducedMotion.tsx +18 -0
- package/src/lib/shapes/text/TextShapeTool.test.ts +157 -0
- package/src/lib/shapes/text/TextShapeTool.ts +11 -0
- package/src/lib/shapes/text/TextShapeUtil.tsx +401 -0
- package/src/lib/shapes/text/toolStates/Idle.ts +47 -0
- package/src/lib/shapes/text/toolStates/Pointing.ts +105 -0
- package/src/lib/shapes/video/VideoShapeUtil.tsx +215 -0
- package/src/lib/tools/EraserTool/EraserTool.ts +15 -0
- package/src/lib/tools/EraserTool/childStates/Erasing.ts +131 -0
- package/src/lib/tools/EraserTool/childStates/Idle.ts +13 -0
- package/src/lib/tools/EraserTool/childStates/Pointing.ts +93 -0
- package/src/lib/tools/HandTool/HandTool.ts +40 -0
- package/src/lib/tools/HandTool/childStates/Dragging.ts +45 -0
- package/src/lib/tools/HandTool/childStates/Idle.ts +17 -0
- package/src/lib/tools/HandTool/childStates/Pointing.ts +39 -0
- package/src/lib/tools/LaserTool/LaserTool.ts +14 -0
- package/src/lib/tools/LaserTool/childStates/Idle.ts +9 -0
- package/src/lib/tools/LaserTool/childStates/Lasering.ts +53 -0
- package/src/lib/tools/SelectTool/DragAndDropManager.ts +112 -0
- package/src/lib/tools/SelectTool/SelectTool.ts +49 -0
- package/src/lib/tools/SelectTool/childStates/Brushing.ts +206 -0
- package/src/lib/tools/SelectTool/childStates/Crop/Crop.ts +10 -0
- package/src/lib/tools/SelectTool/childStates/Crop/children/Idle.ts +217 -0
- package/src/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.ts +19 -0
- package/src/lib/tools/SelectTool/childStates/Crop/children/TranslatingCrop.ts +108 -0
- package/src/lib/tools/SelectTool/childStates/Crop/children/crop_helpers.ts +64 -0
- package/src/lib/tools/SelectTool/childStates/Crop/crop-constants.ts +2 -0
- package/src/lib/tools/SelectTool/childStates/Cropping.ts +249 -0
- package/src/lib/tools/SelectTool/childStates/DraggingHandle.ts +308 -0
- package/src/lib/tools/SelectTool/childStates/EditingShape.ts +130 -0
- package/src/lib/tools/SelectTool/childStates/Idle.ts +575 -0
- package/src/lib/tools/SelectTool/childStates/PointingCanvas.ts +41 -0
- package/src/lib/tools/SelectTool/childStates/PointingCropHandle.ts +83 -0
- package/src/lib/tools/SelectTool/childStates/PointingHandle.ts +56 -0
- package/src/lib/tools/SelectTool/childStates/PointingResizeHandle.ts +90 -0
- package/src/lib/tools/SelectTool/childStates/PointingRotateHandle.ts +76 -0
- package/src/lib/tools/SelectTool/childStates/PointingSelection.ts +71 -0
- package/src/lib/tools/SelectTool/childStates/PointingShape.ts +218 -0
- package/src/lib/tools/SelectTool/childStates/Resizing.ts +511 -0
- package/src/lib/tools/SelectTool/childStates/Rotating.ts +175 -0
- package/src/lib/tools/SelectTool/childStates/ScribbleBrushing.ts +167 -0
- package/src/lib/tools/SelectTool/childStates/Translating.ts +418 -0
- package/src/lib/tools/SelectTool/children/DraggingHandle.ts +308 -0
- package/src/lib/tools/ZoomTool/ZoomTool.ts +72 -0
- package/src/lib/tools/ZoomTool/childStates/Idle.ts +15 -0
- package/src/lib/tools/ZoomTool/childStates/Pointing.ts +39 -0
- package/src/lib/tools/ZoomTool/childStates/ZoomBrushing.ts +62 -0
- package/src/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.ts +20 -0
- package/src/lib/tools/selection-logic/getShouldEnterCropModeOnPointerDown.ts +10 -0
- package/src/lib/tools/selection-logic/selectOnCanvasPointerUp.ts +94 -0
- package/src/lib/tools/selection-logic/selection.tldr +1041 -0
- package/src/lib/tools/selection-logic/updateHoveredId.ts +32 -0
- package/src/lib/ui/TldrawUi.tsx +195 -0
- package/src/lib/ui/TldrawUiContextProvider.tsx +99 -0
- package/src/lib/ui/assetUrls.ts +57 -0
- package/src/lib/ui/components/ActionsMenu.tsx +75 -0
- package/src/lib/ui/components/BackToContent.tsx +55 -0
- package/src/lib/ui/components/ContextMenu.tsx +234 -0
- package/src/lib/ui/components/DebugPanel.tsx +355 -0
- package/src/lib/ui/components/Dialogs.tsx +52 -0
- package/src/lib/ui/components/DuplicateButton.tsx +23 -0
- package/src/lib/ui/components/EditLinkDialog.tsx +180 -0
- package/src/lib/ui/components/EmbedDialog.tsx +143 -0
- package/src/lib/ui/components/FollowingIndicator.tsx +16 -0
- package/src/lib/ui/components/HTMLCanvas.tsx +54 -0
- package/src/lib/ui/components/HelpMenu.tsx +109 -0
- package/src/lib/ui/components/KeyboardShortcutsDialog.tsx +62 -0
- package/src/lib/ui/components/LanguageMenu.tsx +38 -0
- package/src/lib/ui/components/Menu.tsx +129 -0
- package/src/lib/ui/components/MenuZone.tsx +35 -0
- package/src/lib/ui/components/MobileStylePanel.tsx +61 -0
- package/src/lib/ui/components/MoveToPageMenu.tsx +104 -0
- package/src/lib/ui/components/NavigationZone/Minimap.tsx +245 -0
- package/src/lib/ui/components/NavigationZone/MinimapManager.ts +382 -0
- package/src/lib/ui/components/NavigationZone/NavigationZone.tsx +81 -0
- package/src/lib/ui/components/NavigationZone/ZoomMenu.tsx +87 -0
- package/src/lib/ui/components/OfflineIndicator/OfflineIndicator.tsx +17 -0
- package/src/lib/ui/components/PageMenu/PageItemInput.tsx +46 -0
- package/src/lib/ui/components/PageMenu/PageItemSubmenu.tsx +86 -0
- package/src/lib/ui/components/PageMenu/PageMenu.tsx +415 -0
- package/src/lib/ui/components/PageMenu/edit-pages-shared.ts +32 -0
- package/src/lib/ui/components/PenModeToggle.tsx +24 -0
- package/src/lib/ui/components/RedoButton.tsx +26 -0
- package/src/lib/ui/components/Spinner.tsx +22 -0
- package/src/lib/ui/components/StopFollowing.tsx +23 -0
- package/src/lib/ui/components/StylePanel/DoubleDropdownPicker.tsx +150 -0
- package/src/lib/ui/components/StylePanel/DropdownPicker.tsx +76 -0
- package/src/lib/ui/components/StylePanel/StylePanel.tsx +332 -0
- package/src/lib/ui/components/StylePanel/styles.tsx +100 -0
- package/src/lib/ui/components/Toasts.tsx +104 -0
- package/src/lib/ui/components/Toolbar/ToggleToolLockedButton.tsx +45 -0
- package/src/lib/ui/components/Toolbar/Toolbar.tsx +281 -0
- package/src/lib/ui/components/TrashButton.tsx +28 -0
- package/src/lib/ui/components/UndoButton.tsx +26 -0
- package/src/lib/ui/components/primitives/Button.tsx +69 -0
- package/src/lib/ui/components/primitives/ButtonPicker.tsx +128 -0
- package/src/lib/ui/components/primitives/Dialog.tsx +57 -0
- package/src/lib/ui/components/primitives/DropdownMenu.tsx +229 -0
- package/src/lib/ui/components/primitives/Icon.tsx +55 -0
- package/src/lib/ui/components/primitives/Input.tsx +165 -0
- package/src/lib/ui/components/primitives/Kbd.tsx +17 -0
- package/src/lib/ui/components/primitives/Popover.tsx +61 -0
- package/src/lib/ui/components/primitives/Slider.tsx +62 -0
- package/src/lib/ui/components/primitives/shared.ts +40 -0
- package/src/lib/ui/constants.ts +2 -0
- package/src/lib/ui/hooks/clipboard/pasteExcalidrawContent.ts +514 -0
- package/src/lib/ui/hooks/clipboard/pasteFiles.ts +31 -0
- package/src/lib/ui/hooks/clipboard/pasteTldrawContent.ts +19 -0
- package/src/lib/ui/hooks/clipboard/pasteUrl.ts +44 -0
- package/src/lib/ui/hooks/menuHelpers.ts +247 -0
- package/src/lib/ui/hooks/useActions.tsx +1180 -0
- package/src/lib/ui/hooks/useActionsMenuSchema.tsx +123 -0
- package/src/lib/ui/hooks/useAssetUrls.tsx +28 -0
- package/src/lib/ui/hooks/useBreakpoint.tsx +42 -0
- package/src/lib/ui/hooks/useCanRedo.ts +7 -0
- package/src/lib/ui/hooks/useCanUndo.ts +7 -0
- package/src/lib/ui/hooks/useClipboardEvents.ts +705 -0
- package/src/lib/ui/hooks/useContextMenuSchema.tsx +260 -0
- package/src/lib/ui/hooks/useCopyAs.ts +26 -0
- package/src/lib/ui/hooks/useDialogsProvider.tsx +128 -0
- package/src/lib/ui/hooks/useEditorEvents.ts +23 -0
- package/src/lib/ui/hooks/useEventsProvider.tsx +129 -0
- package/src/lib/ui/hooks/useExportAs.ts +30 -0
- package/src/lib/ui/hooks/useHasLinkShapeSelected.ts +17 -0
- package/src/lib/ui/hooks/useHelpMenuSchema.tsx +105 -0
- package/src/lib/ui/hooks/useHighDpiCanvas.ts +14 -0
- package/src/lib/ui/hooks/useInsertMedia.ts +35 -0
- package/src/lib/ui/hooks/useKeyboardShortcuts.ts +121 -0
- package/src/lib/ui/hooks/useKeyboardShortcutsSchema.tsx +127 -0
- package/src/lib/ui/hooks/useLocalStorageState.ts +30 -0
- package/src/lib/ui/hooks/useMenuIsOpen.ts +73 -0
- package/src/lib/ui/hooks/useMenuSchema.tsx +280 -0
- package/src/lib/ui/hooks/useOnlyFlippableShape.ts +29 -0
- package/src/lib/ui/hooks/usePreloadAssets.ts +120 -0
- package/src/lib/ui/hooks/usePreloadIcons.ts +38 -0
- package/src/lib/ui/hooks/usePrint.ts +223 -0
- package/src/lib/ui/hooks/useReadonly.ts +7 -0
- package/src/lib/ui/hooks/useRevelantStyles.ts +38 -0
- package/src/lib/ui/hooks/useShowAutoSizeToggle.ts +17 -0
- package/src/lib/ui/hooks/useToastsProvider.tsx +75 -0
- package/src/lib/ui/hooks/useToolbarSchema.tsx +99 -0
- package/src/lib/ui/hooks/useTools.tsx +245 -0
- package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +356 -0
- package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +367 -0
- package/src/lib/ui/hooks/useTranslation/translations.ts +74 -0
- package/src/lib/ui/hooks/useTranslation/useLanguages.tsx +10 -0
- package/src/lib/ui/hooks/useTranslation/useTranslation.tsx +117 -0
- package/src/lib/ui/icon-types.ts +337 -0
- package/src/lib/ui/overrides.ts +211 -0
- package/src/lib/ui/version.ts +1 -0
- package/src/lib/ui.css +1603 -0
- package/src/lib/utils/assets/assets.ts +103 -0
- package/src/lib/utils/assets/is-gif-animated.ts +106 -0
- package/src/lib/utils/assets.ts +103 -0
- package/src/lib/utils/embeds/embeds.test.ts +612 -0
- package/src/lib/utils/embeds/embeds.ts +99 -0
- package/src/lib/utils/export/copyAs.ts +139 -0
- package/src/lib/utils/export/export.ts +128 -0
- package/src/lib/utils/export/exportAs.ts +94 -0
- package/src/lib/utils/frames/frames.ts +101 -0
- package/src/lib/utils/static-assets/assetUrls.ts +41 -0
- package/src/lib/utils/text/text.test.ts +11 -0
- package/src/lib/utils/text/text.ts +59 -0
- package/src/lib/utils/tldr/buildFromV1Document.ts +1171 -0
- package/src/lib/utils/tldr/file.ts +303 -0
- package/src/test/ClickManager.test.ts +258 -0
- package/src/test/Editor.test.tsx +647 -0
- package/src/test/EraserTool.test.ts +446 -0
- package/src/test/HandTool.test.ts +191 -0
- package/src/test/HighlightShape.test.ts +24 -0
- package/src/test/LaserTool.test.ts +3 -0
- package/src/test/SelectTool.test.ts +445 -0
- package/src/test/TLSessionStateSnapshot.test.ts +152 -0
- package/src/test/TLUserPreferences.test.ts +123 -0
- package/src/test/TestEditor.test.ts +7 -0
- package/src/test/TestEditor.ts +661 -0
- package/src/test/TldrawEditor.test.tsx +377 -0
- package/src/test/ZoomTool.test.ts +210 -0
- package/src/test/__snapshots__/groups.test.ts.snap +46 -0
- package/src/test/__snapshots__/resizing.test.ts.snap +43 -0
- package/src/test/arrowBindingsIndex.test.tsx +295 -0
- package/src/test/arrows-megabus.test.ts +652 -0
- package/src/test/assets.test.ts +38 -0
- package/src/test/bookmark-shapes.test.ts +141 -0
- package/src/test/cleanup.test.ts +127 -0
- package/src/test/commands/__snapshots__/getSvg.test.ts.snap +174 -0
- package/src/test/commands/__snapshots__/packShapes.test.ts.snap +185 -0
- package/src/test/commands/__snapshots__/zoomToFit.test.ts.snap +12 -0
- package/src/test/commands/alignShapes.test.tsx +388 -0
- package/src/test/commands/allShapesCommonBounds.test.ts +91 -0
- package/src/test/commands/animateShapes.test.ts +3 -0
- package/src/test/commands/animateToShape.test.ts +3 -0
- package/src/test/commands/animationSpeed.test.ts +38 -0
- package/src/test/commands/blur.test.ts +3 -0
- package/src/test/commands/cancel.test.ts +3 -0
- package/src/test/commands/centerOnPoint.test.ts +21 -0
- package/src/test/commands/clipboard.test.ts +481 -0
- package/src/test/commands/complete.test.ts +3 -0
- package/src/test/commands/createPage.test.ts +65 -0
- package/src/test/commands/createShapes.test.ts +141 -0
- package/src/test/commands/deletePage.test.ts +79 -0
- package/src/test/commands/deleteShapes.test.ts +113 -0
- package/src/test/commands/distributeShapes.test.ts +232 -0
- package/src/test/commands/duplicatePage.test.ts +55 -0
- package/src/test/commands/getContent.test.ts +9 -0
- package/src/test/commands/getInitialMetaForShape.test.ts +21 -0
- package/src/test/commands/getSvg.test.ts +110 -0
- package/src/test/commands/groupShapes.test.ts +42 -0
- package/src/test/commands/guide.md +12 -0
- package/src/test/commands/interrupt.test.ts +3 -0
- package/src/test/commands/lockShapes.test.ts +176 -0
- package/src/test/commands/moveShapesToPage.test.ts +254 -0
- package/src/test/commands/nudge.test.ts +292 -0
- package/src/test/commands/packShapes.test.ts +62 -0
- package/src/test/commands/pageToScreen.test.ts +25 -0
- package/src/test/commands/pan.test.ts +32 -0
- package/src/test/commands/penmode.test.ts +27 -0
- package/src/test/commands/pinch.test.ts +11 -0
- package/src/test/commands/putContent.test.ts +39 -0
- package/src/test/commands/reorderShapes.test.ts +950 -0
- package/src/test/commands/reparentShapesById.test.ts +162 -0
- package/src/test/commands/resetZoom.test.ts +30 -0
- package/src/test/commands/resizeShape.test.ts +58 -0
- package/src/test/commands/rotateShapes.test.ts +82 -0
- package/src/test/commands/screenToPage.test.ts +246 -0
- package/src/test/commands/setAppState.test.ts +9 -0
- package/src/test/commands/setBrush.test.ts +38 -0
- package/src/test/commands/setCurrentPage.test.ts +88 -0
- package/src/test/commands/setPageState.test.ts +9 -0
- package/src/test/commands/setSelectedIds.test.ts +57 -0
- package/src/test/commands/setSelectedTool.test.ts +23 -0
- package/src/test/commands/setSettings.test.ts +9 -0
- package/src/test/commands/setStyle.test.ts +11 -0
- package/src/test/commands/squash.test.ts +13 -0
- package/src/test/commands/stackShapes.test.ts +227 -0
- package/src/test/commands/stretch.test.tsx +245 -0
- package/src/test/commands/ungroup.test.ts +17 -0
- package/src/test/commands/updateShapes.test.ts +192 -0
- package/src/test/commands/updateViewportPageBounds.test.ts +123 -0
- package/src/test/commands/zoomIn.test.ts +43 -0
- package/src/test/commands/zoomOut.test.ts +31 -0
- package/src/test/commands/zoomToBounds.test.ts +50 -0
- package/src/test/commands/zoomToFit.test.ts +20 -0
- package/src/test/commands/zoomToSelection.test.ts +42 -0
- package/src/test/cropping.test.ts +1033 -0
- package/src/test/drawing.test.ts +262 -0
- package/src/test/duplicate.test.ts +217 -0
- package/src/test/flipShapes.test.ts +581 -0
- package/src/test/frames.test.ts +995 -0
- package/src/test/getShapeAtPoint.test.ts +168 -0
- package/src/test/getSnapLines.ts +25 -0
- package/src/test/groups.test.ts +2005 -0
- package/src/test/middleMouseButtonPanning.test.ts +31 -0
- package/src/test/modifiers.test.ts +36 -0
- package/src/test/panning.test.ts +25 -0
- package/src/test/parentsToChildrenWithIndexes.test.ts +117 -0
- package/src/test/paste.test.ts +494 -0
- package/src/test/renderingShapes.test.tsx +223 -0
- package/src/test/resizeBox.test.ts +106 -0
- package/src/test/resizing.test.ts +3901 -0
- package/src/test/rotating.test.ts +321 -0
- package/src/test/roundedBox.ts +13 -0
- package/src/test/select.test.tsx +172 -0
- package/src/test/selection-omnibus.test.ts +1710 -0
- package/src/test/shapeIdsInCurrentPage.test.ts +75 -0
- package/src/test/shapeutils.test.ts +204 -0
- package/src/test/spacebarPanning.test.ts +50 -0
- package/src/test/styles2.test.tsx +199 -0
- package/src/test/styles3.test.ts +70 -0
- package/src/test/test-jsx.tsx +134 -0
- package/src/test/testutils/getSnapLines.ts +25 -0
- package/src/test/testutils/roundedBox.ts +13 -0
- package/src/test/text.test.ts +269 -0
- package/src/test/translating-snapping.test.ts +584 -0
- package/src/test/translating.test.ts +1829 -0
- package/src/test/viewport-following.test.ts +18 -0
- package/tldraw.css +3264 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
const STYLES = {
|
|
2
|
+
color: [
|
|
3
|
+
{ value: "black", icon: "color" },
|
|
4
|
+
{ value: "grey", icon: "color" },
|
|
5
|
+
{ value: "light-violet", icon: "color" },
|
|
6
|
+
{ value: "violet", icon: "color" },
|
|
7
|
+
{ value: "blue", icon: "color" },
|
|
8
|
+
{ value: "light-blue", icon: "color" },
|
|
9
|
+
{ value: "yellow", icon: "color" },
|
|
10
|
+
{ value: "orange", icon: "color" },
|
|
11
|
+
{ value: "green", icon: "color" },
|
|
12
|
+
{ value: "light-green", icon: "color" },
|
|
13
|
+
{ value: "light-red", icon: "color" },
|
|
14
|
+
{ value: "red", icon: "color" }
|
|
15
|
+
],
|
|
16
|
+
fill: [
|
|
17
|
+
{ value: "none", icon: "fill-none" },
|
|
18
|
+
{ value: "semi", icon: "fill-semi" },
|
|
19
|
+
{ value: "solid", icon: "fill-solid" },
|
|
20
|
+
{ value: "pattern", icon: "fill-pattern" }
|
|
21
|
+
],
|
|
22
|
+
dash: [
|
|
23
|
+
{ value: "draw", icon: "dash-draw" },
|
|
24
|
+
{ value: "dashed", icon: "dash-dashed" },
|
|
25
|
+
{ value: "dotted", icon: "dash-dotted" },
|
|
26
|
+
{ value: "solid", icon: "dash-solid" }
|
|
27
|
+
],
|
|
28
|
+
size: [
|
|
29
|
+
{ value: "s", icon: "size-small" },
|
|
30
|
+
{ value: "m", icon: "size-medium" },
|
|
31
|
+
{ value: "l", icon: "size-large" },
|
|
32
|
+
{ value: "xl", icon: "size-extra-large" }
|
|
33
|
+
],
|
|
34
|
+
font: [
|
|
35
|
+
{ value: "draw", icon: "font-draw" },
|
|
36
|
+
{ value: "sans", icon: "font-sans" },
|
|
37
|
+
{ value: "serif", icon: "font-serif" },
|
|
38
|
+
{ value: "mono", icon: "font-mono" }
|
|
39
|
+
],
|
|
40
|
+
horizontalAlign: [
|
|
41
|
+
{ value: "start", icon: "text-align-left" },
|
|
42
|
+
{ value: "middle", icon: "text-align-center" },
|
|
43
|
+
{ value: "end", icon: "text-align-right" }
|
|
44
|
+
],
|
|
45
|
+
verticalAlign: [
|
|
46
|
+
{ value: "start", icon: "vertical-align-start" },
|
|
47
|
+
{ value: "middle", icon: "vertical-align-center" },
|
|
48
|
+
{ value: "end", icon: "vertical-align-end" }
|
|
49
|
+
],
|
|
50
|
+
geo: [
|
|
51
|
+
{ value: "rectangle", icon: "geo-rectangle" },
|
|
52
|
+
{ value: "ellipse", icon: "geo-ellipse" },
|
|
53
|
+
{ value: "cloud", icon: "geo-cloud" },
|
|
54
|
+
{ value: "triangle", icon: "geo-triangle" },
|
|
55
|
+
{ value: "diamond", icon: "geo-diamond" },
|
|
56
|
+
{ value: "pentagon", icon: "geo-pentagon" },
|
|
57
|
+
{ value: "hexagon", icon: "geo-hexagon" },
|
|
58
|
+
{ value: "octagon", icon: "geo-octagon" },
|
|
59
|
+
{ value: "star", icon: "geo-star" },
|
|
60
|
+
{ value: "rhombus", icon: "geo-rhombus" },
|
|
61
|
+
{ value: "rhombus-2", icon: "geo-rhombus-2" },
|
|
62
|
+
{ value: "oval", icon: "geo-oval" },
|
|
63
|
+
{ value: "trapezoid", icon: "geo-trapezoid" },
|
|
64
|
+
{ value: "arrow-right", icon: "geo-arrow-right" },
|
|
65
|
+
{ value: "arrow-left", icon: "geo-arrow-left" },
|
|
66
|
+
{ value: "arrow-up", icon: "geo-arrow-up" },
|
|
67
|
+
{ value: "arrow-down", icon: "geo-arrow-down" },
|
|
68
|
+
{ value: "x-box", icon: "geo-x-box" },
|
|
69
|
+
{ value: "check-box", icon: "geo-check-box" }
|
|
70
|
+
],
|
|
71
|
+
arrowheadStart: [
|
|
72
|
+
{ value: "none", icon: "arrowhead-none" },
|
|
73
|
+
{ value: "arrow", icon: "arrowhead-arrow" },
|
|
74
|
+
{ value: "triangle", icon: "arrowhead-triangle" },
|
|
75
|
+
{ value: "square", icon: "arrowhead-square" },
|
|
76
|
+
{ value: "dot", icon: "arrowhead-dot" },
|
|
77
|
+
{ value: "diamond", icon: "arrowhead-diamond" },
|
|
78
|
+
{ value: "inverted", icon: "arrowhead-triangle-inverted" },
|
|
79
|
+
{ value: "bar", icon: "arrowhead-bar" }
|
|
80
|
+
],
|
|
81
|
+
arrowheadEnd: [
|
|
82
|
+
{ value: "none", icon: "arrowhead-none" },
|
|
83
|
+
{ value: "arrow", icon: "arrowhead-arrow" },
|
|
84
|
+
{ value: "triangle", icon: "arrowhead-triangle" },
|
|
85
|
+
{ value: "square", icon: "arrowhead-square" },
|
|
86
|
+
{ value: "dot", icon: "arrowhead-dot" },
|
|
87
|
+
{ value: "diamond", icon: "arrowhead-diamond" },
|
|
88
|
+
{ value: "inverted", icon: "arrowhead-triangle-inverted" },
|
|
89
|
+
{ value: "bar", icon: "arrowhead-bar" }
|
|
90
|
+
],
|
|
91
|
+
spline: [
|
|
92
|
+
{ value: "line", icon: "spline-line" },
|
|
93
|
+
{ value: "cubic", icon: "spline-cubic" }
|
|
94
|
+
]
|
|
95
|
+
};
|
|
96
|
+
export {
|
|
97
|
+
STYLES
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=styles.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/lib/ui/components/StylePanel/styles.tsx"],
|
|
4
|
+
"sourcesContent": ["export type StyleValuesForUi<T> = readonly {\n\treadonly value: T\n\treadonly icon: string\n}[]\n\nexport const STYLES = {\n\tcolor: [\n\t\t{ value: 'black', icon: 'color' },\n\t\t{ value: 'grey', icon: 'color' },\n\t\t{ value: 'light-violet', icon: 'color' },\n\t\t{ value: 'violet', icon: 'color' },\n\t\t{ value: 'blue', icon: 'color' },\n\t\t{ value: 'light-blue', icon: 'color' },\n\t\t{ value: 'yellow', icon: 'color' },\n\t\t{ value: 'orange', icon: 'color' },\n\t\t{ value: 'green', icon: 'color' },\n\t\t{ value: 'light-green', icon: 'color' },\n\t\t{ value: 'light-red', icon: 'color' },\n\t\t{ value: 'red', icon: 'color' },\n\t],\n\tfill: [\n\t\t{ value: 'none', icon: 'fill-none' },\n\t\t{ value: 'semi', icon: 'fill-semi' },\n\t\t{ value: 'solid', icon: 'fill-solid' },\n\t\t{ value: 'pattern', icon: 'fill-pattern' },\n\t],\n\tdash: [\n\t\t{ value: 'draw', icon: 'dash-draw' },\n\t\t{ value: 'dashed', icon: 'dash-dashed' },\n\t\t{ value: 'dotted', icon: 'dash-dotted' },\n\t\t{ value: 'solid', icon: 'dash-solid' },\n\t],\n\tsize: [\n\t\t{ value: 's', icon: 'size-small' },\n\t\t{ value: 'm', icon: 'size-medium' },\n\t\t{ value: 'l', icon: 'size-large' },\n\t\t{ value: 'xl', icon: 'size-extra-large' },\n\t],\n\tfont: [\n\t\t{ value: 'draw', icon: 'font-draw' },\n\t\t{ value: 'sans', icon: 'font-sans' },\n\t\t{ value: 'serif', icon: 'font-serif' },\n\t\t{ value: 'mono', icon: 'font-mono' },\n\t],\n\thorizontalAlign: [\n\t\t{ value: 'start', icon: 'text-align-left' },\n\t\t{ value: 'middle', icon: 'text-align-center' },\n\t\t{ value: 'end', icon: 'text-align-right' },\n\t],\n\tverticalAlign: [\n\t\t{ value: 'start', icon: 'vertical-align-start' },\n\t\t{ value: 'middle', icon: 'vertical-align-center' },\n\t\t{ value: 'end', icon: 'vertical-align-end' },\n\t],\n\tgeo: [\n\t\t{ value: 'rectangle', icon: 'geo-rectangle' },\n\t\t{ value: 'ellipse', icon: 'geo-ellipse' },\n\t\t{ value: 'cloud', icon: 'geo-cloud' },\n\t\t{ value: 'triangle', icon: 'geo-triangle' },\n\t\t{ value: 'diamond', icon: 'geo-diamond' },\n\t\t{ value: 'pentagon', icon: 'geo-pentagon' },\n\t\t{ value: 'hexagon', icon: 'geo-hexagon' },\n\t\t{ value: 'octagon', icon: 'geo-octagon' },\n\t\t{ value: 'star', icon: 'geo-star' },\n\t\t{ value: 'rhombus', icon: 'geo-rhombus' },\n\t\t{ value: 'rhombus-2', icon: 'geo-rhombus-2' },\n\t\t{ value: 'oval', icon: 'geo-oval' },\n\t\t{ value: 'trapezoid', icon: 'geo-trapezoid' },\n\t\t{ value: 'arrow-right', icon: 'geo-arrow-right' },\n\t\t{ value: 'arrow-left', icon: 'geo-arrow-left' },\n\t\t{ value: 'arrow-up', icon: 'geo-arrow-up' },\n\t\t{ value: 'arrow-down', icon: 'geo-arrow-down' },\n\t\t{ value: 'x-box', icon: 'geo-x-box' },\n\t\t{ value: 'check-box', icon: 'geo-check-box' },\n\t],\n\tarrowheadStart: [\n\t\t{ value: 'none', icon: 'arrowhead-none' },\n\t\t{ value: 'arrow', icon: 'arrowhead-arrow' },\n\t\t{ value: 'triangle', icon: 'arrowhead-triangle' },\n\t\t{ value: 'square', icon: 'arrowhead-square' },\n\t\t{ value: 'dot', icon: 'arrowhead-dot' },\n\t\t{ value: 'diamond', icon: 'arrowhead-diamond' },\n\t\t{ value: 'inverted', icon: 'arrowhead-triangle-inverted' },\n\t\t{ value: 'bar', icon: 'arrowhead-bar' },\n\t],\n\tarrowheadEnd: [\n\t\t{ value: 'none', icon: 'arrowhead-none' },\n\t\t{ value: 'arrow', icon: 'arrowhead-arrow' },\n\t\t{ value: 'triangle', icon: 'arrowhead-triangle' },\n\t\t{ value: 'square', icon: 'arrowhead-square' },\n\t\t{ value: 'dot', icon: 'arrowhead-dot' },\n\t\t{ value: 'diamond', icon: 'arrowhead-diamond' },\n\t\t{ value: 'inverted', icon: 'arrowhead-triangle-inverted' },\n\t\t{ value: 'bar', icon: 'arrowhead-bar' },\n\t],\n\tspline: [\n\t\t{ value: 'line', icon: 'spline-line' },\n\t\t{ value: 'cubic', icon: 'spline-cubic' },\n\t],\n} as const satisfies Record<string, StyleValuesForUi<string>>\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as T from "@radix-ui/react-toast";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { useToasts } from "../hooks/useToastsProvider.mjs";
|
|
5
|
+
import { useTranslation } from "../hooks/useTranslation/useTranslation.mjs";
|
|
6
|
+
import { Button } from "./primitives/Button.mjs";
|
|
7
|
+
import { Icon } from "./primitives/Icon.mjs";
|
|
8
|
+
function Toast({ toast }) {
|
|
9
|
+
const { removeToast } = useToasts();
|
|
10
|
+
const msg = useTranslation();
|
|
11
|
+
const onOpenChange = (isOpen) => {
|
|
12
|
+
if (!isOpen) {
|
|
13
|
+
removeToast(toast.id);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const hasActions = toast.actions && toast.actions.length > 0;
|
|
17
|
+
return /* @__PURE__ */ jsxs(
|
|
18
|
+
T.Root,
|
|
19
|
+
{
|
|
20
|
+
onOpenChange,
|
|
21
|
+
className: "tlui-toast__container",
|
|
22
|
+
duration: toast.keepOpen ? Infinity : 5e3,
|
|
23
|
+
children: [
|
|
24
|
+
toast.icon && /* @__PURE__ */ jsx("div", { className: "tlui-toast__icon", children: /* @__PURE__ */ jsx(Icon, { icon: toast.icon }) }),
|
|
25
|
+
/* @__PURE__ */ jsxs("div", { className: "tlui-toast__main", children: [
|
|
26
|
+
/* @__PURE__ */ jsxs("div", { className: "tlui-toast__content", children: [
|
|
27
|
+
toast.title && /* @__PURE__ */ jsx(T.Title, { className: "tlui-toast__title", children: toast.title }),
|
|
28
|
+
toast.description && /* @__PURE__ */ jsx(T.Description, { className: "tlui-toast__description", children: toast.description })
|
|
29
|
+
] }),
|
|
30
|
+
toast.actions && /* @__PURE__ */ jsxs("div", { className: "tlui-toast__actions", children: [
|
|
31
|
+
toast.actions.map((action, i) => /* @__PURE__ */ jsx(T.Action, { altText: action.label, asChild: true, onClick: action.onClick, children: /* @__PURE__ */ jsx(Button, { type: action.type, children: action.label }) }, i)),
|
|
32
|
+
/* @__PURE__ */ jsx(T.Close, { asChild: true, children: /* @__PURE__ */ jsx(Button, { type: "normal", className: "tlui-toast__close", style: { marginLeft: "auto" }, children: toast.closeLabel ?? msg("toast.close") }) })
|
|
33
|
+
] })
|
|
34
|
+
] }),
|
|
35
|
+
!hasActions && /* @__PURE__ */ jsx(T.Close, { asChild: true, children: /* @__PURE__ */ jsx(Button, { type: "normal", className: "tlui-toast__close", children: toast.closeLabel ?? msg("toast.close") }) })
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
function _Toasts() {
|
|
41
|
+
const { toasts } = useToasts();
|
|
42
|
+
return /* @__PURE__ */ jsx(Fragment, { children: toasts.map((toast) => /* @__PURE__ */ jsx(Toast, { toast }, toast.id)) });
|
|
43
|
+
}
|
|
44
|
+
const Toasts = React.memo(_Toasts);
|
|
45
|
+
function ToastViewport() {
|
|
46
|
+
const { toasts } = useToasts();
|
|
47
|
+
const [hasToasts, setHasToasts] = React.useState(false);
|
|
48
|
+
React.useEffect(() => {
|
|
49
|
+
let cancelled = false;
|
|
50
|
+
if (toasts.length) {
|
|
51
|
+
setHasToasts(true);
|
|
52
|
+
} else {
|
|
53
|
+
setTimeout(() => {
|
|
54
|
+
if (!cancelled) {
|
|
55
|
+
setHasToasts(false);
|
|
56
|
+
}
|
|
57
|
+
}, 1e3);
|
|
58
|
+
}
|
|
59
|
+
return () => {
|
|
60
|
+
cancelled = true;
|
|
61
|
+
};
|
|
62
|
+
}, [toasts.length, setHasToasts]);
|
|
63
|
+
if (!hasToasts)
|
|
64
|
+
return null;
|
|
65
|
+
return /* @__PURE__ */ jsx(T.ToastViewport, { className: "tlui-toast__viewport" });
|
|
66
|
+
}
|
|
67
|
+
export {
|
|
68
|
+
ToastViewport,
|
|
69
|
+
Toasts
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=Toasts.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/lib/ui/components/Toasts.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as T from '@radix-ui/react-toast'\nimport * as React from 'react'\nimport { TLUiToast, useToasts } from '../hooks/useToastsProvider'\nimport { useTranslation } from '../hooks/useTranslation/useTranslation'\nimport { TLUiIconType } from '../icon-types'\nimport { Button } from './primitives/Button'\nimport { Icon } from './primitives/Icon'\n\nfunction Toast({ toast }: { toast: TLUiToast }) {\n\tconst { removeToast } = useToasts()\n\tconst msg = useTranslation()\n\n\tconst onOpenChange = (isOpen: boolean) => {\n\t\tif (!isOpen) {\n\t\t\tremoveToast(toast.id)\n\t\t}\n\t}\n\n\tconst hasActions = toast.actions && toast.actions.length > 0\n\n\treturn (\n\t\t<T.Root\n\t\t\tonOpenChange={onOpenChange}\n\t\t\tclassName=\"tlui-toast__container\"\n\t\t\tduration={toast.keepOpen ? Infinity : 5000}\n\t\t>\n\t\t\t{toast.icon && (\n\t\t\t\t<div className=\"tlui-toast__icon\">\n\t\t\t\t\t<Icon icon={toast.icon as TLUiIconType} />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className=\"tlui-toast__main\">\n\t\t\t\t<div className=\"tlui-toast__content\">\n\t\t\t\t\t{toast.title && <T.Title className=\"tlui-toast__title\">{toast.title}</T.Title>}\n\t\t\t\t\t{toast.description && (\n\t\t\t\t\t\t<T.Description className=\"tlui-toast__description\">{toast.description}</T.Description>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{toast.actions && (\n\t\t\t\t\t<div className=\"tlui-toast__actions\">\n\t\t\t\t\t\t{toast.actions.map((action, i) => (\n\t\t\t\t\t\t\t<T.Action key={i} altText={action.label} asChild onClick={action.onClick}>\n\t\t\t\t\t\t\t\t<Button type={action.type}>{action.label}</Button>\n\t\t\t\t\t\t\t</T.Action>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t<T.Close asChild>\n\t\t\t\t\t\t\t<Button type=\"normal\" className=\"tlui-toast__close\" style={{ marginLeft: 'auto' }}>\n\t\t\t\t\t\t\t\t{toast.closeLabel ?? msg('toast.close')}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</T.Close>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{!hasActions && (\n\t\t\t\t<T.Close asChild>\n\t\t\t\t\t<Button type=\"normal\" className=\"tlui-toast__close\">\n\t\t\t\t\t\t{toast.closeLabel ?? msg('toast.close')}\n\t\t\t\t\t</Button>\n\t\t\t\t</T.Close>\n\t\t\t)}\n\t\t</T.Root>\n\t)\n}\n\nfunction _Toasts() {\n\tconst { toasts } = useToasts()\n\n\treturn (\n\t\t<>\n\t\t\t{toasts.map((toast) => (\n\t\t\t\t<Toast key={toast.id} toast={toast} />\n\t\t\t))}\n\t\t</>\n\t)\n}\n\nexport const Toasts = React.memo(_Toasts)\n\nexport function ToastViewport() {\n\tconst { toasts } = useToasts()\n\n\tconst [hasToasts, setHasToasts] = React.useState(false)\n\n\tReact.useEffect(() => {\n\t\tlet cancelled = false\n\t\tif (toasts.length) {\n\t\t\tsetHasToasts(true)\n\t\t} else {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (!cancelled) {\n\t\t\t\t\tsetHasToasts(false)\n\t\t\t\t}\n\t\t\t}, 1000)\n\t\t}\n\n\t\treturn () => {\n\t\t\tcancelled = true\n\t\t}\n\t}, [toasts.length, setHasToasts])\n\n\tif (!hasToasts) return null\n\n\treturn <T.ToastViewport className=\"tlui-toast__viewport\" />\n}\n"],
|
|
5
|
+
"mappings": "AA4BK,SAwCH,UAxCG,KAID,YAJC;AA5BL,YAAY,OAAO;AACnB,YAAY,WAAW;AACvB,SAAoB,iBAAiB;AACrC,SAAS,sBAAsB;AAE/B,SAAS,cAAc;AACvB,SAAS,YAAY;AAErB,SAAS,MAAM,EAAE,MAAM,GAAyB;AAC/C,QAAM,EAAE,YAAY,IAAI,UAAU;AAClC,QAAM,MAAM,eAAe;AAE3B,QAAM,eAAe,CAAC,WAAoB;AACzC,QAAI,CAAC,QAAQ;AACZ,kBAAY,MAAM,EAAE;AAAA,IACrB;AAAA,EACD;AAEA,QAAM,aAAa,MAAM,WAAW,MAAM,QAAQ,SAAS;AAE3D,SACC;AAAA,IAAC,EAAE;AAAA,IAAF;AAAA,MACA;AAAA,MACA,WAAU;AAAA,MACV,UAAU,MAAM,WAAW,WAAW;AAAA,MAErC;AAAA,cAAM,QACN,oBAAC,SAAI,WAAU,oBACd,8BAAC,QAAK,MAAM,MAAM,MAAsB,GACzC;AAAA,QAED,qBAAC,SAAI,WAAU,oBACd;AAAA,+BAAC,SAAI,WAAU,uBACb;AAAA,kBAAM,SAAS,oBAAC,EAAE,OAAF,EAAQ,WAAU,qBAAqB,gBAAM,OAAM;AAAA,YACnE,MAAM,eACN,oBAAC,EAAE,aAAF,EAAc,WAAU,2BAA2B,gBAAM,aAAY;AAAA,aAExE;AAAA,UACC,MAAM,WACN,qBAAC,SAAI,WAAU,uBACb;AAAA,kBAAM,QAAQ,IAAI,CAAC,QAAQ,MAC3B,oBAAC,EAAE,QAAF,EAAiB,SAAS,OAAO,OAAO,SAAO,MAAC,SAAS,OAAO,SAChE,8BAAC,UAAO,MAAM,OAAO,MAAO,iBAAO,OAAM,KAD3B,CAEf,CACA;AAAA,YACD,oBAAC,EAAE,OAAF,EAAQ,SAAO,MACf,8BAAC,UAAO,MAAK,UAAS,WAAU,qBAAoB,OAAO,EAAE,YAAY,OAAO,GAC9E,gBAAM,cAAc,IAAI,aAAa,GACvC,GACD;AAAA,aACD;AAAA,WAEF;AAAA,QACC,CAAC,cACD,oBAAC,EAAE,OAAF,EAAQ,SAAO,MACf,8BAAC,UAAO,MAAK,UAAS,WAAU,qBAC9B,gBAAM,cAAc,IAAI,aAAa,GACvC,GACD;AAAA;AAAA;AAAA,EAEF;AAEF;AAEA,SAAS,UAAU;AAClB,QAAM,EAAE,OAAO,IAAI,UAAU;AAE7B,SACC,gCACE,iBAAO,IAAI,CAAC,UACZ,oBAAC,SAAqB,SAAV,MAAM,EAAkB,CACpC,GACF;AAEF;AAEO,MAAM,SAAS,MAAM,KAAK,OAAO;AAEjC,SAAS,gBAAgB;AAC/B,QAAM,EAAE,OAAO,IAAI,UAAU;AAE7B,QAAM,CAAC,WAAW,YAAY,IAAI,MAAM,SAAS,KAAK;AAEtD,QAAM,UAAU,MAAM;AACrB,QAAI,YAAY;AAChB,QAAI,OAAO,QAAQ;AAClB,mBAAa,IAAI;AAAA,IAClB,OAAO;AACN,iBAAW,MAAM;AAChB,YAAI,CAAC,WAAW;AACf,uBAAa,KAAK;AAAA,QACnB;AAAA,MACD,GAAG,GAAI;AAAA,IACR;AAEA,WAAO,MAAM;AACZ,kBAAY;AAAA,IACb;AAAA,EACD,GAAG,CAAC,OAAO,QAAQ,YAAY,CAAC;AAEhC,MAAI,CAAC;AAAW,WAAO;AAEvB,SAAO,oBAAC,EAAE,eAAF,EAAgB,WAAU,wBAAuB;AAC1D;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEditor, useValue } from "@bigbluebutton/editor";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { useBreakpoint } from "../../hooks/useBreakpoint.mjs";
|
|
5
|
+
import { useTranslation } from "../../hooks/useTranslation/useTranslation.mjs";
|
|
6
|
+
import { Button } from "../primitives/Button.mjs";
|
|
7
|
+
const NOT_LOCKABLE_TOOLS = [
|
|
8
|
+
"select",
|
|
9
|
+
"hand",
|
|
10
|
+
"draw",
|
|
11
|
+
"eraser",
|
|
12
|
+
"text",
|
|
13
|
+
"zoom",
|
|
14
|
+
"laser",
|
|
15
|
+
"highlight"
|
|
16
|
+
];
|
|
17
|
+
function ToggleToolLockedButton({ activeToolId }) {
|
|
18
|
+
const editor = useEditor();
|
|
19
|
+
const breakpoint = useBreakpoint();
|
|
20
|
+
const msg = useTranslation();
|
|
21
|
+
const isToolLocked = useValue("is tool locked", () => editor.getInstanceState().isToolLocked, [
|
|
22
|
+
editor
|
|
23
|
+
]);
|
|
24
|
+
if (!activeToolId || NOT_LOCKABLE_TOOLS.includes(activeToolId))
|
|
25
|
+
return null;
|
|
26
|
+
return /* @__PURE__ */ jsx(
|
|
27
|
+
Button,
|
|
28
|
+
{
|
|
29
|
+
type: "normal",
|
|
30
|
+
title: msg("action.toggle-tool-lock"),
|
|
31
|
+
className: classNames("tlui-toolbar__lock-button", {
|
|
32
|
+
"tlui-toolbar__lock-button__mobile": breakpoint < 5
|
|
33
|
+
}),
|
|
34
|
+
icon: isToolLocked ? "lock" : "unlock",
|
|
35
|
+
onClick: () => editor.updateInstanceState({ isToolLocked: !isToolLocked }),
|
|
36
|
+
smallIcon: true
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
ToggleToolLockedButton
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=ToggleToolLockedButton.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/lib/ui/components/Toolbar/ToggleToolLockedButton.tsx"],
|
|
4
|
+
"sourcesContent": ["import { useEditor, useValue } from '@bigbluebutton/editor'\nimport classNames from 'classnames'\nimport { useBreakpoint } from '../../hooks/useBreakpoint'\nimport { useTranslation } from '../../hooks/useTranslation/useTranslation'\nimport { Button } from '../primitives/Button'\n\ninterface ToggleToolLockedButtonProps {\n\tactiveToolId?: string\n}\n\nconst NOT_LOCKABLE_TOOLS = [\n\t'select',\n\t'hand',\n\t'draw',\n\t'eraser',\n\t'text',\n\t'zoom',\n\t'laser',\n\t'highlight',\n]\n\nexport function ToggleToolLockedButton({ activeToolId }: ToggleToolLockedButtonProps) {\n\tconst editor = useEditor()\n\tconst breakpoint = useBreakpoint()\n\tconst msg = useTranslation()\n\n\tconst isToolLocked = useValue('is tool locked', () => editor.getInstanceState().isToolLocked, [\n\t\teditor,\n\t])\n\n\tif (!activeToolId || NOT_LOCKABLE_TOOLS.includes(activeToolId)) return null\n\n\treturn (\n\t\t<Button\n\t\t\ttype=\"normal\"\n\t\t\ttitle={msg('action.toggle-tool-lock')}\n\t\t\tclassName={classNames('tlui-toolbar__lock-button', {\n\t\t\t\t'tlui-toolbar__lock-button__mobile': breakpoint < 5,\n\t\t\t})}\n\t\t\ticon={isToolLocked ? 'lock' : 'unlock'}\n\t\t\tonClick={() => editor.updateInstanceState({ isToolLocked: !isToolLocked })}\n\t\t\tsmallIcon\n\t\t/>\n\t)\n}\n"],
|
|
5
|
+
"mappings": "AAiCE;AAjCF,SAAS,WAAW,gBAAgB;AACpC,OAAO,gBAAgB;AACvB,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AAMvB,MAAM,qBAAqB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,SAAS,uBAAuB,EAAE,aAAa,GAAgC;AACrF,QAAM,SAAS,UAAU;AACzB,QAAM,aAAa,cAAc;AACjC,QAAM,MAAM,eAAe;AAE3B,QAAM,eAAe,SAAS,kBAAkB,MAAM,OAAO,iBAAiB,EAAE,cAAc;AAAA,IAC7F;AAAA,EACD,CAAC;AAED,MAAI,CAAC,gBAAgB,mBAAmB,SAAS,YAAY;AAAG,WAAO;AAEvE,SACC;AAAA,IAAC;AAAA;AAAA,MACA,MAAK;AAAA,MACL,OAAO,IAAI,yBAAyB;AAAA,MACpC,WAAW,WAAW,6BAA6B;AAAA,QAClD,qCAAqC,aAAa;AAAA,MACnD,CAAC;AAAA,MACD,MAAM,eAAe,SAAS;AAAA,MAC9B,SAAS,MAAM,OAAO,oBAAoB,EAAE,cAAc,CAAC,aAAa,CAAC;AAAA,MACzE,WAAS;AAAA;AAAA,EACV;AAEF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { GeoShapeGeoStyle, preventDefault, track, useEditor, useValue } from "@bigbluebutton/editor";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import React, { memo } from "react";
|
|
5
|
+
import { useBreakpoint } from "../../hooks/useBreakpoint.mjs";
|
|
6
|
+
import { useReadonly } from "../../hooks/useReadonly.mjs";
|
|
7
|
+
import { useToolbarSchema } from "../../hooks/useToolbarSchema.mjs";
|
|
8
|
+
import { useTranslation } from "../../hooks/useTranslation/useTranslation.mjs";
|
|
9
|
+
import { ActionsMenu } from "../ActionsMenu.mjs";
|
|
10
|
+
import { DuplicateButton } from "../DuplicateButton.mjs";
|
|
11
|
+
import { MobileStylePanel } from "../MobileStylePanel.mjs";
|
|
12
|
+
import { RedoButton } from "../RedoButton.mjs";
|
|
13
|
+
import { TrashButton } from "../TrashButton.mjs";
|
|
14
|
+
import { UndoButton } from "../UndoButton.mjs";
|
|
15
|
+
import { Button } from "../primitives/Button.mjs";
|
|
16
|
+
import * as M from "../primitives/DropdownMenu.mjs";
|
|
17
|
+
import { kbdStr } from "../primitives/shared.mjs";
|
|
18
|
+
import { ToggleToolLockedButton } from "./ToggleToolLockedButton.mjs";
|
|
19
|
+
const Toolbar = memo(function Toolbar2() {
|
|
20
|
+
const editor = useEditor();
|
|
21
|
+
const msg = useTranslation();
|
|
22
|
+
const breakpoint = useBreakpoint();
|
|
23
|
+
const rMostRecentlyActiveDropdownItem = React.useRef(void 0);
|
|
24
|
+
const isReadonly = useReadonly();
|
|
25
|
+
const toolbarItems = useToolbarSchema();
|
|
26
|
+
const laserTool = toolbarItems.find((item) => item.toolItem.id === "laser");
|
|
27
|
+
const activeToolId = useValue("current tool id", () => editor.getCurrentToolId(), [editor]);
|
|
28
|
+
const geoState = useValue(
|
|
29
|
+
"geo",
|
|
30
|
+
() => editor.getSharedStyles().getAsKnownValue(GeoShapeGeoStyle),
|
|
31
|
+
[editor]
|
|
32
|
+
);
|
|
33
|
+
const showEditingTools = !isReadonly;
|
|
34
|
+
const getTitle = (item) => item.label ? `${msg(item.label)} ${item.kbd ? kbdStr(item.kbd) : ""}` : "";
|
|
35
|
+
const activeTLUiToolbarItem = toolbarItems.find((item) => {
|
|
36
|
+
return isActiveTLUiToolItem(item.toolItem, activeToolId, geoState);
|
|
37
|
+
});
|
|
38
|
+
const { itemsInPanel, itemsInDropdown, dropdownFirstItem } = React.useMemo(() => {
|
|
39
|
+
const itemsInPanel2 = [];
|
|
40
|
+
const itemsInDropdown2 = [];
|
|
41
|
+
let dropdownFirstItem2;
|
|
42
|
+
const overflowIndex = Math.min(8, 5 + breakpoint);
|
|
43
|
+
for (let i = 4; i < toolbarItems.length; i++) {
|
|
44
|
+
const item = toolbarItems[i];
|
|
45
|
+
if (i < overflowIndex) {
|
|
46
|
+
itemsInPanel2.push(item);
|
|
47
|
+
} else {
|
|
48
|
+
if (item === activeTLUiToolbarItem) {
|
|
49
|
+
dropdownFirstItem2 = item;
|
|
50
|
+
}
|
|
51
|
+
itemsInDropdown2.push(item);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (dropdownFirstItem2) {
|
|
55
|
+
} else {
|
|
56
|
+
if (!rMostRecentlyActiveDropdownItem.current) {
|
|
57
|
+
rMostRecentlyActiveDropdownItem.current = itemsInDropdown2[0];
|
|
58
|
+
}
|
|
59
|
+
dropdownFirstItem2 = rMostRecentlyActiveDropdownItem.current;
|
|
60
|
+
if (!itemsInDropdown2.includes(dropdownFirstItem2)) {
|
|
61
|
+
dropdownFirstItem2 = itemsInDropdown2[0];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
rMostRecentlyActiveDropdownItem.current = dropdownFirstItem2;
|
|
65
|
+
if (itemsInDropdown2.length <= 2) {
|
|
66
|
+
itemsInPanel2.push(...itemsInDropdown2);
|
|
67
|
+
itemsInDropdown2.length = 0;
|
|
68
|
+
}
|
|
69
|
+
return { itemsInPanel: itemsInPanel2, itemsInDropdown: itemsInDropdown2, dropdownFirstItem: dropdownFirstItem2 };
|
|
70
|
+
}, [toolbarItems, activeTLUiToolbarItem, breakpoint]);
|
|
71
|
+
return /* @__PURE__ */ jsx("div", { className: "tlui-toolbar", children: /* @__PURE__ */ jsxs("div", { className: "tlui-toolbar__inner", children: [
|
|
72
|
+
/* @__PURE__ */ jsxs("div", { className: "tlui-toolbar__left", children: [
|
|
73
|
+
!isReadonly && /* @__PURE__ */ jsxs("div", { className: "tlui-toolbar__extras", children: [
|
|
74
|
+
breakpoint < 6 && !(activeToolId === "hand" || activeToolId === "zoom") && /* @__PURE__ */ jsxs("div", { className: "tlui-toolbar__extras__controls tlui-buttons__horizontal", children: [
|
|
75
|
+
/* @__PURE__ */ jsx(UndoButton, {}),
|
|
76
|
+
/* @__PURE__ */ jsx(RedoButton, {}),
|
|
77
|
+
/* @__PURE__ */ jsx(TrashButton, {}),
|
|
78
|
+
/* @__PURE__ */ jsx(DuplicateButton, {}),
|
|
79
|
+
/* @__PURE__ */ jsx(ActionsMenu, {})
|
|
80
|
+
] }),
|
|
81
|
+
/* @__PURE__ */ jsx(ToggleToolLockedButton, { activeToolId })
|
|
82
|
+
] }),
|
|
83
|
+
/* @__PURE__ */ jsxs(
|
|
84
|
+
"div",
|
|
85
|
+
{
|
|
86
|
+
className: classNames("tlui-toolbar__tools", {
|
|
87
|
+
"tlui-toolbar__tools__mobile": breakpoint < 5
|
|
88
|
+
}),
|
|
89
|
+
children: [
|
|
90
|
+
toolbarItems.slice(0, 2).map(({ toolItem }) => {
|
|
91
|
+
return /* @__PURE__ */ jsx(
|
|
92
|
+
ToolbarButton,
|
|
93
|
+
{
|
|
94
|
+
item: toolItem,
|
|
95
|
+
title: getTitle(toolItem),
|
|
96
|
+
isSelected: isActiveTLUiToolItem(toolItem, activeToolId, geoState)
|
|
97
|
+
},
|
|
98
|
+
toolItem.id
|
|
99
|
+
);
|
|
100
|
+
}),
|
|
101
|
+
isReadonly && laserTool && /* @__PURE__ */ jsx(
|
|
102
|
+
ToolbarButton,
|
|
103
|
+
{
|
|
104
|
+
item: laserTool.toolItem,
|
|
105
|
+
title: getTitle(laserTool.toolItem),
|
|
106
|
+
isSelected: isActiveTLUiToolItem(laserTool.toolItem, activeToolId, geoState)
|
|
107
|
+
},
|
|
108
|
+
laserTool.toolItem.id
|
|
109
|
+
),
|
|
110
|
+
showEditingTools && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
111
|
+
toolbarItems.slice(2, 4).map(({ toolItem }) => /* @__PURE__ */ jsx(
|
|
112
|
+
ToolbarButton,
|
|
113
|
+
{
|
|
114
|
+
item: toolItem,
|
|
115
|
+
title: getTitle(toolItem),
|
|
116
|
+
isSelected: isActiveTLUiToolItem(toolItem, activeToolId, geoState)
|
|
117
|
+
},
|
|
118
|
+
toolItem.id
|
|
119
|
+
)),
|
|
120
|
+
itemsInPanel.map(({ toolItem }) => /* @__PURE__ */ jsx(
|
|
121
|
+
ToolbarButton,
|
|
122
|
+
{
|
|
123
|
+
item: toolItem,
|
|
124
|
+
title: getTitle(toolItem),
|
|
125
|
+
isSelected: isActiveTLUiToolItem(toolItem, activeToolId, geoState)
|
|
126
|
+
},
|
|
127
|
+
toolItem.id
|
|
128
|
+
)),
|
|
129
|
+
itemsInDropdown.length ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
130
|
+
/* @__PURE__ */ jsx(
|
|
131
|
+
ToolbarButton,
|
|
132
|
+
{
|
|
133
|
+
item: dropdownFirstItem.toolItem,
|
|
134
|
+
title: getTitle(dropdownFirstItem.toolItem),
|
|
135
|
+
isSelected: isActiveTLUiToolItem(
|
|
136
|
+
dropdownFirstItem.toolItem,
|
|
137
|
+
activeToolId,
|
|
138
|
+
geoState
|
|
139
|
+
)
|
|
140
|
+
},
|
|
141
|
+
dropdownFirstItem.toolItem.id
|
|
142
|
+
),
|
|
143
|
+
/* @__PURE__ */ jsxs(M.Root, { id: "toolbar overflow", modal: false, children: [
|
|
144
|
+
/* @__PURE__ */ jsx(M.Trigger, { children: /* @__PURE__ */ jsx(
|
|
145
|
+
Button,
|
|
146
|
+
{
|
|
147
|
+
className: "tlui-toolbar__overflow",
|
|
148
|
+
icon: "chevron-up",
|
|
149
|
+
type: "tool",
|
|
150
|
+
"data-testid": "tools.more",
|
|
151
|
+
title: msg("tool-panel.more")
|
|
152
|
+
}
|
|
153
|
+
) }),
|
|
154
|
+
/* @__PURE__ */ jsx(M.Content, { side: "top", align: "center", children: /* @__PURE__ */ jsx(OverflowToolsContent, { toolbarItems: itemsInDropdown }) })
|
|
155
|
+
] })
|
|
156
|
+
] }) : null
|
|
157
|
+
] })
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
)
|
|
161
|
+
] }),
|
|
162
|
+
breakpoint < 5 && !isReadonly && /* @__PURE__ */ jsx("div", { className: "tlui-toolbar__tools", children: /* @__PURE__ */ jsx(MobileStylePanel, {}) })
|
|
163
|
+
] }) });
|
|
164
|
+
});
|
|
165
|
+
const OverflowToolsContent = track(function OverflowToolsContent2({
|
|
166
|
+
toolbarItems
|
|
167
|
+
}) {
|
|
168
|
+
const msg = useTranslation();
|
|
169
|
+
return /* @__PURE__ */ jsx("div", { className: "tlui-buttons__grid", children: toolbarItems.map(({ toolItem: { id, meta, kbd, label, onSelect, icon } }) => {
|
|
170
|
+
return /* @__PURE__ */ jsx(
|
|
171
|
+
M.Item,
|
|
172
|
+
{
|
|
173
|
+
type: "icon",
|
|
174
|
+
className: "tlui-button-grid__button",
|
|
175
|
+
"data-testid": `tools.more.${id}`,
|
|
176
|
+
"data-tool": id,
|
|
177
|
+
"data-geo": meta?.geo ?? "",
|
|
178
|
+
"aria-label": label,
|
|
179
|
+
onClick: () => onSelect("toolbar"),
|
|
180
|
+
title: label ? `${msg(label)} ${kbd ? kbdStr(kbd) : ""}` : "",
|
|
181
|
+
icon
|
|
182
|
+
},
|
|
183
|
+
id
|
|
184
|
+
);
|
|
185
|
+
}) });
|
|
186
|
+
});
|
|
187
|
+
function ToolbarButton({
|
|
188
|
+
item,
|
|
189
|
+
title,
|
|
190
|
+
isSelected
|
|
191
|
+
}) {
|
|
192
|
+
return /* @__PURE__ */ jsx(
|
|
193
|
+
Button,
|
|
194
|
+
{
|
|
195
|
+
type: "tool",
|
|
196
|
+
"data-testid": `tools.${item.id}`,
|
|
197
|
+
"data-tool": item.id,
|
|
198
|
+
"data-geo": item.meta?.geo ?? "",
|
|
199
|
+
"aria-label": item.label,
|
|
200
|
+
title,
|
|
201
|
+
icon: item.icon,
|
|
202
|
+
"data-state": isSelected ? "selected" : void 0,
|
|
203
|
+
onClick: () => item.onSelect("toolbar"),
|
|
204
|
+
onTouchStart: (e) => {
|
|
205
|
+
preventDefault(e);
|
|
206
|
+
item.onSelect("toolbar");
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
);
|
|
210
|
+
}
|
|
211
|
+
const isActiveTLUiToolItem = (item, activeToolId, geoState) => {
|
|
212
|
+
return item.meta?.geo ? activeToolId === "geo" && geoState === item.meta?.geo : activeToolId === item.id;
|
|
213
|
+
};
|
|
214
|
+
export {
|
|
215
|
+
Toolbar
|
|
216
|
+
};
|
|
217
|
+
//# sourceMappingURL=Toolbar.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/lib/ui/components/Toolbar/Toolbar.tsx"],
|
|
4
|
+
"sourcesContent": ["import { GeoShapeGeoStyle, preventDefault, track, useEditor, useValue } from '@bigbluebutton/editor'\nimport classNames from 'classnames'\nimport React, { memo } from 'react'\nimport { useBreakpoint } from '../../hooks/useBreakpoint'\nimport { useReadonly } from '../../hooks/useReadonly'\nimport { TLUiToolbarItem, useToolbarSchema } from '../../hooks/useToolbarSchema'\nimport { TLUiToolItem } from '../../hooks/useTools'\nimport { useTranslation } from '../../hooks/useTranslation/useTranslation'\nimport { ActionsMenu } from '../ActionsMenu'\nimport { DuplicateButton } from '../DuplicateButton'\nimport { MobileStylePanel } from '../MobileStylePanel'\nimport { RedoButton } from '../RedoButton'\nimport { TrashButton } from '../TrashButton'\nimport { UndoButton } from '../UndoButton'\nimport { Button } from '../primitives/Button'\nimport * as M from '../primitives/DropdownMenu'\nimport { kbdStr } from '../primitives/shared'\nimport { ToggleToolLockedButton } from './ToggleToolLockedButton'\n\n/** @public */\nexport const Toolbar = memo(function Toolbar() {\n\tconst editor = useEditor()\n\tconst msg = useTranslation()\n\tconst breakpoint = useBreakpoint()\n\n\tconst rMostRecentlyActiveDropdownItem = React.useRef<TLUiToolbarItem | undefined>(undefined)\n\n\tconst isReadonly = useReadonly()\n\tconst toolbarItems = useToolbarSchema()\n\tconst laserTool = toolbarItems.find((item) => item.toolItem.id === 'laser')\n\n\tconst activeToolId = useValue('current tool id', () => editor.getCurrentToolId(), [editor])\n\n\tconst geoState = useValue(\n\t\t'geo',\n\t\t() => editor.getSharedStyles().getAsKnownValue(GeoShapeGeoStyle),\n\t\t[editor]\n\t)\n\n\tconst showEditingTools = !isReadonly\n\n\tconst getTitle = (item: TLUiToolItem) =>\n\t\titem.label ? `${msg(item.label)} ${item.kbd ? kbdStr(item.kbd) : ''}` : ''\n\n\tconst activeTLUiToolbarItem = toolbarItems.find((item) => {\n\t\treturn isActiveTLUiToolItem(item.toolItem, activeToolId, geoState)\n\t})\n\n\tconst { itemsInPanel, itemsInDropdown, dropdownFirstItem } = React.useMemo(() => {\n\t\tconst itemsInPanel: TLUiToolbarItem[] = []\n\t\tconst itemsInDropdown: TLUiToolbarItem[] = []\n\t\tlet dropdownFirstItem: TLUiToolbarItem | undefined\n\n\t\tconst overflowIndex = Math.min(8, 5 + breakpoint)\n\n\t\tfor (let i = 4; i < toolbarItems.length; i++) {\n\t\t\tconst item = toolbarItems[i]\n\t\t\tif (i < overflowIndex) {\n\t\t\t\t// Items below the overflow index will always be in the panel\n\t\t\t\titemsInPanel.push(item)\n\t\t\t} else {\n\t\t\t\t// Items above will be in the dropdown menu unless the item\n\t\t\t\t// is active (or was the most recently selected active item)\n\t\t\t\tif (item === activeTLUiToolbarItem) {\n\t\t\t\t\t// If the dropdown item is active, make it the dropdownFirstItem\n\t\t\t\t\tdropdownFirstItem = item\n\t\t\t\t}\n\t\t\t\t// Otherwise, add it to the items in dropdown menu\n\t\t\t\titemsInDropdown.push(item)\n\t\t\t}\n\t\t}\n\n\t\tif (dropdownFirstItem) {\n\t\t\t// noop\n\t\t} else {\n\t\t\t// If we don't have a currently active dropdown item, use the most\n\t\t\t// recently active dropdown item as the current dropdown first item.\n\n\t\t\t// If haven't ever had a most recently active dropdown item, then\n\t\t\t// make the first item in the dropdown menu the most recently\n\t\t\t// active dropdown item.\n\t\t\tif (!rMostRecentlyActiveDropdownItem.current) {\n\t\t\t\trMostRecentlyActiveDropdownItem.current = itemsInDropdown[0]\n\t\t\t}\n\n\t\t\tdropdownFirstItem = rMostRecentlyActiveDropdownItem.current\n\n\t\t\t// If the most recently active dropdown item is no longer in the\n\t\t\t// dropdown (because the breakpoint has changed) then make the\n\t\t\t// first item in the dropdown menu the most recently active\n\t\t\t// dropdown item.\n\t\t\tif (!itemsInDropdown.includes(dropdownFirstItem)) {\n\t\t\t\tdropdownFirstItem = itemsInDropdown[0]\n\t\t\t}\n\t\t}\n\n\t\t// We want this ref set to remember which item from the current\n\t\t// set of dropdown items was most recently active\n\t\trMostRecentlyActiveDropdownItem.current = dropdownFirstItem\n\n\t\tif (itemsInDropdown.length <= 2) {\n\t\t\titemsInPanel.push(...itemsInDropdown)\n\t\t\titemsInDropdown.length = 0\n\t\t}\n\n\t\treturn { itemsInPanel, itemsInDropdown, dropdownFirstItem }\n\t}, [toolbarItems, activeTLUiToolbarItem, breakpoint])\n\n\treturn (\n\t\t<div className=\"tlui-toolbar\">\n\t\t\t<div className=\"tlui-toolbar__inner\">\n\t\t\t\t<div className=\"tlui-toolbar__left\">\n\t\t\t\t\t{!isReadonly && (\n\t\t\t\t\t\t<div className=\"tlui-toolbar__extras\">\n\t\t\t\t\t\t\t{breakpoint < 6 && !(activeToolId === 'hand' || activeToolId === 'zoom') && (\n\t\t\t\t\t\t\t\t<div className=\"tlui-toolbar__extras__controls tlui-buttons__horizontal\">\n\t\t\t\t\t\t\t\t\t<UndoButton />\n\t\t\t\t\t\t\t\t\t<RedoButton />\n\t\t\t\t\t\t\t\t\t<TrashButton />\n\t\t\t\t\t\t\t\t\t<DuplicateButton />\n\t\t\t\t\t\t\t\t\t<ActionsMenu />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<ToggleToolLockedButton activeToolId={activeToolId} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames('tlui-toolbar__tools', {\n\t\t\t\t\t\t\t'tlui-toolbar__tools__mobile': breakpoint < 5,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t{/* Select / Hand */}\n\t\t\t\t\t\t{toolbarItems.slice(0, 2).map(({ toolItem }) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\tkey={toolItem.id}\n\t\t\t\t\t\t\t\t\titem={toolItem}\n\t\t\t\t\t\t\t\t\ttitle={getTitle(toolItem)}\n\t\t\t\t\t\t\t\t\tisSelected={isActiveTLUiToolItem(toolItem, activeToolId, geoState)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{isReadonly && laserTool && (\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tkey={laserTool.toolItem.id}\n\t\t\t\t\t\t\t\titem={laserTool.toolItem}\n\t\t\t\t\t\t\t\ttitle={getTitle(laserTool.toolItem)}\n\t\t\t\t\t\t\t\tisSelected={isActiveTLUiToolItem(laserTool.toolItem, activeToolId, geoState)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{showEditingTools && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{/* Draw / Eraser */}\n\t\t\t\t\t\t\t\t{toolbarItems.slice(2, 4).map(({ toolItem }) => (\n\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\tkey={toolItem.id}\n\t\t\t\t\t\t\t\t\t\titem={toolItem}\n\t\t\t\t\t\t\t\t\t\ttitle={getTitle(toolItem)}\n\t\t\t\t\t\t\t\t\t\tisSelected={isActiveTLUiToolItem(toolItem, activeToolId, geoState)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t{/* Everything Else */}\n\t\t\t\t\t\t\t\t{itemsInPanel.map(({ toolItem }) => (\n\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\tkey={toolItem.id}\n\t\t\t\t\t\t\t\t\t\titem={toolItem}\n\t\t\t\t\t\t\t\t\t\ttitle={getTitle(toolItem)}\n\t\t\t\t\t\t\t\t\t\tisSelected={isActiveTLUiToolItem(toolItem, activeToolId, geoState)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t{/* Overflowing Shapes */}\n\t\t\t\t\t\t\t\t{itemsInDropdown.length ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{/* Last selected (or first) item from the overflow */}\n\t\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\t\tkey={dropdownFirstItem.toolItem.id}\n\t\t\t\t\t\t\t\t\t\t\titem={dropdownFirstItem.toolItem}\n\t\t\t\t\t\t\t\t\t\t\ttitle={getTitle(dropdownFirstItem.toolItem)}\n\t\t\t\t\t\t\t\t\t\t\tisSelected={isActiveTLUiToolItem(\n\t\t\t\t\t\t\t\t\t\t\t\tdropdownFirstItem.toolItem,\n\t\t\t\t\t\t\t\t\t\t\t\tactiveToolId,\n\t\t\t\t\t\t\t\t\t\t\t\tgeoState\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{/* The dropdown to select everything else */}\n\t\t\t\t\t\t\t\t\t\t<M.Root id=\"toolbar overflow\" modal={false}>\n\t\t\t\t\t\t\t\t\t\t\t<M.Trigger>\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"tlui-toolbar__overflow\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon=\"chevron-up\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"tool\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-testid=\"tools.more\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={msg('tool-panel.more')}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</M.Trigger>\n\t\t\t\t\t\t\t\t\t\t\t<M.Content side=\"top\" align=\"center\">\n\t\t\t\t\t\t\t\t\t\t\t\t<OverflowToolsContent toolbarItems={itemsInDropdown} />\n\t\t\t\t\t\t\t\t\t\t\t</M.Content>\n\t\t\t\t\t\t\t\t\t\t</M.Root>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{breakpoint < 5 && !isReadonly && (\n\t\t\t\t\t<div className=\"tlui-toolbar__tools\">\n\t\t\t\t\t\t<MobileStylePanel />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t)\n})\n\nconst OverflowToolsContent = track(function OverflowToolsContent({\n\ttoolbarItems,\n}: {\n\ttoolbarItems: TLUiToolbarItem[]\n}) {\n\tconst msg = useTranslation()\n\n\treturn (\n\t\t<div className=\"tlui-buttons__grid\">\n\t\t\t{toolbarItems.map(({ toolItem: { id, meta, kbd, label, onSelect, icon } }) => {\n\t\t\t\treturn (\n\t\t\t\t\t<M.Item\n\t\t\t\t\t\tkey={id}\n\t\t\t\t\t\ttype=\"icon\"\n\t\t\t\t\t\tclassName=\"tlui-button-grid__button\"\n\t\t\t\t\t\tdata-testid={`tools.more.${id}`}\n\t\t\t\t\t\tdata-tool={id}\n\t\t\t\t\t\tdata-geo={meta?.geo ?? ''}\n\t\t\t\t\t\taria-label={label}\n\t\t\t\t\t\tonClick={() => onSelect('toolbar')}\n\t\t\t\t\t\ttitle={label ? `${msg(label)} ${kbd ? kbdStr(kbd) : ''}` : ''}\n\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t})}\n\t\t</div>\n\t)\n})\n\nfunction ToolbarButton({\n\titem,\n\ttitle,\n\tisSelected,\n}: {\n\titem: TLUiToolItem\n\ttitle: string\n\tisSelected: boolean\n}) {\n\treturn (\n\t\t<Button\n\t\t\ttype=\"tool\"\n\t\t\tdata-testid={`tools.${item.id}`}\n\t\t\tdata-tool={item.id}\n\t\t\tdata-geo={item.meta?.geo ?? ''}\n\t\t\taria-label={item.label}\n\t\t\ttitle={title}\n\t\t\ticon={item.icon}\n\t\t\tdata-state={isSelected ? 'selected' : undefined}\n\t\t\tonClick={() => item.onSelect('toolbar')}\n\t\t\tonTouchStart={(e) => {\n\t\t\t\tpreventDefault(e)\n\t\t\t\titem.onSelect('toolbar')\n\t\t\t}}\n\t\t/>\n\t)\n}\n\nconst isActiveTLUiToolItem = (\n\titem: TLUiToolItem,\n\tactiveToolId: string | undefined,\n\tgeoState: string | null | undefined\n) => {\n\treturn item.meta?.geo\n\t\t? activeToolId === 'geo' && geoState === item.meta?.geo\n\t\t: activeToolId === item.id\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Toolbar", "itemsInPanel", "itemsInDropdown", "dropdownFirstItem", "OverflowToolsContent"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { track, useEditor } from "@bigbluebutton/editor";
|
|
3
|
+
import { useActions } from "../hooks/useActions.mjs";
|
|
4
|
+
import { useReadonly } from "../hooks/useReadonly.mjs";
|
|
5
|
+
import { useTranslation } from "../hooks/useTranslation/useTranslation.mjs";
|
|
6
|
+
import { Button } from "./primitives/Button.mjs";
|
|
7
|
+
import { kbdStr } from "./primitives/shared.mjs";
|
|
8
|
+
const TrashButton = track(function TrashButton2() {
|
|
9
|
+
const editor = useEditor();
|
|
10
|
+
const actions = useActions();
|
|
11
|
+
const msg = useTranslation();
|
|
12
|
+
const action = actions["delete"];
|
|
13
|
+
const isReadonly = useReadonly();
|
|
14
|
+
if (isReadonly)
|
|
15
|
+
return null;
|
|
16
|
+
return /* @__PURE__ */ jsx(
|
|
17
|
+
Button,
|
|
18
|
+
{
|
|
19
|
+
icon: action.icon,
|
|
20
|
+
type: "icon",
|
|
21
|
+
onClick: () => action.onSelect("quick-actions"),
|
|
22
|
+
disabled: !(editor.isIn("select") && editor.getSelectedShapeIds().length > 0),
|
|
23
|
+
title: `${msg(action.label)} ${kbdStr(action.kbd)}`,
|
|
24
|
+
smallIcon: true
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
});
|
|
28
|
+
export {
|
|
29
|
+
TrashButton
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=TrashButton.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/lib/ui/components/TrashButton.tsx"],
|
|
4
|
+
"sourcesContent": ["import { track, useEditor } from '@bigbluebutton/editor'\nimport { useActions } from '../hooks/useActions'\nimport { useReadonly } from '../hooks/useReadonly'\nimport { useTranslation } from '../hooks/useTranslation/useTranslation'\nimport { Button } from './primitives/Button'\nimport { kbdStr } from './primitives/shared'\n\nexport const TrashButton = track(function TrashButton() {\n\tconst editor = useEditor()\n\tconst actions = useActions()\n\tconst msg = useTranslation()\n\tconst action = actions['delete']\n\n\tconst isReadonly = useReadonly()\n\n\tif (isReadonly) return null\n\n\treturn (\n\t\t<Button\n\t\t\ticon={action.icon}\n\t\t\ttype=\"icon\"\n\t\t\tonClick={() => action.onSelect('quick-actions')}\n\t\t\tdisabled={!(editor.isIn('select') && editor.getSelectedShapeIds().length > 0)}\n\t\t\ttitle={`${msg(action.label!)} ${kbdStr(action.kbd!)}`}\n\t\t\tsmallIcon\n\t\t/>\n\t)\n})\n"],
|
|
5
|
+
"mappings": "AAkBE;AAlBF,SAAS,OAAO,iBAAiB;AACjC,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AACvB,SAAS,cAAc;AAEhB,MAAM,cAAc,MAAM,SAASA,eAAc;AACvD,QAAM,SAAS,UAAU;AACzB,QAAM,UAAU,WAAW;AAC3B,QAAM,MAAM,eAAe;AAC3B,QAAM,SAAS,QAAQ,QAAQ;AAE/B,QAAM,aAAa,YAAY;AAE/B,MAAI;AAAY,WAAO;AAEvB,SACC;AAAA,IAAC;AAAA;AAAA,MACA,MAAM,OAAO;AAAA,MACb,MAAK;AAAA,MACL,SAAS,MAAM,OAAO,SAAS,eAAe;AAAA,MAC9C,UAAU,EAAE,OAAO,KAAK,QAAQ,KAAK,OAAO,oBAAoB,EAAE,SAAS;AAAA,MAC3E,OAAO,GAAG,IAAI,OAAO,KAAM,CAAC,IAAI,OAAO,OAAO,GAAI,CAAC;AAAA,MACnD,WAAS;AAAA;AAAA,EACV;AAEF,CAAC;",
|
|
6
|
+
"names": ["TrashButton"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from "react";
|
|
3
|
+
import { useActions } from "../hooks/useActions.mjs";
|
|
4
|
+
import { useCanUndo } from "../hooks/useCanUndo.mjs";
|
|
5
|
+
import { useTranslation } from "../hooks/useTranslation/useTranslation.mjs";
|
|
6
|
+
import { Button } from "./primitives/Button.mjs";
|
|
7
|
+
import { kbdStr } from "./primitives/shared.mjs";
|
|
8
|
+
const UndoButton = memo(function UndoButton2() {
|
|
9
|
+
const msg = useTranslation();
|
|
10
|
+
const canUndo = useCanUndo();
|
|
11
|
+
const actions = useActions();
|
|
12
|
+
const undo = actions["undo"];
|
|
13
|
+
return /* @__PURE__ */ jsx(
|
|
14
|
+
Button,
|
|
15
|
+
{
|
|
16
|
+
"data-testid": "main.undo",
|
|
17
|
+
icon: undo.icon,
|
|
18
|
+
type: "icon",
|
|
19
|
+
title: `${msg(undo.label)} ${kbdStr(undo.kbd)}`,
|
|
20
|
+
disabled: !canUndo,
|
|
21
|
+
onClick: () => undo.onSelect("quick-actions"),
|
|
22
|
+
smallIcon: true
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
});
|
|
26
|
+
export {
|
|
27
|
+
UndoButton
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=UndoButton.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/lib/ui/components/UndoButton.tsx"],
|
|
4
|
+
"sourcesContent": ["import { memo } from 'react'\nimport { useActions } from '../hooks/useActions'\nimport { useCanUndo } from '../hooks/useCanUndo'\nimport { useTranslation } from '../hooks/useTranslation/useTranslation'\nimport { Button } from './primitives/Button'\nimport { kbdStr } from './primitives/shared'\n\nexport const UndoButton = memo(function UndoButton() {\n\tconst msg = useTranslation()\n\tconst canUndo = useCanUndo()\n\tconst actions = useActions()\n\n\tconst undo = actions['undo']\n\n\treturn (\n\t\t<Button\n\t\t\tdata-testid=\"main.undo\"\n\t\t\ticon={undo.icon}\n\t\t\ttype=\"icon\"\n\t\t\ttitle={`${msg(undo.label!)} ${kbdStr(undo.kbd!)}`}\n\t\t\tdisabled={!canUndo}\n\t\t\tonClick={() => undo.onSelect('quick-actions')}\n\t\t\tsmallIcon\n\t\t/>\n\t)\n})\n"],
|
|
5
|
+
"mappings": "AAeE;AAfF,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AACvB,SAAS,cAAc;AAEhB,MAAM,aAAa,KAAK,SAASA,cAAa;AACpD,QAAM,MAAM,eAAe;AAC3B,QAAM,UAAU,WAAW;AAC3B,QAAM,UAAU,WAAW;AAE3B,QAAM,OAAO,QAAQ,MAAM;AAE3B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,eAAY;AAAA,MACZ,MAAM,KAAK;AAAA,MACX,MAAK;AAAA,MACL,OAAO,GAAG,IAAI,KAAK,KAAM,CAAC,IAAI,OAAO,KAAK,GAAI,CAAC;AAAA,MAC/C,UAAU,CAAC;AAAA,MACX,SAAS,MAAM,KAAK,SAAS,eAAe;AAAA,MAC5C,WAAS;AAAA;AAAA,EACV;AAEF,CAAC;",
|
|
6
|
+
"names": ["UndoButton"]
|
|
7
|
+
}
|