@sequent-org/moodboard 1.4.32 → 1.4.33
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/package.json +5 -1
- package/src/assets/fonts/inter/inter-cyrillic-400-normal.woff2 +0 -0
- package/src/assets/fonts/inter/inter-cyrillic-500-normal.woff2 +0 -0
- package/src/assets/fonts/inter/inter-latin-400-normal.woff2 +0 -0
- package/src/assets/fonts/inter/inter-latin-500-normal.woff2 +0 -0
- package/src/assets/icons/attachments.svg +3 -1
- package/src/assets/icons/comments.svg +2 -2
- package/src/assets/icons/connector.svg +6 -0
- package/src/assets/icons/emoji.svg +6 -1
- package/src/assets/icons/frame.svg +4 -1
- package/src/assets/icons/image.svg +5 -1
- package/src/assets/icons/laser.svg +1 -0
- package/src/assets/icons/lasso.svg +5 -0
- package/src/assets/icons/mindmap.svg +10 -2
- package/src/assets/icons/note.svg +4 -1
- package/src/assets/icons/pan.svg +5 -2
- package/src/assets/icons/pencil.svg +4 -1
- package/src/assets/icons/reactions.svg +5 -0
- package/src/assets/icons/redo.svg +3 -2
- package/src/assets/icons/select.svg +2 -8
- package/src/assets/icons/shapes.svg +5 -1
- package/src/assets/icons/text-add.svg +15 -1
- package/src/assets/icons/undo.svg +3 -2
- package/src/assets/reactions/1f44d.svg +20 -0
- package/src/assets/reactions/1f44e.svg +20 -0
- package/src/assets/reactions/2705.svg +20 -0
- package/src/assets/reactions/274c.svg +19 -0
- package/src/assets/reactions/2753.svg +20 -0
- package/src/assets/reactions/2764.svg +22 -0
- package/src/assets/reactions/2b50.svg +19 -0
- package/src/assets/reactions/plus-one.svg +25 -0
- package/src/core/PixiEngine.js +23 -0
- package/src/core/bootstrap/CoreInitializer.js +43 -0
- package/src/core/commands/GroupDeleteCommand.js +13 -1
- package/src/core/commands/UpdateShapeStyleCommand.js +121 -0
- package/src/core/commands/UpdateTextStyleCommand.js +17 -6
- package/src/core/commands/index.js +3 -0
- package/src/core/events/Events.js +22 -0
- package/src/core/flows/LayerAndViewportFlow.js +1 -0
- package/src/core/flows/ObjectLifecycleFlow.js +155 -7
- package/src/core/index.js +28 -1
- package/src/grid/CrossGridZoomPhases.js +3 -3
- package/src/initNoBundler.js +1 -1
- package/src/moodboard/DataManager.js +28 -0
- package/src/moodboard/MoodBoard.js +27 -0
- package/src/moodboard/bootstrap/MoodBoardInitializer.js +69 -1
- package/src/moodboard/bootstrap/MoodBoardUiFactory.js +22 -4
- package/src/moodboard/integration/MoodBoardEventBindings.js +5 -1
- package/src/moodboard/integration/MoodBoardLoadApi.js +10 -1
- package/src/moodboard/lifecycle/MoodBoardDestroyer.js +9 -0
- package/src/objects/ConnectorObject.js +2 -2
- package/src/objects/FrameObject.js +119 -59
- package/src/objects/ShapeObject.js +49 -74
- package/src/objects/shape/ShapeDrawer.js +210 -0
- package/src/services/ConnectorBindingResolver.js +112 -0
- package/src/services/ConnectorRouter.js +210 -0
- package/src/services/comments/CommentService.js +344 -0
- package/src/tools/object-tools/CommentTool.js +85 -0
- package/src/tools/object-tools/DrawingTool.js +110 -10
- package/src/tools/object-tools/LaserPointerTool.js +121 -0
- package/src/tools/object-tools/SelectTool.js +25 -1
- package/src/tools/object-tools/TextTool.js +6 -1
- package/src/tools/object-tools/connector/ConnectorDragController.js +50 -3
- package/src/tools/object-tools/connector/connectorGesture.js +33 -19
- package/src/tools/object-tools/placement/PlacementInputRouter.js +22 -1
- package/src/tools/object-tools/selection/BoxSelectController.js +24 -2
- package/src/tools/object-tools/selection/FrameTitleInlineEditorController.js +139 -0
- package/src/tools/object-tools/selection/InlineEditorController.js +12 -0
- package/src/tools/object-tools/selection/InlineEditorDomFactory.js +36 -0
- package/src/tools/object-tools/selection/LassoSelectController.js +125 -0
- package/src/tools/object-tools/selection/MindmapInlineEditorController.js +1 -0
- package/src/tools/object-tools/selection/SelectInputRouter.js +64 -5
- package/src/tools/object-tools/selection/SelectToolLifecycleController.js +11 -1
- package/src/tools/object-tools/selection/SelectToolSetup.js +13 -1
- package/src/tools/object-tools/selection/TextEditorInteractionController.js +46 -12
- package/src/tools/object-tools/selection/TextEditorSyncService.js +1 -0
- package/src/tools/object-tools/selection/TextInlineEditorController.js +65 -6
- package/src/ui/CommentPopover.js +6 -0
- package/src/ui/CommentsBar.js +91 -0
- package/src/ui/ConnectorPropertiesPanel.js +150 -0
- package/src/ui/ContextMenu.js +25 -0
- package/src/ui/DrawingPropertiesPanel.js +362 -0
- package/src/ui/FilePropertiesPanel.js +5 -0
- package/src/ui/FramePropertiesPanel.js +5 -0
- package/src/ui/HtmlTextLayer.js +246 -66
- package/src/ui/NotePropertiesPanel.js +6 -0
- package/src/ui/ShapePropertiesPanel.js +307 -0
- package/src/ui/TextPropertiesPanel.js +100 -1
- package/src/ui/Toolbar.js +25 -2
- package/src/ui/Topbar.js +2 -2
- package/src/ui/animation/HoverLiftController.js +6 -7
- package/src/ui/chat/ChatComposer.js +58 -7
- package/src/ui/chat/ChatWindow.js +60 -143
- package/src/ui/comments/CommentListPanel.js +213 -0
- package/src/ui/comments/CommentPinLayer.js +448 -0
- package/src/ui/comments/CommentThreadPopover.js +539 -0
- package/src/ui/comments/commentFormat.js +32 -0
- package/src/ui/connector-properties/ConnectorPropertiesPanelBindings.js +223 -0
- package/src/ui/connector-properties/ConnectorPropertiesPanelEventBridge.js +114 -0
- package/src/ui/connector-properties/ConnectorPropertiesPanelMapper.js +144 -0
- package/src/ui/connector-properties/ConnectorPropertiesPanelRenderer.js +447 -0
- package/src/ui/connector-properties/ConnectorPropertiesPanelState.js +61 -0
- package/src/ui/connectors/ConnectionAnchorsLayer.js +1 -0
- package/src/ui/connectors/ConnectorHandlesLayer.js +321 -0
- package/src/ui/connectors/ConnectorLabelLayer.js +334 -0
- package/src/ui/connectors/ConnectorLayer.js +264 -57
- package/src/ui/handles/HandlesDomRenderer.js +5 -13
- package/src/ui/handles/HandlesEventBridge.js +1 -0
- package/src/ui/handles/SingleSelectionHandlesController.js +4 -0
- package/src/ui/mindmap/MindmapCollapseLayer.js +1 -0
- package/src/ui/mindmap/MindmapConnectionLayer.js +1 -0
- package/src/ui/mindmap/MindmapHtmlTextLayer.js +6 -0
- package/src/ui/shape-properties/ShapePropertiesPanelDom.js +533 -0
- package/src/ui/shape-properties/ShapePropertiesPanelSync.js +132 -0
- package/src/ui/styles/chat.css +709 -19
- package/src/ui/styles/index.css +1 -0
- package/src/ui/styles/panels.css +112 -2
- package/src/ui/styles/shape-properties-panel.css +250 -0
- package/src/ui/styles/toolbar.css +7 -2
- package/src/ui/styles/topbar.css +1 -1
- package/src/ui/styles/workspace.css +257 -6
- package/src/ui/text-properties/TextFormatControls.js +88 -0
- package/src/ui/text-properties/TextListRenderer.js +137 -0
- package/src/ui/text-properties/TextPropertiesPanelBindings.js +27 -0
- package/src/ui/text-properties/TextPropertiesPanelEventBridge.js +3 -1
- package/src/ui/text-properties/TextPropertiesPanelMapper.js +56 -0
- package/src/ui/text-properties/TextPropertiesPanelRenderer.js +24 -0
- package/src/ui/text-properties/TextPropertiesPanelState.js +8 -0
- package/src/ui/toolbar/ReactionsPopupController.js +88 -0
- package/src/ui/toolbar/ToolbarActionRouter.js +71 -5
- package/src/ui/toolbar/ToolbarPopupsController.js +120 -118
- package/src/ui/toolbar/ToolbarRenderer.js +9 -1
- package/src/ui/toolbar/ToolbarStateController.js +4 -1
- package/src/utils/iconLoader.js +17 -16
- package/src/utils/markdown.js +14 -0
- package/src/utils/richText.js +125 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sequent-org/moodboard",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.33",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Interactive moodboard",
|
|
6
6
|
"main": "./src/index.js",
|
|
@@ -42,11 +42,15 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@pixi/filter-drop-shadow": "^5.2.0",
|
|
44
44
|
"axios": "^1.0.0",
|
|
45
|
+
"dompurify": "^3.4.7",
|
|
45
46
|
"gsap": "^3.15.0",
|
|
47
|
+
"katex": "^0.17.0",
|
|
46
48
|
"lucide-static": "^1.16.0",
|
|
49
|
+
"marked": "^18.0.4",
|
|
47
50
|
"pixi.js": "^7.0.0"
|
|
48
51
|
},
|
|
49
52
|
"devDependencies": {
|
|
53
|
+
"@fontsource/inter": "^5.2.8",
|
|
50
54
|
"@playwright/test": "^1.58.2",
|
|
51
55
|
"@testing-library/dom": "^10.4.1",
|
|
52
56
|
"@testing-library/jest-dom": "^6.7.0",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
<svg width="
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<path d="m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551" />
|
|
3
|
+
</svg>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<svg width="
|
|
2
|
-
<path d="
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719" />
|
|
3
3
|
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<circle cx="5" cy="19" r="2"/>
|
|
3
|
+
<circle cx="19" cy="5" r="2"/>
|
|
4
|
+
<line x1="6.5" y1="17.5" x2="17.5" y2="6.5"/>
|
|
5
|
+
<polyline points="13 5 19 5 19 11"/>
|
|
6
|
+
</svg>
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
<svg
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<circle cx="12" cy="12" r="10" />
|
|
3
|
+
<path d="M8 14s1.5 2 4 2 4-2 4-2" />
|
|
4
|
+
<line x1="9" x2="9.01" y1="9" y2="9" />
|
|
5
|
+
<line x1="15" x2="15.01" y1="9" y2="9" />
|
|
6
|
+
</svg>
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
<svg
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<rect x="3" y="3" width="18" height="18" rx="3" />
|
|
3
|
+
<rect x="3" y="3" width="9" height="6" rx="3" />
|
|
4
|
+
</svg>
|
|
@@ -1 +1,5 @@
|
|
|
1
|
-
<svg
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<rect width="18" height="18" x="3" y="3" rx="2" ry="2" />
|
|
3
|
+
<circle cx="9" cy="9" r="2" />
|
|
4
|
+
<path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21" />
|
|
5
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="2"/><path d="M12 2v3"/><path d="m4.93 4.93 2.12 2.12"/><path d="M2 12h3"/><path d="m4.93 19.07 2.12-2.12"/><path d="M12 19v3"/><path d="m19.07 19.07-2.12-2.12"/><path d="M22 12h-3"/><path d="m19.07 4.93-2.12 2.12"/></svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<path d="M3.704 14.467a10 8 0 1 1 3.115 2.375" />
|
|
3
|
+
<path d="M7 22a5 5 0 0 1-2-3.994" />
|
|
4
|
+
<circle cx="5" cy="16" r="2" />
|
|
5
|
+
</svg>
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
<svg width="24" height="24" viewBox="0 0 24 24" fill="none"
|
|
2
|
-
<
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<rect x="9" y="9" width="6" height="6" rx="2" />
|
|
3
|
+
<circle cx="5" cy="5" r="2" />
|
|
4
|
+
<circle cx="19" cy="5" r="2" />
|
|
5
|
+
<circle cx="5" cy="19" r="2" />
|
|
6
|
+
<circle cx="19" cy="19" r="2" />
|
|
7
|
+
<path d="m6.5 6.5 2 2" />
|
|
8
|
+
<path d="m17.5 6.5-2 2" />
|
|
9
|
+
<path d="m6.5 17.5 2-2" />
|
|
10
|
+
<path d="m17.5 17.5-2-2" />
|
|
3
11
|
</svg>
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
<svg
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<path d="M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z" />
|
|
3
|
+
<path d="M15 3v5a1 1 0 0 0 1 1h5" />
|
|
4
|
+
</svg>
|
package/src/assets/icons/pan.svg
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
<svg width="
|
|
2
|
-
<path
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<path d="M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2" />
|
|
3
|
+
<path d="M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2" />
|
|
4
|
+
<path d="M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8" />
|
|
5
|
+
<path d="M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15" />
|
|
3
6
|
</svg>
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
<svg
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z" />
|
|
3
|
+
<path d="m15 5 4 4" />
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
3
|
+
<path d="M7 10v12"/>
|
|
4
|
+
<path d="M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z"/>
|
|
5
|
+
</svg>
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
<svg width="
|
|
2
|
-
<path
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<path d="m15 14 5-5-5-5" />
|
|
3
|
+
<path d="M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13" />
|
|
3
4
|
</svg>
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
<svg width="
|
|
2
|
-
<
|
|
3
|
-
<path d="M0 0H17V17H0V0Z" fill="white"/>
|
|
4
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.294 8.06299C15.4924 8.00216 15.6669 7.88112 15.7934 7.71665C15.92 7.55217 15.9922 7.35242 16.0001 7.14506C16.008 6.93771 15.9512 6.73303 15.8376 6.5594C15.724 6.38576 15.5592 6.25177 15.366 6.17599L2.36599 1.06899C2.18473 0.997562 1.98654 0.980637 1.79579 1.0203C1.60503 1.05996 1.43002 1.15448 1.29225 1.29225C1.15448 1.43002 1.05996 1.60503 1.0203 1.79579C0.980637 1.98654 0.997562 2.18473 1.06899 2.36599L6.17599 15.366C6.25177 15.5592 6.38576 15.724 6.5594 15.8376C6.73303 15.9512 6.93771 16.008 7.14506 16.0001C7.35242 15.9922 7.55217 15.92 7.71665 15.7934C7.88112 15.6669 8.00216 15.4924 8.06299 15.294L9.76399 9.76399L15.294 8.06299Z" fill="black"/>
|
|
5
|
-
</mask>
|
|
6
|
-
<g mask="url(#mask0_66_4379)">
|
|
7
|
-
<path d="M9.764 9.764L9.47 8.809C9.31431 8.857 9.17271 8.94231 9.05751 9.05751C8.94231 9.17271 8.857 9.31431 8.809 9.47L9.764 9.764ZM15 7.107L15.588 9.019C15.9844 8.89694 16.333 8.65467 16.5856 8.32573C16.8382 7.99679 16.9824 7.59745 16.998 7.183L15 7.107ZM15 7.107L16.999 7.183C17.0146 6.76851 16.9009 6.35942 16.6738 6.01238C16.4466 5.66534 16.1171 5.39752 15.731 5.246L15 7.107ZM2 2L15 7.107L15.731 5.246L2.731 0.138998L2 2ZM2 2L2.731 0.138998C2.36874 -0.00327954 1.97285 -0.0367717 1.59184 0.0426271C1.21083 0.122026 0.861269 0.310866 0.585999 0.585998L2 2ZM2 2L0.585999 0.585998C0.310697 0.861157 0.12167 1.21067 0.0420925 1.59168C-0.0374851 1.9727 -0.00315414 2.36865 0.138999 2.731L2 2ZM7.107 15L2 2L0.138999 2.731L5.246 15.731L7.107 15ZM7.107 15L5.246 15.731C5.39735 16.1173 5.66511 16.447 6.01216 16.6743C6.35921 16.9017 6.76839 17.0155 7.183 17L7.107 15ZM7.107 15L7.183 17C7.59745 16.9844 7.99679 16.8392 8.32573 16.5866C8.65467 16.334 8.89694 15.9854 9.019 15.589L7.107 15ZM8.809 9.47L7.107 15L9.019 15.588L10.72 10.058L8.809 9.47ZM15 7.107L9.47 8.809L10.058 10.72L15.588 9.019L15 7.107Z" fill="currentColor"/>
|
|
8
|
-
</g>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<path d="M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z" />
|
|
9
3
|
</svg>
|
|
@@ -1 +1,5 @@
|
|
|
1
|
-
<svg
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<path d="M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z" />
|
|
3
|
+
<rect x="3" y="14" width="7" height="7" rx="1" />
|
|
4
|
+
<circle cx="17.5" cy="17.5" r="3.5" />
|
|
5
|
+
</svg>
|
|
@@ -1 +1,15 @@
|
|
|
1
|
-
<svg
|
|
1
|
+
<svg
|
|
2
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
3
|
+
width="24"
|
|
4
|
+
height="24"
|
|
5
|
+
viewBox="0 0 24 24"
|
|
6
|
+
fill="none"
|
|
7
|
+
stroke="currentColor"
|
|
8
|
+
stroke-width="2"
|
|
9
|
+
stroke-linecap="round"
|
|
10
|
+
stroke-linejoin="round"
|
|
11
|
+
>
|
|
12
|
+
<path d="M12 4v16" />
|
|
13
|
+
<path d="M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2" />
|
|
14
|
+
<path d="M9 20h6" />
|
|
15
|
+
</svg>
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
<svg width="
|
|
2
|
-
<path
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2
|
+
<path d="M9 14 4 9l5-5" />
|
|
3
|
+
<path d="M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11" />
|
|
3
4
|
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 128 128" width="128" height="128">
|
|
2
|
+
<defs>
|
|
3
|
+
<filter id="outline" x="-25%" y="-25%" width="150%" height="150%">
|
|
4
|
+
<feMorphology in="SourceAlpha" operator="dilate" radius="5" result="dilated"/>
|
|
5
|
+
<feFlood flood-color="white" result="white"/>
|
|
6
|
+
<feComposite in="white" in2="dilated" operator="in"/>
|
|
7
|
+
</filter>
|
|
8
|
+
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
|
9
|
+
<feDropShadow dx="0" dy="2" stdDeviation="3" flood-color="#000" flood-opacity="0.25"/>
|
|
10
|
+
</filter>
|
|
11
|
+
<g id="icon" transform="translate(8,8) scale(3.5)">
|
|
12
|
+
<path d="M12.3125 5.53122C12.3125 2.63122 14.4375 1.94789 15.625 1.96872C18.0375 1.96872 18.7073 3.97771 18.9062 5.04681C19.1536 6.37617 18.9115 9.55588 18.8004 11.0156L18.7973 11.0573C18.956 11.0201 19.1274 10.9999 19.3125 10.9999H23.17C24.73 10.9999 26 12.2699 26 13.8299C26 14.636 25.7414 15.3646 25.2346 15.8807C26.2789 16.3414 27 17.3084 27 18.4237C27 19.4466 26.5373 20.3448 25.6357 20.8421C26.4591 21.353 27 22.2078 27 23.1737C27 24.2814 26.4574 25.2429 25.4024 25.7073C25.7767 26.0933 26 26.6677 26 27.5015C26 28.8805 25.0312 30.0031 23.17 30.0031H19.3125C19.2671 30.0031 19.2224 30.0021 19.1783 29.9999H16.0469C5.60938 30.1718 5 23.4062 5 20.6562C5 15.5001 7.29793 13.9674 9.34062 12.605C10.3064 11.9608 11.215 11.3547 11.7969 10.4218C12.285 9.63906 12.3125 8.92181 12.3125 5.53122Z" fill="#FFC83D"/>
|
|
13
|
+
<path d="M19 11C17.9792 11.0312 15 11.5937 15 13.9687C15 15.2188 15.4688 15.9219 16.0313 16.3125C15.4688 16.5625 14.9688 17.4906 14.9688 18.6406C14.9688 19.9219 16.0313 20.8594 16.0313 20.8594C16.0313 20.8594 14.9688 21.8906 14.9688 23.125C14.9688 24.057 15.3774 24.7446 16.0313 25.2133C15.6771 25.413 14.9688 26.1062 14.9688 27.2812C14.9688 28.6824 16.277 29.856 18.8392 29.9611C17.5908 29.73 16.9844 28.5862 16.9844 27.5016C16.9844 27.1431 17.1185 26.5675 17.4514 26.0588H23C23.2761 26.0588 23.5 25.8349 23.5 25.5588C23.5 25.2826 23.2761 25.0588 23 25.0588H17.5889C17.1838 24.5287 16.9844 23.8413 16.9844 23.1738C16.9844 22.7584 17.1407 22.0855 17.5304 21.5H23C23.2761 21.5 23.5 21.2761 23.5 21C23.5 20.7239 23.2761 20.5 23 20.5H17.7507C17.2368 19.9509 16.9844 19.1748 16.9844 18.4238C16.9844 18.0665 17.1 17.5188 17.3803 17H23C23.2761 17 23.5 16.7761 23.5 16.5C23.5 16.2239 23.2761 16 23 16H17.8268C17.2634 15.4035 16.9844 14.5164 16.9844 13.83C16.9844 13.02 17.4266 11.2303 19.0002 11.0202L19 11Z" fill="#D67D00"/>
|
|
14
|
+
</g>
|
|
15
|
+
</defs>
|
|
16
|
+
<g filter="url(#shadow)">
|
|
17
|
+
<use href="#icon" xlink:href="#icon" filter="url(#outline)"/>
|
|
18
|
+
<use href="#icon" xlink:href="#icon"/>
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 128 128" width="128" height="128">
|
|
2
|
+
<defs>
|
|
3
|
+
<filter id="outline" x="-25%" y="-25%" width="150%" height="150%">
|
|
4
|
+
<feMorphology in="SourceAlpha" operator="dilate" radius="5" result="dilated"/>
|
|
5
|
+
<feFlood flood-color="white" result="white"/>
|
|
6
|
+
<feComposite in="white" in2="dilated" operator="in"/>
|
|
7
|
+
</filter>
|
|
8
|
+
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
|
9
|
+
<feDropShadow dx="0" dy="2" stdDeviation="3" flood-color="#000" flood-opacity="0.25"/>
|
|
10
|
+
</filter>
|
|
11
|
+
<g id="icon" transform="translate(8,8) scale(3.5)">
|
|
12
|
+
<path d="M19.6875 26.4403C19.6875 29.3403 17.5625 30.0237 16.375 30.0028C13.9625 30.0028 13.2927 27.9938 13.0938 26.9247C12.8464 25.5954 13.0885 22.4157 13.1996 20.9559L13.2027 20.9143C13.044 20.9514 12.8726 20.9716 12.6875 20.9716H8.83C7.27 20.9716 6 19.7016 6 18.1416C6 17.3355 6.25865 16.6069 6.76542 16.0909C5.72106 15.6301 5 14.6631 5 13.5478C5 12.5249 5.46273 11.6267 6.36431 11.1295C5.54092 10.6185 5 9.76378 5 8.79785C5 7.69011 5.54264 6.7286 6.5976 6.2642C6.22328 5.87828 6 5.30388 6 4.47C6 3.09102 6.96875 1.96839 8.83 1.96839L12.6875 1.9684C12.7329 1.9684 12.7776 1.96947 12.8217 1.9716H15.9531C26.3906 1.79972 27 8.56535 27 11.3153C27 16.4714 24.7021 18.0041 22.6594 19.3666C21.6936 20.0107 20.785 20.6168 20.2031 21.5497C19.715 22.3325 19.6875 23.0497 19.6875 26.4403Z" fill="#FFC83D"/>
|
|
13
|
+
<path d="M14.3943 6.91281H9C8.72386 6.91281 8.5 6.68895 8.5 6.41281C8.5 6.13667 8.72386 5.91281 9 5.91281H14.5486C14.8815 5.40409 15.0156 4.8285 15.0156 4.47C15.0156 3.38537 14.4092 2.24163 13.1608 2.0105C15.723 2.11556 17.0312 3.28919 17.0312 4.69035C17.0312 5.86535 16.3229 6.55855 15.9687 6.75827C16.6226 7.22697 17.0312 7.91465 17.0312 8.8466C17.0312 10.081 15.9687 11.1122 15.9687 11.1122C15.9687 11.1122 17.0312 12.0497 17.0312 13.331C17.0312 14.481 16.5312 15.4091 15.9687 15.6591C16.5312 16.0497 17 16.7528 17 18.0028C17 20.3778 14.0208 20.9403 13 20.9716L12.9998 20.9514C14.5733 20.7413 15.0156 18.9516 15.0156 18.1416C15.0156 17.4552 14.7366 16.5681 14.1732 15.9716H9C8.72386 15.9716 8.5 15.7477 8.5 15.4716C8.5 15.1954 8.72386 14.9716 9 14.9716H14.6197C14.9 14.4528 15.0156 13.9051 15.0156 13.5478C15.0156 12.7968 14.7632 12.0207 14.2493 11.4716H9C8.72386 11.4716 8.5 11.2477 8.5 10.9716C8.5 10.6954 8.72386 10.4716 9 10.4716H14.4696C14.8593 9.88612 15.0156 9.21319 15.0156 8.79785C15.0156 8.33144 14.876 7.54024 14.3943 6.91281Z" fill="#D67D00"/>
|
|
14
|
+
</g>
|
|
15
|
+
</defs>
|
|
16
|
+
<g filter="url(#shadow)">
|
|
17
|
+
<use href="#icon" xlink:href="#icon" filter="url(#outline)"/>
|
|
18
|
+
<use href="#icon" xlink:href="#icon"/>
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 128 128" width="128" height="128">
|
|
2
|
+
<defs>
|
|
3
|
+
<filter id="outline" x="-25%" y="-25%" width="150%" height="150%">
|
|
4
|
+
<feMorphology in="SourceAlpha" operator="dilate" radius="5" result="dilated"/>
|
|
5
|
+
<feFlood flood-color="white" result="white"/>
|
|
6
|
+
<feComposite in="white" in2="dilated" operator="in"/>
|
|
7
|
+
</filter>
|
|
8
|
+
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
|
9
|
+
<feDropShadow dx="0" dy="2" stdDeviation="3" flood-color="#000" flood-opacity="0.25"/>
|
|
10
|
+
</filter>
|
|
11
|
+
<g id="icon" transform="translate(8,8) scale(3.5)">
|
|
12
|
+
<path d="M2 6C2 3.79086 3.79086 2 6 2H26C28.2091 2 30 3.79086 30 6V26C30 28.2091 28.2091 30 26 30H6C3.79086 30 2 28.2091 2 26V6Z" fill="#00D26A"/>
|
|
13
|
+
<path d="M13.242 23C12.8588 23 12.4757 22.8566 12.183 22.5692L6.43855 16.9278C5.85382 16.3535 5.85382 15.422 6.43855 14.8477C7.02329 14.2735 7.97186 14.2735 8.55659 14.8477L13.242 19.4491L23.4434 9.43069C24.0281 8.85644 24.9767 8.85644 25.5614 9.43069C26.1462 10.0049 26.1462 10.9365 25.5614 11.5107L14.301 22.5692C14.009 22.8566 13.6252 23 13.242 23Z" fill="#F4F4F4"/>
|
|
14
|
+
</g>
|
|
15
|
+
</defs>
|
|
16
|
+
<g filter="url(#shadow)">
|
|
17
|
+
<use href="#icon" xlink:href="#icon" filter="url(#outline)"/>
|
|
18
|
+
<use href="#icon" xlink:href="#icon"/>
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 128 128" width="128" height="128">
|
|
2
|
+
<defs>
|
|
3
|
+
<filter id="outline" x="-25%" y="-25%" width="150%" height="150%">
|
|
4
|
+
<feMorphology in="SourceAlpha" operator="dilate" radius="5" result="dilated"/>
|
|
5
|
+
<feFlood flood-color="white" result="white"/>
|
|
6
|
+
<feComposite in="white" in2="dilated" operator="in"/>
|
|
7
|
+
</filter>
|
|
8
|
+
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
|
9
|
+
<feDropShadow dx="0" dy="2" stdDeviation="3" flood-color="#000" flood-opacity="0.25"/>
|
|
10
|
+
</filter>
|
|
11
|
+
<g id="icon" transform="translate(8,8) scale(3.5)">
|
|
12
|
+
<path d="M24.8787 2.87868C26.0503 1.70711 27.9497 1.70711 29.1213 2.87868C30.2929 4.05025 30.2929 5.94975 29.1213 7.12132L20.331 15.9116C20.2822 15.9604 20.2822 16.0396 20.331 16.0884L29.1213 24.8787C30.2929 26.0503 30.2929 27.9497 29.1213 29.1213C27.9497 30.2929 26.0503 30.2929 24.8787 29.1213L16.0884 20.331C16.0396 20.2822 15.9604 20.2822 15.9116 20.331L7.12132 29.1213C5.94975 30.2929 4.05025 30.2929 2.87868 29.1213C1.70711 27.9497 1.70711 26.0503 2.87868 24.8787L11.669 16.0884C11.7178 16.0396 11.7178 15.9604 11.669 15.9116L2.87868 7.12132C1.70711 5.94975 1.70711 4.05025 2.87868 2.87868C4.05025 1.70711 5.94975 1.70711 7.12132 2.87868L15.9116 11.669C15.9604 11.7178 16.0396 11.7178 16.0884 11.669L24.8787 2.87868Z" fill="#F92F60"/>
|
|
13
|
+
</g>
|
|
14
|
+
</defs>
|
|
15
|
+
<g filter="url(#shadow)">
|
|
16
|
+
<use href="#icon" xlink:href="#icon" filter="url(#outline)"/>
|
|
17
|
+
<use href="#icon" xlink:href="#icon"/>
|
|
18
|
+
</g>
|
|
19
|
+
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 128 128" width="128" height="128">
|
|
2
|
+
<defs>
|
|
3
|
+
<filter id="outline" x="-25%" y="-25%" width="150%" height="150%">
|
|
4
|
+
<feMorphology in="SourceAlpha" operator="dilate" radius="5" result="dilated"/>
|
|
5
|
+
<feFlood flood-color="white" result="white"/>
|
|
6
|
+
<feComposite in="white" in2="dilated" operator="in"/>
|
|
7
|
+
</filter>
|
|
8
|
+
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
|
9
|
+
<feDropShadow dx="0" dy="2" stdDeviation="3" flood-color="#000" flood-opacity="0.25"/>
|
|
10
|
+
</filter>
|
|
11
|
+
<g id="icon" transform="translate(8,8) scale(3.5)">
|
|
12
|
+
<path d="M13.0372 20.8626C13.0372 22.1648 14.1823 23.2221 15.5924 23.2221C17.0025 23.2221 18.1475 22.1648 18.1475 20.8528V19.1506C18.1475 19.0395 18.2212 18.9421 18.3271 18.9086C21.6766 17.8508 24 14.9188 24 11.5616V10.3084C24 6.0691 20.3104 2.53471 15.7726 2.4466C13.4931 2.39764 11.3409 3.19068 9.70813 4.65926C8.08598 6.12784 7.18478 8.10553 7.18478 10.2105C7.18478 11.5224 8.34043 12.5798 9.75054 12.5798C11.1606 12.5798 12.3057 11.5224 12.3057 10.2203C12.3057 9.39788 12.6556 8.62443 13.2917 8.04679C13.9278 7.46915 14.7654 7.15585 15.6666 7.17543C17.4478 7.21459 18.8897 8.62443 18.8897 10.3182V11.5616C18.8897 13.0302 17.7659 14.2932 16.2073 14.5575C14.3731 14.8708 13.0372 16.3492 13.0372 18.0723V20.8626Z" fill="#F8312F"/>
|
|
13
|
+
<path d="M15.5 30C16.8807 30 18 28.8807 18 27.5C18 26.1193 16.8807 25 15.5 25C14.1193 25 13 26.1193 13 27.5C13 28.8807 14.1193 30 15.5 30Z" fill="#F8312F"/>
|
|
14
|
+
</g>
|
|
15
|
+
</defs>
|
|
16
|
+
<g filter="url(#shadow)">
|
|
17
|
+
<use href="#icon" xlink:href="#icon" filter="url(#outline)"/>
|
|
18
|
+
<use href="#icon" xlink:href="#icon"/>
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 128 128" width="128" height="128">
|
|
2
|
+
<defs>
|
|
3
|
+
<filter id="outline" x="-25%" y="-25%" width="150%" height="150%">
|
|
4
|
+
<feMorphology in="SourceAlpha" operator="dilate" radius="5" result="dilated"/>
|
|
5
|
+
<feFlood flood-color="white" result="white"/>
|
|
6
|
+
<feComposite in="white" in2="dilated" operator="in"/>
|
|
7
|
+
</filter>
|
|
8
|
+
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
|
9
|
+
<feDropShadow dx="0" dy="2" stdDeviation="3" flood-color="#000" flood-opacity="0.25"/>
|
|
10
|
+
</filter>
|
|
11
|
+
<g id="icon" transform="translate(8,8) scale(3.5)">
|
|
12
|
+
<path d="M5.99987 6.00001C10.6646 3.66763 14.4999 6.50001 15.9999 8.50001C17.4999 6.5 21.3351 3.66763 25.9999 6.00001C31.9999 8.99999 30.4998 16.5 25.9998 21C23.8041 23.1958 19.9371 27.0628 17.1087 29.2137C16.4552 29.7106 15.5614 29.6884 14.9226 29.1728C12.3299 27.08 8.16491 23.165 5.99987 21C1.49986 16.5 -0.000126839 8.99999 5.99987 6.00001Z" fill="#F8312F"/>
|
|
13
|
+
<path d="M15.9998 8.49998V11.5492C17.2695 8.86501 20.4252 5.28051 25.6578 5.83746C21.1482 3.80623 17.463 6.54908 15.9998 8.49998Z" fill="#CA0B4A"/>
|
|
14
|
+
<path d="M11.9456 5.53691C10.2614 4.95005 8.22499 4.88745 5.99987 6.00001C-0.000126839 8.99999 1.49986 16.5 5.99987 21C8.16491 23.165 12.3299 27.08 14.9226 29.1728C15.5614 29.6884 16.4552 29.7106 17.1087 29.2137C17.3629 29.0204 17.6255 28.8132 17.8945 28.5946C15.0398 26.4524 11.0335 23.0762 8.85898 21.1325C3.90218 16.702 2.24993 9.31788 8.85898 6.36425C9.93279 5.88435 10.9667 5.62654 11.9456 5.53691Z" fill="#CA0B4A"/>
|
|
15
|
+
<ellipse cx="23.4771" cy="12.5937" rx="2.83554" ry="4.78125" transform="rotate(30 23.4771 12.5937)" fill="#F37366"/>
|
|
16
|
+
</g>
|
|
17
|
+
</defs>
|
|
18
|
+
<g filter="url(#shadow)">
|
|
19
|
+
<use href="#icon" xlink:href="#icon" filter="url(#outline)"/>
|
|
20
|
+
<use href="#icon" xlink:href="#icon"/>
|
|
21
|
+
</g>
|
|
22
|
+
</svg>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 128 128" width="128" height="128">
|
|
2
|
+
<defs>
|
|
3
|
+
<filter id="outline" x="-25%" y="-25%" width="150%" height="150%">
|
|
4
|
+
<feMorphology in="SourceAlpha" operator="dilate" radius="5" result="dilated"/>
|
|
5
|
+
<feFlood flood-color="white" result="white"/>
|
|
6
|
+
<feComposite in="white" in2="dilated" operator="in"/>
|
|
7
|
+
</filter>
|
|
8
|
+
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
|
9
|
+
<feDropShadow dx="0" dy="2" stdDeviation="3" flood-color="#000" flood-opacity="0.25"/>
|
|
10
|
+
</filter>
|
|
11
|
+
<g id="icon" transform="translate(8,8) scale(3.5)">
|
|
12
|
+
<path d="M18.6992 4.62713L20.9469 8.93616C21.288 9.57602 21.9102 10.0259 22.6326 10.1259L27.3788 10.7758C29.9175 11.1257 30.9008 14.255 29.0244 15.9946L25.7733 18.9939C25.2114 19.5138 24.9505 20.2836 25.091 21.0334L25.8837 25.4324C26.3252 27.8819 23.7765 29.7915 21.5389 28.6717L17.0034 26.4222C16.3713 26.1123 15.6287 26.1123 14.9966 26.4222L10.4611 28.6717C8.22347 29.7815 5.67477 27.8819 6.11628 25.4324L6.90898 21.0334C7.04946 20.2836 6.78857 19.5138 6.22665 18.9939L2.97556 15.9946C1.09916 14.265 2.08251 11.1257 4.62118 10.7758L9.36737 10.1259C10.0898 10.0259 10.722 9.58601 11.0531 8.93616L13.3008 4.62713C14.4447 2.45762 17.5653 2.45762 18.6992 4.62713Z" fill="#FCD53F"/>
|
|
13
|
+
</g>
|
|
14
|
+
</defs>
|
|
15
|
+
<g filter="url(#shadow)">
|
|
16
|
+
<use href="#icon" xlink:href="#icon" filter="url(#outline)"/>
|
|
17
|
+
<use href="#icon" xlink:href="#icon"/>
|
|
18
|
+
</g>
|
|
19
|
+
</svg>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 128 128" width="128" height="128">
|
|
2
|
+
<defs>
|
|
3
|
+
<filter id="outline" x="-25%" y="-25%" width="150%" height="150%">
|
|
4
|
+
<feMorphology in="SourceAlpha" operator="dilate" radius="5" result="dilated"/>
|
|
5
|
+
<feFlood flood-color="white" result="white"/>
|
|
6
|
+
<feComposite in="white" in2="dilated" operator="in"/>
|
|
7
|
+
</filter>
|
|
8
|
+
<filter id="shadow" x="-25%" y="-25%" width="150%" height="150%">
|
|
9
|
+
<feDropShadow dx="0" dy="2" stdDeviation="3" flood-color="#000" flood-opacity="0.25"/>
|
|
10
|
+
</filter>
|
|
11
|
+
<g id="icon" transform="translate(8,8) scale(3.5)">
|
|
12
|
+
<!-- Blue rounded-square badge background -->
|
|
13
|
+
<rect x="1" y="1" width="30" height="30" rx="7" fill="#1B73E8"/>
|
|
14
|
+
<!-- "+" glyph: two overlapping white bars -->
|
|
15
|
+
<rect x="3.5" y="14.75" width="11" height="2.5" fill="white"/>
|
|
16
|
+
<rect x="7.75" y="9.5" width="2.5" height="13" fill="white"/>
|
|
17
|
+
<!-- "1" glyph: vertical bar + diagonal serif at top-left + base line -->
|
|
18
|
+
<path d="M17.5 13L20 8.5H23.5V24.5H15.5V23H20V13Z" fill="white"/>
|
|
19
|
+
</g>
|
|
20
|
+
</defs>
|
|
21
|
+
<g filter="url(#shadow)">
|
|
22
|
+
<use href="#icon" xlink:href="#icon" filter="url(#outline)"/>
|
|
23
|
+
<use href="#icon" xlink:href="#icon"/>
|
|
24
|
+
</g>
|
|
25
|
+
</svg>
|
package/src/core/PixiEngine.js
CHANGED
|
@@ -93,6 +93,9 @@ export class PixiEngine {
|
|
|
93
93
|
if (pixiObject._mb.type === 'mindmap' && pixiObject._mb.instance && typeof pixiObject._mb.instance.redrawForZoom === 'function') {
|
|
94
94
|
pixiObject._mb.instance.redrawForZoom(s);
|
|
95
95
|
}
|
|
96
|
+
if (pixiObject._mb.type === 'frame' && pixiObject._mb.instance && typeof pixiObject._mb.instance.applyWorldScale === 'function') {
|
|
97
|
+
pixiObject._mb.instance.applyWorldScale(s);
|
|
98
|
+
}
|
|
96
99
|
} catch (_) {}
|
|
97
100
|
} else {
|
|
98
101
|
console.warn(`Unknown object type: ${objectData.type}`);
|
|
@@ -184,6 +187,26 @@ export class PixiEngine {
|
|
|
184
187
|
}
|
|
185
188
|
}
|
|
186
189
|
|
|
190
|
+
/**
|
|
191
|
+
* Подгоняет рендерер под новый размер вьюпорта (CSS px).
|
|
192
|
+
* Без этого WebGL drawing buffer и инлайн-размер канваса остаются от
|
|
193
|
+
* старого размера: после ресайза окна канвас не покрывает контейнер,
|
|
194
|
+
* и справа проступает фон рабочей области (визуально — «перекрытие контента»).
|
|
195
|
+
*/
|
|
196
|
+
resize(width, height) {
|
|
197
|
+
const w = Math.max(1, Math.floor(width));
|
|
198
|
+
const h = Math.max(1, Math.floor(height));
|
|
199
|
+
const renderer = this.app?.renderer;
|
|
200
|
+
if (!renderer) return;
|
|
201
|
+
// DPR мог измениться при переносе окна между мониторами — синхронизируем,
|
|
202
|
+
// иначе buffer остаётся в старом разрешении и правая часть «мылится».
|
|
203
|
+
const dpr = (typeof window !== 'undefined' && window.devicePixelRatio) ? window.devicePixelRatio : 1;
|
|
204
|
+
if (renderer.resolution !== dpr) {
|
|
205
|
+
renderer.resolution = dpr;
|
|
206
|
+
}
|
|
207
|
+
renderer.resize(w, h);
|
|
208
|
+
}
|
|
209
|
+
|
|
187
210
|
// Добавление/обновление сетки в gridLayer
|
|
188
211
|
setGrid(gridInstance) {
|
|
189
212
|
if (!this.gridLayer) return;
|
|
@@ -4,6 +4,7 @@ import { BoardService } from '../../services/BoardService.js';
|
|
|
4
4
|
import { ZoomPanController } from '../../services/ZoomPanController.js';
|
|
5
5
|
import { ZOrderManager } from '../../services/ZOrderManager.js';
|
|
6
6
|
import { FrameService } from '../../services/FrameService.js';
|
|
7
|
+
import { Events } from '../events/Events.js';
|
|
7
8
|
|
|
8
9
|
export async function initializeCore(core) {
|
|
9
10
|
try {
|
|
@@ -20,6 +21,8 @@ export async function initializeCore(core) {
|
|
|
20
21
|
core.frameService = new FrameService(core.eventBus, core.pixi, core.state);
|
|
21
22
|
core.frameService.attach();
|
|
22
23
|
|
|
24
|
+
setupViewportResize(core);
|
|
25
|
+
|
|
23
26
|
core.state.loadBoard({
|
|
24
27
|
id: core.options.boardId || 'demo',
|
|
25
28
|
name: 'Demo Board',
|
|
@@ -31,6 +34,42 @@ export async function initializeCore(core) {
|
|
|
31
34
|
}
|
|
32
35
|
}
|
|
33
36
|
|
|
37
|
+
/**
|
|
38
|
+
* Подписывает рендерер на изменение размера контейнера.
|
|
39
|
+
* Размер берём с контейнера, а не с канваса: PIXI (autoDensity) выставляет
|
|
40
|
+
* канвасу инлайн-размер в px, перебивая CSS width:100%, поэтому
|
|
41
|
+
* canvas.clientWidth «залипает» на стартовом размере и не отражает контейнер.
|
|
42
|
+
* Без этого после ресайза окна (оконный режим → полный экран) канвас остаётся
|
|
43
|
+
* прежнего размера и справа проступает фон рабочей области.
|
|
44
|
+
*/
|
|
45
|
+
function setupViewportResize(core) {
|
|
46
|
+
if (typeof ResizeObserver === 'undefined' || !core.container) return;
|
|
47
|
+
|
|
48
|
+
let rafId = null;
|
|
49
|
+
const applyResize = () => {
|
|
50
|
+
rafId = null;
|
|
51
|
+
if (core.destroyed) return;
|
|
52
|
+
const el = core.container;
|
|
53
|
+
if (!el) return;
|
|
54
|
+
const width = el.clientWidth;
|
|
55
|
+
const height = el.clientHeight;
|
|
56
|
+
if (width <= 0 || height <= 0) return;
|
|
57
|
+
core.pixi.resize(width, height);
|
|
58
|
+
// Пересобираем screen-space сетку под новый размер и репозиционируем
|
|
59
|
+
// её вместе с оверлеями через существующий viewport-флоу.
|
|
60
|
+
core.boardService?.resize?.();
|
|
61
|
+
core.eventBus.emit(Events.Viewport.Changed);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
core.resizeObserver = new ResizeObserver(() => {
|
|
65
|
+
if (rafId !== null) return;
|
|
66
|
+
rafId = (typeof requestAnimationFrame === 'function')
|
|
67
|
+
? requestAnimationFrame(applyResize)
|
|
68
|
+
: setTimeout(applyResize, 16);
|
|
69
|
+
});
|
|
70
|
+
core.resizeObserver.observe(core.container);
|
|
71
|
+
}
|
|
72
|
+
|
|
34
73
|
export async function initializeCoreTools(core) {
|
|
35
74
|
const canvasElement = core.pixi.app.view;
|
|
36
75
|
core.workspaceSize = () => ({ width: canvasElement.clientWidth, height: canvasElement.clientHeight });
|
|
@@ -59,6 +98,10 @@ export async function initializeCoreTools(core) {
|
|
|
59
98
|
const connectorTool = new connectorToolModule.ConnectorTool(core.eventBus, core);
|
|
60
99
|
core.toolManager.registerTool(connectorTool);
|
|
61
100
|
|
|
101
|
+
const laserToolModule = await import('../../tools/object-tools/LaserPointerTool.js');
|
|
102
|
+
const laserTool = new laserToolModule.LaserPointerTool(core.eventBus);
|
|
103
|
+
core.toolManager.registerTool(laserTool);
|
|
104
|
+
|
|
62
105
|
core.selectTool = selectTool;
|
|
63
106
|
core.toolManager.activateTool('select');
|
|
64
107
|
|
|
@@ -9,7 +9,19 @@ export class GroupDeleteCommand extends BaseCommand {
|
|
|
9
9
|
constructor(coreMoodboard, objectIds) {
|
|
10
10
|
super('group_delete', `Удалить группу (${objectIds.length} объектов)`);
|
|
11
11
|
this.coreMoodboard = coreMoodboard;
|
|
12
|
-
|
|
12
|
+
const baseIds = new Set(Array.isArray(objectIds) ? objectIds : []);
|
|
13
|
+
// Вариант B: атомарно удаляем коннекторы, привязанные к удаляемым объектам
|
|
14
|
+
const allObjects = coreMoodboard.state.getObjects();
|
|
15
|
+
for (const obj of allObjects) {
|
|
16
|
+
if (obj.type === 'connector') {
|
|
17
|
+
const start = obj.properties?.start?.boundId;
|
|
18
|
+
const end = obj.properties?.end?.boundId;
|
|
19
|
+
if ((start && baseIds.has(start)) || (end && baseIds.has(end))) {
|
|
20
|
+
baseIds.add(obj.id);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
this.objectIds = [...baseIds];
|
|
13
25
|
}
|
|
14
26
|
|
|
15
27
|
async execute() {
|