├── .gitignore ├── README.md ├── docs ├── css │ ├── app.css │ └── chunk-vendors.css ├── favicon.png ├── img │ ├── banner-1400x560.png │ ├── icon-128x128.png │ ├── icon-48x48.png │ └── logo_black.svg ├── index.html └── js │ ├── app.js │ ├── app.js.map │ ├── chunk-vendors.js │ └── chunk-vendors.js.map ├── index.js ├── package.json ├── src ├── background.js ├── fe │ ├── .editorconfig │ ├── README.md │ ├── babel.config.js │ ├── cypress.json │ ├── dist │ │ ├── css │ │ │ ├── app.css │ │ │ └── chunk-vendors.css │ │ ├── favicon.png │ │ ├── index.html │ │ └── js │ │ │ ├── app.js │ │ │ ├── app.js.map │ │ │ ├── chunk-vendors.js │ │ │ └── chunk-vendors.js.map │ ├── package.json │ ├── public │ │ ├── favicon.png │ │ └── index.html │ ├── src │ │ ├── App.vue │ │ ├── assets │ │ │ ├── css │ │ │ │ ├── reset.css │ │ │ │ ├── style.css │ │ │ │ └── variables.css │ │ │ ├── img │ │ │ │ └── arrow-left.svg │ │ │ └── logo.png │ │ ├── components │ │ │ ├── Color.vue │ │ │ ├── FooterLogo.vue │ │ │ ├── HelloWorld.vue │ │ │ ├── MapItem.vue │ │ │ ├── ModalShortcuts.vue │ │ │ ├── Node.vue │ │ │ ├── Panno.vue │ │ │ ├── Root.vue │ │ │ ├── Templates.vue │ │ │ ├── TextToolBar.vue │ │ │ └── svg │ │ │ │ ├── Box.vue │ │ │ │ ├── NodeArrow.vue │ │ │ │ └── Path.vue │ │ ├── composables │ │ │ ├── useAdjacency.js │ │ │ ├── useColor.js │ │ │ ├── useDownload.js │ │ │ ├── useEvent.js │ │ │ ├── useMarkdownToolbar.js │ │ │ ├── useOnResize.js │ │ │ ├── usePan.js │ │ │ ├── usePanScroll.js │ │ │ ├── useTemplates.js │ │ │ └── useZoomWheel.js │ │ ├── main.js │ │ ├── map-templates │ │ │ ├── blank.js │ │ │ ├── emojis.js │ │ │ └── markdown.js │ │ ├── mock.js │ │ ├── router │ │ │ └── index.js │ │ ├── utils │ │ │ ├── api │ │ │ │ ├── map.js │ │ │ │ └── maps.js │ │ │ ├── clockIndex.js │ │ │ ├── iif.js │ │ │ ├── isWheelRight.js │ │ │ ├── isWheelUp.js │ │ │ ├── mapOf.js │ │ │ ├── wrap.js │ │ │ └── wrapRef.js │ │ └── views │ │ │ ├── About.vue │ │ │ ├── Editor.vue │ │ │ ├── Home.vue │ │ │ └── ToolBar.vue │ ├── tests │ │ ├── e2e │ │ │ ├── .eslintrc.js │ │ │ ├── plugins │ │ │ │ └── index.js │ │ │ ├── specs │ │ │ │ └── test.js │ │ │ └── support │ │ │ │ ├── commands.js │ │ │ │ └── index.js │ │ └── unit │ │ │ └── example.spec.js │ └── vue.config.js ├── img │ ├── banner-1400x560.png │ ├── icon-128x128.png │ ├── icon-48x48.png │ └── logo_black.svg └── manifest.json └── webpack.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | /tests/e2e/videos/ 6 | /tests/e2e/screenshots/ 7 | 8 | # local env files 9 | .env.local 10 | .env.*.local 11 | 12 | # Log files 13 | npm-debug.log* 14 | yarn-debug.log* 15 | yarn-error.log* 16 | 17 | # Editor directories and files 18 | .idea 19 | .vscode 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | 26 | package-lock.json 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Mind maps 2 | 3 | [![Mind maps demo](https://raw.githubusercontent.com/gcofficial/mind-maps-ext/master/src/img/banner-1400x560.png?token=ACA3WBOZIYUC5753M3EBLKC6SR4ES)](https://www.youtube.com/watch?v=oRwbEE5-pAc) 4 | 5 | [Use it](https://theguriev.github.io/mind-maps-ext/#/) 6 | 7 | The clear way to share complex information. Mind maps is a collaborative tool that helps you make sense of complex things. 8 | Mind maps are useful for anyone to plan, take notes, visualise information, brainstorm, solve problems, study, and share information (to name just a few). There's really no limit to their uses! Everyone who values visual thinking, in business, education, or just in their personal life can find mind maps useful to organise information. 9 | 10 | **Feature list** 11 | * Create colored Mind Maps with our add-on. 12 | * Save everything on local storage. Your mind maps will be with you in any time even without internet connection. 13 | * Export to PNG, SVG, JPG. 14 | * Keyboard shortcuts. 15 | 16 | 17 | **Social links** 18 | * [Write me](mailto:eg@beagl.in) 19 | * [Hire me](https://www.linkedin.com/in/therealguriev/) 20 | * [Like me](https://www.instagram.com/theguriev/) 21 | -------------------------------------------------------------------------------- /docs/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theguriev/mind-maps-ext/b0905ec6c58ef9822364381d4f7bcf13a7904253/docs/favicon.png -------------------------------------------------------------------------------- /docs/img/banner-1400x560.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theguriev/mind-maps-ext/b0905ec6c58ef9822364381d4f7bcf13a7904253/docs/img/banner-1400x560.png -------------------------------------------------------------------------------- /docs/img/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theguriev/mind-maps-ext/b0905ec6c58ef9822364381d4f7bcf13a7904253/docs/img/icon-128x128.png -------------------------------------------------------------------------------- /docs/img/icon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theguriev/mind-maps-ext/b0905ec6c58ef9822364381d4f7bcf13a7904253/docs/img/icon-48x48.png -------------------------------------------------------------------------------- /docs/img/logo_black.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | Mind maps by beagl
-------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | console.log('') 2 | console.log('============================') 3 | console.log(' _ _ ') 4 | console.log(' | | | |') 5 | console.log(' | |__ ___ __ _ __ _| |') 6 | console.log(' | \'_ \\ / _ \\/ _` |/ _` | |') 7 | console.log(' | |_) | __/ (_| | (_| | |') 8 | console.log(' |_.__/ \\___|\\__,_|\\__, |_|') 9 | console.log(' __/ | ') 10 | console.log(' |___/ ') 11 | console.log('============================') 12 | console.log('') -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mind-maps-ext", 3 | "version": "1.0.1", 4 | "description": "The clear way to share complex information. Mind maps plugin is a collaborative mind-mapping tool that helps you make sense of complex things.", 5 | "main": "webpack.config.js", 6 | "scripts": { 7 | "build": "rm -rf dist && webpack" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/gcofficial/mind-maps-ext.git" 12 | }, 13 | "keywords": [ 14 | "mind", 15 | "maps", 16 | "maps", 17 | "Eugen", 18 | "Guriev", 19 | "beagl" 20 | ], 21 | "author": "Eugen Guriev ", 22 | "license": "MIT", 23 | "bugs": { 24 | "url": "https://github.com/gcofficial/mind-maps-ext/issues" 25 | }, 26 | "homepage": "https://github.com/gcofficial/mind-maps-ext#readme", 27 | "devDependencies": { 28 | "clean-webpack-plugin": "^3.0.0", 29 | "copy-webpack-plugin": "^5.1.1", 30 | "webpack": "^4.41.5", 31 | "webpack-cli": "^3.3.10" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/background.js: -------------------------------------------------------------------------------- 1 | chrome.browserAction.onClicked.addListener( 2 | () => { 3 | chrome.tabs.create({ url: 'index.html' }) 4 | } 5 | ) -------------------------------------------------------------------------------- /src/fe/.editorconfig: -------------------------------------------------------------------------------- 1 | [*.{js,jsx,ts,tsx,vue}] 2 | indent_style = space 3 | indent_size = 2 4 | trim_trailing_whitespace = true 5 | insert_final_newline = true 6 | -------------------------------------------------------------------------------- /src/fe/README.md: -------------------------------------------------------------------------------- 1 | # beagl-mm 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Run your tests 19 | ``` 20 | npm run test 21 | ``` 22 | 23 | ### Lints and fixes files 24 | ``` 25 | npm run lint 26 | ``` 27 | 28 | ### Run your end-to-end tests 29 | ``` 30 | npm run test:e2e 31 | ``` 32 | 33 | ### Run your unit tests 34 | ``` 35 | npm run test:unit 36 | ``` 37 | 38 | ### Customize configuration 39 | See [Configuration Reference](https://cli.vuejs.org/config/). 40 | -------------------------------------------------------------------------------- /src/fe/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /src/fe/cypress.json: -------------------------------------------------------------------------------- 1 | { 2 | "pluginsFile": "tests/e2e/plugins/index.js" 3 | } 4 | -------------------------------------------------------------------------------- /src/fe/dist/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theguriev/mind-maps-ext/b0905ec6c58ef9822364381d4f7bcf13a7904253/src/fe/dist/favicon.png -------------------------------------------------------------------------------- /src/fe/dist/index.html: -------------------------------------------------------------------------------- 1 | Mind maps by beagl
-------------------------------------------------------------------------------- /src/fe/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mindmaps", 3 | "version": "1.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build", 8 | "lint": "vue-cli-service lint", 9 | "test:e2e": "vue-cli-service test:e2e", 10 | "test:unit": "vue-cli-service test:unit" 11 | }, 12 | "dependencies": { 13 | "@vue/composition-api": "^0.4.0", 14 | "ant-design-vue": "^1.4.12", 15 | "core-js": "^3.6.4", 16 | "dom-to-image": "^2.6.0", 17 | "lguid": "^1.0.1", 18 | "lodash": "^4.17.15", 19 | "marked": "^1.0.0", 20 | "moment": "^2.24.0", 21 | "vue": "^2.6.11", 22 | "vue-router": "^3.1.5" 23 | }, 24 | "devDependencies": { 25 | "@vue/cli-plugin-babel": "^4.2.0", 26 | "@vue/cli-plugin-e2e-cypress": "^4.2.0", 27 | "@vue/cli-plugin-eslint": "^4.2.0", 28 | "@vue/cli-plugin-unit-jest": "^4.2.0", 29 | "@vue/cli-service": "^4.2.0", 30 | "@vue/eslint-config-standard": "^5.1.0", 31 | "@vue/test-utils": "1.0.0-beta.31", 32 | "babel-eslint": "^10.0.3", 33 | "eslint": "^6.7.2", 34 | "eslint-plugin-import": "^2.20.1", 35 | "eslint-plugin-node": "^11.0.0", 36 | "eslint-plugin-promise": "^4.2.1", 37 | "eslint-plugin-standard": "^4.0.0", 38 | "eslint-plugin-vue": "^6.1.2", 39 | "sass": "^1.25.0", 40 | "sass-loader": "^8.0.2", 41 | "vue-template-compiler": "^2.6.11" 42 | }, 43 | "eslintConfig": { 44 | "root": true, 45 | "env": { 46 | "node": true 47 | }, 48 | "extends": [ 49 | "plugin:vue/essential", 50 | "@vue/standard" 51 | ], 52 | "parserOptions": { 53 | "parser": "babel-eslint" 54 | }, 55 | "rules": {}, 56 | "overrides": [ 57 | { 58 | "files": [ 59 | "**/__tests__/*.{j,t}s?(x)", 60 | "**/tests/unit/**/*.spec.{j,t}s?(x)" 61 | ], 62 | "env": { 63 | "jest": true 64 | } 65 | } 66 | ] 67 | }, 68 | "browserslist": [ 69 | "> 1%", 70 | "last 2 versions" 71 | ], 72 | "jest": { 73 | "preset": "@vue/cli-plugin-unit-jest" 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/fe/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theguriev/mind-maps-ext/b0905ec6c58ef9822364381d4f7bcf13a7904253/src/fe/public/favicon.png -------------------------------------------------------------------------------- /src/fe/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Mind maps by beagl 10 | 11 | 12 | 15 |
16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/fe/src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 16 | -------------------------------------------------------------------------------- /src/fe/src/assets/css/reset.css: -------------------------------------------------------------------------------- 1 | html, body, div, span, applet, object, iframe, 2 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 3 | a, abbr, acronym, address, big, cite, code, 4 | del, dfn, em, img, ins, kbd, q, s, samp, 5 | small, strike, strong, sub, sup, tt, var, 6 | b, u, i, center, 7 | dl, dt, dd, ol, ul, li, 8 | fieldset, form, label, legend, 9 | table, caption, tbody, tfoot, thead, tr, th, td, 10 | article, aside, canvas, details, embed, 11 | figure, figcaption, footer, header, hgroup, 12 | menu, nav, output, ruby, section, summary, 13 | time, mark, audio, video { 14 | margin: 0; 15 | padding: 0; 16 | border: 0; 17 | font-size: 100%; 18 | font: inherit; 19 | vertical-align: baseline; 20 | } 21 | 22 | /* make sure to set some focus styles for accessibility */ 23 | :focus { 24 | outline: 0; 25 | } 26 | 27 | /* HTML5 display-role reset for older browsers */ 28 | article, aside, details, figcaption, figure, 29 | footer, header, hgroup, menu, nav, section { 30 | display: block; 31 | } 32 | 33 | body { 34 | line-height: 1; 35 | } 36 | 37 | ol, ul { 38 | list-style: none; 39 | } 40 | 41 | blockquote, q { 42 | quotes: none; 43 | } 44 | 45 | blockquote:before, blockquote:after, 46 | q:before, q:after { 47 | content: ''; 48 | content: none; 49 | } 50 | 51 | table { 52 | border-collapse: collapse; 53 | border-spacing: 0; 54 | } 55 | 56 | input[type=search]::-webkit-search-cancel-button, 57 | input[type=search]::-webkit-search-decoration, 58 | input[type=search]::-webkit-search-results-button, 59 | input[type=search]::-webkit-search-results-decoration { 60 | -webkit-appearance: none; 61 | -moz-appearance: none; 62 | } 63 | 64 | input[type=search] { 65 | -webkit-appearance: none; 66 | -moz-appearance: none; 67 | -webkit-box-sizing: content-box; 68 | -moz-box-sizing: content-box; 69 | box-sizing: content-box; 70 | } 71 | 72 | textarea { 73 | overflow: auto; 74 | vertical-align: top; 75 | resize: vertical; 76 | } 77 | 78 | /** 79 | * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. 80 | */ 81 | 82 | audio, 83 | canvas, 84 | video { 85 | display: inline-block; 86 | *display: inline; 87 | *zoom: 1; 88 | max-width: 100%; 89 | } 90 | 91 | /** 92 | * Prevent modern browsers from displaying `audio` without controls. 93 | * Remove excess height in iOS 5 devices. 94 | */ 95 | 96 | audio:not([controls]) { 97 | display: none; 98 | height: 0; 99 | } 100 | 101 | /** 102 | * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. 103 | * Known issue: no IE 6 support. 104 | */ 105 | 106 | [hidden] { 107 | display: none; 108 | } 109 | 110 | /** 111 | * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using 112 | * `em` units. 113 | * 2. Prevent iOS text size adjust after orientation change, without disabling 114 | * user zoom. 115 | */ 116 | 117 | html { 118 | font-size: 100%; /* 1 */ 119 | -webkit-text-size-adjust: 100%; /* 2 */ 120 | -ms-text-size-adjust: 100%; /* 2 */ 121 | } 122 | 123 | /** 124 | * Address `outline` inconsistency between Chrome and other browsers. 125 | */ 126 | 127 | a:focus { 128 | outline: thin dotted; 129 | } 130 | 131 | /** 132 | * Improve readability when focused and also mouse hovered in all browsers. 133 | */ 134 | 135 | a:active, 136 | a:hover { 137 | outline: 0; 138 | } 139 | 140 | /** 141 | * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. 142 | * 2. Improve image quality when scaled in IE 7. 143 | */ 144 | 145 | img { 146 | border: 0; /* 1 */ 147 | -ms-interpolation-mode: bicubic; /* 2 */ 148 | } 149 | 150 | /** 151 | * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. 152 | */ 153 | 154 | figure { 155 | margin: 0; 156 | } 157 | 158 | /** 159 | * Correct margin displayed oddly in IE 6/7. 160 | */ 161 | 162 | form { 163 | margin: 0; 164 | } 165 | 166 | /** 167 | * Define consistent border, margin, and padding. 168 | */ 169 | 170 | fieldset { 171 | border: 1px solid #c0c0c0; 172 | margin: 0 2px; 173 | padding: 0.35em 0.625em 0.75em; 174 | } 175 | 176 | /** 177 | * 1. Correct color not being inherited in IE 6/7/8/9. 178 | * 2. Correct text not wrapping in Firefox 3. 179 | * 3. Correct alignment displayed oddly in IE 6/7. 180 | */ 181 | 182 | legend { 183 | border: 0; /* 1 */ 184 | padding: 0; 185 | white-space: normal; /* 2 */ 186 | *margin-left: -7px; /* 3 */ 187 | } 188 | 189 | /** 190 | * 1. Correct font size not being inherited in all browsers. 191 | * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, 192 | * and Chrome. 193 | * 3. Improve appearance and consistency in all browsers. 194 | */ 195 | 196 | button, 197 | input, 198 | select, 199 | textarea { 200 | font-size: 100%; /* 1 */ 201 | margin: 0; /* 2 */ 202 | vertical-align: baseline; /* 3 */ 203 | *vertical-align: middle; /* 3 */ 204 | } 205 | 206 | /** 207 | * Address Firefox 3+ setting `line-height` on `input` using `!important` in 208 | * the UA stylesheet. 209 | */ 210 | 211 | button, 212 | input { 213 | line-height: normal; 214 | } 215 | 216 | /** 217 | * Address inconsistent `text-transform` inheritance for `button` and `select`. 218 | * All other form control elements do not inherit `text-transform` values. 219 | * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. 220 | * Correct `select` style inheritance in Firefox 4+ and Opera. 221 | */ 222 | 223 | button, 224 | select { 225 | text-transform: none; 226 | } 227 | 228 | /** 229 | * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` 230 | * and `video` controls. 231 | * 2. Correct inability to style clickable `input` types in iOS. 232 | * 3. Improve usability and consistency of cursor style between image-type 233 | * `input` and others. 234 | * 4. Remove inner spacing in IE 7 without affecting normal text inputs. 235 | * Known issue: inner spacing remains in IE 6. 236 | */ 237 | 238 | button, 239 | html input[type="button"], /* 1 */ 240 | input[type="reset"], 241 | input[type="submit"] { 242 | -webkit-appearance: button; /* 2 */ 243 | cursor: pointer; /* 3 */ 244 | *overflow: visible; /* 4 */ 245 | } 246 | 247 | /** 248 | * Re-set default cursor for disabled elements. 249 | */ 250 | 251 | button[disabled], 252 | html input[disabled] { 253 | cursor: default; 254 | } 255 | 256 | /** 257 | * 1. Address box sizing set to content-box in IE 8/9. 258 | * 2. Remove excess padding in IE 8/9. 259 | * 3. Remove excess padding in IE 7. 260 | * Known issue: excess padding remains in IE 6. 261 | */ 262 | 263 | input[type="checkbox"], 264 | input[type="radio"] { 265 | box-sizing: border-box; /* 1 */ 266 | padding: 0; /* 2 */ 267 | *height: 13px; /* 3 */ 268 | *width: 13px; /* 3 */ 269 | } 270 | 271 | /** 272 | * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 273 | * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome 274 | * (include `-moz` to future-proof). 275 | */ 276 | 277 | input[type="search"] { 278 | -webkit-appearance: textfield; /* 1 */ 279 | -moz-box-sizing: content-box; 280 | -webkit-box-sizing: content-box; /* 2 */ 281 | box-sizing: content-box; 282 | } 283 | 284 | /** 285 | * Remove inner padding and search cancel button in Safari 5 and Chrome 286 | * on OS X. 287 | */ 288 | 289 | input[type="search"]::-webkit-search-cancel-button, 290 | input[type="search"]::-webkit-search-decoration { 291 | -webkit-appearance: none; 292 | } 293 | 294 | /** 295 | * Remove inner padding and border in Firefox 3+. 296 | */ 297 | 298 | button::-moz-focus-inner, 299 | input::-moz-focus-inner { 300 | border: 0; 301 | padding: 0; 302 | } 303 | 304 | /** 305 | * 1. Remove default vertical scrollbar in IE 6/7/8/9. 306 | * 2. Improve readability and alignment in all browsers. 307 | */ 308 | 309 | textarea { 310 | overflow: auto; /* 1 */ 311 | vertical-align: top; /* 2 */ 312 | } 313 | 314 | /** 315 | * Remove most spacing between table cells. 316 | */ 317 | 318 | table { 319 | border-collapse: collapse; 320 | border-spacing: 0; 321 | } 322 | 323 | html, 324 | button, 325 | input, 326 | select, 327 | textarea { 328 | color: #222; 329 | } 330 | 331 | 332 | ::-moz-selection { 333 | background: #b3d4fc; 334 | text-shadow: none; 335 | } 336 | 337 | ::selection { 338 | background: #b3d4fc; 339 | text-shadow: none; 340 | } 341 | 342 | img { 343 | vertical-align: middle; 344 | } 345 | 346 | fieldset { 347 | border: 0; 348 | margin: 0; 349 | padding: 0; 350 | } 351 | 352 | textarea { 353 | resize: vertical; 354 | } 355 | 356 | .chromeframe { 357 | margin: 0.2em 0; 358 | background: #ccc; 359 | color: #000; 360 | padding: 0.2em 0; 361 | } -------------------------------------------------------------------------------- /src/fe/src/assets/css/variables.css: -------------------------------------------------------------------------------- 1 | :root{ 2 | /* Colors */ 3 | --primary: #409EFF; 4 | --success: #67C23A; 5 | --warning: #E6A23C; 6 | --danger: #F56C6C; 7 | --info: #909399; 8 | --text-primary: #303133; 9 | --text-regular: #555d66; 10 | --text-secondary: #909399; 11 | --text-placeholder: #C0C4CC; 12 | --border-base: #DCDFE6; 13 | --border-light: #E4E7ED; 14 | --border-extra-light: #F2F6FC; 15 | --white: #ffffff; 16 | --black: #000000; 17 | --background-base: #F5F7FA; 18 | --background-uploader: #fbfdff; 19 | --shadow: rgba(0, 0, 0, 0.07); 20 | --overlay: rgba(0, 0, 0, 0.5); 21 | --title-header-bg: #ebeef5; 22 | 23 | /* Margin and Padding */ 24 | --space-1: .5rem; 25 | --space-2: 1rem; 26 | --space-3: 2rem; 27 | --space-4: 4rem; 28 | 29 | /* Typography */ 30 | 31 | --line-height-1: 1; 32 | --line-height-2: 1.125; 33 | --line-height-3: 1.25; 34 | --line-height-4: 1.5; 35 | --caps-letter-spacing: .2em; 36 | --bold-font-weight: bold; 37 | 38 | /* Radius */ 39 | --radius: 4px; 40 | } -------------------------------------------------------------------------------- /src/fe/src/assets/img/arrow-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/fe/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theguriev/mind-maps-ext/b0905ec6c58ef9822364381d4f7bcf13a7904253/src/fe/src/assets/logo.png -------------------------------------------------------------------------------- /src/fe/src/components/Color.vue: -------------------------------------------------------------------------------- 1 | 112 | 113 | 128 | 129 | 130 | 140 | -------------------------------------------------------------------------------- /src/fe/src/components/FooterLogo.vue: -------------------------------------------------------------------------------- 1 | 39 | 40 | 45 | 46 | 47 | 68 | -------------------------------------------------------------------------------- /src/fe/src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 34 | 35 | 43 | 44 | 45 | 61 | -------------------------------------------------------------------------------- /src/fe/src/components/MapItem.vue: -------------------------------------------------------------------------------- 1 | 44 | 45 | 115 | 116 | 127 | -------------------------------------------------------------------------------- /src/fe/src/components/ModalShortcuts.vue: -------------------------------------------------------------------------------- 1 | 99 | 100 | 126 | 127 | 128 | 139 | -------------------------------------------------------------------------------- /src/fe/src/components/Node.vue: -------------------------------------------------------------------------------- 1 |