diff --git a/src/App.tsx b/src/App.tsx index 2b40e74..bda85d7 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -6,16 +6,17 @@ * Copyright (c) Do Duc Quan. All rights reserved. */ -import { ConfigProvider, Layout } from 'antd'; +import { ConfigProvider, Layout, Tour, TourProps } from 'antd'; import * as React from 'react'; import { useDispatch } from 'react-redux'; import { useRouteMatch } from 'react-router'; import { ClipboardContainer } from '@app/core'; import { EditorView, ShapeView, PagesView, HeaderView, AnimationView, ToolView } from '@app/wireframes/components'; -import { getSelectedItems, getSelectedShape, loadDiagramFromServer, newDiagram, useStore } from '@app/wireframes/model'; +import { getSelectedItems, getSelectedShape, loadDiagramFromServer, newDiagram, setIsTourOpen, useStore } from '@app/wireframes/model'; import { vogues } from './const'; import { CustomDragLayer } from './wireframes/components/CustomDragLayer'; import { OverlayContainer } from './wireframes/contexts/OverlayContext'; +import { useEffect, useRef } from 'react'; export const App = () => { const dispatch = useDispatch(); @@ -27,16 +28,10 @@ export const App = () => { const sidebarWidth = useStore(s => s.ui.sidebarSize); const footerHeight = useStore(s => s.ui.footerSize); const applicationMode = useStore(s => s.ui.selectedMode); + const isTourOpen = useStore(s => s.ui.isTourOpen); + const tourRefs = Array(7).fill(0).map(() => useRef(null)); - const margin = { - tool: `${vogues.common.editorPad}px 0`, - sideLeft: `${vogues.common.editorPad}px ${vogues.common.editorPad}px ${vogues.common.editorPad}px 0`, - sideMid: `0 ${vogues.common.editorPad}px 0 0`, - sideRight: `0 0 ${vogues.common.editorPad}px ${vogues.common.editorPad}px`, - editor: `0 ${vogues.common.editorMargin}px`, - } - - React.useEffect(() => { + useEffect(() => { const token = routeTokenSnapshot.current; if (token && token.length > 0) { @@ -46,6 +41,61 @@ export const App = () => { } }, [dispatch]); + useEffect(() => { + const handleContextmenu = (e: MouseEvent) => { e.preventDefault() }; + document.addEventListener('contextmenu', handleContextmenu); + + return function cleanup() { + document.removeEventListener('contextmenu', handleContextmenu) + } + }, []) + + const margin = { + tool: `${vogues.common.editorPad}px 0`, + sideLeft: `${vogues.common.editorPad}px ${vogues.common.editorPad}px ${vogues.common.editorPad}px 0`, + sideMid: `0 ${vogues.common.editorPad}px 0 0`, + sideRight: `0 0 ${vogues.common.editorPad}px ${vogues.common.editorPad}px`, + editor: `0 ${vogues.common.editorMargin}px`, + } + + const walkthroughTour: TourProps['steps'] = [ + { + title: 'Step 1: Starting Your Project', + description: 'Start a fresh project, open an existing one, or save your work to your local machine. The documentation for coding syntax is also here.', + target: () => tourRefs[0].current, + }, + { + title: 'Step 2: Designing Your Presentation', + description: 'Use the canvas to layout and customize your presentation\'s structure.', + target: () => tourRefs[1].current, + }, + { + title: 'Step 3: Adding Shapes', + description: 'Add visual elements to your canvas by clicking on any shape.', + target: () => tourRefs[2].current, + }, + { + title: 'Step 4: Modifying Appearance', + description: 'Edit your objects\'s appearance, including color, font size, stroke, and more, to match your vision.', + target: () => tourRefs[3].current, + }, + { + title: 'Step 5: Writing Code', + description: 'Switch to coding mode to set object\'s occurrences. If you\'re stuck on syntax, the documentation is under the button at the top left corner.', + target: () => tourRefs[4].current, + }, + { + title: 'Step 6: Managing Pages', + description: 'Add new pages and continue unfolding your presentation.', + target: () => tourRefs[5].current, + }, + { + title: 'Step 7: Launching Your Presentation', + description: 'Start your presentation. If you need to make changes, you can always come back and edit.', + target: () => tourRefs[6].current, + }, + ]; + return ( { - + - - + - - + + - + - @@ -100,10 +153,17 @@ export const App = () => { - - + + + dispatch(setIsTourOpen(false))} + steps={walkthroughTour} + /> diff --git a/src/const/texts.ts b/src/const/texts.ts index 1235e6f..28a3f00 100644 --- a/src/const/texts.ts +++ b/src/const/texts.ts @@ -32,6 +32,7 @@ export const texts = { diagram: 'Canvas', distributeHorizontally: 'Distribute Horizontally', distributeVertically: 'Distribute Vertically', + documentation: 'Documentation', duplicate: 'Duplicate', error: 'Output', findIcon: 'Find Icon', @@ -42,6 +43,7 @@ export const texts = { group: 'Group', groupTooltip: 'Group Items', height: 'Height', + help: 'Help', id: 'ID', icons: 'Icons', imageChangeURL: 'Change Image by URL', @@ -82,7 +84,7 @@ export const texts = { renameTooltip: 'Rename presentation', removeTooltip: 'Delete selected items', saveDiagram: 'Download', - saveDiagramToFileTooltip: 'Export', + saveDiagramToFileTooltip: 'Export to PDF', saveDiagramTooltip: 'Download', savingDiagram: 'Saving presentation...', savingDiagramDone: 'Saving presentation completed successfully.', @@ -104,6 +106,7 @@ export const texts = { ungroupTooltip: 'Ungroup Items', unsaved: 'unsaved', visual: 'Visual', + walkthrough: 'Walkthrough', width: 'Width', zoomIn: 'Zoom In', zoomOut: 'Zoom Out', diff --git a/src/style/icomoon/demo-files/demo.css b/src/style/icomoon/demo-files/demo.css index 218fc89..79b58e2 100644 --- a/src/style/icomoon/demo-files/demo.css +++ b/src/style/icomoon/demo-files/demo.css @@ -147,15 +147,18 @@ p { font-size: 16px; } .fs1 { - font-size: 24px; + font-size: 20px; } .fs2 { font-size: 32px; } .fs3 { - font-size: 32px; + font-size: 24px; } .fs4 { + font-size: 32px; +} +.fs5 { font-size: 28px; } diff --git a/src/style/icomoon/demo.html b/src/style/icomoon/demo.html index 52bbbc7..8c7e3c3 100644 --- a/src/style/icomoon/demo.html +++ b/src/style/icomoon/demo.html @@ -9,11 +9,115 @@
-

Font Name: icomoon (Glyphs: 42)

+

Font Name: icomoon (Glyphs: 44)

-

Grid Size: 24

+

Grid Size: 20

+
+ + icon-graduation-cap +
+
+ + +
+
+ liga: + +
+
+
+
+

Grid Size: Unknown

+
+
+ + icon-sidebar-right +
+
+ + +
+
+ liga: + +
+
+
+
+ + icon-sidebar-left +
+
+ + +
+
+ liga: + +
+
+
+
+ + icon-distribute-h2 +
+
+ + +
+
+ liga: + +
+
+
+
+ + icon-distribute-v2 +
+
+ + +
+
+ liga: + +
+
+
+
+ + icon-distribute-h +
+
+ + +
+
+ liga: + +
+
+
+
+ + icon-distribute-v +
+
+ + +
+
+ liga: + +
+
+
+
+

Grid Size: 24

+
icon-flip_to_front @@ -27,7 +131,7 @@

Grid Size: 24

-
+
icon-to_front @@ -41,7 +145,7 @@

Grid Size: 24

-
+
icon-flip_to_back @@ -55,7 +159,7 @@

Grid Size: 24

-
+
icon-to_back @@ -69,7 +173,7 @@

Grid Size: 24

-
+
icon-align_vertical_top @@ -83,7 +187,7 @@

Grid Size: 24

-
+
icon-align_vertical_center @@ -97,7 +201,7 @@

Grid Size: 24

-
+
icon-align_vertical_bottom @@ -111,7 +215,7 @@

Grid Size: 24

-
+
icon-align_horizontal_left @@ -125,7 +229,7 @@

Grid Size: 24

-
+
icon-align_horizontal_right @@ -139,7 +243,7 @@

Grid Size: 24

-
+
icon-align_horizontal_center @@ -153,7 +257,7 @@

Grid Size: 24

-
+
icon-format_align_right @@ -167,7 +271,7 @@

Grid Size: 24

-
+
icon-format_align_justify @@ -181,7 +285,7 @@

Grid Size: 24

-
+
icon-format_align_left @@ -195,7 +299,7 @@

Grid Size: 24

-
+
icon-format_align_center @@ -209,7 +313,7 @@

Grid Size: 24

-
+
icon-file_rename @@ -223,7 +327,7 @@

Grid Size: 24

-
+
icon-format_bold @@ -237,7 +341,7 @@

Grid Size: 24

-
+
icon-redo @@ -251,7 +355,7 @@

Grid Size: 24

-
+
icon-undo @@ -265,87 +369,14 @@

Grid Size: 24

-
-
-

Grid Size: Unknown

-
-
- - icon-sidebar-right -
-
- - -
-
- liga: - -
-
-
-
- - icon-sidebar-left -
-
- - -
-
- liga: - -
-
-
-
- - icon-distribute-h2 -
-
- - -
-
- liga: - -
-
-
-
- - icon-distribute-v2 -
-
- - -
-
- liga: - -
-
-
+
- - icon-distribute-h + + icon-help_outline
- - -
-
- liga: - -
-
-
-
- - icon-distribute-v -
-
- - + +
liga: @@ -355,7 +386,7 @@

Grid Size: Unknown

Grid Size: 16

-
+
icon-new @@ -369,7 +400,7 @@

Grid Size: 16

-
+
icon-save @@ -383,7 +414,7 @@

Grid Size: 16

-
+
icon-share @@ -397,7 +428,7 @@

Grid Size: 16

-
+
icon-cog @@ -414,7 +445,7 @@

Grid Size: 16

Grid Size: 14

-
+
icon-floppy-o @@ -428,7 +459,7 @@

Grid Size: 14

-
+
icon-folder-open @@ -442,7 +473,7 @@

Grid Size: 14

-
+
icon-search @@ -456,7 +487,7 @@

Grid Size: 14

-
+
icon-search-plus @@ -470,7 +501,7 @@

Grid Size: 14

-
+
icon-search-minus @@ -484,7 +515,7 @@

Grid Size: 14

-
+
icon-delete @@ -498,7 +529,7 @@

Grid Size: 14

-
+
icon-plus @@ -512,7 +543,7 @@

Grid Size: 14

-
+
icon-minus @@ -526,7 +557,7 @@

Grid Size: 14

-
+
icon-cut @@ -540,7 +571,7 @@

Grid Size: 14

-
+
icon-scissors @@ -554,7 +585,7 @@

Grid Size: 14

-
+
icon-copy @@ -568,7 +599,7 @@

Grid Size: 14

-
+
icon-files-o @@ -582,7 +613,7 @@

Grid Size: 14

-
+
icon-arrange @@ -596,7 +627,7 @@

Grid Size: 14

-
+
icon-clipboard @@ -610,7 +641,7 @@

Grid Size: 14

-
+
icon-paste @@ -624,7 +655,7 @@

Grid Size: 14

-
+
icon-group @@ -638,7 +669,7 @@

Grid Size: 14

-
+
icon-ungroup diff --git a/src/style/icomoon/fonts/icomoon.eot b/src/style/icomoon/fonts/icomoon.eot index 2227bc0..071f662 100644 Binary files a/src/style/icomoon/fonts/icomoon.eot and b/src/style/icomoon/fonts/icomoon.eot differ diff --git a/src/style/icomoon/fonts/icomoon.svg b/src/style/icomoon/fonts/icomoon.svg index a1868e7..660ae2e 100644 --- a/src/style/icomoon/fonts/icomoon.svg +++ b/src/style/icomoon/fonts/icomoon.svg @@ -18,6 +18,8 @@ + + diff --git a/src/style/icomoon/fonts/icomoon.ttf b/src/style/icomoon/fonts/icomoon.ttf index d1c29b1..8d33967 100644 Binary files a/src/style/icomoon/fonts/icomoon.ttf and b/src/style/icomoon/fonts/icomoon.ttf differ diff --git a/src/style/icomoon/fonts/icomoon.woff b/src/style/icomoon/fonts/icomoon.woff index 5e8b5e2..f382c01 100644 Binary files a/src/style/icomoon/fonts/icomoon.woff and b/src/style/icomoon/fonts/icomoon.woff differ diff --git a/src/style/icomoon/selection.json b/src/style/icomoon/selection.json index ff356c3..34878c0 100644 --- a/src/style/icomoon/selection.json +++ b/src/style/icomoon/selection.json @@ -1 +1 @@ -{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M298 896v-86h86v86h-86zM470 896v-86h84v86h-84zM810 128c22.667 0 42.667 8.667 60 26s26 37.333 26 60v426c0 22.667-8.667 42.667-26 60s-37.333 26-60 26h-426c-24 0-44.267-8.267-61.067-25.067s-24.933-36.933-24.933-60.933v-426c0-24 8.267-44.267 25.067-61.067s36.933-24.933 60.933-24.933h426zM640 896v-86h86v86h-86zM128 384v-86h86v86h-86zM214 896c-24 0-44.267-8.267-61.067-25.067s-24.933-36.933-24.933-60.933h86v86zM128 726v-86h86v86h-86zM128 554v-84h86v84h-86z"],"attrs":[{}],"tags":["flip_to_front"],"grid":24,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":67,"id":11,"name":"flip_to_front","prevSize":24,"code":59648},"setIdx":0,"setId":6,"iconIdx":0},{"icon":{"paths":["M298 896v-86h86v86h-86zM470 896v-86h84v86h-84zM810 640v-426h-426v426h426zM810 128q34 0 60 26t26 60v426q0 34-26 60t-60 26h-426q-36 0-61-25t-25-61v-426q0-36 25-61t61-25h426zM640 896v-86h86v86h-86zM128 384v-86h86v86h-86zM214 896q-36 0-61-25t-25-61h86v86zM128 726v-86h86v86h-86zM128 554v-84h86v84h-86z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["to_front"],"grid":24},"attrs":[{}],"properties":{"order":66,"id":12,"prevSize":24,"code":59654,"name":"to_front"},"setIdx":0,"setId":6,"iconIdx":1},{"icon":{"paths":["M640 726v-86h86v86h-86zM640 214v-86h86v86h-86zM298 298l0.667 427.333 427.333 0.667v170h-512c-24 0-44.267-8.267-61.067-25.067s-24.933-36.933-24.933-60.933v-512h170zM810 726v-86h86c0 22.667-8.667 42.667-26 60s-37.333 26-60 26zM810 384v-86h86v86h-86zM810 554v-84h86v84h-86zM384 726c-24 0-85.333-0.667-85.333-0.667s-0.667-61.333-0.667-85.333h86v86zM554 128v86h-84v-86h84zM810 128c22.667 0 42.667 8.667 60 26s26 37.333 26 60h-86v-86zM554 640v86h-84v-86h84zM384 128v86h-86c0-24 8.267-44.267 25.067-61.067s36.933-24.933 60.933-24.933zM384 470v84h-86v-84h86zM384 298v86h-86v-86h86z"],"attrs":[{}],"tags":["flip_to_back"],"grid":24,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":1,"id":10,"name":"flip_to_back","prevSize":24,"code":59649},"setIdx":0,"setId":6,"iconIdx":2},{"icon":{"paths":["M640 726v-86h86v86h-86zM640 214v-86h86v86h-86zM214 298v512h512v86h-512q-36 0-61-25t-25-61v-512h86zM810 726v-86h86q0 34-26 60t-60 26zM810 384v-86h86v86h-86zM810 554v-84h86v84h-86zM384 726q-36 0-61-25t-25-61h86v86zM554 128v86h-84v-86h84zM810 128q34 0 60 26t26 60h-86v-86zM554 640v86h-84v-86h84zM384 128v86h-86q0-36 25-61t61-25zM384 470v84h-86v-84h86zM384 298v86h-86v-86h86z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["to_back"],"grid":24},"attrs":[{}],"properties":{"order":65,"id":13,"prevSize":24,"code":59655,"name":"to_back"},"setIdx":0,"setId":6,"iconIdx":3},{"icon":{"paths":["M938 86v84h-852v-84h852zM298 938h128v-682h-128v682zM598 682h128v-426h-128v426z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["align_vertical_top"],"grid":24},"attrs":[{}],"properties":{"order":1,"id":9,"name":"align_vertical_top","prevSize":24,"code":59650},"setIdx":0,"setId":6,"iconIdx":4},{"icon":{"paths":["M938 470h-212v-214h-128v214h-172v-342h-128v342h-220v84h220v342h128v-342h172v214h128v-214h212v-84z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["align_vertical_center"],"grid":24},"attrs":[{}],"properties":{"order":2,"id":8,"name":"align_vertical_center","prevSize":24,"code":59651},"setIdx":0,"setId":6,"iconIdx":5},{"icon":{"paths":["M938 938h-852v-84h852v84zM426 86h-128v682h128v-682zM726 342h-128v426h128v-426z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["align_vertical_bottom"],"grid":24},"attrs":[{}],"properties":{"order":3,"id":7,"name":"align_vertical_bottom","prevSize":24,"code":59652},"setIdx":0,"setId":6,"iconIdx":6},{"icon":{"paths":["M170 938h-84v-852h84v852zM938 298h-682v128h682v-128zM682 598h-426v128h426v-128z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["align_horizontal_left"],"grid":24},"attrs":[{}],"properties":{"order":4,"id":6,"name":"align_horizontal_left","prevSize":24,"code":59653},"setIdx":0,"setId":6,"iconIdx":7},{"icon":{"paths":["M854 86h84v852h-84v-852zM86 426h682v-128h-682v128zM342 726h426v-128h-426v128z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["align_horizontal_right"],"grid":24},"attrs":[{}],"properties":{"order":5,"id":5,"name":"align_horizontal_right","prevSize":24,"code":59667},"setIdx":0,"setId":6,"iconIdx":8},{"icon":{"paths":["M470 86h84v212h342v128h-342v172h214v128h-214v212h-84v-212h-214v-128h214v-172h-342v-128h342v-212z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["align_horizontal_center"],"grid":24},"attrs":[{}],"properties":{"order":6,"id":4,"name":"align_horizontal_center","prevSize":24,"code":59668},"setIdx":0,"setId":6,"iconIdx":9},{"icon":{"paths":["M128 128h768v86h-768v-86zM384 384v-86h512v86h-512zM128 554v-84h768v84h-768zM384 726v-86h512v86h-512zM128 896v-86h768v86h-768z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["format_align_right"],"grid":24},"attrs":[{}],"properties":{"order":7,"id":3,"name":"format_align_right","prevSize":24,"code":59669},"setIdx":0,"setId":6,"iconIdx":10},{"icon":{"paths":["M128 128h768v86h-768v-86zM128 384v-86h768v86h-768zM128 554v-84h768v84h-768zM128 726v-86h768v86h-768zM128 896v-86h768v86h-768z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["format_align_justify"],"grid":24},"attrs":[{}],"properties":{"order":8,"id":2,"name":"format_align_justify","prevSize":24,"code":59670},"setIdx":0,"setId":6,"iconIdx":11},{"icon":{"paths":["M128 128h768v86h-768v-86zM128 896v-86h768v86h-768zM128 554v-84h768v84h-768zM640 298v86h-512v-86h512zM640 640v86h-512v-86h512z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["format_align_left"],"grid":24},"attrs":[{}],"properties":{"order":9,"id":1,"name":"format_align_left","prevSize":24,"code":59671},"setIdx":0,"setId":6,"iconIdx":12},{"icon":{"paths":["M128 128h768v86h-768v-86zM298 298h428v86h-428v-86zM128 554v-84h768v84h-768zM128 896v-86h768v86h-768zM298 640h428v86h-428v-86z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["format_align_center"],"grid":24},"attrs":[{}],"properties":{"order":10,"id":0,"name":"format_align_center","prevSize":24,"code":59672},"setIdx":0,"setId":6,"iconIdx":13},{"icon":{"paths":["M470 854l170-172h256v172h-426zM264 768l370-370-52-52-368 370v52h50zM786 248q26 26 26 60t-26 60l-486 486h-172v-174q480-478 486-484 26-26 60-26t60 26z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["drive_file_rename_outline"],"grid":24},"attrs":[{}],"properties":{"order":1,"id":0,"prevSize":24,"code":59666,"name":"file_rename"},"setIdx":2,"setId":4,"iconIdx":0},{"icon":{"paths":["M576 662c36 0 64-28 64-64s-28-64-64-64h-150v128h150zM426 278v128h128c36 0 64-28 64-64s-28-64-64-64h-128zM666 460c56 26 92 82 92 146 0 90-68 162-158 162h-302v-598h268c96 0 170 76 170 172 0 44-28 90-70 118z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["format_bold"],"defaultCode":57912,"grid":24},"attrs":[],"properties":{"order":11,"ligatures":"format_bold","id":1,"prevSize":24,"code":57912,"name":"format_bold"},"setIdx":2,"setId":4,"iconIdx":1},{"icon":{"paths":["M786 452l152-154v384h-384l156-154c-60-50-136-80-220-80-152 0-280 98-324 234l-100-32c58-178 226-308 424-308 114 0 218 42 296 110z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["redo"],"defaultCode":57690,"grid":24},"attrs":[],"properties":{"order":9,"ligatures":"redo","id":2,"prevSize":24,"code":57690,"name":"redo"},"setIdx":2,"setId":4,"iconIdx":2},{"icon":{"paths":["M534 342c198 0 364 130 424 308l-100 32c-44-136-172-234-324-234-84 0-160 30-220 80l156 154h-384v-384l152 154c78-68 182-110 296-110z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["undo"],"defaultCode":57702,"grid":24},"attrs":[],"properties":{"order":10,"ligatures":"undo","id":3,"prevSize":24,"code":57702,"name":"undo"},"setIdx":2,"setId":4,"iconIdx":3},{"icon":{"paths":["M1024 0v1024h-1024v-1024h1024zM960 64h-896v896h896v-896z","M896 128h-320v768h320v-768z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["sidebar-right"],"grid":0},"attrs":[{},{}],"properties":{"order":43,"id":0,"name":"sidebar-right","prevSize":32,"code":59662},"setIdx":1,"setId":5,"iconIdx":0},{"icon":{"paths":["M0 0v1024h1024v-1024h-1024zM64 64h896v896h-896v-896z","M128 128h320v768h-320v-768z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["sidebar-left"],"grid":0},"attrs":[{},{}],"properties":{"order":42,"id":1,"name":"sidebar-left","prevSize":32,"code":59663},"setIdx":1,"setId":5,"iconIdx":1},{"icon":{"paths":["M280 0h64v1024h-64v-1024z","M0 640.001h224v384h-224v-384z","M680 0h64v1024h-64v-1024z","M800 0h224v384h-224v-384z","M400 361.269h224v384h-224v-384z"],"attrs":[{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["distribute-h2"],"grid":0},"attrs":[{},{},{},{},{}],"properties":{"order":3,"id":2,"name":"distribute-h2","prevSize":32,"code":59658},"setIdx":1,"setId":5,"iconIdx":2},{"icon":{"paths":["M1024 280v64h-1024v-64h1024z","M384 0v224h-384v-224h384z","M1024 680v64h-1024v-64h1024z","M1024 800v224h-384v-224h384z","M662.731 400v224h-384v-224h384z"],"attrs":[{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["distribute-v2"],"grid":0},"attrs":[{},{},{},{},{}],"properties":{"order":38,"id":3,"name":"distribute-v2","prevSize":32,"code":59659},"setIdx":1,"setId":5,"iconIdx":3},{"icon":{"paths":["M0 0v704h192v-704h-192zM64 68.812h64v571.187h-64v-571.187z","M832 128v896h192v-896h-192zM896 192h64v768h-64v-768z","M416 256v640h192v-640h-192zM480 319.375h64v512.625h-64v-512.625z","M672 381.999h96v192h-96v-192z","M256 381.999h96v192h-96v-192z"],"attrs":[{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["distribute-h"],"grid":0},"attrs":[{},{},{},{},{}],"properties":{"order":40,"id":4,"name":"distribute-h","prevSize":32,"code":59660},"setIdx":1,"setId":5,"iconIdx":4},{"icon":{"paths":["M1024.001 0h-704v192h704v-192zM955.188 64v64h-571.187v-64h571.187z","M896.001 832h-896v192h896v-192zM832.001 896v64h-768v-64h768z","M768.001 416h-640v192h640v-192zM704.626 480v64h-512.625v-64h512.625z","M642.002 672v96h-192v-96h192z","M642.002 256v96h-192v-96h192z"],"attrs":[{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["distribute-v"],"grid":0},"attrs":[{},{},{},{},{}],"properties":{"order":36,"id":5,"name":"distribute-v","prevSize":32,"code":59661},"setIdx":1,"setId":5,"iconIdx":5},{"icon":{"paths":["M917.806 229.076c-22.212-30.292-53.174-65.7-87.178-99.704s-69.412-64.964-99.704-87.178c-51.574-37.82-76.592-42.194-90.924-42.194h-496c-44.112 0-80 35.888-80 80v864c0 44.112 35.888 80 80 80h736c44.112 0 80-35.888 80-80v-624c0-14.332-4.372-39.35-42.194-90.924zM785.374 174.626c30.7 30.7 54.8 58.398 72.58 81.374h-153.954v-153.946c22.984 17.78 50.678 41.878 81.374 72.572zM896 944c0 8.672-7.328 16-16 16h-736c-8.672 0-16-7.328-16-16v-864c0-8.672 7.328-16 16-16 0 0 495.956-0.002 496 0v224c0 17.672 14.326 32 32 32h224v624z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["file-empty","file","document","paper","page","new","empty","blank"],"defaultCode":59684,"grid":16},"attrs":[],"properties":{"ligatures":"file-empty, file3","name":"new","id":0,"order":44,"prevSize":32,"code":59684},"setIdx":3,"setId":3,"iconIdx":0},{"icon":{"paths":["M896 512h-160l-224 224-224-224h-160l-128 256v64h1024v-64l-128-256zM0 896h1024v64h-1024v-64zM576 320v-256h-128v256h-224l288 288 288-288h-224z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["download","save","store"],"defaultCode":59845,"grid":16},"attrs":[],"properties":{"ligatures":"download2, save4","name":"save","id":1,"order":46,"prevSize":32,"code":59845},"setIdx":3,"setId":3,"iconIdx":1},{"icon":{"paths":["M864 704c-45.16 0-85.92 18.738-115.012 48.83l-431.004-215.502c1.314-8.252 2.016-16.706 2.016-25.328s-0.702-17.076-2.016-25.326l431.004-215.502c29.092 30.090 69.852 48.828 115.012 48.828 88.366 0 160-71.634 160-160s-71.634-160-160-160-160 71.634-160 160c0 8.622 0.704 17.076 2.016 25.326l-431.004 215.504c-29.092-30.090-69.852-48.83-115.012-48.83-88.366 0-160 71.636-160 160 0 88.368 71.634 160 160 160 45.16 0 85.92-18.738 115.012-48.828l431.004 215.502c-1.312 8.25-2.016 16.704-2.016 25.326 0 88.368 71.634 160 160 160s160-71.632 160-160c0-88.364-71.634-160-160-160z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["share","social"],"defaultCode":60034,"grid":16},"attrs":[],"properties":{"ligatures":"share2, social","name":"share","id":2,"order":47,"prevSize":32,"code":60034},"setIdx":3,"setId":3,"iconIdx":2},{"icon":{"paths":["M933.79 610.25c-53.726-93.054-21.416-212.304 72.152-266.488l-100.626-174.292c-28.75 16.854-62.176 26.518-97.846 26.518-107.536 0-194.708-87.746-194.708-195.99h-201.258c0.266 33.41-8.074 67.282-25.958 98.252-53.724 93.056-173.156 124.702-266.862 70.758l-100.624 174.292c28.97 16.472 54.050 40.588 71.886 71.478 53.638 92.908 21.512 211.92-71.708 266.224l100.626 174.292c28.65-16.696 61.916-26.254 97.4-26.254 107.196 0 194.144 87.192 194.7 194.958h201.254c-0.086-33.074 8.272-66.57 25.966-97.218 53.636-92.906 172.776-124.594 266.414-71.012l100.626-174.29c-28.78-16.466-53.692-40.498-71.434-71.228zM512 719.332c-114.508 0-207.336-92.824-207.336-207.334 0-114.508 92.826-207.334 207.336-207.334 114.508 0 207.332 92.826 207.332 207.334-0.002 114.51-92.824 207.334-207.332 207.334z"],"tags":["cog","gear","preferences","settings","generate","control","options"],"defaultCode":59796,"grid":16,"attrs":[]},"attrs":[],"properties":{"ligatures":"cog, gear","name":"cog","order":64,"id":149,"prevSize":32,"code":59796},"setIdx":5,"setId":1,"iconIdx":148},{"icon":{"paths":["M219.429 877.714h438.857v-219.429h-438.857v219.429zM731.429 877.714h73.143v-512c0-10.857-9.714-34.286-17.143-41.714l-160.571-160.571c-8-8-30.286-17.143-41.714-17.143v237.714c0 30.286-24.571 54.857-54.857 54.857h-329.143c-30.286 0-54.857-24.571-54.857-54.857v-237.714h-73.143v731.429h73.143v-237.714c0-30.286 24.571-54.857 54.857-54.857h475.429c30.286 0 54.857 24.571 54.857 54.857v237.714zM512 347.429v-182.857c0-9.714-8.571-18.286-18.286-18.286h-109.714c-9.714 0-18.286 8.571-18.286 18.286v182.857c0 9.714 8.571 18.286 18.286 18.286h109.714c9.714 0 18.286-8.571 18.286-18.286zM877.714 365.714v530.286c0 30.286-24.571 54.857-54.857 54.857h-768c-30.286 0-54.857-24.571-54.857-54.857v-768c0-30.286 24.571-54.857 54.857-54.857h530.286c30.286 0 72 17.143 93.714 38.857l160 160c21.714 21.714 38.857 63.429 38.857 93.714z"],"width":878,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["floppy-o","save"],"grid":14},"attrs":[{}],"properties":{"order":1,"id":0,"prevSize":28,"code":59665,"name":"floppy-o"},"setIdx":4,"setId":2,"iconIdx":0},{"icon":{"paths":["M1017.714 532c0-16-17.714-20-30.286-20h-621.714c-30.286 0-70.286 18.857-89.714 42.286l-168 207.429c-5.143 6.857-10.286 14.286-10.286 22.857 0 16 17.714 20 30.286 20h621.714c30.286 0 70.286-18.857 89.714-42.857l168-207.429c5.143-6.286 10.286-13.714 10.286-22.286zM365.714 438.857h438.857v-91.429c0-30.286-24.571-54.857-54.857-54.857h-329.143c-30.286 0-54.857-24.571-54.857-54.857v-36.571c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v487.429l146.286-180c33.143-40.571 94.286-69.714 146.286-69.714zM1090.857 532c0 25.143-10.857 49.143-26.286 68.571l-168.571 207.429c-32.571 40-94.857 69.714-146.286 69.714h-621.714c-70.286 0-128-57.714-128-128v-548.571c0-70.286 57.714-128 128-128h182.857c70.286 0 128 57.714 128 128v18.286h310.857c70.286 0 128 57.714 128 128v91.429h109.714c38.857 0 77.714 17.714 94.857 54.286 5.714 12 8.571 25.143 8.571 38.857z"],"width":1091,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["folder-open-o"],"grid":14},"attrs":[{}],"properties":{"order":1,"id":1,"prevSize":28,"code":59664,"name":"folder-open"},"setIdx":4,"setId":2,"iconIdx":1},{"icon":{"paths":["M658.286 475.429q0-105.714-75.143-180.857t-180.857-75.143-180.857 75.143-75.143 180.857 75.143 180.857 180.857 75.143 180.857-75.143 75.143-180.857zM950.857 950.857q0 29.714-21.714 51.429t-51.429 21.714q-30.857 0-51.429-21.714l-196-195.429q-102.286 70.857-228 70.857-81.714 0-156.286-31.714t-128.571-85.714-85.714-128.571-31.714-156.286 31.714-156.286 85.714-128.571 128.571-85.714 156.286-31.714 156.286 31.714 128.571 85.714 85.714 128.571 31.714 156.286q0 125.714-70.857 228l196 196q21.143 21.143 21.143 51.429z"],"width":950.8559875488281,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["search"],"defaultCode":61442,"grid":14},"attrs":[],"properties":{"name":"search","id":2,"order":16,"prevSize":28,"code":61442},"setIdx":4,"setId":2,"iconIdx":2},{"icon":{"paths":["M585.143 457.143v36.571q0 7.429-5.429 12.857t-12.857 5.429h-128v128q0 7.429-5.429 12.857t-12.857 5.429h-36.571q-7.429 0-12.857-5.429t-5.429-12.857v-128h-128q-7.429 0-12.857-5.429t-5.429-12.857v-36.571q0-7.429 5.429-12.857t12.857-5.429h128v-128q0-7.429 5.429-12.857t12.857-5.429h36.571q7.429 0 12.857 5.429t5.429 12.857v128h128q7.429 0 12.857 5.429t5.429 12.857zM658.286 475.429q0-105.714-75.143-180.857t-180.857-75.143-180.857 75.143-75.143 180.857 75.143 180.857 180.857 75.143 180.857-75.143 75.143-180.857zM950.857 950.857q0 30.286-21.429 51.714t-51.714 21.429q-30.857 0-51.429-21.714l-196-195.429q-102.286 70.857-228 70.857-81.714 0-156.286-31.714t-128.571-85.714-85.714-128.571-31.714-156.286 31.714-156.286 85.714-128.571 128.571-85.714 156.286-31.714 156.286 31.714 128.571 85.714 85.714 128.571 31.714 156.286q0 125.714-70.857 228l196 196q21.143 21.143 21.143 51.429z"],"width":950.8559875488281,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["search-plus"],"defaultCode":61454,"grid":14},"attrs":[],"properties":{"name":"search-plus","id":3,"order":17,"prevSize":28,"code":61454},"setIdx":4,"setId":2,"iconIdx":3},{"icon":{"paths":["M585.143 457.143v36.571q0 7.429-5.429 12.857t-12.857 5.429h-329.143q-7.429 0-12.857-5.429t-5.429-12.857v-36.571q0-7.429 5.429-12.857t12.857-5.429h329.143q7.429 0 12.857 5.429t5.429 12.857zM658.286 475.429q0-105.714-75.143-180.857t-180.857-75.143-180.857 75.143-75.143 180.857 75.143 180.857 180.857 75.143 180.857-75.143 75.143-180.857zM950.857 950.857q0 30.286-21.429 51.714t-51.714 21.429q-30.857 0-51.429-21.714l-196-195.429q-102.286 70.857-228 70.857-81.714 0-156.286-31.714t-128.571-85.714-85.714-128.571-31.714-156.286 31.714-156.286 85.714-128.571 128.571-85.714 156.286-31.714 156.286 31.714 128.571 85.714 85.714 128.571 31.714 156.286q0 125.714-70.857 228l196 196q21.143 21.143 21.143 51.429z"],"width":950.8559875488281,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["search-minus"],"defaultCode":61456,"grid":14},"attrs":[],"properties":{"name":"search-minus","id":4,"order":18,"prevSize":28,"code":61456},"setIdx":4,"setId":2,"iconIdx":4},{"icon":{"paths":["M292.571 420.571v329.143q0 8-5.143 13.143t-13.143 5.143h-36.571q-8 0-13.143-5.143t-5.143-13.143v-329.143q0-8 5.143-13.143t13.143-5.143h36.571q8 0 13.143 5.143t5.143 13.143zM438.857 420.571v329.143q0 8-5.143 13.143t-13.143 5.143h-36.571q-8 0-13.143-5.143t-5.143-13.143v-329.143q0-8 5.143-13.143t13.143-5.143h36.571q8 0 13.143 5.143t5.143 13.143zM585.143 420.571v329.143q0 8-5.143 13.143t-13.143 5.143h-36.571q-8 0-13.143-5.143t-5.143-13.143v-329.143q0-8 5.143-13.143t13.143-5.143h36.571q8 0 13.143 5.143t5.143 13.143zM658.286 834.286v-541.714h-512v541.714q0 12.571 4 23.143t8.286 15.429 6 4.857h475.429q1.714 0 6-4.857t8.286-15.429 4-23.143zM274.286 219.429h256l-27.429-66.857q-4-5.143-9.714-6.286h-181.143q-5.714 1.143-9.714 6.286zM804.571 237.714v36.571q0 8-5.143 13.143t-13.143 5.143h-54.857v541.714q0 47.429-26.857 82t-64.571 34.571h-475.429q-37.714 0-64.571-33.429t-26.857-80.857v-544h-54.857q-8 0-13.143-5.143t-5.143-13.143v-36.571q0-8 5.143-13.143t13.143-5.143h176.571l40-95.429q8.571-21.143 30.857-36t45.143-14.857h182.857q22.857 0 45.143 14.857t30.857 36l40 95.429h176.571q8 0 13.143 5.143t5.143 13.143z"],"width":804.5710134506226,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["trash-o"],"defaultCode":61460,"grid":14},"attrs":[],"properties":{"name":"delete","id":5,"order":21,"prevSize":28,"code":61460},"setIdx":4,"setId":2,"iconIdx":5},{"icon":{"paths":["M804.571 420.571v109.714q0 22.857-16 38.857t-38.857 16h-237.714v237.714q0 22.857-16 38.857t-38.857 16h-109.714q-22.857 0-38.857-16t-16-38.857v-237.714h-237.714q-22.857 0-38.857-16t-16-38.857v-109.714q0-22.857 16-38.857t38.857-16h237.714v-237.714q0-22.857 16-38.857t38.857-16h109.714q22.857 0 38.857 16t16 38.857v237.714h237.714q22.857 0 38.857 16t16 38.857z"],"width":804.5719833374023,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["plus"],"defaultCode":61543,"grid":14},"attrs":[],"properties":{"name":"plus","id":10,"order":19,"prevSize":28,"code":61543},"setIdx":4,"setId":2,"iconIdx":10},{"icon":{"paths":["M804.571 420.571v109.714q0 22.857-16 38.857t-38.857 16h-694.857q-22.857 0-38.857-16t-16-38.857v-109.714q0-22.857 16-38.857t38.857-16h694.857q22.857 0 38.857 16t16 38.857z"],"width":804.5709762573242,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["minus"],"defaultCode":61544,"grid":14},"attrs":[],"properties":{"name":"minus","id":11,"order":20,"prevSize":28,"code":61544},"setIdx":4,"setId":2,"iconIdx":11},{"icon":{"paths":["M548.571 512q14.857 0 25.714 10.857t10.857 25.714-10.857 25.714-25.714 10.857-25.714-10.857-10.857-25.714 10.857-25.714 25.714-10.857zM720 548.571l289.714 227.429q16 11.429 14.286 32-2.857 20-20 29.143l-73.143 36.571q-7.429 4-16.571 4-9.714 0-17.714-4.571l-394.286-221.143-62.857 37.714q-4.571 2.286-6.857 2.857 8 28 5.714 55.429-4 44-32 84.286t-75.429 70.571q-75.429 48-158.286 48-77.714 0-126.857-44.571-51.429-48-45.143-118.286 4-43.429 32-84t74.857-70.857q75.429-48 158.857-48 47.429 0 86.286 17.714 5.143-7.429 12.571-12.571l69.714-41.714-69.714-41.714q-7.429-5.143-12.571-12.571-38.857 17.714-86.286 17.714-83.429 0-158.857-48-46.857-30.286-74.857-70.857t-32-84q-2.857-33.714 8.857-64.571t36.286-53.143q48.571-45.143 126.857-45.143 82.857 0 158.286 48 47.429 29.714 75.429 70.286t32 84.571q2.286 27.429-5.714 55.429 2.286 0.571 6.857 2.857l62.857 37.714 394.286-221.143q8-4.571 17.714-4.571 9.143 0 16.571 4l73.143 36.571q17.143 9.143 20 29.143 1.714 20.571-14.286 32zM330.857 400q26.286-24 12-61.714t-60.571-66.857q-52.571-33.714-109.714-33.714-42.286 0-64.571 20.571-26.286 24-12 61.714t60.571 66.857q52.571 33.714 109.714 33.714 42.286 0 64.571-20.571zM282.286 825.714q46.286-29.143 60.571-66.857t-12-61.714q-22.286-20.571-64.571-20.571-57.143 0-109.714 33.714-46.286 29.143-60.571 66.857t12 61.714q22.286 20.571 64.571 20.571 57.143 0 109.714-33.714zM384 475.429l54.857 33.143v-6.286q0-20.571 18.857-32l8-4.571-45.143-26.857-14.857 14.857q-1.714 1.714-5.714 6.286t-6.857 6.857q-1.143 1.143-2.286 2t-1.714 1.429zM512 603.429l54.857 18.286 420.571-329.143-73.143-36.571-438.857 246.286v64.571l-91.429 54.857 5.143 4.571q1.143 1.143 4 3.429 2.286 2.286 6.286 6.857t6.286 6.857l14.857 14.857zM914.286 841.143l73.143-36.571-297.143-233.143-101.143 78.857q-1.143 1.714-7.429 4z"],"width":1019.9989471435547,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["cut","scissors"],"defaultCode":61636,"grid":14},"attrs":[],"properties":{"name":"cut, scissors","id":12,"order":23,"prevSize":28,"code":61636},"setIdx":4,"setId":2,"iconIdx":12},{"icon":{"paths":["M969.143 219.429q22.857 0 38.857 16t16 38.857v694.857q0 22.857-16 38.857t-38.857 16h-548.571q-22.857 0-38.857-16t-16-38.857v-164.571h-310.857q-22.857 0-38.857-16t-16-38.857v-384q0-22.857 11.429-50.286t27.429-43.429l233.143-233.143q16-16 43.429-27.429t50.286-11.429h237.714q22.857 0 38.857 16t16 38.857v187.429q38.857-22.857 73.143-22.857h237.714zM658.286 341.143l-170.857 170.857h170.857v-170.857zM292.571 121.714l-170.857 170.857h170.857v-170.857zM404.571 491.429l180.571-180.571v-237.714h-219.429v237.714q0 22.857-16 38.857t-38.857 16h-237.714v365.714h292.571v-146.286q0-22.857 11.429-50.286t27.429-43.429zM950.857 950.857v-658.286h-219.429v237.714q0 22.857-16 38.857t-38.857 16h-237.714v365.714h512z"],"width":1024.0010299682617,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["copy","files-o"],"defaultCode":61637,"grid":14},"attrs":[],"properties":{"name":"copy, files-o","id":13,"order":24,"prevSize":28,"code":61637},"setIdx":4,"setId":2,"iconIdx":13},{"icon":{"paths":["M877.714 768v73.143q0 14.857-10.857 25.714t-25.714 10.857h-804.571q-14.857 0-25.714-10.857t-10.857-25.714v-73.143q0-14.857 10.857-25.714t25.714-10.857h804.571q14.857 0 25.714 10.857t10.857 25.714zM877.714 475.429v73.143q0 14.857-10.857 25.714t-25.714 10.857h-804.571q-14.857 0-25.714-10.857t-10.857-25.714v-73.143q0-14.857 10.857-25.714t25.714-10.857h804.571q14.857 0 25.714 10.857t10.857 25.714zM877.714 182.857v73.143q0 14.857-10.857 25.714t-25.714 10.857h-804.571q-14.857 0-25.714-10.857t-10.857-25.714v-73.143q0-14.857 10.857-25.714t25.714-10.857h804.571q14.857 0 25.714 10.857t10.857 25.714z"],"width":877.7149925231934,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["bars","navicon","reorder"],"defaultCode":61641,"grid":14},"attrs":[],"properties":{"name":"arrange","id":14,"order":22,"prevSize":28,"code":61641},"setIdx":4,"setId":2,"iconIdx":14},{"icon":{"paths":["M438.857 950.857h512v-365.714h-237.714q-22.857 0-38.857-16t-16-38.857v-237.714h-219.429v658.286zM585.143 128v-36.571q0-7.429-5.429-12.857t-12.857-5.429h-402.286q-7.429 0-12.857 5.429t-5.429 12.857v36.571q0 7.429 5.429 12.857t12.857 5.429h402.286q7.429 0 12.857-5.429t5.429-12.857zM731.429 512h170.857l-170.857-170.857v170.857zM1024 585.143v384q0 22.857-16 38.857t-38.857 16h-548.571q-22.857 0-38.857-16t-16-38.857v-91.429h-310.857q-22.857 0-38.857-16t-16-38.857v-768q0-22.857 16-38.857t38.857-16h621.714q22.857 0 38.857 16t16 38.857v187.429q12 7.429 20.571 16l233.143 233.143q16 16 27.429 43.429t11.429 50.286z"],"width":1024.0020065307617,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["clipboard","paste"],"defaultCode":61674,"grid":14},"attrs":[],"properties":{"name":"clipboard, paste","id":15,"order":25,"prevSize":28,"code":61674},"setIdx":4,"setId":2,"iconIdx":15},{"icon":{"paths":["M1170.286 219.429h-73.143v585.143h73.143v219.429h-219.429v-73.143h-731.429v73.143h-219.429v-219.429h73.143v-585.143h-73.143v-219.429h219.429v73.143h731.429v-73.143h219.429v219.429zM1024 73.143v73.143h73.143v-73.143h-73.143zM73.143 73.143v73.143h73.143v-73.143h-73.143zM146.286 950.857v-73.143h-73.143v73.143h73.143zM950.857 877.714v-73.143h73.143v-585.143h-73.143v-73.143h-731.429v73.143h-73.143v585.143h73.143v73.143h731.429zM1097.143 950.857v-73.143h-73.143v73.143h73.143zM731.429 365.714h219.429v438.857h-512v-146.286h-219.429v-438.857h512v146.286zM292.571 585.143h365.714v-292.571h-365.714v292.571zM877.714 731.429v-292.571h-146.286v219.429h-219.429v73.143h365.714z"],"width":1170.2849426269531,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["object-group"],"defaultCode":62023,"grid":14},"attrs":[],"properties":{"name":"group","id":16,"order":8,"prevSize":28,"code":62023},"setIdx":4,"setId":2,"iconIdx":16},{"icon":{"paths":["M1316.571 438.857h-73.143v365.714h73.143v219.429h-219.429v-73.143h-512v73.143h-219.429v-219.429h73.143v-73.143h-219.429v73.143h-219.429v-219.429h73.143v-365.714h-73.143v-219.429h219.429v73.143h512v-73.143h219.429v219.429h-73.143v73.143h219.429v-73.143h219.429v219.429zM1170.286 292.571v73.143h73.143v-73.143h-73.143zM804.571 73.143v73.143h73.143v-73.143h-73.143zM73.143 73.143v73.143h73.143v-73.143h-73.143zM146.286 731.429v-73.143h-73.143v73.143h73.143zM877.714 658.286h-73.143v73.143h73.143v-73.143zM219.429 658.286h512v-73.143h73.143v-365.714h-73.143v-73.143h-512v73.143h-73.143v365.714h73.143v73.143zM512 950.857v-73.143h-73.143v73.143h73.143zM1243.429 950.857v-73.143h-73.143v73.143h73.143zM1170.286 804.571v-365.714h-73.143v-73.143h-219.429v219.429h73.143v219.429h-219.429v-73.143h-219.429v73.143h73.143v73.143h512v-73.143h73.143z"],"width":1316.5691528320312,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["object-ungroup"],"defaultCode":62024,"grid":14},"attrs":[],"properties":{"name":"ungroup","id":17,"order":7,"prevSize":28,"code":62024},"setIdx":4,"setId":2,"iconIdx":17}],"height":1024,"metadata":{"name":"icomoon"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"icon-","metadata":{"fontFamily":"icomoon"},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon","name":"icomoon"},"historySize":100,"showCodes":true,"gridSize":16,"showGrid":true}} \ No newline at end of file +{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M169.062 626.586c23.757 96.205 53.965 138.291 154.726 182.374 100.813 44.032 148.685 92.16 188.211 92.16 39.475 0 84.378-42.086 185.139-86.221 100.813-44.083 73.882-57.498 97.638-153.702l-282.778 137.523-342.938-172.134zM998.963 375.603l-426.24-238.694c-33.382-18.688-88.064-18.688-121.446 0l-426.291 238.694c-33.382 18.688-33.382 49.306 0 67.994l426.24 238.694c33.382 18.688 88.064 18.688 121.446 0l275.558-154.317-298.803-69.99c-11.52 2.816-24.166 4.403-37.427 4.403-53.862 0-97.485-25.907-97.485-57.907 0-32.102 43.674-58.010 97.485-58.010 41.779 0 77.312 15.718 91.136 37.581l316.518 103.885 79.309-44.39c33.331-18.637 33.331-49.254 0-67.942zM868.71 827.904c-3.328 19.712 65.69 52.122 72.243-5.478 29.645-259.686-21.299-334.387-21.299-334.387l-71.424 39.987c0-0.051 60.57 57.6 20.48 299.878z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["graduation-cap"],"grid":20},"attrs":[{}],"properties":{"order":1,"id":0,"prevSize":20,"code":59656,"name":"graduation-cap"},"setIdx":0,"setId":11,"iconIdx":0},{"icon":{"paths":["M1024 0v1024h-1024v-1024h1024zM960 64h-896v896h896v-896z","M896 128h-320v768h320v-768z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["sidebar-right"],"grid":0},"attrs":[{},{}],"properties":{"order":43,"id":0,"name":"sidebar-right","prevSize":32,"code":59662},"setIdx":1,"setId":10,"iconIdx":0},{"icon":{"paths":["M0 0v1024h1024v-1024h-1024zM64 64h896v896h-896v-896z","M128 128h320v768h-320v-768z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["sidebar-left"],"grid":0},"attrs":[{},{}],"properties":{"order":42,"id":1,"name":"sidebar-left","prevSize":32,"code":59663},"setIdx":1,"setId":10,"iconIdx":1},{"icon":{"paths":["M280 0h64v1024h-64v-1024z","M0 640.001h224v384h-224v-384z","M680 0h64v1024h-64v-1024z","M800 0h224v384h-224v-384z","M400 361.269h224v384h-224v-384z"],"attrs":[{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["distribute-h2"],"grid":0},"attrs":[{},{},{},{},{}],"properties":{"order":3,"id":2,"name":"distribute-h2","prevSize":32,"code":59658},"setIdx":1,"setId":10,"iconIdx":2},{"icon":{"paths":["M1024 280v64h-1024v-64h1024z","M384 0v224h-384v-224h384z","M1024 680v64h-1024v-64h1024z","M1024 800v224h-384v-224h384z","M662.731 400v224h-384v-224h384z"],"attrs":[{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["distribute-v2"],"grid":0},"attrs":[{},{},{},{},{}],"properties":{"order":38,"id":3,"name":"distribute-v2","prevSize":32,"code":59659},"setIdx":1,"setId":10,"iconIdx":3},{"icon":{"paths":["M0 0v704h192v-704h-192zM64 68.812h64v571.187h-64v-571.187z","M832 128v896h192v-896h-192zM896 192h64v768h-64v-768z","M416 256v640h192v-640h-192zM480 319.375h64v512.625h-64v-512.625z","M672 381.999h96v192h-96v-192z","M256 381.999h96v192h-96v-192z"],"attrs":[{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["distribute-h"],"grid":0},"attrs":[{},{},{},{},{}],"properties":{"order":40,"id":4,"name":"distribute-h","prevSize":32,"code":59660},"setIdx":1,"setId":10,"iconIdx":4},{"icon":{"paths":["M1024.001 0h-704v192h704v-192zM955.188 64v64h-571.187v-64h571.187z","M896.001 832h-896v192h896v-192zM832.001 896v64h-768v-64h768z","M768.001 416h-640v192h640v-192zM704.626 480v64h-512.625v-64h512.625z","M642.002 672v96h-192v-96h192z","M642.002 256v96h-192v-96h192z"],"attrs":[{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["distribute-v"],"grid":0},"attrs":[{},{},{},{},{}],"properties":{"order":36,"id":5,"name":"distribute-v","prevSize":32,"code":59661},"setIdx":1,"setId":10,"iconIdx":5},{"icon":{"paths":["M298 896v-86h86v86h-86zM470 896v-86h84v86h-84zM810 128c22.667 0 42.667 8.667 60 26s26 37.333 26 60v426c0 22.667-8.667 42.667-26 60s-37.333 26-60 26h-426c-24 0-44.267-8.267-61.067-25.067s-24.933-36.933-24.933-60.933v-426c0-24 8.267-44.267 25.067-61.067s36.933-24.933 60.933-24.933h426zM640 896v-86h86v86h-86zM128 384v-86h86v86h-86zM214 896c-24 0-44.267-8.267-61.067-25.067s-24.933-36.933-24.933-60.933h86v86zM128 726v-86h86v86h-86zM128 554v-84h86v84h-86z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["flip_to_front"],"grid":24},"attrs":[{}],"properties":{"order":67,"id":0,"name":"flip_to_front","prevSize":24,"code":59648},"setIdx":2,"setId":9,"iconIdx":0},{"icon":{"paths":["M298 896v-86h86v86h-86zM470 896v-86h84v86h-84zM810 640v-426h-426v426h426zM810 128q34 0 60 26t26 60v426q0 34-26 60t-60 26h-426q-36 0-61-25t-25-61v-426q0-36 25-61t61-25h426zM640 896v-86h86v86h-86zM128 384v-86h86v86h-86zM214 896q-36 0-61-25t-25-61h86v86zM128 726v-86h86v86h-86zM128 554v-84h86v84h-86z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["to_front"],"grid":24},"attrs":[{}],"properties":{"order":66,"id":1,"prevSize":24,"code":59654,"name":"to_front"},"setIdx":2,"setId":9,"iconIdx":1},{"icon":{"paths":["M640 726v-86h86v86h-86zM640 214v-86h86v86h-86zM298 298l0.667 427.333 427.333 0.667v170h-512c-24 0-44.267-8.267-61.067-25.067s-24.933-36.933-24.933-60.933v-512h170zM810 726v-86h86c0 22.667-8.667 42.667-26 60s-37.333 26-60 26zM810 384v-86h86v86h-86zM810 554v-84h86v84h-86zM384 726c-24 0-85.333-0.667-85.333-0.667s-0.667-61.333-0.667-85.333h86v86zM554 128v86h-84v-86h84zM810 128c22.667 0 42.667 8.667 60 26s26 37.333 26 60h-86v-86zM554 640v86h-84v-86h84zM384 128v86h-86c0-24 8.267-44.267 25.067-61.067s36.933-24.933 60.933-24.933zM384 470v84h-86v-84h86zM384 298v86h-86v-86h86z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["flip_to_back"],"grid":24},"attrs":[{}],"properties":{"order":1,"id":2,"name":"flip_to_back","prevSize":24,"code":59649},"setIdx":2,"setId":9,"iconIdx":2},{"icon":{"paths":["M640 726v-86h86v86h-86zM640 214v-86h86v86h-86zM214 298v512h512v86h-512q-36 0-61-25t-25-61v-512h86zM810 726v-86h86q0 34-26 60t-60 26zM810 384v-86h86v86h-86zM810 554v-84h86v84h-86zM384 726q-36 0-61-25t-25-61h86v86zM554 128v86h-84v-86h84zM810 128q34 0 60 26t26 60h-86v-86zM554 640v86h-84v-86h84zM384 128v86h-86q0-36 25-61t61-25zM384 470v84h-86v-84h86zM384 298v86h-86v-86h86z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["to_back"],"grid":24},"attrs":[{}],"properties":{"order":65,"id":3,"prevSize":24,"code":59655,"name":"to_back"},"setIdx":2,"setId":9,"iconIdx":3},{"icon":{"paths":["M938 86v84h-852v-84h852zM298 938h128v-682h-128v682zM598 682h128v-426h-128v426z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["align_vertical_top"],"grid":24},"attrs":[{}],"properties":{"order":1,"id":4,"name":"align_vertical_top","prevSize":24,"code":59650},"setIdx":2,"setId":9,"iconIdx":4},{"icon":{"paths":["M938 470h-212v-214h-128v214h-172v-342h-128v342h-220v84h220v342h128v-342h172v214h128v-214h212v-84z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["align_vertical_center"],"grid":24},"attrs":[{}],"properties":{"order":2,"id":5,"name":"align_vertical_center","prevSize":24,"code":59651},"setIdx":2,"setId":9,"iconIdx":5},{"icon":{"paths":["M938 938h-852v-84h852v84zM426 86h-128v682h128v-682zM726 342h-128v426h128v-426z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["align_vertical_bottom"],"grid":24},"attrs":[{}],"properties":{"order":3,"id":6,"name":"align_vertical_bottom","prevSize":24,"code":59652},"setIdx":2,"setId":9,"iconIdx":6},{"icon":{"paths":["M170 938h-84v-852h84v852zM938 298h-682v128h682v-128zM682 598h-426v128h426v-128z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["align_horizontal_left"],"grid":24},"attrs":[{}],"properties":{"order":4,"id":7,"name":"align_horizontal_left","prevSize":24,"code":59653},"setIdx":2,"setId":9,"iconIdx":7},{"icon":{"paths":["M854 86h84v852h-84v-852zM86 426h682v-128h-682v128zM342 726h426v-128h-426v128z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["align_horizontal_right"],"grid":24},"attrs":[{}],"properties":{"order":5,"id":8,"name":"align_horizontal_right","prevSize":24,"code":59667},"setIdx":2,"setId":9,"iconIdx":8},{"icon":{"paths":["M470 86h84v212h342v128h-342v172h214v128h-214v212h-84v-212h-214v-128h214v-172h-342v-128h342v-212z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["align_horizontal_center"],"grid":24},"attrs":[{}],"properties":{"order":6,"id":9,"name":"align_horizontal_center","prevSize":24,"code":59668},"setIdx":2,"setId":9,"iconIdx":9},{"icon":{"paths":["M128 128h768v86h-768v-86zM384 384v-86h512v86h-512zM128 554v-84h768v84h-768zM384 726v-86h512v86h-512zM128 896v-86h768v86h-768z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["format_align_right"],"grid":24},"attrs":[{}],"properties":{"order":7,"id":10,"name":"format_align_right","prevSize":24,"code":59669},"setIdx":2,"setId":9,"iconIdx":10},{"icon":{"paths":["M128 128h768v86h-768v-86zM128 384v-86h768v86h-768zM128 554v-84h768v84h-768zM128 726v-86h768v86h-768zM128 896v-86h768v86h-768z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["format_align_justify"],"grid":24},"attrs":[{}],"properties":{"order":8,"id":11,"name":"format_align_justify","prevSize":24,"code":59670},"setIdx":2,"setId":9,"iconIdx":11},{"icon":{"paths":["M128 128h768v86h-768v-86zM128 896v-86h768v86h-768zM128 554v-84h768v84h-768zM640 298v86h-512v-86h512zM640 640v86h-512v-86h512z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["format_align_left"],"grid":24},"attrs":[{}],"properties":{"order":9,"id":12,"name":"format_align_left","prevSize":24,"code":59671},"setIdx":2,"setId":9,"iconIdx":12},{"icon":{"paths":["M128 128h768v86h-768v-86zM298 298h428v86h-428v-86zM128 554v-84h768v84h-768zM128 896v-86h768v86h-768zM298 640h428v86h-428v-86z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["format_align_center"],"grid":24},"attrs":[{}],"properties":{"order":10,"id":13,"name":"format_align_center","prevSize":24,"code":59672},"setIdx":2,"setId":9,"iconIdx":13},{"icon":{"paths":["M470 854l170-172h256v172h-426zM264 768l370-370-52-52-368 370v52h50zM786 248q26 26 26 60t-26 60l-486 486h-172v-174q480-478 486-484 26-26 60-26t60 26z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["drive_file_rename_outline"],"grid":24},"attrs":[{}],"properties":{"order":1,"id":14,"prevSize":24,"code":59666,"name":"file_rename"},"setIdx":2,"setId":9,"iconIdx":14},{"icon":{"paths":["M576 662c36 0 64-28 64-64s-28-64-64-64h-150v128h150zM426 278v128h128c36 0 64-28 64-64s-28-64-64-64h-128zM666 460c56 26 92 82 92 146 0 90-68 162-158 162h-302v-598h268c96 0 170 76 170 172 0 44-28 90-70 118z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["format_bold"],"defaultCode":57912,"grid":24},"attrs":[],"properties":{"order":11,"ligatures":"format_bold","id":15,"prevSize":24,"code":57912,"name":"format_bold"},"setIdx":2,"setId":9,"iconIdx":15},{"icon":{"paths":["M786 452l152-154v384h-384l156-154c-60-50-136-80-220-80-152 0-280 98-324 234l-100-32c58-178 226-308 424-308 114 0 218 42 296 110z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["redo"],"defaultCode":57690,"grid":24},"attrs":[],"properties":{"order":9,"ligatures":"redo","id":16,"prevSize":24,"code":57690,"name":"redo"},"setIdx":2,"setId":9,"iconIdx":16},{"icon":{"paths":["M534 342c198 0 364 130 424 308l-100 32c-44-136-172-234-324-234-84 0-160 30-220 80l156 154h-384v-384l152 154c78-68 182-110 296-110z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["undo"],"defaultCode":57702,"grid":24},"attrs":[],"properties":{"order":10,"ligatures":"undo","id":17,"prevSize":24,"code":57702,"name":"undo"},"setIdx":2,"setId":9,"iconIdx":17},{"icon":{"paths":["M512 256q70 0 120 50t50 120q0 54-64 111t-64 103h-84q0-46 20-79t44-48 44-37 20-50q0-34-26-59t-60-25-60 25-26 59h-84q0-70 50-120t120-50zM512 854q140 0 241-101t101-241-101-241-241-101-241 101-101 241 101 241 241 101zM512 86q176 0 301 125t125 301-125 301-301 125-301-125-125-301 125-301 301-125zM470 768v-86h84v86h-84z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["help_outline"],"grid":24},"attrs":[{}],"properties":{"order":1,"id":14,"name":"help_outline","prevSize":24,"code":59657},"setIdx":5,"setId":6,"iconIdx":0},{"icon":{"paths":["M917.806 229.076c-22.212-30.292-53.174-65.7-87.178-99.704s-69.412-64.964-99.704-87.178c-51.574-37.82-76.592-42.194-90.924-42.194h-496c-44.112 0-80 35.888-80 80v864c0 44.112 35.888 80 80 80h736c44.112 0 80-35.888 80-80v-624c0-14.332-4.372-39.35-42.194-90.924zM785.374 174.626c30.7 30.7 54.8 58.398 72.58 81.374h-153.954v-153.946c22.984 17.78 50.678 41.878 81.374 72.572zM896 944c0 8.672-7.328 16-16 16h-736c-8.672 0-16-7.328-16-16v-864c0-8.672 7.328-16 16-16 0 0 495.956-0.002 496 0v224c0 17.672 14.326 32 32 32h224v624z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["file-empty","file","document","paper","page","new","empty","blank"],"defaultCode":59684,"grid":16},"attrs":[],"properties":{"ligatures":"file-empty, file3","name":"new","id":0,"order":44,"prevSize":32,"code":59684},"setIdx":3,"setId":8,"iconIdx":0},{"icon":{"paths":["M896 512h-160l-224 224-224-224h-160l-128 256v64h1024v-64l-128-256zM0 896h1024v64h-1024v-64zM576 320v-256h-128v256h-224l288 288 288-288h-224z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["download","save","store"],"defaultCode":59845,"grid":16},"attrs":[],"properties":{"ligatures":"download2, save4","name":"save","id":1,"order":46,"prevSize":32,"code":59845},"setIdx":3,"setId":8,"iconIdx":1},{"icon":{"paths":["M864 704c-45.16 0-85.92 18.738-115.012 48.83l-431.004-215.502c1.314-8.252 2.016-16.706 2.016-25.328s-0.702-17.076-2.016-25.326l431.004-215.502c29.092 30.090 69.852 48.828 115.012 48.828 88.366 0 160-71.634 160-160s-71.634-160-160-160-160 71.634-160 160c0 8.622 0.704 17.076 2.016 25.326l-431.004 215.504c-29.092-30.090-69.852-48.83-115.012-48.83-88.366 0-160 71.636-160 160 0 88.368 71.634 160 160 160 45.16 0 85.92-18.738 115.012-48.828l431.004 215.502c-1.312 8.25-2.016 16.704-2.016 25.326 0 88.368 71.634 160 160 160s160-71.632 160-160c0-88.364-71.634-160-160-160z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["share","social"],"defaultCode":60034,"grid":16},"attrs":[],"properties":{"ligatures":"share2, social","name":"share","id":2,"order":47,"prevSize":32,"code":60034},"setIdx":3,"setId":8,"iconIdx":2},{"icon":{"paths":["M933.79 610.25c-53.726-93.054-21.416-212.304 72.152-266.488l-100.626-174.292c-28.75 16.854-62.176 26.518-97.846 26.518-107.536 0-194.708-87.746-194.708-195.99h-201.258c0.266 33.41-8.074 67.282-25.958 98.252-53.724 93.056-173.156 124.702-266.862 70.758l-100.624 174.292c28.97 16.472 54.050 40.588 71.886 71.478 53.638 92.908 21.512 211.92-71.708 266.224l100.626 174.292c28.65-16.696 61.916-26.254 97.4-26.254 107.196 0 194.144 87.192 194.7 194.958h201.254c-0.086-33.074 8.272-66.57 25.966-97.218 53.636-92.906 172.776-124.594 266.414-71.012l100.626-174.29c-28.78-16.466-53.692-40.498-71.434-71.228zM512 719.332c-114.508 0-207.336-92.824-207.336-207.334 0-114.508 92.826-207.334 207.336-207.334 114.508 0 207.332 92.826 207.332 207.334-0.002 114.51-92.824 207.334-207.332 207.334z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["cog","gear","preferences","settings","generate","control","options"],"defaultCode":59796,"grid":16},"attrs":[],"properties":{"ligatures":"cog, gear","name":"cog","order":64,"id":3,"prevSize":32,"code":59796},"setIdx":3,"setId":8,"iconIdx":3},{"icon":{"paths":["M219.429 877.714h438.857v-219.429h-438.857v219.429zM731.429 877.714h73.143v-512c0-10.857-9.714-34.286-17.143-41.714l-160.571-160.571c-8-8-30.286-17.143-41.714-17.143v237.714c0 30.286-24.571 54.857-54.857 54.857h-329.143c-30.286 0-54.857-24.571-54.857-54.857v-237.714h-73.143v731.429h73.143v-237.714c0-30.286 24.571-54.857 54.857-54.857h475.429c30.286 0 54.857 24.571 54.857 54.857v237.714zM512 347.429v-182.857c0-9.714-8.571-18.286-18.286-18.286h-109.714c-9.714 0-18.286 8.571-18.286 18.286v182.857c0 9.714 8.571 18.286 18.286 18.286h109.714c9.714 0 18.286-8.571 18.286-18.286zM877.714 365.714v530.286c0 30.286-24.571 54.857-54.857 54.857h-768c-30.286 0-54.857-24.571-54.857-54.857v-768c0-30.286 24.571-54.857 54.857-54.857h530.286c30.286 0 72 17.143 93.714 38.857l160 160c21.714 21.714 38.857 63.429 38.857 93.714z"],"width":878,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["floppy-o","save"],"grid":14},"attrs":[{}],"properties":{"order":1,"id":0,"prevSize":28,"code":59665,"name":"floppy-o"},"setIdx":4,"setId":7,"iconIdx":0},{"icon":{"paths":["M1017.714 532c0-16-17.714-20-30.286-20h-621.714c-30.286 0-70.286 18.857-89.714 42.286l-168 207.429c-5.143 6.857-10.286 14.286-10.286 22.857 0 16 17.714 20 30.286 20h621.714c30.286 0 70.286-18.857 89.714-42.857l168-207.429c5.143-6.286 10.286-13.714 10.286-22.286zM365.714 438.857h438.857v-91.429c0-30.286-24.571-54.857-54.857-54.857h-329.143c-30.286 0-54.857-24.571-54.857-54.857v-36.571c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v487.429l146.286-180c33.143-40.571 94.286-69.714 146.286-69.714zM1090.857 532c0 25.143-10.857 49.143-26.286 68.571l-168.571 207.429c-32.571 40-94.857 69.714-146.286 69.714h-621.714c-70.286 0-128-57.714-128-128v-548.571c0-70.286 57.714-128 128-128h182.857c70.286 0 128 57.714 128 128v18.286h310.857c70.286 0 128 57.714 128 128v91.429h109.714c38.857 0 77.714 17.714 94.857 54.286 5.714 12 8.571 25.143 8.571 38.857z"],"width":1091,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["folder-open-o"],"grid":14},"attrs":[{}],"properties":{"order":1,"id":1,"prevSize":28,"code":59664,"name":"folder-open"},"setIdx":4,"setId":7,"iconIdx":1},{"icon":{"paths":["M658.286 475.429q0-105.714-75.143-180.857t-180.857-75.143-180.857 75.143-75.143 180.857 75.143 180.857 180.857 75.143 180.857-75.143 75.143-180.857zM950.857 950.857q0 29.714-21.714 51.429t-51.429 21.714q-30.857 0-51.429-21.714l-196-195.429q-102.286 70.857-228 70.857-81.714 0-156.286-31.714t-128.571-85.714-85.714-128.571-31.714-156.286 31.714-156.286 85.714-128.571 128.571-85.714 156.286-31.714 156.286 31.714 128.571 85.714 85.714 128.571 31.714 156.286q0 125.714-70.857 228l196 196q21.143 21.143 21.143 51.429z"],"width":950.8559875488281,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["search"],"defaultCode":61442,"grid":14},"attrs":[],"properties":{"name":"search","id":2,"order":16,"prevSize":28,"code":61442},"setIdx":4,"setId":7,"iconIdx":2},{"icon":{"paths":["M585.143 457.143v36.571q0 7.429-5.429 12.857t-12.857 5.429h-128v128q0 7.429-5.429 12.857t-12.857 5.429h-36.571q-7.429 0-12.857-5.429t-5.429-12.857v-128h-128q-7.429 0-12.857-5.429t-5.429-12.857v-36.571q0-7.429 5.429-12.857t12.857-5.429h128v-128q0-7.429 5.429-12.857t12.857-5.429h36.571q7.429 0 12.857 5.429t5.429 12.857v128h128q7.429 0 12.857 5.429t5.429 12.857zM658.286 475.429q0-105.714-75.143-180.857t-180.857-75.143-180.857 75.143-75.143 180.857 75.143 180.857 180.857 75.143 180.857-75.143 75.143-180.857zM950.857 950.857q0 30.286-21.429 51.714t-51.714 21.429q-30.857 0-51.429-21.714l-196-195.429q-102.286 70.857-228 70.857-81.714 0-156.286-31.714t-128.571-85.714-85.714-128.571-31.714-156.286 31.714-156.286 85.714-128.571 128.571-85.714 156.286-31.714 156.286 31.714 128.571 85.714 85.714 128.571 31.714 156.286q0 125.714-70.857 228l196 196q21.143 21.143 21.143 51.429z"],"width":950.8559875488281,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["search-plus"],"defaultCode":61454,"grid":14},"attrs":[],"properties":{"name":"search-plus","id":3,"order":17,"prevSize":28,"code":61454},"setIdx":4,"setId":7,"iconIdx":3},{"icon":{"paths":["M585.143 457.143v36.571q0 7.429-5.429 12.857t-12.857 5.429h-329.143q-7.429 0-12.857-5.429t-5.429-12.857v-36.571q0-7.429 5.429-12.857t12.857-5.429h329.143q7.429 0 12.857 5.429t5.429 12.857zM658.286 475.429q0-105.714-75.143-180.857t-180.857-75.143-180.857 75.143-75.143 180.857 75.143 180.857 180.857 75.143 180.857-75.143 75.143-180.857zM950.857 950.857q0 30.286-21.429 51.714t-51.714 21.429q-30.857 0-51.429-21.714l-196-195.429q-102.286 70.857-228 70.857-81.714 0-156.286-31.714t-128.571-85.714-85.714-128.571-31.714-156.286 31.714-156.286 85.714-128.571 128.571-85.714 156.286-31.714 156.286 31.714 128.571 85.714 85.714 128.571 31.714 156.286q0 125.714-70.857 228l196 196q21.143 21.143 21.143 51.429z"],"width":950.8559875488281,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["search-minus"],"defaultCode":61456,"grid":14},"attrs":[],"properties":{"name":"search-minus","id":4,"order":18,"prevSize":28,"code":61456},"setIdx":4,"setId":7,"iconIdx":4},{"icon":{"paths":["M292.571 420.571v329.143q0 8-5.143 13.143t-13.143 5.143h-36.571q-8 0-13.143-5.143t-5.143-13.143v-329.143q0-8 5.143-13.143t13.143-5.143h36.571q8 0 13.143 5.143t5.143 13.143zM438.857 420.571v329.143q0 8-5.143 13.143t-13.143 5.143h-36.571q-8 0-13.143-5.143t-5.143-13.143v-329.143q0-8 5.143-13.143t13.143-5.143h36.571q8 0 13.143 5.143t5.143 13.143zM585.143 420.571v329.143q0 8-5.143 13.143t-13.143 5.143h-36.571q-8 0-13.143-5.143t-5.143-13.143v-329.143q0-8 5.143-13.143t13.143-5.143h36.571q8 0 13.143 5.143t5.143 13.143zM658.286 834.286v-541.714h-512v541.714q0 12.571 4 23.143t8.286 15.429 6 4.857h475.429q1.714 0 6-4.857t8.286-15.429 4-23.143zM274.286 219.429h256l-27.429-66.857q-4-5.143-9.714-6.286h-181.143q-5.714 1.143-9.714 6.286zM804.571 237.714v36.571q0 8-5.143 13.143t-13.143 5.143h-54.857v541.714q0 47.429-26.857 82t-64.571 34.571h-475.429q-37.714 0-64.571-33.429t-26.857-80.857v-544h-54.857q-8 0-13.143-5.143t-5.143-13.143v-36.571q0-8 5.143-13.143t13.143-5.143h176.571l40-95.429q8.571-21.143 30.857-36t45.143-14.857h182.857q22.857 0 45.143 14.857t30.857 36l40 95.429h176.571q8 0 13.143 5.143t5.143 13.143z"],"width":804.5710134506226,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["trash-o"],"defaultCode":61460,"grid":14},"attrs":[],"properties":{"name":"delete","id":5,"order":21,"prevSize":28,"code":61460},"setIdx":4,"setId":7,"iconIdx":5},{"icon":{"paths":["M804.571 420.571v109.714q0 22.857-16 38.857t-38.857 16h-237.714v237.714q0 22.857-16 38.857t-38.857 16h-109.714q-22.857 0-38.857-16t-16-38.857v-237.714h-237.714q-22.857 0-38.857-16t-16-38.857v-109.714q0-22.857 16-38.857t38.857-16h237.714v-237.714q0-22.857 16-38.857t38.857-16h109.714q22.857 0 38.857 16t16 38.857v237.714h237.714q22.857 0 38.857 16t16 38.857z"],"width":804.5719833374023,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["plus"],"defaultCode":61543,"grid":14},"attrs":[],"properties":{"name":"plus","id":6,"order":19,"prevSize":28,"code":61543},"setIdx":4,"setId":7,"iconIdx":6},{"icon":{"paths":["M804.571 420.571v109.714q0 22.857-16 38.857t-38.857 16h-694.857q-22.857 0-38.857-16t-16-38.857v-109.714q0-22.857 16-38.857t38.857-16h694.857q22.857 0 38.857 16t16 38.857z"],"width":804.5709762573242,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["minus"],"defaultCode":61544,"grid":14},"attrs":[],"properties":{"name":"minus","id":7,"order":20,"prevSize":28,"code":61544},"setIdx":4,"setId":7,"iconIdx":7},{"icon":{"paths":["M548.571 512q14.857 0 25.714 10.857t10.857 25.714-10.857 25.714-25.714 10.857-25.714-10.857-10.857-25.714 10.857-25.714 25.714-10.857zM720 548.571l289.714 227.429q16 11.429 14.286 32-2.857 20-20 29.143l-73.143 36.571q-7.429 4-16.571 4-9.714 0-17.714-4.571l-394.286-221.143-62.857 37.714q-4.571 2.286-6.857 2.857 8 28 5.714 55.429-4 44-32 84.286t-75.429 70.571q-75.429 48-158.286 48-77.714 0-126.857-44.571-51.429-48-45.143-118.286 4-43.429 32-84t74.857-70.857q75.429-48 158.857-48 47.429 0 86.286 17.714 5.143-7.429 12.571-12.571l69.714-41.714-69.714-41.714q-7.429-5.143-12.571-12.571-38.857 17.714-86.286 17.714-83.429 0-158.857-48-46.857-30.286-74.857-70.857t-32-84q-2.857-33.714 8.857-64.571t36.286-53.143q48.571-45.143 126.857-45.143 82.857 0 158.286 48 47.429 29.714 75.429 70.286t32 84.571q2.286 27.429-5.714 55.429 2.286 0.571 6.857 2.857l62.857 37.714 394.286-221.143q8-4.571 17.714-4.571 9.143 0 16.571 4l73.143 36.571q17.143 9.143 20 29.143 1.714 20.571-14.286 32zM330.857 400q26.286-24 12-61.714t-60.571-66.857q-52.571-33.714-109.714-33.714-42.286 0-64.571 20.571-26.286 24-12 61.714t60.571 66.857q52.571 33.714 109.714 33.714 42.286 0 64.571-20.571zM282.286 825.714q46.286-29.143 60.571-66.857t-12-61.714q-22.286-20.571-64.571-20.571-57.143 0-109.714 33.714-46.286 29.143-60.571 66.857t12 61.714q22.286 20.571 64.571 20.571 57.143 0 109.714-33.714zM384 475.429l54.857 33.143v-6.286q0-20.571 18.857-32l8-4.571-45.143-26.857-14.857 14.857q-1.714 1.714-5.714 6.286t-6.857 6.857q-1.143 1.143-2.286 2t-1.714 1.429zM512 603.429l54.857 18.286 420.571-329.143-73.143-36.571-438.857 246.286v64.571l-91.429 54.857 5.143 4.571q1.143 1.143 4 3.429 2.286 2.286 6.286 6.857t6.286 6.857l14.857 14.857zM914.286 841.143l73.143-36.571-297.143-233.143-101.143 78.857q-1.143 1.714-7.429 4z"],"width":1019.9989471435547,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["cut","scissors"],"defaultCode":61636,"grid":14},"attrs":[],"properties":{"name":"cut, scissors","id":8,"order":23,"prevSize":28,"code":61636},"setIdx":4,"setId":7,"iconIdx":8},{"icon":{"paths":["M969.143 219.429q22.857 0 38.857 16t16 38.857v694.857q0 22.857-16 38.857t-38.857 16h-548.571q-22.857 0-38.857-16t-16-38.857v-164.571h-310.857q-22.857 0-38.857-16t-16-38.857v-384q0-22.857 11.429-50.286t27.429-43.429l233.143-233.143q16-16 43.429-27.429t50.286-11.429h237.714q22.857 0 38.857 16t16 38.857v187.429q38.857-22.857 73.143-22.857h237.714zM658.286 341.143l-170.857 170.857h170.857v-170.857zM292.571 121.714l-170.857 170.857h170.857v-170.857zM404.571 491.429l180.571-180.571v-237.714h-219.429v237.714q0 22.857-16 38.857t-38.857 16h-237.714v365.714h292.571v-146.286q0-22.857 11.429-50.286t27.429-43.429zM950.857 950.857v-658.286h-219.429v237.714q0 22.857-16 38.857t-38.857 16h-237.714v365.714h512z"],"width":1024.0010299682617,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["copy","files-o"],"defaultCode":61637,"grid":14},"attrs":[],"properties":{"name":"copy, files-o","id":9,"order":24,"prevSize":28,"code":61637},"setIdx":4,"setId":7,"iconIdx":9},{"icon":{"paths":["M877.714 768v73.143q0 14.857-10.857 25.714t-25.714 10.857h-804.571q-14.857 0-25.714-10.857t-10.857-25.714v-73.143q0-14.857 10.857-25.714t25.714-10.857h804.571q14.857 0 25.714 10.857t10.857 25.714zM877.714 475.429v73.143q0 14.857-10.857 25.714t-25.714 10.857h-804.571q-14.857 0-25.714-10.857t-10.857-25.714v-73.143q0-14.857 10.857-25.714t25.714-10.857h804.571q14.857 0 25.714 10.857t10.857 25.714zM877.714 182.857v73.143q0 14.857-10.857 25.714t-25.714 10.857h-804.571q-14.857 0-25.714-10.857t-10.857-25.714v-73.143q0-14.857 10.857-25.714t25.714-10.857h804.571q14.857 0 25.714 10.857t10.857 25.714z"],"width":877.7149925231934,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["bars","navicon","reorder"],"defaultCode":61641,"grid":14},"attrs":[],"properties":{"name":"arrange","id":10,"order":22,"prevSize":28,"code":61641},"setIdx":4,"setId":7,"iconIdx":10},{"icon":{"paths":["M438.857 950.857h512v-365.714h-237.714q-22.857 0-38.857-16t-16-38.857v-237.714h-219.429v658.286zM585.143 128v-36.571q0-7.429-5.429-12.857t-12.857-5.429h-402.286q-7.429 0-12.857 5.429t-5.429 12.857v36.571q0 7.429 5.429 12.857t12.857 5.429h402.286q7.429 0 12.857-5.429t5.429-12.857zM731.429 512h170.857l-170.857-170.857v170.857zM1024 585.143v384q0 22.857-16 38.857t-38.857 16h-548.571q-22.857 0-38.857-16t-16-38.857v-91.429h-310.857q-22.857 0-38.857-16t-16-38.857v-768q0-22.857 16-38.857t38.857-16h621.714q22.857 0 38.857 16t16 38.857v187.429q12 7.429 20.571 16l233.143 233.143q16 16 27.429 43.429t11.429 50.286z"],"width":1024.0020065307617,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["clipboard","paste"],"defaultCode":61674,"grid":14},"attrs":[],"properties":{"name":"clipboard, paste","id":11,"order":25,"prevSize":28,"code":61674},"setIdx":4,"setId":7,"iconIdx":11},{"icon":{"paths":["M1170.286 219.429h-73.143v585.143h73.143v219.429h-219.429v-73.143h-731.429v73.143h-219.429v-219.429h73.143v-585.143h-73.143v-219.429h219.429v73.143h731.429v-73.143h219.429v219.429zM1024 73.143v73.143h73.143v-73.143h-73.143zM73.143 73.143v73.143h73.143v-73.143h-73.143zM146.286 950.857v-73.143h-73.143v73.143h73.143zM950.857 877.714v-73.143h73.143v-585.143h-73.143v-73.143h-731.429v73.143h-73.143v585.143h73.143v73.143h731.429zM1097.143 950.857v-73.143h-73.143v73.143h73.143zM731.429 365.714h219.429v438.857h-512v-146.286h-219.429v-438.857h512v146.286zM292.571 585.143h365.714v-292.571h-365.714v292.571zM877.714 731.429v-292.571h-146.286v219.429h-219.429v73.143h365.714z"],"width":1170.2849426269531,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["object-group"],"defaultCode":62023,"grid":14},"attrs":[],"properties":{"name":"group","id":12,"order":8,"prevSize":28,"code":62023},"setIdx":4,"setId":7,"iconIdx":12},{"icon":{"paths":["M1316.571 438.857h-73.143v365.714h73.143v219.429h-219.429v-73.143h-512v73.143h-219.429v-219.429h73.143v-73.143h-219.429v73.143h-219.429v-219.429h73.143v-365.714h-73.143v-219.429h219.429v73.143h512v-73.143h219.429v219.429h-73.143v73.143h219.429v-73.143h219.429v219.429zM1170.286 292.571v73.143h73.143v-73.143h-73.143zM804.571 73.143v73.143h73.143v-73.143h-73.143zM73.143 73.143v73.143h73.143v-73.143h-73.143zM146.286 731.429v-73.143h-73.143v73.143h73.143zM877.714 658.286h-73.143v73.143h73.143v-73.143zM219.429 658.286h512v-73.143h73.143v-365.714h-73.143v-73.143h-512v73.143h-73.143v365.714h73.143v73.143zM512 950.857v-73.143h-73.143v73.143h73.143zM1243.429 950.857v-73.143h-73.143v73.143h73.143zM1170.286 804.571v-365.714h-73.143v-73.143h-219.429v219.429h73.143v219.429h-219.429v-73.143h-219.429v73.143h73.143v73.143h512v-73.143h73.143z"],"width":1316.5691528320312,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"tags":["object-ungroup"],"defaultCode":62024,"grid":14},"attrs":[],"properties":{"name":"ungroup","id":13,"order":7,"prevSize":28,"code":62024},"setIdx":4,"setId":7,"iconIdx":13}],"height":1024,"metadata":{"name":"icomoon"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"icon-","metadata":{"fontFamily":"icomoon"},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon","name":"icomoon"},"historySize":100,"showCodes":true,"gridSize":16,"showGrid":true}} \ No newline at end of file diff --git a/src/style/icomoon/style.css b/src/style/icomoon/style.css index 11b766f..02645e1 100644 --- a/src/style/icomoon/style.css +++ b/src/style/icomoon/style.css @@ -1,10 +1,10 @@ @font-face { font-family: 'icomoon'; - src: url('fonts/icomoon.eot?nhzet0'); - src: url('fonts/icomoon.eot?nhzet0#iefix') format('embedded-opentype'), - url('fonts/icomoon.ttf?nhzet0') format('truetype'), - url('fonts/icomoon.woff?nhzet0') format('woff'), - url('fonts/icomoon.svg?nhzet0#icomoon') format('svg'); + src: url('fonts/icomoon.eot?713dey'); + src: url('fonts/icomoon.eot?713dey#iefix') format('embedded-opentype'), + url('fonts/icomoon.ttf?713dey') format('truetype'), + url('fonts/icomoon.woff?713dey') format('woff'), + url('fonts/icomoon.svg?713dey#icomoon') format('svg'); font-weight: normal; font-style: normal; font-display: block; @@ -13,6 +13,7 @@ [class^="icon-"], [class*=" icon-"] { /* use !important to prevent issues with browser extensions that change fonts */ font-family: 'icomoon' !important; + speak: never; font-style: normal; font-weight: normal; font-variant: normal; @@ -24,6 +25,27 @@ -moz-osx-font-smoothing: grayscale; } +.icon-graduation-cap:before { + content: "\e908"; +} +.icon-sidebar-right:before { + content: "\e90e"; +} +.icon-sidebar-left:before { + content: "\e90f"; +} +.icon-distribute-h2:before { + content: "\e90a"; +} +.icon-distribute-v2:before { + content: "\e90b"; +} +.icon-distribute-h:before { + content: "\e90c"; +} +.icon-distribute-v:before { + content: "\e90d"; +} .icon-flip_to_front:before { content: "\e900"; } @@ -78,23 +100,8 @@ .icon-undo:before { content: "\e166"; } -.icon-sidebar-right:before { - content: "\e90e"; -} -.icon-sidebar-left:before { - content: "\e90f"; -} -.icon-distribute-h2:before { - content: "\e90a"; -} -.icon-distribute-v2:before { - content: "\e90b"; -} -.icon-distribute-h:before { - content: "\e90c"; -} -.icon-distribute-v:before { - content: "\e90d"; +.icon-help_outline:before { + content: "\e909"; } .icon-new:before { content: "\e924"; diff --git a/src/wireframes/components/HeaderView.tsx b/src/wireframes/components/HeaderView.tsx index b9a976f..e6fad4e 100644 --- a/src/wireframes/components/HeaderView.tsx +++ b/src/wireframes/components/HeaderView.tsx @@ -13,7 +13,11 @@ import { useLoading } from './actions'; import { ArrangeHeader, FileHeader, PresentHeader, IdHeader, ModeHeader } from './headers'; import './styles/HeaderView.scss' -export const HeaderView = React.memo(() => { +interface HeaderViewProps { + refs: React.MutableRefObject[]; +} + +export const HeaderView = React.memo((props: HeaderViewProps) => { const forLoading = useLoading(); const editor = useStore(s => s.editor); const tokenToWrite = useStore(s => s.loading.tokenToWrite); @@ -58,14 +62,20 @@ export const HeaderView = React.memo(() => {
- + + +
- + + + - + + +
); diff --git a/src/wireframes/components/headers/FileHeader.tsx b/src/wireframes/components/headers/FileHeader.tsx index 187fcb9..7cb8e94 100644 --- a/src/wireframes/components/headers/FileHeader.tsx +++ b/src/wireframes/components/headers/FileHeader.tsx @@ -6,7 +6,7 @@ * Copyright (c) Do Duc Quan. All rights reserved. */ -import { changeName, getEditor, useStore } from '@app/wireframes/model'; +import { changeName, getEditor, setIsTourOpen, useStore } from '@app/wireframes/model'; import { Button, Dropdown, Form, Input, message } from 'antd'; import { useEffect, useState } from 'react'; import { useLoading, useServer } from '../actions'; @@ -91,6 +91,21 @@ export const FileHeader = () => { className: 'loading-action-item', disabled: forLoading.downloadDiagram.disabled, }, + { + type: 'divider', + }, + { + key: texts.common.walkthrough, + label: texts.common.walkthrough, + icon: , + className: 'loading-action-item', + }, + { + key: texts.common.documentation, + label: texts.common.documentation, + icon: , + className: 'loading-action-item', + }, ]; const menuEvt: MenuProps['onClick'] = ({key}) => { @@ -104,9 +119,13 @@ export const FileHeader = () => { dispatch(forLoading.openDiagramAction.onAction); } else if (key == forLoading.downloadDiagram.label) { dispatch(forLoading.downloadDiagram.onAction); - } else if (texts.common.saveDiagramToFileTooltip) { + } else if (key == texts.common.saveDiagramToFileTooltip) { dispatch(forServer.pdf(messageApi, messageKey)); - } + } else if (key == texts.common.documentation) { + window.open('https://github.com/code-slide/ui/wiki'); + } else if (key == texts.common.walkthrough) { + dispatch(setIsTourOpen(true)); + } } return ( diff --git a/src/wireframes/components/styles/AnimationView.scss b/src/wireframes/components/styles/AnimationView.scss index 7d2819c..5a9e408 100644 --- a/src/wireframes/components/styles/AnimationView.scss +++ b/src/wireframes/components/styles/AnimationView.scss @@ -33,6 +33,10 @@ font-family: monospace; font-size: 13px; line-height: 18px; + + textarea { + outline: none; + } } .code-output { diff --git a/src/wireframes/model/actions/ui.ts b/src/wireframes/model/actions/ui.ts index b39abee..09af955 100644 --- a/src/wireframes/model/actions/ui.ts +++ b/src/wireframes/model/actions/ui.ts @@ -53,6 +53,11 @@ export const filterDiagrams = return { payload: { filter } }; }); +export const setIsTourOpen = + createAction('ui/isTourOpen', (isOpen: boolean) => { + return { payload: { isOpen } }; + }); + export function toastMiddleware() { const middleware: Middleware = () => (next: Dispatch) => (action: any) => { if (showToast.match(action)) { @@ -91,5 +96,8 @@ export function ui(initialState: UIState): Reducer { }) .addCase(selectColorTab, (state, action) => { state.selectedColor = action.payload.tab; + }) + .addCase(setIsTourOpen, (state, action) => { + state.isTourOpen = action.payload.isOpen; })); } diff --git a/src/wireframes/model/ui-state.ts b/src/wireframes/model/ui-state.ts index ac48596..73878d3 100644 --- a/src/wireframes/model/ui-state.ts +++ b/src/wireframes/model/ui-state.ts @@ -34,6 +34,9 @@ export interface UIState { // The color tab. selectedColor: string; + // The tour step. + isTourOpen: boolean; + // The filter for the diagram. diagramsFilter?: string; } @@ -50,5 +53,6 @@ export const createInitialUIState: () => UIState = () => { selectedMode: 'design', selectedAnimation: 'script', sidebarSize: vogues.common.close, + isTourOpen: false, }; }; diff --git a/src/wireframes/shapes/neutral/line.ts b/src/wireframes/shapes/neutral/line.ts index a78a2e8..64956fe 100644 --- a/src/wireframes/shapes/neutral/line.ts +++ b/src/wireframes/shapes/neutral/line.ts @@ -85,10 +85,10 @@ export class Line implements ShapePlugin { x2: b.right - height * Math.cos(ctlRad - ctlCurve * Math.PI / 2), y1: isPivotTop ? b.top + height * Math.sin(ctlRad) - : b.bottom - height * Math.sin(ctlRad - ctlCurve * Math.PI / 2), + : b.bottom - height * Math.sin(ctlRad), y2: isPivotTop ? b.bottom - height * Math.sin(ctlRad - ctlCurve * Math.PI / 2) - : b.top + height * Math.sin(ctlRad), + : b.top + height * Math.sin(ctlRad - ctlCurve * Math.PI / 2), }; // Control point, assuming isosceles triangle