You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@skywalking.apache.org by wu...@apache.org on 2020/01/15 09:16:51 UTC
[skywalking-rocketbot-ui] branch master updated: Build: add git
hook for code style (#249)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-rocketbot-ui.git
The following commit(s) were added to refs/heads/master by this push:
new 9ad81a0 Build: add git hook for code style (#249)
9ad81a0 is described below
commit 9ad81a05a2f2969420c1f75769c2b4def42819e4
Author: Qiuxia Fan <fi...@outlook.com>
AuthorDate: Wed Jan 15 17:16:41 2020 +0800
Build: add git hook for code style (#249)
* build: add hooks for pre commit
* build: add prettier
* style: format
* style: test
* style: fix
* style: fix
* fix: prettier
---
.prettierrc | 10 +
package-lock.json | 1113 +++++-
package.json | 14 +
src/App.vue | 58 +-
src/assets/icons/index.ts | 3 +-
src/assets/lang/en.ts | 2 +-
src/assets/styles/grid.scss | 2 +-
src/assets/styles/lib.scss | 219 +-
src/assets/styles/reset.scss | 138 +-
src/assets/styles/style.scss | 35 +-
src/components/icon.html | 3654 ++++++++++----------
src/components/index.ts | 31 +-
src/components/noty/bootstrap-v4.css | 62 +-
src/components/noty/noty.css | 184 +-
src/components/rk-back.vue | 66 +-
src/components/rk-button.vue | 80 +-
src/components/rk-date-calendar.vue | 1017 +++---
src/components/rk-date.vue | 910 ++---
src/components/rk-dropdown-item.vue | 75 +-
src/components/rk-dropdown.vue | 130 +-
src/components/rk-echarts.vue | 110 +-
src/components/rk-footer-time.vue | 65 +-
src/components/rk-footer.vue | 176 +-
src/components/rk-header.vue | 259 +-
src/components/rk-icon.vue | 97 +-
src/components/rk-page.vue | 182 +-
src/components/rk-panel.vue | 74 +-
src/components/rk-popper.vue | 606 ++--
src/components/rk-progress.vue | 77 +-
src/components/rk-select.vue | 277 +-
src/components/rk-sidebox.vue | 198 +-
src/event-bus.ts | 20 +-
src/graph/fragments/alarm.ts | 6 +-
src/graph/fragments/comparison.ts | 18 +-
src/graph/fragments/option.ts | 15 +-
src/graph/fragments/topology.ts | 39 +-
src/graph/fragments/trace.ts | 11 +-
src/graph/index.ts | 12 +-
src/graph/query/alarm.ts | 3 +-
src/graph/query/option.ts | 23 +-
src/graph/query/topology.ts | 56 +-
src/graph/query/trace.ts | 10 +-
src/main.ts | 14 +-
src/router.ts | 2 +-
src/store/index.ts | 22 +-
src/store/modules/alarm/index.ts | 5 +-
src/store/modules/comparison/comparison-const.ts | 66 +-
src/store/modules/comparison/comparison-store.ts | 284 +-
src/store/modules/dashboard/mutation-types.ts | 1 -
src/store/modules/global/index.ts | 37 +-
src/store/modules/topology/index.ts | 318 +-
src/store/modules/trace/index.ts | 15 +-
src/types/comparison.d.ts | 4 +-
src/types/dashboard.d.ts | 2 +-
src/types/trace.d.ts | 2 +-
src/utils/cancelToken.ts | 6 +-
src/utils/comparison.ts | 5 +-
src/utils/copy.ts | 4 +-
src/utils/cssHelper.ts | 12 +-
src/utils/localtime.ts | 13 +-
src/utils/queryChartData.ts | 562 ++-
src/utils/tooltip.scss | 48 +-
src/utils/tooltip.ts | 24 +-
src/views/components/alarm/alarm-select.vue | 216 +-
src/views/components/alarm/alarm-table.vue | 154 +-
src/views/components/alarm/alarm-tool.vue | 76 +-
src/views/components/comparison/chart-line.vue | 168 +-
.../components/comparison/comparison-charts.vue | 48 +-
.../components/comparison/comparison-config.vue | 56 +-
src/views/components/dashboard/dashboard-comp.vue | 252 +-
src/views/components/dashboard/dashboard-item.vue | 205 +-
.../dashboard/tool-bar-endpoint-select-opt.vue | 63 +-
.../dashboard/tool-bar-endpoint-select.vue | 234 +-
src/views/components/dashboard/tool-bar-select.vue | 222 +-
src/views/components/dashboard/tool-bar.vue | 212 +-
src/views/components/dashboard/tool-group.vue | 281 +-
src/views/components/dashboard/tool-nav.vue | 278 +-
src/views/components/topology/chart-line.vue | 156 +-
.../components/topology/dependency-sankey.vue | 117 +-
src/views/components/topology/endpoints-survey.vue | 43 +-
src/views/components/topology/instances-survey.vue | 43 +-
src/views/components/topology/radial.vue | 242 +-
src/views/components/topology/topo-aside.vue | 316 +-
src/views/components/topology/topo-chart.vue | 171 +-
.../components/topology/topo-detect-point.vue | 308 +-
.../topology/topo-instance-dependency.vue | 115 +-
src/views/components/topology/topo-select.vue | 211 +-
src/views/components/topology/topo-services.vue | 45 +-
src/views/components/topology/topo.vue | 1233 +++----
src/views/components/trace/d3-trace-tree.js | 343 +-
src/views/components/trace/d3-trace.js | 128 +-
.../components/trace/trace-detail-chart-list.vue | 705 ++--
.../components/trace/trace-detail-chart-table.vue | 541 +--
.../components/trace/trace-detail-chart-tree.vue | 629 ++--
src/views/components/trace/trace-detail.vue | 229 +-
src/views/components/trace/trace-search.vue | 538 ++-
src/views/components/trace/trace-select.vue | 215 +-
src/views/components/trace/trace-table.vue | 357 +-
src/views/containers/alarm.vue | 84 +-
src/views/containers/comparison.vue | 35 +-
src/views/containers/dashboard.vue | 194 +-
src/views/containers/index.vue | 65 +-
src/views/containers/login.vue | 315 +-
src/views/containers/topology/topology.vue | 96 +-
src/views/containers/topology/window-alarm.vue | 48 +-
src/views/containers/topology/window-endpoint.vue | 190 +-
src/views/containers/topology/window-instance.vue | 76 +-
src/views/containers/topology/window-trace.vue | 76 +-
src/views/containers/trace.vue | 72 +-
109 files changed, 12435 insertions(+), 9549 deletions(-)
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..834b6e9
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,10 @@
+{
+ "trailingComma": "all",
+ "printWidth": 120,
+ "tabWidth": 2,
+ "semi": true,
+ "singleQuote": true,
+ "bracketSpacing": true,
+ "vueIndentScriptAndStyle": true,
+ "arrowParens": "always"
+}
diff --git a/package-lock.json b/package-lock.json
index 8262f15..b2d662f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -838,12 +838,49 @@
"glob-to-regexp": "^0.3.0"
}
},
+ "@nodelib/fs.scandir": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
+ "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.stat": "2.0.3",
+ "run-parallel": "^1.1.9"
+ },
+ "dependencies": {
+ "@nodelib/fs.stat": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+ "dev": true
+ }
+ }
+ },
"@nodelib/fs.stat": {
"version": "1.1.3",
"resolved": "http://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz",
"integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=",
"dev": true
},
+ "@nodelib/fs.walk": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
+ "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.scandir": "2.1.3",
+ "fastq": "^1.6.0"
+ }
+ },
+ "@samverschueren/stream-to-observable": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz",
+ "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==",
+ "dev": true,
+ "requires": {
+ "any-observable": "^0.3.0"
+ }
+ },
"@soda/friendly-errors-webpack-plugin": {
"version": "1.7.1",
"resolved": "http://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.7.1.tgz",
@@ -897,12 +934,53 @@
}
}
},
+ "@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+ "dev": true
+ },
+ "@types/events": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
+ "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
+ "dev": true
+ },
+ "@types/glob": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
+ "dev": true,
+ "requires": {
+ "@types/events": "*",
+ "@types/minimatch": "*",
+ "@types/node": "*"
+ }
+ },
"@types/lodash": {
"version": "4.14.138",
"resolved": "https://registry.npm.taobao.org/@types/lodash/download/@types/lodash-4.14.138.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Flodash%2Fdownload%2F%40types%2Flodash-4.14.138.tgz",
"integrity": "sha1-NPUmQNc1gjAwg0TlecFbN42RmJ4=",
"dev": true
},
+ "@types/minimatch": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
+ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "13.1.6",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.6.tgz",
+ "integrity": "sha512-Jg1F+bmxcpENHP23sVKkNuU3uaxPnsBMW0cLjleiikFKomJQbsn0Cqk2yDvQArqzZN6ABfBkZ0To7pQ8sLdWDg==",
+ "dev": true
+ },
+ "@types/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
+ "dev": true
+ },
"@types/q": {
"version": "1.5.1",
"resolved": "http://registry.npm.taobao.org/@types/q/download/@types/q-1.5.1.tgz",
@@ -1160,6 +1238,12 @@
"yallist": "^2.1.2"
}
},
+ "prettier": {
+ "version": "1.16.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.3.tgz",
+ "integrity": "sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw==",
+ "dev": true
+ },
"source-map": {
"version": "0.6.1",
"resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
@@ -1413,6 +1497,24 @@
"integrity": "sha1-tfUGMfjWzsi9IMljljr7VeBsvOk=",
"dev": true
},
+ "aggregate-error": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz",
+ "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==",
+ "dev": true,
+ "requires": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
+ "dependencies": {
+ "indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "dev": true
+ }
+ }
+ },
"ajv": {
"version": "6.9.2",
"resolved": "http://registry.npm.taobao.org/ajv/download/ajv-6.9.2.tgz",
@@ -1455,6 +1557,12 @@
"integrity": "sha1-V9NbhoboUeLMBMQD8cACA5dqGBM=",
"dev": true
},
+ "ansi-escapes": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
+ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
+ "dev": true
+ },
"ansi-html": {
"version": "0.0.7",
"resolved": "http://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz",
@@ -1476,6 +1584,12 @@
"color-convert": "^1.9.0"
}
},
+ "any-observable": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz",
+ "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==",
+ "dev": true
+ },
"anymatch": {
"version": "2.0.0",
"resolved": "http://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz",
@@ -2437,6 +2551,12 @@
}
}
},
+ "clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "dev": true
+ },
"cli-cursor": {
"version": "2.1.0",
"resolved": "http://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz",
@@ -2452,6 +2572,53 @@
"integrity": "sha1-ACwZkJEtDVlYDJO9NsBW3pnkJZo=",
"dev": true
},
+ "cli-truncate": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz",
+ "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=",
+ "dev": true,
+ "requires": {
+ "slice-ansi": "0.0.4",
+ "string-width": "^1.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
+ }
+ },
"clipboardy": {
"version": "1.2.3",
"resolved": "http://registry.npm.taobao.org/clipboardy/download/clipboardy-1.2.3.tgz",
@@ -3622,6 +3789,12 @@
"assert-plus": "^1.0.0"
}
},
+ "date-fns": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz",
+ "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==",
+ "dev": true
+ },
"date-now": {
"version": "0.1.4",
"resolved": "http://registry.npm.taobao.org/date-now/download/date-now-0.1.4.tgz",
@@ -3663,6 +3836,12 @@
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
+ "dedent": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+ "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
+ "dev": true
+ },
"deep-equal": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/deep-equal/download/deep-equal-1.0.1.tgz",
@@ -4003,6 +4182,12 @@
"integrity": "sha1-scz2Gd9yla6he8aVHcaJYyYp5Kk=",
"dev": true
},
+ "elegant-spinner": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz",
+ "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=",
+ "dev": true
+ },
"elliptic": {
"version": "6.4.1",
"resolved": "http://registry.npm.taobao.org/elliptic/download/elliptic-6.4.1.tgz",
@@ -4450,6 +4635,15 @@
"integrity": "sha1-kXKMWllC7O2FMSg8eUQe5BIsNak=",
"dev": true
},
+ "fastq": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz",
+ "integrity": "sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==",
+ "dev": true,
+ "requires": {
+ "reusify": "^1.0.0"
+ }
+ },
"faye-websocket": {
"version": "0.10.0",
"resolved": "http://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz",
@@ -4465,6 +4659,16 @@
"integrity": "sha1-hiRwESkBxyeg5JWoB0S9W6odZ5A=",
"dev": true
},
+ "figures": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5",
+ "object-assign": "^4.1.0"
+ }
+ },
"file-loader": {
"version": "3.0.1",
"resolved": "http://registry.npm.taobao.org/file-loader/download/file-loader-3.0.1.tgz",
@@ -4723,7 +4927,8 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"aproba": {
"version": "1.2.0",
@@ -5138,7 +5343,8 @@
"safe-buffer": {
"version": "5.1.2",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -5194,6 +5400,7 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -5237,12 +5444,14 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"yallist": {
"version": "3.0.3",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
}
}
},
@@ -5332,6 +5541,12 @@
"integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=",
"dev": true
},
+ "get-own-enumerable-property-symbols": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
+ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==",
+ "dev": true
+ },
"get-stdin": {
"version": "4.0.1",
"resolved": "http://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz",
@@ -5813,6 +6028,185 @@
"integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
"dev": true
},
+ "husky": {
+ "version": "4.0.9",
+ "resolved": "https://registry.npmjs.org/husky/-/husky-4.0.9.tgz",
+ "integrity": "sha512-zaH0INH9MZBH8smr6nPdzv7pjchOZPN/AKdhkuV4zut9SyF0+pUy1ZCBzhz2uPe7Cp75YzD92ewU2ytIZ0GjUQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "ci-info": "^2.0.0",
+ "cosmiconfig": "^6.0.0",
+ "opencollective-postinstall": "^2.0.2",
+ "pkg-dir": "^4.2.0",
+ "please-upgrade-node": "^3.2.0",
+ "slash": "^3.0.0",
+ "which-pm-runs": "^1.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "ci-info": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "cosmiconfig": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+ "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
+ "dev": true,
+ "requires": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.7.2"
+ }
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "import-fresh": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
+ "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz",
+ "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "parse-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ },
+ "path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true
+ },
+ "pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
"iconv-lite": {
"version": "0.4.23",
"resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.23.tgz",
@@ -6205,6 +6599,15 @@
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
"dev": true
},
+ "is-observable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz",
+ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==",
+ "dev": true,
+ "requires": {
+ "symbol-observable": "^1.1.0"
+ }
+ },
"is-path-cwd": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-1.0.0.tgz",
@@ -6244,6 +6647,12 @@
"isobject": "^3.0.1"
}
},
+ "is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+ "dev": true
+ },
"is-regex": {
"version": "1.0.4",
"resolved": "http://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz",
@@ -6253,6 +6662,12 @@
"has": "^1.0.1"
}
},
+ "is-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
+ "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
+ "dev": true
+ },
"is-resolvable": {
"version": "1.1.0",
"resolved": "http://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz",
@@ -6518,21 +6933,507 @@
"invert-kv": "^2.0.0"
}
},
- "load-json-file": {
- "version": "1.1.0",
- "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+ "dev": true
+ },
+ "lint-staged": {
+ "version": "9.5.0",
+ "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-9.5.0.tgz",
+ "integrity": "sha512-nawMob9cb/G1J98nb8v3VC/E8rcX1rryUYXVZ69aT9kde6YWX+uvNOEHY5yf2gcWcTJGiD0kqXmCnS3oD75GIA==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
+ "chalk": "^2.4.2",
+ "commander": "^2.20.0",
+ "cosmiconfig": "^5.2.1",
+ "debug": "^4.1.1",
+ "dedent": "^0.7.0",
+ "del": "^5.0.0",
+ "execa": "^2.0.3",
+ "listr": "^0.14.3",
+ "log-symbols": "^3.0.0",
+ "micromatch": "^4.0.2",
+ "normalize-path": "^3.0.0",
+ "please-upgrade-node": "^3.1.1",
+ "string-argv": "^0.3.0",
+ "stringify-object": "^3.3.0"
},
"dependencies": {
- "parse-json": {
- "version": "2.2.0",
+ "@nodelib/fs.stat": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+ "dev": true
+ },
+ "array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ },
+ "cosmiconfig": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
+ "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
+ "dev": true,
+ "requires": {
+ "import-fresh": "^2.0.0",
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.13.1",
+ "parse-json": "^4.0.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz",
+ "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "del": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz",
+ "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==",
+ "dev": true,
+ "requires": {
+ "globby": "^10.0.1",
+ "graceful-fs": "^4.2.2",
+ "is-glob": "^4.0.1",
+ "is-path-cwd": "^2.2.0",
+ "is-path-inside": "^3.0.1",
+ "p-map": "^3.0.0",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0"
+ }
+ },
+ "dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "requires": {
+ "path-type": "^4.0.0"
+ }
+ },
+ "execa": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz",
+ "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "get-stream": "^5.0.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^3.0.0",
+ "onetime": "^5.1.0",
+ "p-finally": "^2.0.0",
+ "signal-exit": "^3.0.2",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "fast-glob": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.1.tgz",
+ "integrity": "sha512-nTCREpBY8w8r+boyFYAx21iL6faSsQynliPHM4Uf56SbkyohCNxpVPEH9xrF5TXKy+IsjkPUHDKiUkzBVRXn9g==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.2"
+ },
+ "dependencies": {
+ "merge2": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
+ "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
+ "dev": true
+ }
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "get-stream": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+ "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
+ "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "globby": {
+ "version": "10.0.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz",
+ "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==",
+ "dev": true,
+ "requires": {
+ "@types/glob": "^7.1.1",
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.0.3",
+ "glob": "^7.1.3",
+ "ignore": "^5.1.1",
+ "merge2": "^1.2.3",
+ "slash": "^3.0.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
+ "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
+ "dev": true
+ },
+ "ignore": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
+ "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "is-path-cwd": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
+ "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
+ "dev": true
+ },
+ "is-path-inside": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz",
+ "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
+ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "log-symbols": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
+ "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2"
+ }
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz",
+ "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "onetime": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "p-finally": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
+ "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
+ "dev": true
+ },
+ "p-map": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
+ "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
+ "dev": true,
+ "requires": {
+ "aggregate-error": "^3.0.0"
+ }
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz",
+ "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "listr": {
+ "version": "0.14.3",
+ "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz",
+ "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==",
+ "dev": true,
+ "requires": {
+ "@samverschueren/stream-to-observable": "^0.3.0",
+ "is-observable": "^1.1.0",
+ "is-promise": "^2.1.0",
+ "is-stream": "^1.1.0",
+ "listr-silent-renderer": "^1.1.1",
+ "listr-update-renderer": "^0.5.0",
+ "listr-verbose-renderer": "^0.5.0",
+ "p-map": "^2.0.0",
+ "rxjs": "^6.3.3"
+ },
+ "dependencies": {
+ "p-map": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+ "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
+ "dev": true
+ }
+ }
+ },
+ "listr-silent-renderer": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz",
+ "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=",
+ "dev": true
+ },
+ "listr-update-renderer": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz",
+ "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "cli-truncate": "^0.2.1",
+ "elegant-spinner": "^1.0.1",
+ "figures": "^1.7.0",
+ "indent-string": "^3.0.0",
+ "log-symbols": "^1.0.2",
+ "log-update": "^2.3.0",
+ "strip-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "indent-string": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
+ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
+ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "listr-verbose-renderer": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz",
+ "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "cli-cursor": "^2.1.0",
+ "date-fns": "^1.27.2",
+ "figures": "^2.0.0"
+ },
+ "dependencies": {
+ "figures": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ }
+ }
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
+ },
+ "dependencies": {
+ "parse-json": {
+ "version": "2.2.0",
"resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
"dev": true,
@@ -6666,6 +7567,44 @@
"chalk": "^2.0.1"
}
},
+ "log-update": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz",
+ "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^3.0.0",
+ "cli-cursor": "^2.0.0",
+ "wrap-ansi": "^3.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz",
+ "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=",
+ "dev": true,
+ "requires": {
+ "string-width": "^2.1.1",
+ "strip-ansi": "^4.0.0"
+ }
+ }
+ }
+ },
"loglevel": {
"version": "1.6.1",
"resolved": "http://registry.npm.taobao.org/loglevel/download/loglevel-1.6.1.tgz",
@@ -6847,6 +7786,12 @@
}
}
},
+ "merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
+ },
"merge2": {
"version": "1.2.3",
"resolved": "http://registry.npm.taobao.org/merge2/download/merge2-1.2.3.tgz",
@@ -7549,6 +8494,12 @@
"mimic-fn": "^1.0.0"
}
},
+ "opencollective-postinstall": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz",
+ "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==",
+ "dev": true
+ },
"opener": {
"version": "1.5.1",
"resolved": "http://registry.npm.taobao.org/opener/download/opener-1.5.1.tgz",
@@ -7700,6 +8651,23 @@
"no-case": "^2.2.0"
}
},
+ "parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0"
+ },
+ "dependencies": {
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ }
+ }
+ },
"parse-asn1": {
"version": "5.1.4",
"resolved": "http://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.4.tgz",
@@ -7812,6 +8780,12 @@
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true
},
+ "picomatch": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz",
+ "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==",
+ "dev": true
+ },
"pify": {
"version": "3.0.0",
"resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
@@ -7842,6 +8816,15 @@
"find-up": "^3.0.0"
}
},
+ "please-upgrade-node": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
+ "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
+ "dev": true,
+ "requires": {
+ "semver-compare": "^1.0.0"
+ }
+ },
"popper.js": {
"version": "1.14.7",
"resolved": "http://registry.npm.taobao.org/popper.js/download/popper.js-1.14.7.tgz",
@@ -8486,9 +9469,9 @@
}
},
"prettier": {
- "version": "1.16.3",
- "resolved": "http://registry.npm.taobao.org/prettier/download/prettier-1.16.3.tgz",
- "integrity": "sha1-jGIWhFO63vcC80tFtu6JlXSmpl0=",
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
+ "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
"dev": true
},
"pretty-error": {
@@ -9086,6 +10069,12 @@
"integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=",
"dev": true
},
+ "reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true
+ },
"rgb-regex": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz",
@@ -9117,6 +10106,12 @@
"inherits": "^2.0.1"
}
},
+ "run-parallel": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
+ "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
+ "dev": true
+ },
"run-queue": {
"version": "1.0.3",
"resolved": "http://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz",
@@ -9131,6 +10126,15 @@
"resolved": "http://registry.npm.taobao.org/rw/download/rw-1.3.3.tgz",
"integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q="
},
+ "rxjs": {
+ "version": "6.5.4",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
+ "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
"safe-buffer": {
"version": "5.1.2",
"resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
@@ -9361,6 +10365,12 @@
"integrity": "sha1-fnQlb7qknHWqfHogXMInmcrIAAQ=",
"dev": true
},
+ "semver-compare": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
+ "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
+ "dev": true
+ },
"send": {
"version": "0.16.2",
"resolved": "http://registry.npm.taobao.org/send/download/send-0.16.2.tgz",
@@ -9581,6 +10591,12 @@
"integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=",
"dev": true
},
+ "slice-ansi": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
+ "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
+ "dev": true
+ },
"snapdragon": {
"version": "0.8.2",
"resolved": "http://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz",
@@ -10008,6 +11024,12 @@
"integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
"dev": true
},
+ "string-argv": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz",
+ "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==",
+ "dev": true
+ },
"string-width": {
"version": "2.1.1",
"resolved": "http://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz",
@@ -10066,6 +11088,17 @@
"safe-buffer": "~5.1.0"
}
},
+ "stringify-object": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
+ "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
+ "dev": true,
+ "requires": {
+ "get-own-enumerable-property-symbols": "^3.0.0",
+ "is-obj": "^1.0.1",
+ "is-regexp": "^1.0.0"
+ }
+ },
"strip-ansi": {
"version": "5.0.0",
"resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.0.0.tgz",
@@ -10090,6 +11123,12 @@
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true
},
+ "strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true
+ },
"strip-indent": {
"version": "2.0.0",
"resolved": "http://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz",
@@ -10397,6 +11436,12 @@
"util.promisify": "~1.0.0"
}
},
+ "symbol-observable": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
+ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
+ "dev": true
+ },
"tapable": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/tapable/download/tapable-1.1.1.tgz",
@@ -11425,6 +12470,12 @@
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true
},
+ "which-pm-runs": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
+ "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=",
+ "dev": true
+ },
"wide-align": {
"version": "1.1.3",
"resolved": "http://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz",
@@ -11529,6 +12580,32 @@
"integrity": "sha1-tLBJ4xS+VF486AIjbWzSLNkcPek=",
"dev": true
},
+ "yaml": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
+ "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.6.3"
+ },
+ "dependencies": {
+ "@babel/runtime": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz",
+ "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==",
+ "dev": true,
+ "requires": {
+ "regenerator-runtime": "^0.13.2"
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.13.3",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
+ "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
+ "dev": true
+ }
+ }
+ },
"yargs": {
"version": "12.0.2",
"resolved": "http://registry.npm.taobao.org/yargs/download/yargs-12.0.2.tgz",
diff --git a/package.json b/package.json
index 7a405f4..86ef869 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,17 @@
"docker:run": "docker build -t rocketbot . && docker run --name rocketbot -p 8888:80 -d -e SKYWALKING_URL=localhost:1234,127.0.0.1:1235 rocketbot",
"docker:stop": "docker stop rocketbot && docker rm rocketbot"
},
+ "husky": {
+ "hooks": {
+ "pre-commit": "lint-staged"
+ }
+ },
+ "lint-staged": {
+ "*.{ts,vue,js}": [
+ "prettier --write",
+ "git add"
+ ]
+ },
"dependencies": {
"axios": "^0.18.0",
"d3": "^5.9.1",
@@ -32,7 +43,10 @@
"@vue/cli-plugin-babel": "^3.4.1",
"@vue/cli-plugin-typescript": "^3.4.1",
"@vue/cli-service": "^3.4.1",
+ "husky": "^4.0.9",
+ "lint-staged": "^9.5.0",
"node-sass": "^4.11.0",
+ "prettier": "^1.19.1",
"sass-loader": "^7.1.0",
"svg-sprite-loader": "^4.1.3",
"typescript": "^3.0.0",
diff --git a/src/App.vue b/src/App.vue
index ac0e195..0c72b91 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,41 +1,35 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/** * Licensed to the Apache Software Foundation (ASF) under one or more *
+contributor license agreements. See the NOTICE file distributed with * this work
+for additional information regarding copyright ownership. * The ASF licenses
+this file to You under the Apache License, Version 2.0 * (the "License"); you
+may not use this file except in compliance with * the License. You may obtain a
+copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless
+required by applicable law or agreed to in writing, software * distributed under
+the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. * See the License for the
+specific language governing permissions and * limitations under the License. */
<template>
<router-view></router-view>
</template>
<script lang="ts">
-import { Component, Vue } from 'vue-property-decorator';
+ import { Component, Vue } from 'vue-property-decorator';
-@Component
-export default class App extends Vue {
-}
+ @Component
+ export default class App extends Vue {}
</script>
<style>
-@import './assets/styles/reset.scss';
-@import './assets/styles/lib.scss';
-@import './assets/styles/style.scss';
-@import './assets/styles/grid.scss';
-#app,.container{
- height: 100%;
-}
-#app{
- display: flex;
- flex-direction: column;
- justify-content: space-between;
-}
+ @import './assets/styles/reset.scss';
+ @import './assets/styles/lib.scss';
+ @import './assets/styles/style.scss';
+ @import './assets/styles/grid.scss';
+ #app,
+ .container {
+ height: 100%;
+ }
+ #app {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ }
</style>
diff --git a/src/assets/icons/index.ts b/src/assets/icons/index.ts
index 4bfac1c..353c87c 100755
--- a/src/assets/icons/index.ts
+++ b/src/assets/icons/index.ts
@@ -15,6 +15,7 @@
* limitations under the License.
*/
-const requireAll = (requireContext: any) => requireContext.keys().map(requireContext);
+const requireAll = (requireContext: any) =>
+ requireContext.keys().map(requireContext);
const req = require.context('./', true, /\.svg$/);
requireAll(req);
diff --git a/src/assets/lang/en.ts b/src/assets/lang/en.ts
index 96fae7d..7f1a53e 100644
--- a/src/assets/lang/en.ts
+++ b/src/assets/lang/en.ts
@@ -79,7 +79,7 @@ const m = {
start: 'Start',
spans: 'Spans',
spanInfo: 'Span Info',
- spanType: 'Span Type',
+ spanType: 'Span Type',
time: 'Time',
tags: 'Tags',
logs: 'Logs',
diff --git a/src/assets/styles/grid.scss b/src/assets/styles/grid.scss
index 7a58ed6..e191437 100644
--- a/src/assets/styles/grid.scss
+++ b/src/assets/styles/grid.scss
@@ -406,4 +406,4 @@
.g-lg-space-1 {
margin-left: 8.333%;
}
-}
\ No newline at end of file
+}
diff --git a/src/assets/styles/lib.scss b/src/assets/styles/lib.scss
index 8cf895c..8841ccd 100644
--- a/src/assets/styles/lib.scss
+++ b/src/assets/styles/lib.scss
@@ -15,60 +15,169 @@
* limitations under the License.
*/
-.l{float: left}
-.r{float: right}
-.n{font-weight: 400}
-.b{font-weight: 500}
-.long{width: 100%}
-.vm{vertical-align: middle;}
-.vs{vertical-align: sub;}
-.clear:after{display:table; content:''; clear:both}
-.ell{text-overflow:ellipsis; white-space:nowrap; overflow:hidden}
-.tc{text-align: center}
-.tr{text-align: right}
-.cd{cursor: default}
-.cp{cursor: pointer}
-.cm{cursor: move}
-.wba{word-break: break-all;}
-.flex-v{display: flex;flex-direction: column;}
-.flex-h{display: flex;align-items: center;}
-.trans{transition:all .3s;}
-.db{display: block;}
-.dib{display: inline-block;}
-.auto{margin-right: auto;margin-left: auto;}
-.sm{font-size: 12px}
-.green{color:#4caf50}
-.red{color:#E54C17}
-.blue{color:#448dfe}
-.purple{color:#6e40aa}
-.yellow{color:#FBB03B}
-.grey{color: #a7aebb}
-.bg-green{background-color:#4caf50}
-.bg-red{background-color:#E54C17}
-.bg-blue{background-color:#448dfe}
-.bg-purple{background-color:#6e40aa}
-.bg-yellow{background-color:#FBB03B}
-.bg-grey{background-color: #a7aebb}
-.ml-5{margin-left:5px}
-.mr-0{margin-right: 0px}
-.mr-5{margin-right:5px}
-.mr-10{margin-right:10px}
-.mr-15{margin-right: 15px}
-.mr-20{margin-right: 20px}
-.mt-0{margin-top: 0}
-.mt-5{margin-top:5px}
-.mt-10{margin-top:10px}
-.mt-15{margin-top:15px}
-.mb-0{margin-bottom:0px}
-.mb-5{margin-bottom:5px}
-.mb-10{margin-bottom:10px}
-.mb-15{margin-bottom:15px}
-.mb-20{margin-bottom:20px}
-.pt-10{padding-top: 10px}
-.pl-15{padding-left: 15px}
-.link-hover{
- transition: color .3s;
-}
-.link-hover:hover{
+.l {
+ float: left;
+}
+.r {
+ float: right;
+}
+.n {
+ font-weight: 400;
+}
+.b {
+ font-weight: 500;
+}
+.long {
+ width: 100%;
+}
+.vm {
+ vertical-align: middle;
+}
+.vs {
+ vertical-align: sub;
+}
+.clear:after {
+ display: table;
+ content: '';
+ clear: both;
+}
+.ell {
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+}
+.tc {
+ text-align: center;
+}
+.tr {
+ text-align: right;
+}
+.cd {
+ cursor: default;
+}
+.cp {
+ cursor: pointer;
+}
+.cm {
+ cursor: move;
+}
+.wba {
+ word-break: break-all;
+}
+.flex-v {
+ display: flex;
+ flex-direction: column;
+}
+.flex-h {
+ display: flex;
+ align-items: center;
+}
+.trans {
+ transition: all 0.3s;
+}
+.db {
+ display: block;
+}
+.dib {
+ display: inline-block;
+}
+.auto {
+ margin-right: auto;
+ margin-left: auto;
+}
+.sm {
+ font-size: 12px;
+}
+.green {
+ color: #4caf50;
+}
+.red {
+ color: #e54c17;
+}
+.blue {
+ color: #448dfe;
+}
+.purple {
+ color: #6e40aa;
+}
+.yellow {
+ color: #fbb03b;
+}
+.grey {
+ color: #a7aebb;
+}
+.bg-green {
+ background-color: #4caf50;
+}
+.bg-red {
+ background-color: #e54c17;
+}
+.bg-blue {
+ background-color: #448dfe;
+}
+.bg-purple {
+ background-color: #6e40aa;
+}
+.bg-yellow {
+ background-color: #fbb03b;
+}
+.bg-grey {
+ background-color: #a7aebb;
+}
+.ml-5 {
+ margin-left: 5px;
+}
+.mr-0 {
+ margin-right: 0px;
+}
+.mr-5 {
+ margin-right: 5px;
+}
+.mr-10 {
+ margin-right: 10px;
+}
+.mr-15 {
+ margin-right: 15px;
+}
+.mr-20 {
+ margin-right: 20px;
+}
+.mt-0 {
+ margin-top: 0;
+}
+.mt-5 {
+ margin-top: 5px;
+}
+.mt-10 {
+ margin-top: 10px;
+}
+.mt-15 {
+ margin-top: 15px;
+}
+.mb-0 {
+ margin-bottom: 0px;
+}
+.mb-5 {
+ margin-bottom: 5px;
+}
+.mb-10 {
+ margin-bottom: 10px;
+}
+.mb-15 {
+ margin-bottom: 15px;
+}
+.mb-20 {
+ margin-bottom: 20px;
+}
+.pt-10 {
+ padding-top: 10px;
+}
+.pl-15 {
+ padding-left: 15px;
+}
+.link-hover {
+ transition: color 0.3s;
+}
+.link-hover:hover {
color: #448dfe;
}
diff --git a/src/assets/styles/reset.scss b/src/assets/styles/reset.scss
index 57ff087..96ef249 100644
--- a/src/assets/styles/reset.scss
+++ b/src/assets/styles/reset.scss
@@ -15,49 +15,87 @@
* limitations under the License.
*/
-body{
+body {
margin: 0;
line-height: 1.5;
font-size: 13px;
color: #3d444f;
- font-family: "Lato","Source Han Sans CN", "Microsoft YaHei", sans-serif;
+ font-family: 'Lato', 'Source Han Sans CN', 'Microsoft YaHei', sans-serif;
text-rendering: optimizeLegibility;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
-html, body {
+html,
+body {
height: 100%;
}
-div,header,footer,nav,article,section,aside,label,input,textarea,select,button,ul,ol,li,h1,h2,h3,h4,h5,a,img{
+div,
+header,
+footer,
+nav,
+article,
+section,
+aside,
+label,
+input,
+textarea,
+select,
+button,
+ul,
+ol,
+li,
+h1,
+h2,
+h3,
+h4,
+h5,
+a,
+img {
box-sizing: border-box;
}
-input,textarea,select,button {
+input,
+textarea,
+select,
+button {
font-size: 100%;
font-family: inherit;
}
-h1{font-size: 26px;}
-h2{font-size: 24px;}
-h3{font-size: 21px;}
-h4{font-size: 18px;}
-h5{font-size: 14px;}
-h6{font-size:1em;}
-ul,ol{
- margin:0;
- padding-left:0;
- list-style-type:none;
-}
-a{
- text-decoration:none;
+h1 {
+ font-size: 26px;
+}
+h2 {
+ font-size: 24px;
+}
+h3 {
+ font-size: 21px;
+}
+h4 {
+ font-size: 18px;
+}
+h5 {
+ font-size: 14px;
+}
+h6 {
+ font-size: 1em;
+}
+ul,
+ol {
+ margin: 0;
+ padding-left: 0;
+ list-style-type: none;
+}
+a {
+ text-decoration: none;
cursor: pointer;
color: inherit;
- -webkit-tap-highlight-color: transparent;
- -webkit-appearance: none;
+ -webkit-tap-highlight-color: transparent;
+ -webkit-appearance: none;
}
-hr{
+hr {
border-width: 0;
border-bottom: 1px solid #e0e0e0;
}
-blockquote{
+blockquote {
margin-left: 0;
margin-right: 0;
padding-left: 1.2em;
@@ -65,57 +103,57 @@ blockquote{
}
code,
-pre{
+pre {
font-family: Consolas, Menlo, Courier, monospace;
}
/*webkit内核*/
.scroll_hide::-webkit-scrollbar {
- width:0px;
- height:0px;
+ width: 0px;
+ height: 0px;
}
-.scroll_hide::-webkit-scrollbar-button {
- background-color:rgba(0,0,0,0);
+.scroll_hide::-webkit-scrollbar-button {
+ background-color: rgba(0, 0, 0, 0);
}
-.scroll_hide::-webkit-scrollbar-track {
- background-color:rgba(0,0,0,0);
+.scroll_hide::-webkit-scrollbar-track {
+ background-color: rgba(0, 0, 0, 0);
}
.scroll_hide::-webkit-scrollbar-track-piece {
- background-color:rgba(0,0,0,0);
+ background-color: rgba(0, 0, 0, 0);
}
-.scroll_hide::-webkit-scrollbar-thumb{
- background-color:rgba(0,0,0,0);
+.scroll_hide::-webkit-scrollbar-thumb {
+ background-color: rgba(0, 0, 0, 0);
}
.scroll_hide::-webkit-scrollbar-corner {
- background-color:rgba(0,0,0,0);
+ background-color: rgba(0, 0, 0, 0);
}
-.scroll_hide::-webkit-scrollbar-resizer {
- background-color:rgba(0,0,0,0);
+.scroll_hide::-webkit-scrollbar-resizer {
+ background-color: rgba(0, 0, 0, 0);
}
/*o内核*/
-.scroll_hide .-o-scrollbar{
- -moz-appearance: none !important;
- background: rgba(0,255,0,0) !important;
+.scroll_hide .-o-scrollbar {
+ -moz-appearance: none !important;
+ background: rgba(0, 255, 0, 0) !important;
}
-.scroll_hide::-o-scrollbar-button {
- background-color:rgba(0,0,0,0);
+.scroll_hide::-o-scrollbar-button {
+ background-color: rgba(0, 0, 0, 0);
}
-.scroll_hide::-o-scrollbar-track {
- background-color:rgba(0,0,0,0);
+.scroll_hide::-o-scrollbar-track {
+ background-color: rgba(0, 0, 0, 0);
}
.scroll_hide::-o-scrollbar-track-piece {
- background-color:rgba(0,0,0,0);
+ background-color: rgba(0, 0, 0, 0);
}
-.scroll_hide::-o-scrollbar-thumb{
- background-color:rgba(0,0,0,0);
+.scroll_hide::-o-scrollbar-thumb {
+ background-color: rgba(0, 0, 0, 0);
}
.scroll_hide::-o-scrollbar-corner {
- background-color:rgba(0,0,0,0);
+ background-color: rgba(0, 0, 0, 0);
}
-.scroll_hide::-o-scrollbar-resizer {
- background-color:rgba(0,0,0,0);
+.scroll_hide::-o-scrollbar-resizer {
+ background-color: rgba(0, 0, 0, 0);
}
/*IE10,IE11,IE12*/
-.scroll_hide{
+.scroll_hide {
-ms-scroll-chaining: chained;
-ms-overflow-style: none;
-ms-content-zooming: zoom;
@@ -125,4 +163,4 @@ pre{
-ms-scroll-snap-points-x: snapList(100%, 200%, 300%, 400%, 500%);
-ms-overflow-style: none;
overflow: auto;
-}
\ No newline at end of file
+}
diff --git a/src/assets/styles/style.scss b/src/assets/styles/style.scss
index 6b42c03..b17d68a 100644
--- a/src/assets/styles/style.scss
+++ b/src/assets/styles/style.scss
@@ -14,35 +14,39 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-.fade-enter-active, .fade-leave-active {
- transition: opacity .3s ease;
+.fade-enter-active,
+.fade-leave-active {
+ transition: opacity 0.3s ease;
}
-.fade-enter, .fade-leave-to {
+.fade-enter,
+.fade-leave-to {
opacity: 0;
}
-.d3-tip,.d3-tip-grey {
+.d3-tip,
+.d3-tip-grey {
line-height: 1;
padding: 8px;
color: #eee;
border-radius: 4px;
font-size: 12px;
}
-.d3-tip{
+.d3-tip {
background: #252a2f;
}
-.d3-tip-grey{
+.d3-tip-grey {
background: #252a2fcc;
}
-.d3-tip-grey:after,.d3-tip:after {
+.d3-tip-grey:after,
+.d3-tip:after {
box-sizing: border-box;
display: block;
font-size: 10px;
width: 100%;
line-height: 0.8;
color: #252a2f;
- content: "\25BC";
+ content: '\25BC';
position: absolute;
text-align: center;
}
@@ -51,25 +55,26 @@
color: #252a2fcc;
}
-.d3-tip-grey.n:after,.d3-tip.n:after {
+.d3-tip-grey.n:after,
+.d3-tip.n:after {
margin: -2px 0 0 0;
top: 100%;
left: 0;
}
@keyframes loading {
0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg);
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
}
to {
- -webkit-transform: rotate(1turn);
- transform: rotate(1turn);
+ -webkit-transform: rotate(1turn);
+ transform: rotate(1turn);
}
}
.oa {
overflow: hidden;
}
-.oa:hover{
+.oa:hover {
overflow: auto;
-}
\ No newline at end of file
+}
diff --git a/src/components/icon.html b/src/components/icon.html
index d3f99f6..525e323 100644
--- a/src/components/icon.html
+++ b/src/components/icon.html
@@ -13,1851 +13,1913 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. -->
-<!doctype html>
+<!DOCTYPE html>
<html>
-
-<head>
+ <head>
<title>IcoMoon - SVG Icons</title>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
- .icon {
- display: inline-block;
- width: 1em;
- height: 1em;
- stroke-width: 0;
- stroke: currentColor;
- fill: currentColor;
- }
+ .icon {
+ display: inline-block;
+ width: 1em;
+ height: 1em;
+ stroke-width: 0;
+ stroke: currentColor;
+ fill: currentColor;
+ }
- body {
- padding: 0;
- margin: 0;
- font-family: sans-serif;
- font-size: 1em;
- line-height: 1.5;
- color: #555;
- background: #fff;
- }
+ body {
+ padding: 0;
+ margin: 0;
+ font-family: sans-serif;
+ font-size: 1em;
+ line-height: 1.5;
+ color: #555;
+ background: #fff;
+ }
- h1 {
- font-size: 1.5em;
- font-weight: normal;
- box-shadow: 0 1px #ddd, 0 2px #fff, 0 3px #ddd;
- }
+ h1 {
+ font-size: 1.5em;
+ font-weight: normal;
+ box-shadow: 0 1px #ddd, 0 2px #fff, 0 3px #ddd;
+ }
- small {
- font-size: .66666667em;
- }
+ small {
+ font-size: 0.66666667em;
+ }
- a {
- color: #e74c3c;
- text-decoration: none;
- }
+ a {
+ color: #e74c3c;
+ text-decoration: none;
+ }
- a:hover,
- a:focus {
- box-shadow: 0 1px #e74c3c;
- }
+ a:hover,
+ a:focus {
+ box-shadow: 0 1px #e74c3c;
+ }
- .bshadow0,
- input {
- box-shadow: inset 0 -2px #e7e7e7;
- }
+ .bshadow0,
+ input {
+ box-shadow: inset 0 -2px #e7e7e7;
+ }
- input:hover {
- box-shadow: inset 0 -2px #ccc;
- }
+ input:hover {
+ box-shadow: inset 0 -2px #ccc;
+ }
- input,
- fieldset {
- font-size: 1em;
- margin: 0;
- padding: 0;
- border: 0;
- }
+ input,
+ fieldset {
+ font-size: 1em;
+ margin: 0;
+ padding: 0;
+ border: 0;
+ }
- input {
- color: inherit;
- line-height: 1.5;
- height: 1.5em;
- padding: .25em 0;
- }
+ input {
+ color: inherit;
+ line-height: 1.5;
+ height: 1.5em;
+ padding: 0.25em 0;
+ }
- input:focus {
- outline: none;
- box-shadow: inset 0 -2px #449fdb;
- }
+ input:focus {
+ outline: none;
+ box-shadow: inset 0 -2px #449fdb;
+ }
- .glyph {
- font-size: 16px;
- margin-right: 1.5em;
- float: left;
- width: 12em;
- }
+ .glyph {
+ font-size: 16px;
+ margin-right: 1.5em;
+ float: left;
+ width: 12em;
+ }
- svg {
- color: #000;
- }
+ svg {
+ color: #000;
+ }
- .liga {
- width: 80%;
- width: calc(100% - 2.5em);
- }
+ .liga {
+ width: 80%;
+ width: calc(100% - 2.5em);
+ }
- .talign-right {
- text-align: right;
- }
+ .talign-right {
+ text-align: right;
+ }
- .talign-center {
- text-align: center;
- }
+ .talign-center {
+ text-align: center;
+ }
- .bgc1 {
- background: #f1f1f1;
- }
+ .bgc1 {
+ background: #f1f1f1;
+ }
- .fgc0 {
- color: #000;
- }
+ .fgc0 {
+ color: #000;
+ }
- .fgc1 {
- color: #999;
- }
+ .fgc1 {
+ color: #999;
+ }
- p {
- margin-top: 1em;
- margin-bottom: 1em;
- }
+ p {
+ margin-top: 1em;
+ margin-bottom: 1em;
+ }
- .mvm {
- margin-top: .75em;
- margin-bottom: .75em;
- }
+ .mvm {
+ margin-top: 0.75em;
+ margin-bottom: 0.75em;
+ }
- .mtn {
- margin-top: 0;
- }
+ .mtn {
+ margin-top: 0;
+ }
- .mtl,
- .mal {
- margin-top: 1.5em;
- }
+ .mtl,
+ .mal {
+ margin-top: 1.5em;
+ }
- .mbl,
- .mal {
- margin-bottom: 1.5em;
- }
+ .mbl,
+ .mal {
+ margin-bottom: 1.5em;
+ }
- .mal,
- .mhl {
- margin-left: 1.5em;
- margin-right: 1.5em;
- }
+ .mal,
+ .mhl {
+ margin-left: 1.5em;
+ margin-right: 1.5em;
+ }
- .mhmm {
- margin-left: 1em;
- margin-right: 1em;
- }
+ .mhmm {
+ margin-left: 1em;
+ margin-right: 1em;
+ }
- .ptl {
- padding-top: 1.5em;
- }
+ .ptl {
+ padding-top: 1.5em;
+ }
- .pbs,
- .pvs {
- padding-bottom: .25em;
- }
+ .pbs,
+ .pvs {
+ padding-bottom: 0.25em;
+ }
- .pvs,
- .pts {
- padding-top: .25em;
- }
+ .pvs,
+ .pts {
+ padding-top: 0.25em;
+ }
- .unit {
- float: left;
- }
+ .unit {
+ float: left;
+ }
- .unitRight {
- float: right;
- }
+ .unitRight {
+ float: right;
+ }
- .size1of2 {
- width: 50%;
- }
+ .size1of2 {
+ width: 50%;
+ }
- .size1of1 {
- width: 100%;
- }
+ .size1of1 {
+ width: 100%;
+ }
- .clearfix:before,
- .clearfix:after {
- content: " ";
- display: table;
- }
+ .clearfix:before,
+ .clearfix:after {
+ content: ' ';
+ display: table;
+ }
- .clearfix:after {
- clear: both;
- }
+ .clearfix:after {
+ clear: both;
+ }
- .hidden-true {
- display: none;
- }
+ .hidden-true {
+ display: none;
+ }
- .textbox0 {
- width: 3em;
- background: #f1f1f1;
- padding: .25em .5em;
- line-height: 1.5;
- height: 1.5em;
- }
+ .textbox0 {
+ width: 3em;
+ background: #f1f1f1;
+ padding: 0.25em 0.5em;
+ line-height: 1.5;
+ height: 1.5em;
+ }
- .fs0 {
- font-size: 16px;
- }
+ .fs0 {
+ font-size: 16px;
+ }
- .fs1 {
- font-size: 24px;
- }
+ .fs1 {
+ font-size: 24px;
+ }
- .name {
- font-size: 0.5em;
- margin-left: 1em;
- }
+ .name {
+ font-size: 0.5em;
+ margin-left: 1em;
+ }
</style>
-</head>
+ </head>
-<body>
- <svg aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1"
- xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
- <symbol id="icon-error" viewBox="0 0 24 24">
- <title>error</title>
- <path
- d="M12.984 12.984v-6h-1.969v6h1.969zM12.984 17.016v-2.016h-1.969v2.016h1.969zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z">
- </path>
- </symbol>
- <symbol id="icon-error_outline" viewBox="0 0 24 24">
- <title>error_outline</title>
- <path
- d="M12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93zM11.016 6.984h1.969v6h-1.969v-6zM11.016 15h1.969v2.016h-1.969v-2.016z">
- </path>
- </symbol>
- <symbol id="icon-warningreport_problem" viewBox="0 0 24 24">
- <title>warningreport_problem</title>
- <path
- d="M12.984 14.016v-4.031h-1.969v4.031h1.969zM12.984 18v-2.016h-1.969v2.016h1.969zM0.984 21l11.016-18.984 11.016 18.984h-22.031z">
- </path>
- </symbol>
- <symbol id="icon-notification_important" viewBox="0 0 24 24">
- <title>notification_important</title>
- <path
- d="M12 21.984q-0.844 0-1.43-0.563t-0.586-1.406h4.031q0 0.797-0.609 1.383t-1.406 0.586zM12.984 12v-3.984h-1.969v3.984h1.969zM12.984 15.984v-1.969h-1.969v1.969h1.969zM18 15.984l2.016 2.016v0.984h-16.031v-0.984l2.016-2.016v-4.969q0-2.344 1.195-4.078t3.305-2.25v-0.703q0-0.609 0.422-1.055t1.078-0.445 1.078 0.445 0.422 1.055v0.703q2.109 0.516 3.305 2.25t1.195 4.078v4.969z">
- </path>
- </symbol>
- <symbol id="icon-av_timer" viewBox="0 0 24 24">
- <title>av_timer</title>
- <path
- d="M6 12q0-0.422 0.281-0.703t0.703-0.281 0.727 0.281 0.305 0.703-0.305 0.703-0.727 0.281-0.703-0.281-0.281-0.703zM18 12q0 0.422-0.281 0.703t-0.703 0.281-0.727-0.281-0.305-0.703 0.305-0.703 0.727-0.281 0.703 0.281 0.281 0.703zM11.016 3h0.984q3.75 0 6.375 2.625t2.625 6.375-2.625 6.375-6.375 2.625-6.375-2.625-2.625-6.375q0-4.5 3.609-7.172v-0.047l6.797 6.797-1.406 1.406-5.438-5.391q-1.547 1.922-1.547 4.406 0 2.906 2.039 4.945t4.945 2.039 4.945-2.039 2.039-4.945q0-2.625-1. [...]
- </path>
- </symbol>
- <symbol id="icon-equalizer" viewBox="0 0 24 24">
- <title>equalizer</title>
- <path
- d="M15.984 9h4.031v11.016h-4.031v-11.016zM3.984 20.016v-8.016h4.031v8.016h-4.031zM9.984 20.016v-16.031h4.031v16.031h-4.031z">
- </path>
- </symbol>
- <symbol id="icon-loopsync" viewBox="0 0 24 24">
- <title>loopsync</title>
- <path
- d="M12 18v-3l3.984 3.984-3.984 4.031v-3q-3.281 0-5.648-2.367t-2.367-5.648q0-2.344 1.266-4.266l1.453 1.453q-0.703 1.266-0.703 2.813 0 2.484 1.758 4.242t4.242 1.758zM12 3.984q3.281 0 5.648 2.367t2.367 5.648q0 2.344-1.266 4.266l-1.453-1.453q0.703-1.266 0.703-2.813 0-2.484-1.758-4.242t-4.242-1.758v3l-3.984-3.984 3.984-4.031v3z">
- </path>
- </symbol>
- <symbol id="icon-library_addqueueadd_to_photos" viewBox="0 0 24 24">
- <title>library_addqueueadd_to_photos</title>
- <path
- d="M18.984 11.016v-2.016h-3.984v-3.984h-2.016v3.984h-3.984v2.016h3.984v3.984h2.016v-3.984h3.984zM20.016 2.016q0.797 0 1.383 0.586t0.586 1.383v12q0 0.797-0.586 1.406t-1.383 0.609h-12q-0.797 0-1.406-0.609t-0.609-1.406v-12q0-0.797 0.609-1.383t1.406-0.586h12zM3.984 6v14.016h14.016v1.969h-14.016q-0.797 0-1.383-0.586t-0.586-1.383v-14.016h1.969z">
- </path>
- </symbol>
- <symbol id="icon-library_books" viewBox="0 0 24 24">
- <title>library_books</title>
- <path
- d="M18.984 6.984v-1.969h-9.984v1.969h9.984zM15 15v-2.016h-6v2.016h6zM18.984 11.016v-2.016h-9.984v2.016h9.984zM20.016 2.016q0.797 0 1.383 0.586t0.586 1.383v12q0 0.797-0.586 1.406t-1.383 0.609h-12q-0.797 0-1.406-0.609t-0.609-1.406v-12q0-0.797 0.609-1.383t1.406-0.586h12zM3.984 6v14.016h14.016v1.969h-14.016q-0.797 0-1.383-0.586t-0.586-1.383v-14.016h1.969z">
- </path>
- </symbol>
- <symbol id="icon-not_interesteddo_not_disturb" viewBox="0 0 24 24">
- <title>not_interesteddo_not_disturb</title>
- <path
- d="M18.328 16.922q1.688-2.109 1.688-4.922 0-3.281-2.367-5.648t-5.648-2.367q-1.125 0-2.578 0.492t-2.344 1.195zM12 20.016q1.125 0 2.578-0.492t2.344-1.195l-11.25-11.25q-1.688 2.109-1.688 4.922 0 3.281 2.367 5.648t5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z">
- </path>
- </symbol>
- <symbol id="icon-playlist_add" viewBox="0 0 24 24">
- <title>playlist_add</title>
- <path
- d="M2.016 15.984v-1.969h7.969v1.969h-7.969zM18 14.016h3.984v1.969h-3.984v4.031h-2.016v-4.031h-3.984v-1.969h3.984v-4.031h2.016v4.031zM14.016 6v2.016h-12v-2.016h12zM14.016 9.984v2.016h-12v-2.016h12z">
- </path>
- </symbol>
- <symbol id="icon-repeat" viewBox="0 0 24 24">
- <title>repeat</title>
- <path
- d="M17.016 17.016v-4.031h1.969v6h-12v3l-3.984-3.984 3.984-3.984v3h10.031zM6.984 6.984v4.031h-1.969v-6h12v-3l3.984 3.984-3.984 3.984v-3h-10.031z">
- </path>
- </symbol>
- <symbol id="icon-replay" viewBox="0 0 24 24">
- <title>replay</title>
- <path
- d="M12 5.016q3.328 0 5.672 2.344t2.344 5.625q0 3.328-2.367 5.672t-5.648 2.344-5.648-2.344-2.367-5.672h2.016q0 2.484 1.758 4.242t4.242 1.758 4.242-1.758 1.758-4.242-1.758-4.242-4.242-1.758v4.031l-5.016-5.016 5.016-5.016v4.031z">
- </path>
- </symbol>
- <symbol id="icon-slow_motion_video" viewBox="0 0 24 24">
- <title>slow_motion_video</title>
- <path
- d="M21.984 12q0 3.844-2.578 6.703t-6.375 3.234v-2.016q2.953-0.375 4.969-2.648t2.016-5.273-2.016-5.273-4.969-2.648v-2.016q3.797 0.375 6.375 3.234t2.578 6.703zM5.672 19.734l1.406-1.406q1.688 1.313 3.938 1.594v2.016q-1.266-0.141-2.836-0.797t-2.508-1.406zM4.078 12.984q0.234 2.203 1.594 3.891l-1.406 1.453q-1.922-2.391-2.203-5.344h2.016zM5.672 7.078q-1.313 1.734-1.594 3.938h-2.016q0.141-1.266 0.797-2.836t1.406-2.508zM11.016 4.078q-2.25 0.281-3.938 1.594l-1.406-1.406q2.391-1 [...]
- </path>
- </symbol>
- <symbol id="icon-import_export" viewBox="0 0 24 24">
- <title>import_export</title>
- <path
- d="M15.984 17.016h3l-3.984 3.984-3.984-3.984h3v-7.031h1.969v7.031zM9 3l3.984 3.984h-3v7.031h-1.969v-7.031h-3z">
- </path>
- </symbol>
- <symbol id="icon-location_onplaceroom" viewBox="0 0 24 24">
- <title>location_onplaceroom</title>
- <path
- d="M12 11.484q1.031 0 1.758-0.727t0.727-1.758-0.727-1.758-1.758-0.727-1.758 0.727-0.727 1.758 0.727 1.758 1.758 0.727zM12 2.016q2.906 0 4.945 2.039t2.039 4.945q0 1.453-0.727 3.328t-1.758 3.516-2.039 3.070-1.711 2.273l-0.75 0.797q-0.281-0.328-0.75-0.867t-1.688-2.156-2.133-3.141-1.664-3.445-0.75-3.375q0-2.906 2.039-4.945t4.945-2.039z">
- </path>
- </symbol>
- <symbol id="icon-vpn_key" viewBox="0 0 24 24">
- <title>vpn_key</title>
- <path
- d="M6.984 14.016q0.797 0 1.406-0.609t0.609-1.406-0.609-1.406-1.406-0.609-1.383 0.609-0.586 1.406 0.586 1.406 1.383 0.609zM12.656 9.984h10.359v4.031h-2.016v3.984h-3.984v-3.984h-4.359q-0.609 1.641-2.273 2.813t-3.398 1.172q-2.484 0-4.242-1.758t-1.758-4.242 1.758-4.242 4.242-1.758q1.734 0 3.398 1.172t2.273 2.813z">
- </path>
- </symbol>
- <symbol id="icon-import_contacts" viewBox="0 0 24 24">
- <title>import_contacts</title>
- <path
- d="M21 18.516v-11.531q-1.547-0.469-3.516-0.469-3.047 0-5.484 1.5v11.484q2.438-1.5 5.484-1.5 1.828 0 3.516 0.516zM17.484 4.5q3.563 0 5.531 1.5v14.578q0 0.188-0.164 0.352t-0.352 0.164q-0.141 0-0.234-0.047-1.922-1.031-4.781-1.031-3.047 0-5.484 1.5-2.016-1.5-5.484-1.5-2.531 0-4.781 1.078-0.047 0-0.117 0.023t-0.117 0.023q-0.188 0-0.352-0.141t-0.164-0.328v-14.672q2.016-1.5 5.531-1.5 3.469 0 5.484 1.5 2.016-1.5 5.484-1.5z">
- </path>
- </symbol>
- <symbol id="icon-mail_outline" viewBox="0 0 24 24">
- <title>mail_outline</title>
- <path
- d="M12 11.016l8.016-5.016h-16.031zM20.016 18v-9.984l-8.016 4.969-8.016-4.969v9.984h16.031zM20.016 3.984q0.797 0 1.383 0.609t0.586 1.406v12q0 0.797-0.586 1.406t-1.383 0.609h-16.031q-0.797 0-1.383-0.609t-0.586-1.406v-12q0-0.797 0.586-1.406t1.383-0.609h16.031z">
- </path>
- </symbol>
- <symbol id="icon-sentiment_satisfied_alt" viewBox="0 0 24 24">
- <title>sentiment_satisfied_alt</title>
- <path
- d="M12 17.484q-1.734 0-3.117-0.961t-1.992-2.508h1.641q1.172 1.969 3.469 1.969t3.469-1.969h1.641q-0.609 1.547-1.992 2.508t-3.117 0.961zM12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93zM8.484 11.016q-0.609 0-1.055-0.445t-0.445-1.055 0.445-1.055 1.055-0.445 1.055 0.445 0.445 1.055-0.445 1.055-1.055 0.4 [...]
- </path>
- </symbol>
- <symbol id="icon-lightbulb" viewBox="0 0 24 24">
- <title>lightbulb</title>
- <path
- d="M12 2.016q2.906 0 4.945 2.039t2.039 4.945q0 3.516-3 5.719v2.297q0 0.422-0.281 0.703t-0.703 0.281h-6q-0.422 0-0.703-0.281t-0.281-0.703v-2.297q-3-2.063-3-5.719 0-2.906 2.039-4.945t4.945-2.039zM9 21v-0.984h6v0.984q0 0.422-0.281 0.703t-0.703 0.281h-4.031q-0.422 0-0.703-0.281t-0.281-0.703z">
- </path>
- </symbol>
- <symbol id="icon-add" viewBox="0 0 24 24">
- <title>add</title>
- <path d="M18.984 12.984h-6v6h-1.969v-6h-6v-1.969h6v-6h1.969v6h6v1.969z"></path>
- </symbol>
- <symbol id="icon-add_box" viewBox="0 0 24 24">
- <title>add_box</title>
- <path
- d="M17.016 12.984v-1.969h-4.031v-4.031h-1.969v4.031h-4.031v1.969h4.031v4.031h1.969v-4.031h4.031zM18.984 3q0.797 0 1.406 0.609t0.609 1.406v13.969q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.844 0-1.43-0.586t-0.586-1.43v-13.969q0-0.844 0.586-1.43t1.43-0.586h13.969z">
- </path>
- </symbol>
- <symbol id="icon-add_circle" viewBox="0 0 24 24">
- <title>add_circle</title>
- <path
- d="M17.016 12.984v-1.969h-4.031v-4.031h-1.969v4.031h-4.031v1.969h4.031v4.031h1.969v-4.031h4.031zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z">
- </path>
- </symbol>
- <symbol id="icon-add_circle_outlinecontrol_point" viewBox="0 0 24 24">
- <title>add_circle_outlinecontrol_point</title>
- <path
- d="M12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93zM12.984 6.984v4.031h4.031v1.969h-4.031v4.031h-1.969v-4.031h-4.031v-1.969h4.031v-4.031h1.969z">
- </path>
- </symbol>
- <symbol id="icon-backspace" viewBox="0 0 24 24">
- <title>backspace</title>
- <path
- d="M18.984 15.609l-3.563-3.609 3.563-3.609-1.406-1.406-3.563 3.609-3.609-3.609-1.406 1.406 3.609 3.609-3.609 3.609 1.406 1.406 3.609-3.609 3.563 3.609zM21.984 3q0.797 0 1.406 0.609t0.609 1.406v13.969q0 0.797-0.609 1.406t-1.406 0.609h-15q-0.938 0-1.594-0.891l-5.391-8.109 5.391-8.109q0.656-0.891 1.594-0.891h15z">
- </path>
- </symbol>
- <symbol id="icon-clearclose" viewBox="0 0 24 24">
- <title>clearclose</title>
- <path
- d="M18.984 6.422l-5.578 5.578 5.578 5.578-1.406 1.406-5.578-5.578-5.578 5.578-1.406-1.406 5.578-5.578-5.578-5.578 1.406-1.406 5.578 5.578 5.578-5.578z">
- </path>
- </symbol>
- <symbol id="icon-content_copy" viewBox="0 0 24 24">
- <title>content_copy</title>
- <path
- d="M18.984 21v-14.016h-10.969v14.016h10.969zM18.984 5.016q0.797 0 1.406 0.586t0.609 1.383v14.016q0 0.797-0.609 1.406t-1.406 0.609h-10.969q-0.797 0-1.406-0.609t-0.609-1.406v-14.016q0-0.797 0.609-1.383t1.406-0.586h10.969zM15.984 0.984v2.016h-12v14.016h-1.969v-14.016q0-0.797 0.586-1.406t1.383-0.609h12z">
- </path>
- </symbol>
- <symbol id="icon-content_cut" viewBox="0 0 24 24">
- <title>content_cut</title>
- <path
- d="M18.984 3h3v0.984l-6.984 7.031-2.016-2.016zM12 12.516q0.516 0 0.516-0.516t-0.516-0.516-0.516 0.516 0.516 0.516zM6 20.016q0.797 0 1.406-0.586t0.609-1.43-0.609-1.43-1.406-0.586-1.406 0.586-0.609 1.43 0.609 1.43 1.406 0.586zM6 8.016q0.797 0 1.406-0.586t0.609-1.43-0.609-1.43-1.406-0.586-1.406 0.586-0.609 1.43 0.609 1.43 1.406 0.586zM9.656 7.641l12.328 12.375v0.984h-3l-6.984-6.984-2.344 2.344q0.328 0.703 0.328 1.641 0 1.641-1.172 2.813t-2.813 1.172-2.813-1.172-1.172-2.8 [...]
- </path>
- </symbol>
- <symbol id="icon-content_paste" viewBox="0 0 24 24">
- <title>content_paste</title>
- <path
- d="M18.984 20.016v-16.031h-1.969v3h-10.031v-3h-1.969v16.031h13.969zM12 2.016q-0.422 0-0.703 0.281t-0.281 0.703 0.281 0.703 0.703 0.281 0.703-0.281 0.281-0.703-0.281-0.703-0.703-0.281zM18.984 2.016q0.797 0 1.406 0.586t0.609 1.383v16.031q0 0.797-0.609 1.383t-1.406 0.586h-13.969q-0.797 0-1.406-0.586t-0.609-1.383v-16.031q0-0.797 0.609-1.383t1.406-0.586h4.172q0.328-0.891 1.078-1.453t1.734-0.563 1.734 0.563 1.078 1.453h4.172z">
- </path>
- </symbol>
- <symbol id="icon-createmode_editedit" viewBox="0 0 24 24">
- <title>createmode_editedit</title>
- <path
- d="M20.719 7.031l-1.828 1.828-3.75-3.75 1.828-1.828q0.281-0.281 0.703-0.281t0.703 0.281l2.344 2.344q0.281 0.281 0.281 0.703t-0.281 0.703zM3 17.25l11.063-11.063 3.75 3.75-11.063 11.063h-3.75v-3.75z">
- </path>
- </symbol>
- <symbol id="icon-inbox" viewBox="0 0 24 24">
- <title>inbox</title>
- <path
- d="M18.984 15v-9.984h-14.016v9.984h4.031q0 1.219 0.891 2.109t2.109 0.891 2.109-0.891 0.891-2.109h3.984zM18.984 3q0.844 0 1.43 0.586t0.586 1.43v13.969q0 0.797-0.609 1.406t-1.406 0.609h-14.016q-0.844 0-1.406-0.586t-0.563-1.43v-13.969q0-0.844 0.563-1.43t1.406-0.586h14.016z">
- </path>
- </symbol>
- <symbol id="icon-linkinsert_link" viewBox="0 0 24 24">
- <title>linkinsert_link</title>
- <path
- d="M17.016 6.984q2.063 0 3.516 1.477t1.453 3.539-1.453 3.539-3.516 1.477h-4.031v-1.922h4.031q1.266 0 2.18-0.914t0.914-2.18-0.914-2.18-2.18-0.914h-4.031v-1.922h4.031zM8.016 12.984v-1.969h7.969v1.969h-7.969zM3.891 12q0 1.266 0.914 2.18t2.18 0.914h4.031v1.922h-4.031q-2.063 0-3.516-1.477t-1.453-3.539 1.453-3.539 3.516-1.477h4.031v1.922h-4.031q-1.266 0-2.18 0.914t-0.914 2.18z">
- </path>
- </symbol>
- <symbol id="icon-redo" viewBox="0 0 24 24">
- <title>redo</title>
- <path
- d="M18.422 10.594l3.563-3.609v9h-9l3.656-3.609q-2.25-1.875-5.156-1.875-2.391 0-4.617 1.594t-2.977 3.891l-2.344-0.75q1.031-3.188 3.773-5.203t6.164-2.016q3.984 0 6.938 2.578z">
- </path>
- </symbol>
- <symbol id="icon-remove" viewBox="0 0 24 24">
- <title>remove</title>
- <path d="M18.984 12.984h-13.969v-1.969h13.969v1.969z"></path>
- </symbol>
- <symbol id="icon-remove_circledo_not_disturb_on" viewBox="0 0 24 24">
- <title>remove_circledo_not_disturb_on</title>
- <path
- d="M17.016 12.984v-1.969h-10.031v1.969h10.031zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z">
- </path>
- </symbol>
- <symbol id="icon-remove_circle_outline" viewBox="0 0 24 24">
- <title>remove_circle_outline</title>
- <path
- d="M12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93zM6.984 11.016h10.031v1.969h-10.031v-1.969z">
- </path>
- </symbol>
- <symbol id="icon-reply" viewBox="0 0 24 24">
- <title>reply</title>
- <path
- d="M9.984 9q4.875 0.703 7.523 3.727t3.492 7.289q-3.609-5.109-11.016-5.109v4.078l-6.984-6.984 6.984-6.984v3.984z">
- </path>
- </symbol>
- <symbol id="icon-reply_all" viewBox="0 0 24 24">
- <title>reply_all</title>
- <path
- d="M12.984 9q4.875 0.703 7.523 3.727t3.492 7.289q-3.609-5.109-11.016-5.109v4.078l-6.984-6.984 6.984-6.984v3.984zM6.984 8.016l-3.984 3.984 3.984 3.984v3l-6.984-6.984 6.984-6.984v3z">
- </path>
- </symbol>
- <symbol id="icon-report" viewBox="0 0 24 24">
- <title>report</title>
- <path
- d="M12.984 12.984v-6h-1.969v6h1.969zM12 17.297q0.516 0 0.914-0.398t0.398-0.914-0.398-0.891-0.914-0.375-0.914 0.375-0.398 0.891 0.398 0.914 0.914 0.398zM15.75 3l5.25 5.25v7.5l-5.25 5.25h-7.5l-5.25-5.25v-7.5l5.25-5.25h7.5z">
- </path>
- </symbol>
- <symbol id="icon-save" viewBox="0 0 24 24">
- <title>save</title>
- <path
- d="M15 9v-3.984h-9.984v3.984h9.984zM12 18.984q1.219 0 2.109-0.891t0.891-2.109-0.891-2.109-2.109-0.891-2.109 0.891-0.891 2.109 0.891 2.109 2.109 0.891zM17.016 3l3.984 3.984v12q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.844 0-1.43-0.586t-0.586-1.43v-13.969q0-0.844 0.586-1.43t1.43-0.586h12z">
- </path>
- </symbol>
- <symbol id="icon-link_off" viewBox="0 0 24 24">
- <title>link_off</title>
- <path
- d="M2.016 4.266l1.266-1.266 16.734 16.734-1.266 1.266-4.031-3.984h-1.734v-1.734l-2.25-2.297h-2.719v-1.969h0.703l-2.063-2.063q-1.172 0.141-1.969 1.008t-0.797 2.039q0 1.266 0.914 2.18t2.18 0.914h4.031v1.922h-4.031q-2.063 0-3.516-1.477t-1.453-3.539q0-1.406 0.891-2.766t2.203-1.875zM15.984 11.016v1.969h-0.188l-1.969-1.969h2.156zM17.016 6.984q2.063 0 3.516 1.477t1.453 3.539q0 3.047-2.719 4.453l-1.453-1.453q0.984-0.234 1.641-1.078t0.656-1.922q0-1.266-0.914-2.18t-2.18-0.914h- [...]
- </path>
- </symbol>
- <symbol id="icon-save_alt" viewBox="0 0 24 24">
- <title>save_alt</title>
- <path
- d="M12.984 12.656l2.625-2.578 1.406 1.406-5.016 5.016-5.016-5.016 1.406-1.406 2.625 2.578v-9.656h1.969v9.656zM18.984 12h2.016v6.984q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.797 0-1.406-0.609t-0.609-1.406v-6.984h2.016v6.984h13.969v-6.984z">
- </path>
- </symbol>
- <symbol id="icon-add_link" viewBox="0 0 24 24">
- <title>add_link</title>
- <path
- d="M18.984 12v3h3v2.016h-3v3h-1.969v-3h-3v-2.016h3v-3h1.969zM3.891 12q0 1.266 0.914 2.18t2.18 0.914h4.031v1.922h-4.031q-2.063 0-3.516-1.477t-1.453-3.539 1.453-3.539 3.516-1.477h4.031v1.922h-4.031q-1.266 0-2.18 0.914t-0.914 2.18zM20.109 12q0-1.266-0.914-2.18t-2.18-0.914h-4.031v-1.922h4.031q2.063 0 3.516 1.477t1.453 3.539h-1.875zM8.016 11.016h7.969v1.969h-7.969v-1.969z">
- </path>
- </symbol>
- <symbol id="icon-access_timequery_builderschedule" viewBox="0 0 24 24">
- <title>access_timequery_builderschedule</title>
- <path
- d="M12.516 6.984v5.25l4.5 2.672-0.75 1.266-5.25-3.188v-6h1.5zM12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z">
- </path>
- </symbol>
- <symbol id="icon-data_usage" viewBox="0 0 24 24">
- <title>data_usage</title>
- <path
- d="M12 18.984q1.359 0 2.953-0.773t2.484-1.852l2.625 1.547q-3 4.078-8.063 4.078-4.125 0-7.055-2.93t-2.93-7.055q0-3.891 2.602-6.727t6.398-3.211v3q-2.531 0.375-4.266 2.344t-1.734 4.594q0 2.906 2.039 4.945t4.945 2.039zM12.984 2.063q3.797 0.375 6.398 3.211t2.602 6.727q0 2.25-0.844 4.078l-2.625-1.547q0.469-1.313 0.469-2.531 0-2.625-1.734-4.594t-4.266-2.344v-3z">
- </path>
- </symbol>
- <symbol id="icon-storage" viewBox="0 0 24 24">
- <title>storage</title>
- <path
- d="M3.984 11.016v1.969h2.016v-1.969h-2.016zM2.016 14.016v-4.031h19.969v4.031h-19.969zM6 6.984v-1.969h-2.016v1.969h2.016zM2.016 3.984h19.969v4.031h-19.969v-4.031zM3.984 17.016v1.969h2.016v-1.969h-2.016zM2.016 20.016v-4.031h19.969v4.031h-19.969z">
- </path>
- </symbol>
- <symbol id="icon-signal_cellular_alt" viewBox="0 0 24 24">
- <title>signal_cellular_alt</title>
- <path d="M11.016 9h3v11.016h-3v-11.016zM5.016 14.016h3v6h-3v-6zM17.016 3.984h3v16.031h-3v-16.031z">
- </path>
- </symbol>
- <symbol id="icon-border_color" viewBox="0 0 24 24">
- <title>border_color</title>
- <path
- d="M0 20.016h24v3.984h-24v-3.984zM20.719 4.031l-1.969 1.969-3.75-3.75 1.969-1.969q0.281-0.281 0.703-0.281t0.703 0.281l2.344 2.344q0.281 0.281 0.281 0.703t-0.281 0.703zM17.766 6.984l-10.031 10.031h-3.75v-3.75l10.031-10.031z">
- </path>
- </symbol>
- <symbol id="icon-format_indent_decrease" viewBox="0 0 24 24">
- <title>format_indent_decrease</title>
- <path
- d="M11.016 12.984v-1.969h9.984v1.969h-9.984zM11.016 9v-2.016h9.984v2.016h-9.984zM3 3h18v2.016h-18v-2.016zM3 21v-2.016h18v2.016h-18zM3 12l3.984-3.984v7.969zM11.016 17.016v-2.016h9.984v2.016h-9.984z">
- </path>
- </symbol>
- <symbol id="icon-format_indent_increase" viewBox="0 0 24 24">
- <title>format_indent_increase</title>
- <path
- d="M11.016 12.984v-1.969h9.984v1.969h-9.984zM11.016 9v-2.016h9.984v2.016h-9.984zM3 3h18v2.016h-18v-2.016zM11.016 17.016v-2.016h9.984v2.016h-9.984zM3 8.016l3.984 3.984-3.984 3.984v-7.969zM3 21v-2.016h18v2.016h-18z">
- </path>
- </symbol>
- <symbol id="icon-insert_chartpollassessment" viewBox="0 0 24 24">
- <title>insert_chartpollassessment</title>
- <path
- d="M17.016 17.016v-4.031h-2.016v4.031h2.016zM12.984 17.016v-10.031h-1.969v10.031h1.969zM9 17.016v-7.031h-2.016v7.031h2.016zM18.984 3q0.797 0 1.406 0.609t0.609 1.406v13.969q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.797 0-1.406-0.609t-0.609-1.406v-13.969q0-0.797 0.609-1.406t1.406-0.609h13.969z">
- </path>
- </symbol>
- <symbol id="icon-insert_drive_file" viewBox="0 0 24 24">
- <title>insert_drive_file</title>
- <path
- d="M12.984 9h5.531l-5.531-5.484v5.484zM6 2.016h8.016l6 6v12q0 0.797-0.609 1.383t-1.406 0.586h-12q-0.797 0-1.406-0.586t-0.609-1.383l0.047-16.031q0-0.797 0.586-1.383t1.383-0.586z">
- </path>
- </symbol>
- <symbol id="icon-insert_photoimagephoto" viewBox="0 0 24 24">
- <title>insert_photoimagephoto</title>
- <path
- d="M8.484 13.5l-3.469 4.5h13.969l-4.5-6-3.469 4.5zM21 18.984q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.797 0-1.406-0.609t-0.609-1.406v-13.969q0-0.797 0.609-1.406t1.406-0.609h13.969q0.797 0 1.406 0.609t0.609 1.406v13.969z">
- </path>
- </symbol>
- <symbol id="icon-publish" viewBox="0 0 24 24">
- <title>publish</title>
- <path
- d="M5.016 14.016l6.984-7.031 6.984 7.031h-3.984v6h-6v-6h-3.984zM5.016 3.984h13.969v2.016h-13.969v-2.016z">
- </path>
- </symbol>
- <symbol id="icon-linear_scale" viewBox="0 0 24 24">
- <title>linear_scale</title>
- <path
- d="M19.5 9.516q1.031 0 1.758 0.727t0.727 1.758-0.727 1.758-1.758 0.727q-1.688 0-2.297-1.5h-2.906q-0.609 1.5-2.297 1.5t-2.297-1.5h-2.906q-0.609 1.5-2.297 1.5-1.031 0-1.758-0.727t-0.727-1.758 0.727-1.758 1.758-0.727q1.688 0 2.297 1.5h2.906q0.609-1.5 2.297-1.5t2.297 1.5h2.906q0.609-1.5 2.297-1.5z">
- </path>
- </symbol>
- <symbol id="icon-scatter_plot" viewBox="0 0 24 24">
- <title>scatter_plot</title>
- <path
- d="M13.594 17.578q0-1.219 0.891-2.109t2.109-0.891 2.109 0.891 0.891 2.109-0.891 2.109-2.109 0.891-2.109-0.891-0.891-2.109zM8.016 6q0-1.219 0.891-2.109t2.109-0.891 2.109 0.891 0.891 2.109-0.891 2.109-2.109 0.891-2.109-0.891-0.891-2.109zM3.984 14.016q0-1.219 0.891-2.109t2.109-0.891 2.109 0.891 0.891 2.109-0.891 2.109-2.109 0.891-2.109-0.891-0.891-2.109z">
- </path>
- </symbol>
- <symbol id="icon-bar_chart" viewBox="0 0 24 24">
- <title>bar_chart</title>
- <path
- d="M16.219 12.984h2.766v6h-2.766v-6zM10.594 5.016h2.813v13.969h-2.813v-13.969zM5.016 9.188h3v9.797h-3v-9.797z">
- </path>
- </symbol>
- <symbol id="icon-cloud_queue" viewBox="0 0 24 24">
- <title>cloud_queue</title>
- <path
- d="M18.984 18q1.219 0 2.109-0.891t0.891-2.109-0.891-2.109-2.109-0.891h-1.5v-0.516q0-2.297-1.594-3.891t-3.891-1.594q-1.875 0-3.328 1.125t-1.969 2.859h-0.703q-1.641 0-2.813 1.195t-1.172 2.836 1.172 2.813 2.813 1.172h12.984zM19.359 10.031q1.922 0.141 3.281 1.57t1.359 3.398q0 2.063-1.477 3.539t-3.539 1.477h-12.984q-2.484 0-4.242-1.758t-1.758-4.242q0-2.203 1.57-3.961t3.773-1.992q0.984-1.828 2.766-2.953t3.891-1.125q2.531 0 4.711 1.781t2.648 4.266z">
- </path>
- </symbol>
- <symbol id="icon-file_downloadget_app" viewBox="0 0 24 24">
- <title>file_downloadget_app</title>
- <path d="M5.016 18h13.969v2.016h-13.969v-2.016zM18.984 9l-6.984 6.984-6.984-6.984h3.984v-6h6v6h3.984z">
- </path>
- </symbol>
- <symbol id="icon-file_upload" viewBox="0 0 24 24">
- <title>file_upload</title>
- <path
- d="M5.016 18h13.969v2.016h-13.969v-2.016zM9 15.984v-6h-3.984l6.984-6.984 6.984 6.984h-3.984v6h-6z">
- </path>
- </symbol>
- <symbol id="icon-folder" viewBox="0 0 24 24">
- <title>folder</title>
- <path
- d="M9.984 3.984l2.016 2.016h8.016q0.797 0 1.383 0.609t0.586 1.406v9.984q0 0.797-0.586 1.406t-1.383 0.609h-16.031q-0.797 0-1.383-0.609t-0.586-1.406v-12q0-0.797 0.586-1.406t1.383-0.609h6z">
- </path>
- </symbol>
- <symbol id="icon-folder_open" viewBox="0 0 24 24">
- <title>folder_open</title>
- <path
- d="M20.016 18v-9.984h-16.031v9.984h16.031zM20.016 6q0.797 0 1.383 0.609t0.586 1.406v9.984q0 0.797-0.586 1.406t-1.383 0.609h-16.031q-0.797 0-1.383-0.609t-0.586-1.406v-12q0-0.797 0.586-1.406t1.383-0.609h6l2.016 2.016h8.016z">
- </path>
- </symbol>
- <symbol id="icon-create_new_folder" viewBox="0 0 24 24">
- <title>create_new_folder</title>
- <path
- d="M18.984 14.016v-2.016h-3v-3h-1.969v3h-3v2.016h3v3h1.969v-3h3zM20.016 6q0.844 0 1.406 0.586t0.563 1.43v9.984q0 0.844-0.563 1.43t-1.406 0.586h-16.031q-0.844 0-1.406-0.586t-0.563-1.43v-12q0-0.844 0.563-1.43t1.406-0.586h6l2.016 2.016h8.016z">
- </path>
- </symbol>
- <symbol id="icon-keyboard_arrow_down" viewBox="0 0 24 24">
- <title>keyboard_arrow_down</title>
- <path d="M7.406 8.578l4.594 4.594 4.594-4.594 1.406 1.406-6 6-6-6z"></path>
- </symbol>
- <symbol id="icon-keyboard_arrow_left" viewBox="0 0 24 24">
- <title>keyboard_arrow_left</title>
- <path d="M15.422 16.594l-1.406 1.406-6-6 6-6 1.406 1.406-4.594 4.594z"></path>
- </symbol>
- <symbol id="icon-keyboard_arrow_right" viewBox="0 0 24 24">
- <title>keyboard_arrow_right</title>
- <path d="M8.578 16.594l4.594-4.594-4.594-4.594 1.406-1.406 6 6-6 6z"></path>
- </symbol>
- <symbol id="icon-keyboard_arrow_up" viewBox="0 0 24 24">
- <title>keyboard_arrow_up</title>
- <path d="M7.406 15.422l-1.406-1.406 6-6 6 6-1.406 1.406-4.594-4.594z"></path>
- </symbol>
- <symbol id="icon-keyboard_backspace" viewBox="0 0 24 24">
- <title>keyboard_backspace</title>
- <path d="M21 11.016v1.969h-14.156l3.563 3.609-1.406 1.406-6-6 6-6 1.406 1.406-3.563 3.609h14.156z">
- </path>
- </symbol>
- <symbol id="icon-keyboard_return" viewBox="0 0 24 24">
- <title>keyboard_return</title>
- <path
- d="M18.984 6.984h2.016v6h-15.188l3.609 3.609-1.406 1.406-6-6 6-6 1.406 1.406-3.609 3.609h13.172v-4.031z">
- </path>
- </symbol>
- <symbol id="icon-keyboard_tab" viewBox="0 0 24 24">
- <title>keyboard_tab</title>
- <path
- d="M20.016 6h1.969v12h-1.969v-12zM11.578 7.406l1.406-1.406 6 6-6 6-1.406-1.406 3.609-3.609h-14.203v-1.969h14.203z">
- </path>
- </symbol>
- <symbol id="icon-device_hub" viewBox="0 0 24 24">
- <title>device_hub</title>
- <path
- d="M17.016 15.984h3.984v5.016h-5.016v-3.047l-3.984-4.219-3.984 4.219v3.047h-5.016v-5.016h3.984l4.031-3.984v-3.188q-0.891-0.328-1.453-1.078t-0.563-1.734q0-1.219 0.891-2.109t2.109-0.891 2.109 0.891 0.891 2.109q0 0.984-0.563 1.734t-1.453 1.078v3.188z">
- </path>
- </symbol>
- <symbol id="icon-arrow_drop_down" viewBox="0 0 24 24">
- <title>arrow_drop_down</title>
- <path d="M6.984 9.984h10.031l-5.016 5.016z"></path>
- </symbol>
- <symbol id="icon-arrow_drop_up" viewBox="0 0 24 24">
- <title>arrow_drop_up</title>
- <path d="M6.984 14.016l5.016-5.016 5.016 5.016h-10.031z"></path>
- </symbol>
- <symbol id="icon-cancel" viewBox="0 0 24 24">
- <title>cancel</title>
- <path
- d="M17.016 15.609l-3.609-3.609 3.609-3.609-1.406-1.406-3.609 3.609-3.609-3.609-1.406 1.406 3.609 3.609-3.609 3.609 1.406 1.406 3.609-3.609 3.609 3.609zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z">
- </path>
- </symbol>
- <symbol id="icon-keyboard_control" viewBox="0 0 24 24">
- <title>keyboard_control</title>
- <path
- d="M12 9.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609zM18 9.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609zM6 9.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609z">
- </path>
- </symbol>
- <symbol id="icon-refresh" viewBox="0 0 24 24">
- <title>refresh</title>
- <path
- d="M17.672 6.328l2.344-2.344v7.031h-7.031l3.234-3.234q-1.781-1.781-4.219-1.781-2.484 0-4.242 1.758t-1.758 4.242 1.758 4.242 4.242 1.758q1.734 0 3.398-1.172t2.273-2.813h2.063q-0.656 2.625-2.813 4.313t-4.922 1.688q-3.281 0-5.625-2.344t-2.344-5.672 2.344-5.672 5.625-2.344q1.406 0 3.070 0.68t2.602 1.664z">
- </path>
- </symbol>
- <symbol id="icon-unfold_more" viewBox="0 0 24 24">
- <title>unfold_more</title>
- <path
- d="M12 18.188l3.188-3.188 1.406 1.406-4.594 4.594-4.594-4.594 1.406-1.406zM12 5.813l-3.188 3.188-1.406-1.406 4.594-4.594 4.594 4.594-1.406 1.406z">
- </path>
- </symbol>
- <symbol id="icon-arrow_left" viewBox="0 0 24 24">
- <title>arrow_left</title>
- <path d="M14.016 6.984v10.031l-5.016-5.016z"></path>
- </symbol>
- <symbol id="icon-arrow_right" viewBox="0 0 24 24">
- <title>arrow_right</title>
- <path d="M9.984 17.016v-10.031l5.016 5.016z"></path>
- </symbol>
- <symbol id="icon-arrow_back_ios" viewBox="0 0 24 24">
- <title>arrow_back_ios</title>
- <path d="M11.672 3.891l-8.109 8.109 8.109 8.109-1.781 1.781-9.891-9.891 9.891-9.891z"></path>
- </symbol>
- <symbol id="icon-arrow_forward_ios" viewBox="0 0 24 24">
- <title>arrow_forward_ios</title>
- <path d="M5.859 4.125l2.156-2.109 9.984 9.984-9.984 9.984-2.156-2.109 7.922-7.875z"></path>
- </symbol>
- <symbol id="icon-notifications" viewBox="0 0 24 24">
- <title>notifications</title>
- <path
- d="M18 15.984l2.016 2.016v0.984h-16.031v-0.984l2.016-2.016v-4.969q0-2.344 1.195-4.078t3.305-2.25v-0.703q0-0.609 0.422-1.055t1.078-0.445 1.078 0.445 0.422 1.055v0.703q2.109 0.516 3.305 2.25t1.195 4.078v4.969zM12 21.984q-0.844 0-1.43-0.563t-0.586-1.406h4.031q0 0.797-0.609 1.383t-1.406 0.586z">
- </path>
- </symbol>
- <symbol id="icon-notifications_none" viewBox="0 0 24 24">
- <title>notifications_none</title>
- <path
- d="M15.984 17.016v-6q0-1.922-1.078-3.211t-2.906-1.289-2.906 1.289-1.078 3.211v6h7.969zM18 15.984l2.016 2.016v0.984h-16.031v-0.984l2.016-2.016v-4.969q0-2.344 1.195-4.078t3.305-2.25v-0.703q0-0.609 0.422-1.055t1.078-0.445 1.078 0.445 0.422 1.055v0.703q2.109 0.516 3.305 2.25t1.195 4.078v4.969zM12 21.984q-0.797 0-1.406-0.586t-0.609-1.383h4.031q0 0.797-0.609 1.383t-1.406 0.586z">
- </path>
- </symbol>
- <symbol id="icon-notifications_off" viewBox="0 0 24 24">
- <title>notifications_off</title>
- <path
- d="M18 14.672l-8.953-9.422q0.141-0.047 0.375-0.164l0.328-0.164h0.047l0.281-0.141q0.047 0 0.188-0.047t0.234-0.047v-0.703q0-0.609 0.422-1.055t1.078-0.445 1.078 0.445 0.422 1.055v0.703q2.109 0.516 3.305 2.25t1.195 4.078v3.656zM12 21.984q-0.844 0-1.43-0.563t-0.586-1.406h4.031q0 0.844-0.586 1.406t-1.43 0.563zM7.828 6.141q1.125 1.172 5.883 6.047t7.289 7.547l-1.266 1.266-2.016-2.016h-13.734v-0.984l2.016-2.016v-5.016q0-1.922 0.797-3.422l-2.813-2.766 1.266-1.313z">
- </path>
- </symbol>
- <symbol id="icon-check_box" viewBox="0 0 24 24">
- <title>check_box</title>
- <path
- d="M9.984 17.016l9-9-1.406-1.453-7.594 7.594-3.563-3.563-1.406 1.406zM18.984 3q0.844 0 1.43 0.586t0.586 1.43v13.969q0 0.844-0.586 1.43t-1.43 0.586h-13.969q-0.844 0-1.43-0.586t-0.586-1.43v-13.969q0-0.844 0.586-1.43t1.43-0.586h13.969z">
- </path>
- </symbol>
- <symbol id="icon-check_box_outline_blank" viewBox="0 0 24 24">
- <title>check_box_outline_blank</title>
- <path
- d="M18.984 3q0.797 0 1.406 0.609t0.609 1.406v13.969q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.797 0-1.406-0.609t-0.609-1.406v-13.969q0-0.797 0.609-1.406t1.406-0.609h13.969zM18.984 5.016h-13.969v13.969h13.969v-13.969z">
- </path>
- </symbol>
- <symbol id="icon-assignment" viewBox="0 0 24 24">
- <title>assignment</title>
- <path
- d="M17.016 9v-2.016h-10.031v2.016h10.031zM17.016 12.984v-1.969h-10.031v1.969h10.031zM14.016 17.016v-2.016h-7.031v2.016h7.031zM12 3q-0.422 0-0.703 0.281t-0.281 0.703 0.281 0.727 0.703 0.305 0.703-0.305 0.281-0.727-0.281-0.703-0.703-0.281zM18.984 3q0.797 0 1.406 0.609t0.609 1.406v13.969q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.797 0-1.406-0.609t-0.609-1.406v-13.969q0-0.797 0.609-1.406t1.406-0.609h4.172q0.328-0.891 1.078-1.453t1.734-0.563 1.734 0.563 1.078 1.453h4.172z">
- </path>
- </symbol>
- <symbol id="icon-cached" viewBox="0 0 24 24">
- <title>cached</title>
- <path
- d="M6 12h3l-3.984 3.984-4.031-3.984h3q0-3.281 2.367-5.648t5.648-2.367q2.344 0 4.266 1.266l-1.453 1.453q-1.266-0.703-2.813-0.703-2.484 0-4.242 1.758t-1.758 4.242zM18.984 8.016l4.031 3.984h-3q0 3.281-2.367 5.648t-5.648 2.367q-2.344 0-4.266-1.266l1.453-1.453q1.313 0.703 2.813 0.703 2.484 0 4.242-1.758t1.758-4.242h-3z">
- </path>
- </symbol>
- <symbol id="icon-code" viewBox="0 0 24 24">
- <title>code</title>
- <path
- d="M14.578 16.594l4.641-4.594-4.641-4.594 1.406-1.406 6 6-6 6zM9.422 16.594l-1.406 1.406-6-6 6-6 1.406 1.406-4.641 4.594z">
- </path>
- </symbol>
- <symbol id="icon-description" viewBox="0 0 24 24">
- <title>description</title>
- <path
- d="M12.984 9h5.531l-5.531-5.484v5.484zM15.984 14.016v-2.016h-7.969v2.016h7.969zM15.984 18v-2.016h-7.969v2.016h7.969zM14.016 2.016l6 6v12q0 0.797-0.609 1.383t-1.406 0.586h-12q-0.797 0-1.406-0.586t-0.609-1.383l0.047-16.031q0-0.797 0.586-1.383t1.383-0.586h8.016z">
- </path>
- </symbol>
- <symbol id="icon-dns" viewBox="0 0 24 24">
- <title>dns</title>
- <path
- d="M6.984 9q0.797 0 1.406-0.609t0.609-1.406-0.609-1.383-1.406-0.586-1.383 0.586-0.586 1.383 0.586 1.406 1.383 0.609zM20.016 3q0.422 0 0.703 0.281t0.281 0.703v6q0 0.422-0.281 0.727t-0.703 0.305h-16.031q-0.422 0-0.703-0.305t-0.281-0.727v-6q0-0.422 0.281-0.703t0.703-0.281h16.031zM6.984 18.984q0.797 0 1.406-0.586t0.609-1.383-0.609-1.406-1.406-0.609-1.383 0.609-0.586 1.406 0.586 1.383 1.383 0.586zM20.016 12.984q0.422 0 0.703 0.305t0.281 0.727v6q0 0.422-0.281 0.703t-0.703 0 [...]
- </path>
- </symbol>
- <symbol id="icon-help" viewBox="0 0 24 24">
- <title>help</title>
- <path
- d="M15.047 11.25q0.938-0.938 0.938-2.25 0-1.641-1.172-2.813t-2.813-1.172-2.813 1.172-1.172 2.813h1.969q0-0.797 0.609-1.406t1.406-0.609 1.406 0.609 0.609 1.406-0.609 1.406l-1.219 1.266q-1.172 1.266-1.172 2.813v0.516h1.969q0-1.547 1.172-2.813zM12.984 18.984v-1.969h-1.969v1.969h1.969zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z">
- </path>
- </symbol>
- <symbol id="icon-highlight_remove" viewBox="0 0 24 24">
- <title>highlight_remove</title>
- <path
- d="M12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93zM14.578 8.016l1.406 1.406-2.578 2.578 2.578 2.578-1.406 1.406-2.578-2.578-2.578 2.578-1.406-1.406 2.578-2.578-2.578-2.578 1.406-1.406 2.578 2.578z">
- </path>
- </symbol>
- <symbol id="icon-info" viewBox="0 0 24 24">
- <title>info</title>
- <path
- d="M12.984 9v-2.016h-1.969v2.016h1.969zM12.984 17.016v-6h-1.969v6h1.969zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z">
- </path>
- </symbol>
- <symbol id="icon-info_outline" viewBox="0 0 24 24">
- <title>info_outline</title>
- <path
- d="M11.016 9v-2.016h1.969v2.016h-1.969zM12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93zM11.016 17.016v-6h1.969v6h-1.969z">
- </path>
- </symbol>
- <symbol id="icon-language" viewBox="0 0 24 24">
- <title>language</title>
- <path
- d="M16.359 14.016h3.375q0.281-1.313 0.281-2.016t-0.281-2.016h-3.375q0.141 0.984 0.141 2.016t-0.141 2.016zM14.578 19.547q1.172-0.375 2.438-1.43t1.922-2.133h-2.953q-0.469 1.875-1.406 3.563zM14.344 14.016q0.141-0.984 0.141-2.016t-0.141-2.016h-4.688q-0.141 0.984-0.141 2.016t0.141 2.016h4.688zM12 19.969q1.313-1.922 1.922-3.984h-3.844q0.609 2.063 1.922 3.984zM8.016 8.016q0.563-2.016 1.406-3.563-1.172 0.375-2.461 1.43t-1.898 2.133h2.953zM5.063 15.984q0.609 1.078 1.898 2.133t [...]
- </path>
- </symbol>
- <symbol id="icon-lock_open" viewBox="0 0 24 24">
- <title>lock_open</title>
- <path
- d="M18 20.016v-10.031h-12v10.031h12zM18 8.016q0.797 0 1.406 0.586t0.609 1.383v10.031q0 0.797-0.609 1.383t-1.406 0.586h-12q-0.797 0-1.406-0.586t-0.609-1.383v-10.031q0-0.797 0.609-1.383t1.406-0.586h9.094v-2.016q0-1.266-0.914-2.18t-2.18-0.914-2.18 0.914-0.914 2.18h-1.922q0-2.063 1.477-3.539t3.539-1.477 3.539 1.477 1.477 3.539v2.016h0.984zM12 17.016q-0.797 0-1.406-0.609t-0.609-1.406 0.609-1.406 1.406-0.609 1.406 0.609 0.609 1.406-0.609 1.406-1.406 0.609z">
- </path>
- </symbol>
- <symbol id="icon-lock_outline" viewBox="0 0 24 24">
- <title>lock_outline</title>
- <path
- d="M18 20.016v-10.031h-12v10.031h12zM8.906 6v2.016h6.188v-2.016q0-1.266-0.914-2.18t-2.18-0.914-2.18 0.914-0.914 2.18zM18 8.016q0.797 0 1.406 0.586t0.609 1.383v10.031q0 0.797-0.609 1.383t-1.406 0.586h-12q-0.797 0-1.406-0.586t-0.609-1.383v-10.031q0-0.797 0.609-1.383t1.406-0.586h0.984v-2.016q0-2.063 1.477-3.539t3.539-1.477 3.539 1.477 1.477 3.539v2.016h0.984zM12 17.016q-0.797 0-1.406-0.609t-0.609-1.406 0.609-1.406 1.406-0.609 1.406 0.609 0.609 1.406-0.609 1.406-1.406 0.609z">
- </path>
- </symbol>
- <symbol id="icon-search" viewBox="0 0 24 24">
- <title>search</title>
- <path
- d="M9.516 14.016q1.875 0 3.188-1.313t1.313-3.188-1.313-3.188-3.188-1.313-3.188 1.313-1.313 3.188 1.313 3.188 3.188 1.313zM15.516 14.016l4.969 4.969-1.5 1.5-4.969-4.969v-0.797l-0.281-0.281q-1.781 1.547-4.219 1.547-2.719 0-4.617-1.875t-1.898-4.594 1.898-4.617 4.617-1.898 4.594 1.898 1.875 4.617q0 0.984-0.469 2.227t-1.078 1.992l0.281 0.281h0.797z">
- </path>
- </symbol>
- <symbol id="icon-settings" viewBox="0 0 24 24">
- <title>settings</title>
- <path
- d="M12 15.516q1.453 0 2.484-1.031t1.031-2.484-1.031-2.484-2.484-1.031-2.484 1.031-1.031 2.484 1.031 2.484 2.484 1.031zM19.453 12.984l2.109 1.641q0.328 0.234 0.094 0.656l-2.016 3.469q-0.188 0.328-0.609 0.188l-2.484-0.984q-0.984 0.703-1.688 0.984l-0.375 2.625q-0.094 0.422-0.469 0.422h-4.031q-0.375 0-0.469-0.422l-0.375-2.625q-0.891-0.375-1.688-0.984l-2.484 0.984q-0.422 0.141-0.609-0.188l-2.016-3.469q-0.234-0.422 0.094-0.656l2.109-1.641q-0.047-0.328-0.047-0.984t0.047-0.98 [...]
- </path>
- </symbol>
- <symbol id="icon-settings_ethernet" viewBox="0 0 24 24">
- <title>settings_ethernet</title>
- <path
- d="M17.766 5.484l5.438 6.516-5.438 6.516-1.547-1.266 4.359-5.25-4.359-5.25zM11.016 12.984v-1.969h1.969v1.969h-1.969zM17.016 11.016v1.969h-2.016v-1.969h2.016zM6.984 12.984v-1.969h2.016v1.969h-2.016zM7.781 6.75l-4.359 5.25 4.359 5.25-1.547 1.266-5.438-6.516 5.438-6.516z">
- </path>
- </symbol>
- <symbol id="icon-donut_small" viewBox="0 0 24 24">
- <title>donut_small</title>
- <path
- d="M12.984 14.859q1.266-0.375 1.875-1.875h7.125q-0.375 3.609-2.836 6.141t-6.164 2.859v-7.125zM14.859 11.016q-0.563-1.5-1.875-1.875v-7.125q3.703 0.328 6.164 2.859t2.836 6.141h-7.125zM11.016 9.141q-0.797 0.328-1.406 1.125t-0.609 1.734 0.609 1.734 1.406 1.125v7.125q-3.797-0.375-6.398-3.234t-2.602-6.75 2.602-6.75 6.398-3.234v7.125z">
- </path>
- </symbol>
- <symbol id="icon-timeline" viewBox="0 0 24 24">
- <title>timeline</title>
- <path
- d="M23.016 8.016q0 0.797-0.609 1.383t-1.406 0.586h-0.047q-0.328 0-0.469-0.047l-3.563 3.563q0.094 0.281 0.094 0.516 0 0.797-0.609 1.383t-1.406 0.586-1.406-0.586-0.609-1.383q0-0.234 0.094-0.516l-2.578-2.578q-0.281 0.094-0.516 0.094t-0.516-0.094l-4.547 4.547q0.094 0.281 0.094 0.516 0 0.797-0.609 1.406t-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.383 1.406-0.586q0.375 0 0.516 0.047l4.547-4.547q-0.047-0.141-0.047-0.516 0-0.797 0.586-1.406t1.383-0.609 1.406 0.609 0.609 1.40 [...]
- </path>
- </symbol>
- <symbol id="icon-account_tree" viewBox="0 0 24 24">
- <title>account_tree</title>
- <path
- d="M21.984 11.016h-6.984v-3h-2.016v7.969h2.016v-3h6.984v8.016h-6.984v-3h-3.984v-9.984h-2.016v3h-6.984v-8.016h6.984v3h6v-3h6.984v8.016z">
- </path>
- </symbol>
- <symbol id="icon-all_inbox" viewBox="0 0 24 24">
- <title>all_inbox</title>
- <path
- d="M15 15.984h6v3q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.797 0-1.406-0.609t-0.609-1.406v-3h6q0 1.219 0.891 2.109t2.109 0.891 2.109-0.891 0.891-2.109zM18.984 9v-3.984h-13.969v3.984h3.984q0 1.219 0.891 2.109t2.109 0.891 2.109-0.891 0.891-2.109h3.984zM18.984 3q0.797 0 1.406 0.609t0.609 1.406v6.984q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.797 0-1.406-0.609t-0.609-1.406v-6.984q0-0.797 0.609-1.406t1.406-0.609h13.969z">
- </path>
- </symbol>
- <symbol id="icon-dashboard_customize" viewBox="0 0 24 24">
- <title>dashboard_customize</title>
- <path
- d="M18 12.984v3h3v2.016h-3v3h-2.016v-3h-3v-2.016h3v-3h2.016zM3 12.984h8.016v8.016h-8.016v-8.016zM12.984 3h8.016v8.016h-8.016v-8.016zM3 3h8.016v8.016h-8.016v-8.016z">
- </path>
- </symbol>
- <symbol id="icon-speed" viewBox="0 0 24 24">
- <title>speed</title>
- <path
- d="M12 15.984q-0.797 0-1.406-0.586t-0.609-1.383q0-0.844 0.609-1.453l8.484-5.625-5.672 8.484q-0.563 0.563-1.406 0.563zM20.391 8.578q0.656 1.031 1.125 2.625t0.469 2.813q0 2.766-1.313 4.969-0.609 1.031-1.734 1.031h-13.875q-1.125 0-1.734-1.031-1.313-2.203-1.313-4.969 0-4.125 2.93-7.055t7.102-2.93q1.219 0 2.789 0.469t2.602 1.125l-1.875 1.219q-1.688-0.844-3.563-0.844-3.281 0-5.648 2.344t-2.367 5.672q0 2.156 1.078 3.984h13.875q1.078-1.828 1.078-3.984 0-1.922-0.844-3.609z">
- </path>
- </symbol>
- <symbol id="icon-sync_alt" viewBox="0 0 24 24">
- <title>sync_alt</title>
- <path d="M2.016 15.984l3.984-3.984v3h15v2.016h-15v3zM21.984 8.016l-3.984 3.984v-3h-15v-2.016h15v-3z">
- </path>
- </symbol>
- </defs>
+ <body>
+ <svg
+ aria-hidden="true"
+ style="position: absolute; width: 0; height: 0; overflow: hidden;"
+ version="1.1"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ >
+ <defs>
+ <symbol id="icon-error" viewBox="0 0 24 24">
+ <title>error</title>
+ <path
+ d="M12.984 12.984v-6h-1.969v6h1.969zM12.984 17.016v-2.016h-1.969v2.016h1.969zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z"
+ ></path>
+ </symbol>
+ <symbol id="icon-error_outline" viewBox="0 0 24 24">
+ <title>error_outline</title>
+ <path
+ d="M12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93zM11.016 6.984h1.969v6h-1.969v-6zM11.016 15h1.969v2.016h-1.969v-2.016z"
+ ></path>
+ </symbol>
+ <symbol id="icon-warningreport_problem" viewBox="0 0 24 24">
+ <title>warningreport_problem</title>
+ <path
+ d="M12.984 14.016v-4.031h-1.969v4.031h1.969zM12.984 18v-2.016h-1.969v2.016h1.969zM0.984 21l11.016-18.984 11.016 18.984h-22.031z"
+ ></path>
+ </symbol>
+ <symbol id="icon-notification_important" viewBox="0 0 24 24">
+ <title>notification_important</title>
+ <path
+ d="M12 21.984q-0.844 0-1.43-0.563t-0.586-1.406h4.031q0 0.797-0.609 1.383t-1.406 0.586zM12.984 12v-3.984h-1.969v3.984h1.969zM12.984 15.984v-1.969h-1.969v1.969h1.969zM18 15.984l2.016 2.016v0.984h-16.031v-0.984l2.016-2.016v-4.969q0-2.344 1.195-4.078t3.305-2.25v-0.703q0-0.609 0.422-1.055t1.078-0.445 1.078 0.445 0.422 1.055v0.703q2.109 0.516 3.305 2.25t1.195 4.078v4.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-av_timer" viewBox="0 0 24 24">
+ <title>av_timer</title>
+ <path
+ d="M6 12q0-0.422 0.281-0.703t0.703-0.281 0.727 0.281 0.305 0.703-0.305 0.703-0.727 0.281-0.703-0.281-0.281-0.703zM18 12q0 0.422-0.281 0.703t-0.703 0.281-0.727-0.281-0.305-0.703 0.305-0.703 0.727-0.281 0.703 0.281 0.281 0.703zM11.016 3h0.984q3.75 0 6.375 2.625t2.625 6.375-2.625 6.375-6.375 2.625-6.375-2.625-2.625-6.375q0-4.5 3.609-7.172v-0.047l6.797 6.797-1.406 1.406-5.438-5.391q-1.547 1.922-1.547 4.406 0 2.906 2.039 4.945t4.945 2.039 4.945-2.039 2.039-4.945q0-2.625-1.734-4.59 [...]
+ ></path>
+ </symbol>
+ <symbol id="icon-equalizer" viewBox="0 0 24 24">
+ <title>equalizer</title>
+ <path
+ d="M15.984 9h4.031v11.016h-4.031v-11.016zM3.984 20.016v-8.016h4.031v8.016h-4.031zM9.984 20.016v-16.031h4.031v16.031h-4.031z"
+ ></path>
+ </symbol>
+ <symbol id="icon-loopsync" viewBox="0 0 24 24">
+ <title>loopsync</title>
+ <path
+ d="M12 18v-3l3.984 3.984-3.984 4.031v-3q-3.281 0-5.648-2.367t-2.367-5.648q0-2.344 1.266-4.266l1.453 1.453q-0.703 1.266-0.703 2.813 0 2.484 1.758 4.242t4.242 1.758zM12 3.984q3.281 0 5.648 2.367t2.367 5.648q0 2.344-1.266 4.266l-1.453-1.453q0.703-1.266 0.703-2.813 0-2.484-1.758-4.242t-4.242-1.758v3l-3.984-3.984 3.984-4.031v3z"
+ ></path>
+ </symbol>
+ <symbol id="icon-library_addqueueadd_to_photos" viewBox="0 0 24 24">
+ <title>library_addqueueadd_to_photos</title>
+ <path
+ d="M18.984 11.016v-2.016h-3.984v-3.984h-2.016v3.984h-3.984v2.016h3.984v3.984h2.016v-3.984h3.984zM20.016 2.016q0.797 0 1.383 0.586t0.586 1.383v12q0 0.797-0.586 1.406t-1.383 0.609h-12q-0.797 0-1.406-0.609t-0.609-1.406v-12q0-0.797 0.609-1.383t1.406-0.586h12zM3.984 6v14.016h14.016v1.969h-14.016q-0.797 0-1.383-0.586t-0.586-1.383v-14.016h1.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-library_books" viewBox="0 0 24 24">
+ <title>library_books</title>
+ <path
+ d="M18.984 6.984v-1.969h-9.984v1.969h9.984zM15 15v-2.016h-6v2.016h6zM18.984 11.016v-2.016h-9.984v2.016h9.984zM20.016 2.016q0.797 0 1.383 0.586t0.586 1.383v12q0 0.797-0.586 1.406t-1.383 0.609h-12q-0.797 0-1.406-0.609t-0.609-1.406v-12q0-0.797 0.609-1.383t1.406-0.586h12zM3.984 6v14.016h14.016v1.969h-14.016q-0.797 0-1.383-0.586t-0.586-1.383v-14.016h1.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-not_interesteddo_not_disturb" viewBox="0 0 24 24">
+ <title>not_interesteddo_not_disturb</title>
+ <path
+ d="M18.328 16.922q1.688-2.109 1.688-4.922 0-3.281-2.367-5.648t-5.648-2.367q-1.125 0-2.578 0.492t-2.344 1.195zM12 20.016q1.125 0 2.578-0.492t2.344-1.195l-11.25-11.25q-1.688 2.109-1.688 4.922 0 3.281 2.367 5.648t5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z"
+ ></path>
+ </symbol>
+ <symbol id="icon-playlist_add" viewBox="0 0 24 24">
+ <title>playlist_add</title>
+ <path
+ d="M2.016 15.984v-1.969h7.969v1.969h-7.969zM18 14.016h3.984v1.969h-3.984v4.031h-2.016v-4.031h-3.984v-1.969h3.984v-4.031h2.016v4.031zM14.016 6v2.016h-12v-2.016h12zM14.016 9.984v2.016h-12v-2.016h12z"
+ ></path>
+ </symbol>
+ <symbol id="icon-repeat" viewBox="0 0 24 24">
+ <title>repeat</title>
+ <path
+ d="M17.016 17.016v-4.031h1.969v6h-12v3l-3.984-3.984 3.984-3.984v3h10.031zM6.984 6.984v4.031h-1.969v-6h12v-3l3.984 3.984-3.984 3.984v-3h-10.031z"
+ ></path>
+ </symbol>
+ <symbol id="icon-replay" viewBox="0 0 24 24">
+ <title>replay</title>
+ <path
+ d="M12 5.016q3.328 0 5.672 2.344t2.344 5.625q0 3.328-2.367 5.672t-5.648 2.344-5.648-2.344-2.367-5.672h2.016q0 2.484 1.758 4.242t4.242 1.758 4.242-1.758 1.758-4.242-1.758-4.242-4.242-1.758v4.031l-5.016-5.016 5.016-5.016v4.031z"
+ ></path>
+ </symbol>
+ <symbol id="icon-slow_motion_video" viewBox="0 0 24 24">
+ <title>slow_motion_video</title>
+ <path
+ d="M21.984 12q0 3.844-2.578 6.703t-6.375 3.234v-2.016q2.953-0.375 4.969-2.648t2.016-5.273-2.016-5.273-4.969-2.648v-2.016q3.797 0.375 6.375 3.234t2.578 6.703zM5.672 19.734l1.406-1.406q1.688 1.313 3.938 1.594v2.016q-1.266-0.141-2.836-0.797t-2.508-1.406zM4.078 12.984q0.234 2.203 1.594 3.891l-1.406 1.453q-1.922-2.391-2.203-5.344h2.016zM5.672 7.078q-1.313 1.734-1.594 3.938h-2.016q0.141-1.266 0.797-2.836t1.406-2.508zM11.016 4.078q-2.25 0.281-3.938 1.594l-1.406-1.406q2.391-1.922 5.3 [...]
+ ></path>
+ </symbol>
+ <symbol id="icon-import_export" viewBox="0 0 24 24">
+ <title>import_export</title>
+ <path
+ d="M15.984 17.016h3l-3.984 3.984-3.984-3.984h3v-7.031h1.969v7.031zM9 3l3.984 3.984h-3v7.031h-1.969v-7.031h-3z"
+ ></path>
+ </symbol>
+ <symbol id="icon-location_onplaceroom" viewBox="0 0 24 24">
+ <title>location_onplaceroom</title>
+ <path
+ d="M12 11.484q1.031 0 1.758-0.727t0.727-1.758-0.727-1.758-1.758-0.727-1.758 0.727-0.727 1.758 0.727 1.758 1.758 0.727zM12 2.016q2.906 0 4.945 2.039t2.039 4.945q0 1.453-0.727 3.328t-1.758 3.516-2.039 3.070-1.711 2.273l-0.75 0.797q-0.281-0.328-0.75-0.867t-1.688-2.156-2.133-3.141-1.664-3.445-0.75-3.375q0-2.906 2.039-4.945t4.945-2.039z"
+ ></path>
+ </symbol>
+ <symbol id="icon-vpn_key" viewBox="0 0 24 24">
+ <title>vpn_key</title>
+ <path
+ d="M6.984 14.016q0.797 0 1.406-0.609t0.609-1.406-0.609-1.406-1.406-0.609-1.383 0.609-0.586 1.406 0.586 1.406 1.383 0.609zM12.656 9.984h10.359v4.031h-2.016v3.984h-3.984v-3.984h-4.359q-0.609 1.641-2.273 2.813t-3.398 1.172q-2.484 0-4.242-1.758t-1.758-4.242 1.758-4.242 4.242-1.758q1.734 0 3.398 1.172t2.273 2.813z"
+ ></path>
+ </symbol>
+ <symbol id="icon-import_contacts" viewBox="0 0 24 24">
+ <title>import_contacts</title>
+ <path
+ d="M21 18.516v-11.531q-1.547-0.469-3.516-0.469-3.047 0-5.484 1.5v11.484q2.438-1.5 5.484-1.5 1.828 0 3.516 0.516zM17.484 4.5q3.563 0 5.531 1.5v14.578q0 0.188-0.164 0.352t-0.352 0.164q-0.141 0-0.234-0.047-1.922-1.031-4.781-1.031-3.047 0-5.484 1.5-2.016-1.5-5.484-1.5-2.531 0-4.781 1.078-0.047 0-0.117 0.023t-0.117 0.023q-0.188 0-0.352-0.141t-0.164-0.328v-14.672q2.016-1.5 5.531-1.5 3.469 0 5.484 1.5 2.016-1.5 5.484-1.5z"
+ ></path>
+ </symbol>
+ <symbol id="icon-mail_outline" viewBox="0 0 24 24">
+ <title>mail_outline</title>
+ <path
+ d="M12 11.016l8.016-5.016h-16.031zM20.016 18v-9.984l-8.016 4.969-8.016-4.969v9.984h16.031zM20.016 3.984q0.797 0 1.383 0.609t0.586 1.406v12q0 0.797-0.586 1.406t-1.383 0.609h-16.031q-0.797 0-1.383-0.609t-0.586-1.406v-12q0-0.797 0.586-1.406t1.383-0.609h16.031z"
+ ></path>
+ </symbol>
+ <symbol id="icon-sentiment_satisfied_alt" viewBox="0 0 24 24">
+ <title>sentiment_satisfied_alt</title>
+ <path
+ d="M12 17.484q-1.734 0-3.117-0.961t-1.992-2.508h1.641q1.172 1.969 3.469 1.969t3.469-1.969h1.641q-0.609 1.547-1.992 2.508t-3.117 0.961zM12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93zM8.484 11.016q-0.609 0-1.055-0.445t-0.445-1.055 0.445-1.055 1.055-0.445 1.055 0.445 0.445 1.055-0.445 1.055-1.055 0.445zM15.5 [...]
+ ></path>
+ </symbol>
+ <symbol id="icon-lightbulb" viewBox="0 0 24 24">
+ <title>lightbulb</title>
+ <path
+ d="M12 2.016q2.906 0 4.945 2.039t2.039 4.945q0 3.516-3 5.719v2.297q0 0.422-0.281 0.703t-0.703 0.281h-6q-0.422 0-0.703-0.281t-0.281-0.703v-2.297q-3-2.063-3-5.719 0-2.906 2.039-4.945t4.945-2.039zM9 21v-0.984h6v0.984q0 0.422-0.281 0.703t-0.703 0.281h-4.031q-0.422 0-0.703-0.281t-0.281-0.703z"
+ ></path>
+ </symbol>
+ <symbol id="icon-add" viewBox="0 0 24 24">
+ <title>add</title>
+ <path
+ d="M18.984 12.984h-6v6h-1.969v-6h-6v-1.969h6v-6h1.969v6h6v1.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-add_box" viewBox="0 0 24 24">
+ <title>add_box</title>
+ <path
+ d="M17.016 12.984v-1.969h-4.031v-4.031h-1.969v4.031h-4.031v1.969h4.031v4.031h1.969v-4.031h4.031zM18.984 3q0.797 0 1.406 0.609t0.609 1.406v13.969q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.844 0-1.43-0.586t-0.586-1.43v-13.969q0-0.844 0.586-1.43t1.43-0.586h13.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-add_circle" viewBox="0 0 24 24">
+ <title>add_circle</title>
+ <path
+ d="M17.016 12.984v-1.969h-4.031v-4.031h-1.969v4.031h-4.031v1.969h4.031v4.031h1.969v-4.031h4.031zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z"
+ ></path>
+ </symbol>
+ <symbol id="icon-add_circle_outlinecontrol_point" viewBox="0 0 24 24">
+ <title>add_circle_outlinecontrol_point</title>
+ <path
+ d="M12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93zM12.984 6.984v4.031h4.031v1.969h-4.031v4.031h-1.969v-4.031h-4.031v-1.969h4.031v-4.031h1.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-backspace" viewBox="0 0 24 24">
+ <title>backspace</title>
+ <path
+ d="M18.984 15.609l-3.563-3.609 3.563-3.609-1.406-1.406-3.563 3.609-3.609-3.609-1.406 1.406 3.609 3.609-3.609 3.609 1.406 1.406 3.609-3.609 3.563 3.609zM21.984 3q0.797 0 1.406 0.609t0.609 1.406v13.969q0 0.797-0.609 1.406t-1.406 0.609h-15q-0.938 0-1.594-0.891l-5.391-8.109 5.391-8.109q0.656-0.891 1.594-0.891h15z"
+ ></path>
+ </symbol>
+ <symbol id="icon-clearclose" viewBox="0 0 24 24">
+ <title>clearclose</title>
+ <path
+ d="M18.984 6.422l-5.578 5.578 5.578 5.578-1.406 1.406-5.578-5.578-5.578 5.578-1.406-1.406 5.578-5.578-5.578-5.578 1.406-1.406 5.578 5.578 5.578-5.578z"
+ ></path>
+ </symbol>
+ <symbol id="icon-content_copy" viewBox="0 0 24 24">
+ <title>content_copy</title>
+ <path
+ d="M18.984 21v-14.016h-10.969v14.016h10.969zM18.984 5.016q0.797 0 1.406 0.586t0.609 1.383v14.016q0 0.797-0.609 1.406t-1.406 0.609h-10.969q-0.797 0-1.406-0.609t-0.609-1.406v-14.016q0-0.797 0.609-1.383t1.406-0.586h10.969zM15.984 0.984v2.016h-12v14.016h-1.969v-14.016q0-0.797 0.586-1.406t1.383-0.609h12z"
+ ></path>
+ </symbol>
+ <symbol id="icon-content_cut" viewBox="0 0 24 24">
+ <title>content_cut</title>
+ <path
+ d="M18.984 3h3v0.984l-6.984 7.031-2.016-2.016zM12 12.516q0.516 0 0.516-0.516t-0.516-0.516-0.516 0.516 0.516 0.516zM6 20.016q0.797 0 1.406-0.586t0.609-1.43-0.609-1.43-1.406-0.586-1.406 0.586-0.609 1.43 0.609 1.43 1.406 0.586zM6 8.016q0.797 0 1.406-0.586t0.609-1.43-0.609-1.43-1.406-0.586-1.406 0.586-0.609 1.43 0.609 1.43 1.406 0.586zM9.656 7.641l12.328 12.375v0.984h-3l-6.984-6.984-2.344 2.344q0.328 0.703 0.328 1.641 0 1.641-1.172 2.813t-2.813 1.172-2.813-1.172-1.172-2.813 1.172 [...]
+ ></path>
+ </symbol>
+ <symbol id="icon-content_paste" viewBox="0 0 24 24">
+ <title>content_paste</title>
+ <path
+ d="M18.984 20.016v-16.031h-1.969v3h-10.031v-3h-1.969v16.031h13.969zM12 2.016q-0.422 0-0.703 0.281t-0.281 0.703 0.281 0.703 0.703 0.281 0.703-0.281 0.281-0.703-0.281-0.703-0.703-0.281zM18.984 2.016q0.797 0 1.406 0.586t0.609 1.383v16.031q0 0.797-0.609 1.383t-1.406 0.586h-13.969q-0.797 0-1.406-0.586t-0.609-1.383v-16.031q0-0.797 0.609-1.383t1.406-0.586h4.172q0.328-0.891 1.078-1.453t1.734-0.563 1.734 0.563 1.078 1.453h4.172z"
+ ></path>
+ </symbol>
+ <symbol id="icon-createmode_editedit" viewBox="0 0 24 24">
+ <title>createmode_editedit</title>
+ <path
+ d="M20.719 7.031l-1.828 1.828-3.75-3.75 1.828-1.828q0.281-0.281 0.703-0.281t0.703 0.281l2.344 2.344q0.281 0.281 0.281 0.703t-0.281 0.703zM3 17.25l11.063-11.063 3.75 3.75-11.063 11.063h-3.75v-3.75z"
+ ></path>
+ </symbol>
+ <symbol id="icon-inbox" viewBox="0 0 24 24">
+ <title>inbox</title>
+ <path
+ d="M18.984 15v-9.984h-14.016v9.984h4.031q0 1.219 0.891 2.109t2.109 0.891 2.109-0.891 0.891-2.109h3.984zM18.984 3q0.844 0 1.43 0.586t0.586 1.43v13.969q0 0.797-0.609 1.406t-1.406 0.609h-14.016q-0.844 0-1.406-0.586t-0.563-1.43v-13.969q0-0.844 0.563-1.43t1.406-0.586h14.016z"
+ ></path>
+ </symbol>
+ <symbol id="icon-linkinsert_link" viewBox="0 0 24 24">
+ <title>linkinsert_link</title>
+ <path
+ d="M17.016 6.984q2.063 0 3.516 1.477t1.453 3.539-1.453 3.539-3.516 1.477h-4.031v-1.922h4.031q1.266 0 2.18-0.914t0.914-2.18-0.914-2.18-2.18-0.914h-4.031v-1.922h4.031zM8.016 12.984v-1.969h7.969v1.969h-7.969zM3.891 12q0 1.266 0.914 2.18t2.18 0.914h4.031v1.922h-4.031q-2.063 0-3.516-1.477t-1.453-3.539 1.453-3.539 3.516-1.477h4.031v1.922h-4.031q-1.266 0-2.18 0.914t-0.914 2.18z"
+ ></path>
+ </symbol>
+ <symbol id="icon-redo" viewBox="0 0 24 24">
+ <title>redo</title>
+ <path
+ d="M18.422 10.594l3.563-3.609v9h-9l3.656-3.609q-2.25-1.875-5.156-1.875-2.391 0-4.617 1.594t-2.977 3.891l-2.344-0.75q1.031-3.188 3.773-5.203t6.164-2.016q3.984 0 6.938 2.578z"
+ ></path>
+ </symbol>
+ <symbol id="icon-remove" viewBox="0 0 24 24">
+ <title>remove</title>
+ <path d="M18.984 12.984h-13.969v-1.969h13.969v1.969z"></path>
+ </symbol>
+ <symbol id="icon-remove_circledo_not_disturb_on" viewBox="0 0 24 24">
+ <title>remove_circledo_not_disturb_on</title>
+ <path
+ d="M17.016 12.984v-1.969h-10.031v1.969h10.031zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z"
+ ></path>
+ </symbol>
+ <symbol id="icon-remove_circle_outline" viewBox="0 0 24 24">
+ <title>remove_circle_outline</title>
+ <path
+ d="M12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93zM6.984 11.016h10.031v1.969h-10.031v-1.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-reply" viewBox="0 0 24 24">
+ <title>reply</title>
+ <path
+ d="M9.984 9q4.875 0.703 7.523 3.727t3.492 7.289q-3.609-5.109-11.016-5.109v4.078l-6.984-6.984 6.984-6.984v3.984z"
+ ></path>
+ </symbol>
+ <symbol id="icon-reply_all" viewBox="0 0 24 24">
+ <title>reply_all</title>
+ <path
+ d="M12.984 9q4.875 0.703 7.523 3.727t3.492 7.289q-3.609-5.109-11.016-5.109v4.078l-6.984-6.984 6.984-6.984v3.984zM6.984 8.016l-3.984 3.984 3.984 3.984v3l-6.984-6.984 6.984-6.984v3z"
+ ></path>
+ </symbol>
+ <symbol id="icon-report" viewBox="0 0 24 24">
+ <title>report</title>
+ <path
+ d="M12.984 12.984v-6h-1.969v6h1.969zM12 17.297q0.516 0 0.914-0.398t0.398-0.914-0.398-0.891-0.914-0.375-0.914 0.375-0.398 0.891 0.398 0.914 0.914 0.398zM15.75 3l5.25 5.25v7.5l-5.25 5.25h-7.5l-5.25-5.25v-7.5l5.25-5.25h7.5z"
+ ></path>
+ </symbol>
+ <symbol id="icon-save" viewBox="0 0 24 24">
+ <title>save</title>
+ <path
+ d="M15 9v-3.984h-9.984v3.984h9.984zM12 18.984q1.219 0 2.109-0.891t0.891-2.109-0.891-2.109-2.109-0.891-2.109 0.891-0.891 2.109 0.891 2.109 2.109 0.891zM17.016 3l3.984 3.984v12q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.844 0-1.43-0.586t-0.586-1.43v-13.969q0-0.844 0.586-1.43t1.43-0.586h12z"
+ ></path>
+ </symbol>
+ <symbol id="icon-link_off" viewBox="0 0 24 24">
+ <title>link_off</title>
+ <path
+ d="M2.016 4.266l1.266-1.266 16.734 16.734-1.266 1.266-4.031-3.984h-1.734v-1.734l-2.25-2.297h-2.719v-1.969h0.703l-2.063-2.063q-1.172 0.141-1.969 1.008t-0.797 2.039q0 1.266 0.914 2.18t2.18 0.914h4.031v1.922h-4.031q-2.063 0-3.516-1.477t-1.453-3.539q0-1.406 0.891-2.766t2.203-1.875zM15.984 11.016v1.969h-0.188l-1.969-1.969h2.156zM17.016 6.984q2.063 0 3.516 1.477t1.453 3.539q0 3.047-2.719 4.453l-1.453-1.453q0.984-0.234 1.641-1.078t0.656-1.922q0-1.266-0.914-2.18t-2.18-0.914h-4.031v-1 [...]
+ ></path>
+ </symbol>
+ <symbol id="icon-save_alt" viewBox="0 0 24 24">
+ <title>save_alt</title>
+ <path
+ d="M12.984 12.656l2.625-2.578 1.406 1.406-5.016 5.016-5.016-5.016 1.406-1.406 2.625 2.578v-9.656h1.969v9.656zM18.984 12h2.016v6.984q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.797 0-1.406-0.609t-0.609-1.406v-6.984h2.016v6.984h13.969v-6.984z"
+ ></path>
+ </symbol>
+ <symbol id="icon-add_link" viewBox="0 0 24 24">
+ <title>add_link</title>
+ <path
+ d="M18.984 12v3h3v2.016h-3v3h-1.969v-3h-3v-2.016h3v-3h1.969zM3.891 12q0 1.266 0.914 2.18t2.18 0.914h4.031v1.922h-4.031q-2.063 0-3.516-1.477t-1.453-3.539 1.453-3.539 3.516-1.477h4.031v1.922h-4.031q-1.266 0-2.18 0.914t-0.914 2.18zM20.109 12q0-1.266-0.914-2.18t-2.18-0.914h-4.031v-1.922h4.031q2.063 0 3.516 1.477t1.453 3.539h-1.875zM8.016 11.016h7.969v1.969h-7.969v-1.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-access_timequery_builderschedule" viewBox="0 0 24 24">
+ <title>access_timequery_builderschedule</title>
+ <path
+ d="M12.516 6.984v5.25l4.5 2.672-0.75 1.266-5.25-3.188v-6h1.5zM12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z"
+ ></path>
+ </symbol>
+ <symbol id="icon-data_usage" viewBox="0 0 24 24">
+ <title>data_usage</title>
+ <path
+ d="M12 18.984q1.359 0 2.953-0.773t2.484-1.852l2.625 1.547q-3 4.078-8.063 4.078-4.125 0-7.055-2.93t-2.93-7.055q0-3.891 2.602-6.727t6.398-3.211v3q-2.531 0.375-4.266 2.344t-1.734 4.594q0 2.906 2.039 4.945t4.945 2.039zM12.984 2.063q3.797 0.375 6.398 3.211t2.602 6.727q0 2.25-0.844 4.078l-2.625-1.547q0.469-1.313 0.469-2.531 0-2.625-1.734-4.594t-4.266-2.344v-3z"
+ ></path>
+ </symbol>
+ <symbol id="icon-storage" viewBox="0 0 24 24">
+ <title>storage</title>
+ <path
+ d="M3.984 11.016v1.969h2.016v-1.969h-2.016zM2.016 14.016v-4.031h19.969v4.031h-19.969zM6 6.984v-1.969h-2.016v1.969h2.016zM2.016 3.984h19.969v4.031h-19.969v-4.031zM3.984 17.016v1.969h2.016v-1.969h-2.016zM2.016 20.016v-4.031h19.969v4.031h-19.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-signal_cellular_alt" viewBox="0 0 24 24">
+ <title>signal_cellular_alt</title>
+ <path
+ d="M11.016 9h3v11.016h-3v-11.016zM5.016 14.016h3v6h-3v-6zM17.016 3.984h3v16.031h-3v-16.031z"
+ ></path>
+ </symbol>
+ <symbol id="icon-border_color" viewBox="0 0 24 24">
+ <title>border_color</title>
+ <path
+ d="M0 20.016h24v3.984h-24v-3.984zM20.719 4.031l-1.969 1.969-3.75-3.75 1.969-1.969q0.281-0.281 0.703-0.281t0.703 0.281l2.344 2.344q0.281 0.281 0.281 0.703t-0.281 0.703zM17.766 6.984l-10.031 10.031h-3.75v-3.75l10.031-10.031z"
+ ></path>
+ </symbol>
+ <symbol id="icon-format_indent_decrease" viewBox="0 0 24 24">
+ <title>format_indent_decrease</title>
+ <path
+ d="M11.016 12.984v-1.969h9.984v1.969h-9.984zM11.016 9v-2.016h9.984v2.016h-9.984zM3 3h18v2.016h-18v-2.016zM3 21v-2.016h18v2.016h-18zM3 12l3.984-3.984v7.969zM11.016 17.016v-2.016h9.984v2.016h-9.984z"
+ ></path>
+ </symbol>
+ <symbol id="icon-format_indent_increase" viewBox="0 0 24 24">
+ <title>format_indent_increase</title>
+ <path
+ d="M11.016 12.984v-1.969h9.984v1.969h-9.984zM11.016 9v-2.016h9.984v2.016h-9.984zM3 3h18v2.016h-18v-2.016zM11.016 17.016v-2.016h9.984v2.016h-9.984zM3 8.016l3.984 3.984-3.984 3.984v-7.969zM3 21v-2.016h18v2.016h-18z"
+ ></path>
+ </symbol>
+ <symbol id="icon-insert_chartpollassessment" viewBox="0 0 24 24">
+ <title>insert_chartpollassessment</title>
+ <path
+ d="M17.016 17.016v-4.031h-2.016v4.031h2.016zM12.984 17.016v-10.031h-1.969v10.031h1.969zM9 17.016v-7.031h-2.016v7.031h2.016zM18.984 3q0.797 0 1.406 0.609t0.609 1.406v13.969q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.797 0-1.406-0.609t-0.609-1.406v-13.969q0-0.797 0.609-1.406t1.406-0.609h13.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-insert_drive_file" viewBox="0 0 24 24">
+ <title>insert_drive_file</title>
+ <path
+ d="M12.984 9h5.531l-5.531-5.484v5.484zM6 2.016h8.016l6 6v12q0 0.797-0.609 1.383t-1.406 0.586h-12q-0.797 0-1.406-0.586t-0.609-1.383l0.047-16.031q0-0.797 0.586-1.383t1.383-0.586z"
+ ></path>
+ </symbol>
+ <symbol id="icon-insert_photoimagephoto" viewBox="0 0 24 24">
+ <title>insert_photoimagephoto</title>
+ <path
+ d="M8.484 13.5l-3.469 4.5h13.969l-4.5-6-3.469 4.5zM21 18.984q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.797 0-1.406-0.609t-0.609-1.406v-13.969q0-0.797 0.609-1.406t1.406-0.609h13.969q0.797 0 1.406 0.609t0.609 1.406v13.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-publish" viewBox="0 0 24 24">
+ <title>publish</title>
+ <path
+ d="M5.016 14.016l6.984-7.031 6.984 7.031h-3.984v6h-6v-6h-3.984zM5.016 3.984h13.969v2.016h-13.969v-2.016z"
+ ></path>
+ </symbol>
+ <symbol id="icon-linear_scale" viewBox="0 0 24 24">
+ <title>linear_scale</title>
+ <path
+ d="M19.5 9.516q1.031 0 1.758 0.727t0.727 1.758-0.727 1.758-1.758 0.727q-1.688 0-2.297-1.5h-2.906q-0.609 1.5-2.297 1.5t-2.297-1.5h-2.906q-0.609 1.5-2.297 1.5-1.031 0-1.758-0.727t-0.727-1.758 0.727-1.758 1.758-0.727q1.688 0 2.297 1.5h2.906q0.609-1.5 2.297-1.5t2.297 1.5h2.906q0.609-1.5 2.297-1.5z"
+ ></path>
+ </symbol>
+ <symbol id="icon-scatter_plot" viewBox="0 0 24 24">
+ <title>scatter_plot</title>
+ <path
+ d="M13.594 17.578q0-1.219 0.891-2.109t2.109-0.891 2.109 0.891 0.891 2.109-0.891 2.109-2.109 0.891-2.109-0.891-0.891-2.109zM8.016 6q0-1.219 0.891-2.109t2.109-0.891 2.109 0.891 0.891 2.109-0.891 2.109-2.109 0.891-2.109-0.891-0.891-2.109zM3.984 14.016q0-1.219 0.891-2.109t2.109-0.891 2.109 0.891 0.891 2.109-0.891 2.109-2.109 0.891-2.109-0.891-0.891-2.109z"
+ ></path>
+ </symbol>
+ <symbol id="icon-bar_chart" viewBox="0 0 24 24">
+ <title>bar_chart</title>
+ <path
+ d="M16.219 12.984h2.766v6h-2.766v-6zM10.594 5.016h2.813v13.969h-2.813v-13.969zM5.016 9.188h3v9.797h-3v-9.797z"
+ ></path>
+ </symbol>
+ <symbol id="icon-cloud_queue" viewBox="0 0 24 24">
+ <title>cloud_queue</title>
+ <path
+ d="M18.984 18q1.219 0 2.109-0.891t0.891-2.109-0.891-2.109-2.109-0.891h-1.5v-0.516q0-2.297-1.594-3.891t-3.891-1.594q-1.875 0-3.328 1.125t-1.969 2.859h-0.703q-1.641 0-2.813 1.195t-1.172 2.836 1.172 2.813 2.813 1.172h12.984zM19.359 10.031q1.922 0.141 3.281 1.57t1.359 3.398q0 2.063-1.477 3.539t-3.539 1.477h-12.984q-2.484 0-4.242-1.758t-1.758-4.242q0-2.203 1.57-3.961t3.773-1.992q0.984-1.828 2.766-2.953t3.891-1.125q2.531 0 4.711 1.781t2.648 4.266z"
+ ></path>
+ </symbol>
+ <symbol id="icon-file_downloadget_app" viewBox="0 0 24 24">
+ <title>file_downloadget_app</title>
+ <path
+ d="M5.016 18h13.969v2.016h-13.969v-2.016zM18.984 9l-6.984 6.984-6.984-6.984h3.984v-6h6v6h3.984z"
+ ></path>
+ </symbol>
+ <symbol id="icon-file_upload" viewBox="0 0 24 24">
+ <title>file_upload</title>
+ <path
+ d="M5.016 18h13.969v2.016h-13.969v-2.016zM9 15.984v-6h-3.984l6.984-6.984 6.984 6.984h-3.984v6h-6z"
+ ></path>
+ </symbol>
+ <symbol id="icon-folder" viewBox="0 0 24 24">
+ <title>folder</title>
+ <path
+ d="M9.984 3.984l2.016 2.016h8.016q0.797 0 1.383 0.609t0.586 1.406v9.984q0 0.797-0.586 1.406t-1.383 0.609h-16.031q-0.797 0-1.383-0.609t-0.586-1.406v-12q0-0.797 0.586-1.406t1.383-0.609h6z"
+ ></path>
+ </symbol>
+ <symbol id="icon-folder_open" viewBox="0 0 24 24">
+ <title>folder_open</title>
+ <path
+ d="M20.016 18v-9.984h-16.031v9.984h16.031zM20.016 6q0.797 0 1.383 0.609t0.586 1.406v9.984q0 0.797-0.586 1.406t-1.383 0.609h-16.031q-0.797 0-1.383-0.609t-0.586-1.406v-12q0-0.797 0.586-1.406t1.383-0.609h6l2.016 2.016h8.016z"
+ ></path>
+ </symbol>
+ <symbol id="icon-create_new_folder" viewBox="0 0 24 24">
+ <title>create_new_folder</title>
+ <path
+ d="M18.984 14.016v-2.016h-3v-3h-1.969v3h-3v2.016h3v3h1.969v-3h3zM20.016 6q0.844 0 1.406 0.586t0.563 1.43v9.984q0 0.844-0.563 1.43t-1.406 0.586h-16.031q-0.844 0-1.406-0.586t-0.563-1.43v-12q0-0.844 0.563-1.43t1.406-0.586h6l2.016 2.016h8.016z"
+ ></path>
+ </symbol>
+ <symbol id="icon-keyboard_arrow_down" viewBox="0 0 24 24">
+ <title>keyboard_arrow_down</title>
+ <path
+ d="M7.406 8.578l4.594 4.594 4.594-4.594 1.406 1.406-6 6-6-6z"
+ ></path>
+ </symbol>
+ <symbol id="icon-keyboard_arrow_left" viewBox="0 0 24 24">
+ <title>keyboard_arrow_left</title>
+ <path
+ d="M15.422 16.594l-1.406 1.406-6-6 6-6 1.406 1.406-4.594 4.594z"
+ ></path>
+ </symbol>
+ <symbol id="icon-keyboard_arrow_right" viewBox="0 0 24 24">
+ <title>keyboard_arrow_right</title>
+ <path
+ d="M8.578 16.594l4.594-4.594-4.594-4.594 1.406-1.406 6 6-6 6z"
+ ></path>
+ </symbol>
+ <symbol id="icon-keyboard_arrow_up" viewBox="0 0 24 24">
+ <title>keyboard_arrow_up</title>
+ <path
+ d="M7.406 15.422l-1.406-1.406 6-6 6 6-1.406 1.406-4.594-4.594z"
+ ></path>
+ </symbol>
+ <symbol id="icon-keyboard_backspace" viewBox="0 0 24 24">
+ <title>keyboard_backspace</title>
+ <path
+ d="M21 11.016v1.969h-14.156l3.563 3.609-1.406 1.406-6-6 6-6 1.406 1.406-3.563 3.609h14.156z"
+ ></path>
+ </symbol>
+ <symbol id="icon-keyboard_return" viewBox="0 0 24 24">
+ <title>keyboard_return</title>
+ <path
+ d="M18.984 6.984h2.016v6h-15.188l3.609 3.609-1.406 1.406-6-6 6-6 1.406 1.406-3.609 3.609h13.172v-4.031z"
+ ></path>
+ </symbol>
+ <symbol id="icon-keyboard_tab" viewBox="0 0 24 24">
+ <title>keyboard_tab</title>
+ <path
+ d="M20.016 6h1.969v12h-1.969v-12zM11.578 7.406l1.406-1.406 6 6-6 6-1.406-1.406 3.609-3.609h-14.203v-1.969h14.203z"
+ ></path>
+ </symbol>
+ <symbol id="icon-device_hub" viewBox="0 0 24 24">
+ <title>device_hub</title>
+ <path
+ d="M17.016 15.984h3.984v5.016h-5.016v-3.047l-3.984-4.219-3.984 4.219v3.047h-5.016v-5.016h3.984l4.031-3.984v-3.188q-0.891-0.328-1.453-1.078t-0.563-1.734q0-1.219 0.891-2.109t2.109-0.891 2.109 0.891 0.891 2.109q0 0.984-0.563 1.734t-1.453 1.078v3.188z"
+ ></path>
+ </symbol>
+ <symbol id="icon-arrow_drop_down" viewBox="0 0 24 24">
+ <title>arrow_drop_down</title>
+ <path d="M6.984 9.984h10.031l-5.016 5.016z"></path>
+ </symbol>
+ <symbol id="icon-arrow_drop_up" viewBox="0 0 24 24">
+ <title>arrow_drop_up</title>
+ <path d="M6.984 14.016l5.016-5.016 5.016 5.016h-10.031z"></path>
+ </symbol>
+ <symbol id="icon-cancel" viewBox="0 0 24 24">
+ <title>cancel</title>
+ <path
+ d="M17.016 15.609l-3.609-3.609 3.609-3.609-1.406-1.406-3.609 3.609-3.609-3.609-1.406 1.406 3.609 3.609-3.609 3.609 1.406 1.406 3.609-3.609 3.609 3.609zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z"
+ ></path>
+ </symbol>
+ <symbol id="icon-keyboard_control" viewBox="0 0 24 24">
+ <title>keyboard_control</title>
+ <path
+ d="M12 9.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609zM18 9.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609zM6 9.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609z"
+ ></path>
+ </symbol>
+ <symbol id="icon-refresh" viewBox="0 0 24 24">
+ <title>refresh</title>
+ <path
+ d="M17.672 6.328l2.344-2.344v7.031h-7.031l3.234-3.234q-1.781-1.781-4.219-1.781-2.484 0-4.242 1.758t-1.758 4.242 1.758 4.242 4.242 1.758q1.734 0 3.398-1.172t2.273-2.813h2.063q-0.656 2.625-2.813 4.313t-4.922 1.688q-3.281 0-5.625-2.344t-2.344-5.672 2.344-5.672 5.625-2.344q1.406 0 3.070 0.68t2.602 1.664z"
+ ></path>
+ </symbol>
+ <symbol id="icon-unfold_more" viewBox="0 0 24 24">
+ <title>unfold_more</title>
+ <path
+ d="M12 18.188l3.188-3.188 1.406 1.406-4.594 4.594-4.594-4.594 1.406-1.406zM12 5.813l-3.188 3.188-1.406-1.406 4.594-4.594 4.594 4.594-1.406 1.406z"
+ ></path>
+ </symbol>
+ <symbol id="icon-arrow_left" viewBox="0 0 24 24">
+ <title>arrow_left</title>
+ <path d="M14.016 6.984v10.031l-5.016-5.016z"></path>
+ </symbol>
+ <symbol id="icon-arrow_right" viewBox="0 0 24 24">
+ <title>arrow_right</title>
+ <path d="M9.984 17.016v-10.031l5.016 5.016z"></path>
+ </symbol>
+ <symbol id="icon-arrow_back_ios" viewBox="0 0 24 24">
+ <title>arrow_back_ios</title>
+ <path
+ d="M11.672 3.891l-8.109 8.109 8.109 8.109-1.781 1.781-9.891-9.891 9.891-9.891z"
+ ></path>
+ </symbol>
+ <symbol id="icon-arrow_forward_ios" viewBox="0 0 24 24">
+ <title>arrow_forward_ios</title>
+ <path
+ d="M5.859 4.125l2.156-2.109 9.984 9.984-9.984 9.984-2.156-2.109 7.922-7.875z"
+ ></path>
+ </symbol>
+ <symbol id="icon-notifications" viewBox="0 0 24 24">
+ <title>notifications</title>
+ <path
+ d="M18 15.984l2.016 2.016v0.984h-16.031v-0.984l2.016-2.016v-4.969q0-2.344 1.195-4.078t3.305-2.25v-0.703q0-0.609 0.422-1.055t1.078-0.445 1.078 0.445 0.422 1.055v0.703q2.109 0.516 3.305 2.25t1.195 4.078v4.969zM12 21.984q-0.844 0-1.43-0.563t-0.586-1.406h4.031q0 0.797-0.609 1.383t-1.406 0.586z"
+ ></path>
+ </symbol>
+ <symbol id="icon-notifications_none" viewBox="0 0 24 24">
+ <title>notifications_none</title>
+ <path
+ d="M15.984 17.016v-6q0-1.922-1.078-3.211t-2.906-1.289-2.906 1.289-1.078 3.211v6h7.969zM18 15.984l2.016 2.016v0.984h-16.031v-0.984l2.016-2.016v-4.969q0-2.344 1.195-4.078t3.305-2.25v-0.703q0-0.609 0.422-1.055t1.078-0.445 1.078 0.445 0.422 1.055v0.703q2.109 0.516 3.305 2.25t1.195 4.078v4.969zM12 21.984q-0.797 0-1.406-0.586t-0.609-1.383h4.031q0 0.797-0.609 1.383t-1.406 0.586z"
+ ></path>
+ </symbol>
+ <symbol id="icon-notifications_off" viewBox="0 0 24 24">
+ <title>notifications_off</title>
+ <path
+ d="M18 14.672l-8.953-9.422q0.141-0.047 0.375-0.164l0.328-0.164h0.047l0.281-0.141q0.047 0 0.188-0.047t0.234-0.047v-0.703q0-0.609 0.422-1.055t1.078-0.445 1.078 0.445 0.422 1.055v0.703q2.109 0.516 3.305 2.25t1.195 4.078v3.656zM12 21.984q-0.844 0-1.43-0.563t-0.586-1.406h4.031q0 0.844-0.586 1.406t-1.43 0.563zM7.828 6.141q1.125 1.172 5.883 6.047t7.289 7.547l-1.266 1.266-2.016-2.016h-13.734v-0.984l2.016-2.016v-5.016q0-1.922 0.797-3.422l-2.813-2.766 1.266-1.313z"
+ ></path>
+ </symbol>
+ <symbol id="icon-check_box" viewBox="0 0 24 24">
+ <title>check_box</title>
+ <path
+ d="M9.984 17.016l9-9-1.406-1.453-7.594 7.594-3.563-3.563-1.406 1.406zM18.984 3q0.844 0 1.43 0.586t0.586 1.43v13.969q0 0.844-0.586 1.43t-1.43 0.586h-13.969q-0.844 0-1.43-0.586t-0.586-1.43v-13.969q0-0.844 0.586-1.43t1.43-0.586h13.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-check_box_outline_blank" viewBox="0 0 24 24">
+ <title>check_box_outline_blank</title>
+ <path
+ d="M18.984 3q0.797 0 1.406 0.609t0.609 1.406v13.969q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.797 0-1.406-0.609t-0.609-1.406v-13.969q0-0.797 0.609-1.406t1.406-0.609h13.969zM18.984 5.016h-13.969v13.969h13.969v-13.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-assignment" viewBox="0 0 24 24">
+ <title>assignment</title>
+ <path
+ d="M17.016 9v-2.016h-10.031v2.016h10.031zM17.016 12.984v-1.969h-10.031v1.969h10.031zM14.016 17.016v-2.016h-7.031v2.016h7.031zM12 3q-0.422 0-0.703 0.281t-0.281 0.703 0.281 0.727 0.703 0.305 0.703-0.305 0.281-0.727-0.281-0.703-0.703-0.281zM18.984 3q0.797 0 1.406 0.609t0.609 1.406v13.969q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.797 0-1.406-0.609t-0.609-1.406v-13.969q0-0.797 0.609-1.406t1.406-0.609h4.172q0.328-0.891 1.078-1.453t1.734-0.563 1.734 0.563 1.078 1.453h4.172z"
+ ></path>
+ </symbol>
+ <symbol id="icon-cached" viewBox="0 0 24 24">
+ <title>cached</title>
+ <path
+ d="M6 12h3l-3.984 3.984-4.031-3.984h3q0-3.281 2.367-5.648t5.648-2.367q2.344 0 4.266 1.266l-1.453 1.453q-1.266-0.703-2.813-0.703-2.484 0-4.242 1.758t-1.758 4.242zM18.984 8.016l4.031 3.984h-3q0 3.281-2.367 5.648t-5.648 2.367q-2.344 0-4.266-1.266l1.453-1.453q1.313 0.703 2.813 0.703 2.484 0 4.242-1.758t1.758-4.242h-3z"
+ ></path>
+ </symbol>
+ <symbol id="icon-code" viewBox="0 0 24 24">
+ <title>code</title>
+ <path
+ d="M14.578 16.594l4.641-4.594-4.641-4.594 1.406-1.406 6 6-6 6zM9.422 16.594l-1.406 1.406-6-6 6-6 1.406 1.406-4.641 4.594z"
+ ></path>
+ </symbol>
+ <symbol id="icon-description" viewBox="0 0 24 24">
+ <title>description</title>
+ <path
+ d="M12.984 9h5.531l-5.531-5.484v5.484zM15.984 14.016v-2.016h-7.969v2.016h7.969zM15.984 18v-2.016h-7.969v2.016h7.969zM14.016 2.016l6 6v12q0 0.797-0.609 1.383t-1.406 0.586h-12q-0.797 0-1.406-0.586t-0.609-1.383l0.047-16.031q0-0.797 0.586-1.383t1.383-0.586h8.016z"
+ ></path>
+ </symbol>
+ <symbol id="icon-dns" viewBox="0 0 24 24">
+ <title>dns</title>
+ <path
+ d="M6.984 9q0.797 0 1.406-0.609t0.609-1.406-0.609-1.383-1.406-0.586-1.383 0.586-0.586 1.383 0.586 1.406 1.383 0.609zM20.016 3q0.422 0 0.703 0.281t0.281 0.703v6q0 0.422-0.281 0.727t-0.703 0.305h-16.031q-0.422 0-0.703-0.305t-0.281-0.727v-6q0-0.422 0.281-0.703t0.703-0.281h16.031zM6.984 18.984q0.797 0 1.406-0.586t0.609-1.383-0.609-1.406-1.406-0.609-1.383 0.609-0.586 1.406 0.586 1.383 1.383 0.586zM20.016 12.984q0.422 0 0.703 0.305t0.281 0.727v6q0 0.422-0.281 0.703t-0.703 0.281h-16 [...]
+ ></path>
+ </symbol>
+ <symbol id="icon-help" viewBox="0 0 24 24">
+ <title>help</title>
+ <path
+ d="M15.047 11.25q0.938-0.938 0.938-2.25 0-1.641-1.172-2.813t-2.813-1.172-2.813 1.172-1.172 2.813h1.969q0-0.797 0.609-1.406t1.406-0.609 1.406 0.609 0.609 1.406-0.609 1.406l-1.219 1.266q-1.172 1.266-1.172 2.813v0.516h1.969q0-1.547 1.172-2.813zM12.984 18.984v-1.969h-1.969v1.969h1.969zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z"
+ ></path>
+ </symbol>
+ <symbol id="icon-highlight_remove" viewBox="0 0 24 24">
+ <title>highlight_remove</title>
+ <path
+ d="M12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93zM14.578 8.016l1.406 1.406-2.578 2.578 2.578 2.578-1.406 1.406-2.578-2.578-2.578 2.578-1.406-1.406 2.578-2.578-2.578-2.578 1.406-1.406 2.578 2.578z"
+ ></path>
+ </symbol>
+ <symbol id="icon-info" viewBox="0 0 24 24">
+ <title>info</title>
+ <path
+ d="M12.984 9v-2.016h-1.969v2.016h1.969zM12.984 17.016v-6h-1.969v6h1.969zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z"
+ ></path>
+ </symbol>
+ <symbol id="icon-info_outline" viewBox="0 0 24 24">
+ <title>info_outline</title>
+ <path
+ d="M11.016 9v-2.016h1.969v2.016h-1.969zM12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93zM11.016 17.016v-6h1.969v6h-1.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-language" viewBox="0 0 24 24">
+ <title>language</title>
+ <path
+ d="M16.359 14.016h3.375q0.281-1.313 0.281-2.016t-0.281-2.016h-3.375q0.141 0.984 0.141 2.016t-0.141 2.016zM14.578 19.547q1.172-0.375 2.438-1.43t1.922-2.133h-2.953q-0.469 1.875-1.406 3.563zM14.344 14.016q0.141-0.984 0.141-2.016t-0.141-2.016h-4.688q-0.141 0.984-0.141 2.016t0.141 2.016h4.688zM12 19.969q1.313-1.922 1.922-3.984h-3.844q0.609 2.063 1.922 3.984zM8.016 8.016q0.563-2.016 1.406-3.563-1.172 0.375-2.461 1.43t-1.898 2.133h2.953zM5.063 15.984q0.609 1.078 1.898 2.133t2.461 1. [...]
+ ></path>
+ </symbol>
+ <symbol id="icon-lock_open" viewBox="0 0 24 24">
+ <title>lock_open</title>
+ <path
+ d="M18 20.016v-10.031h-12v10.031h12zM18 8.016q0.797 0 1.406 0.586t0.609 1.383v10.031q0 0.797-0.609 1.383t-1.406 0.586h-12q-0.797 0-1.406-0.586t-0.609-1.383v-10.031q0-0.797 0.609-1.383t1.406-0.586h9.094v-2.016q0-1.266-0.914-2.18t-2.18-0.914-2.18 0.914-0.914 2.18h-1.922q0-2.063 1.477-3.539t3.539-1.477 3.539 1.477 1.477 3.539v2.016h0.984zM12 17.016q-0.797 0-1.406-0.609t-0.609-1.406 0.609-1.406 1.406-0.609 1.406 0.609 0.609 1.406-0.609 1.406-1.406 0.609z"
+ ></path>
+ </symbol>
+ <symbol id="icon-lock_outline" viewBox="0 0 24 24">
+ <title>lock_outline</title>
+ <path
+ d="M18 20.016v-10.031h-12v10.031h12zM8.906 6v2.016h6.188v-2.016q0-1.266-0.914-2.18t-2.18-0.914-2.18 0.914-0.914 2.18zM18 8.016q0.797 0 1.406 0.586t0.609 1.383v10.031q0 0.797-0.609 1.383t-1.406 0.586h-12q-0.797 0-1.406-0.586t-0.609-1.383v-10.031q0-0.797 0.609-1.383t1.406-0.586h0.984v-2.016q0-2.063 1.477-3.539t3.539-1.477 3.539 1.477 1.477 3.539v2.016h0.984zM12 17.016q-0.797 0-1.406-0.609t-0.609-1.406 0.609-1.406 1.406-0.609 1.406 0.609 0.609 1.406-0.609 1.406-1.406 0.609z"
+ ></path>
+ </symbol>
+ <symbol id="icon-search" viewBox="0 0 24 24">
+ <title>search</title>
+ <path
+ d="M9.516 14.016q1.875 0 3.188-1.313t1.313-3.188-1.313-3.188-3.188-1.313-3.188 1.313-1.313 3.188 1.313 3.188 3.188 1.313zM15.516 14.016l4.969 4.969-1.5 1.5-4.969-4.969v-0.797l-0.281-0.281q-1.781 1.547-4.219 1.547-2.719 0-4.617-1.875t-1.898-4.594 1.898-4.617 4.617-1.898 4.594 1.898 1.875 4.617q0 0.984-0.469 2.227t-1.078 1.992l0.281 0.281h0.797z"
+ ></path>
+ </symbol>
+ <symbol id="icon-settings" viewBox="0 0 24 24">
+ <title>settings</title>
+ <path
+ d="M12 15.516q1.453 0 2.484-1.031t1.031-2.484-1.031-2.484-2.484-1.031-2.484 1.031-1.031 2.484 1.031 2.484 2.484 1.031zM19.453 12.984l2.109 1.641q0.328 0.234 0.094 0.656l-2.016 3.469q-0.188 0.328-0.609 0.188l-2.484-0.984q-0.984 0.703-1.688 0.984l-0.375 2.625q-0.094 0.422-0.469 0.422h-4.031q-0.375 0-0.469-0.422l-0.375-2.625q-0.891-0.375-1.688-0.984l-2.484 0.984q-0.422 0.141-0.609-0.188l-2.016-3.469q-0.234-0.422 0.094-0.656l2.109-1.641q-0.047-0.328-0.047-0.984t0.047-0.984l-2.109 [...]
+ ></path>
+ </symbol>
+ <symbol id="icon-settings_ethernet" viewBox="0 0 24 24">
+ <title>settings_ethernet</title>
+ <path
+ d="M17.766 5.484l5.438 6.516-5.438 6.516-1.547-1.266 4.359-5.25-4.359-5.25zM11.016 12.984v-1.969h1.969v1.969h-1.969zM17.016 11.016v1.969h-2.016v-1.969h2.016zM6.984 12.984v-1.969h2.016v1.969h-2.016zM7.781 6.75l-4.359 5.25 4.359 5.25-1.547 1.266-5.438-6.516 5.438-6.516z"
+ ></path>
+ </symbol>
+ <symbol id="icon-donut_small" viewBox="0 0 24 24">
+ <title>donut_small</title>
+ <path
+ d="M12.984 14.859q1.266-0.375 1.875-1.875h7.125q-0.375 3.609-2.836 6.141t-6.164 2.859v-7.125zM14.859 11.016q-0.563-1.5-1.875-1.875v-7.125q3.703 0.328 6.164 2.859t2.836 6.141h-7.125zM11.016 9.141q-0.797 0.328-1.406 1.125t-0.609 1.734 0.609 1.734 1.406 1.125v7.125q-3.797-0.375-6.398-3.234t-2.602-6.75 2.602-6.75 6.398-3.234v7.125z"
+ ></path>
+ </symbol>
+ <symbol id="icon-timeline" viewBox="0 0 24 24">
+ <title>timeline</title>
+ <path
+ d="M23.016 8.016q0 0.797-0.609 1.383t-1.406 0.586h-0.047q-0.328 0-0.469-0.047l-3.563 3.563q0.094 0.281 0.094 0.516 0 0.797-0.609 1.383t-1.406 0.586-1.406-0.586-0.609-1.383q0-0.234 0.094-0.516l-2.578-2.578q-0.281 0.094-0.516 0.094t-0.516-0.094l-4.547 4.547q0.094 0.281 0.094 0.516 0 0.797-0.609 1.406t-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.383 1.406-0.586q0.375 0 0.516 0.047l4.547-4.547q-0.047-0.141-0.047-0.516 0-0.797 0.586-1.406t1.383-0.609 1.406 0.609 0.609 1.406q0 0.37 [...]
+ ></path>
+ </symbol>
+ <symbol id="icon-account_tree" viewBox="0 0 24 24">
+ <title>account_tree</title>
+ <path
+ d="M21.984 11.016h-6.984v-3h-2.016v7.969h2.016v-3h6.984v8.016h-6.984v-3h-3.984v-9.984h-2.016v3h-6.984v-8.016h6.984v3h6v-3h6.984v8.016z"
+ ></path>
+ </symbol>
+ <symbol id="icon-all_inbox" viewBox="0 0 24 24">
+ <title>all_inbox</title>
+ <path
+ d="M15 15.984h6v3q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.797 0-1.406-0.609t-0.609-1.406v-3h6q0 1.219 0.891 2.109t2.109 0.891 2.109-0.891 0.891-2.109zM18.984 9v-3.984h-13.969v3.984h3.984q0 1.219 0.891 2.109t2.109 0.891 2.109-0.891 0.891-2.109h3.984zM18.984 3q0.797 0 1.406 0.609t0.609 1.406v6.984q0 0.797-0.609 1.406t-1.406 0.609h-13.969q-0.797 0-1.406-0.609t-0.609-1.406v-6.984q0-0.797 0.609-1.406t1.406-0.609h13.969z"
+ ></path>
+ </symbol>
+ <symbol id="icon-dashboard_customize" viewBox="0 0 24 24">
+ <title>dashboard_customize</title>
+ <path
+ d="M18 12.984v3h3v2.016h-3v3h-2.016v-3h-3v-2.016h3v-3h2.016zM3 12.984h8.016v8.016h-8.016v-8.016zM12.984 3h8.016v8.016h-8.016v-8.016zM3 3h8.016v8.016h-8.016v-8.016z"
+ ></path>
+ </symbol>
+ <symbol id="icon-speed" viewBox="0 0 24 24">
+ <title>speed</title>
+ <path
+ d="M12 15.984q-0.797 0-1.406-0.586t-0.609-1.383q0-0.844 0.609-1.453l8.484-5.625-5.672 8.484q-0.563 0.563-1.406 0.563zM20.391 8.578q0.656 1.031 1.125 2.625t0.469 2.813q0 2.766-1.313 4.969-0.609 1.031-1.734 1.031h-13.875q-1.125 0-1.734-1.031-1.313-2.203-1.313-4.969 0-4.125 2.93-7.055t7.102-2.93q1.219 0 2.789 0.469t2.602 1.125l-1.875 1.219q-1.688-0.844-3.563-0.844-3.281 0-5.648 2.344t-2.367 5.672q0 2.156 1.078 3.984h13.875q1.078-1.828 1.078-3.984 0-1.922-0.844-3.609z"
+ ></path>
+ </symbol>
+ <symbol id="icon-sync_alt" viewBox="0 0 24 24">
+ <title>sync_alt</title>
+ <path
+ d="M2.016 15.984l3.984-3.984v3h15v2.016h-15v3zM21.984 8.016l-3.984 3.984v-3h-15v-2.016h15v-3z"
+ ></path>
+ </symbol>
+ </defs>
</svg>
<div class="clearfix mhl ptl">
- <h1 class="mvm mtn fgc1">Grid Size: 24</h1>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-error">
- <use xlink:href="#icon-error"></use>
- </svg><span class="name"> error</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-error_outline">
- <use xlink:href="#icon-error_outline"></use>
- </svg><span class="name"> error_outline</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-warningreport_problem">
- <use xlink:href="#icon-warningreport_problem"></use>
- </svg><span class="name"> warningreport_problem</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-notification_important">
- <use xlink:href="#icon-notification_important"></use>
- </svg><span class="name"> notification_important</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-av_timer">
- <use xlink:href="#icon-av_timer"></use>
- </svg><span class="name"> av_timer</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-equalizer">
- <use xlink:href="#icon-equalizer"></use>
- </svg><span class="name"> equalizer</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-loopsync">
- <use xlink:href="#icon-loopsync"></use>
- </svg><span class="name"> loopsync</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-library_addqueueadd_to_photos">
- <use xlink:href="#icon-library_addqueueadd_to_photos"></use>
- </svg><span class="name"> library_addqueueadd_to_photos</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-library_books">
- <use xlink:href="#icon-library_books"></use>
- </svg><span class="name"> library_books</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-not_interesteddo_not_disturb">
- <use xlink:href="#icon-not_interesteddo_not_disturb"></use>
- </svg><span class="name"> not_interesteddo_not_disturb</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-playlist_add">
- <use xlink:href="#icon-playlist_add"></use>
- </svg><span class="name"> playlist_add</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-repeat">
- <use xlink:href="#icon-repeat"></use>
- </svg><span class="name"> repeat</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-replay">
- <use xlink:href="#icon-replay"></use>
- </svg><span class="name"> replay</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-slow_motion_video">
- <use xlink:href="#icon-slow_motion_video"></use>
- </svg><span class="name"> slow_motion_video</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-import_export">
- <use xlink:href="#icon-import_export"></use>
- </svg><span class="name"> import_export</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-location_onplaceroom">
- <use xlink:href="#icon-location_onplaceroom"></use>
- </svg><span class="name"> location_onplaceroom</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-vpn_key">
- <use xlink:href="#icon-vpn_key"></use>
- </svg><span class="name"> vpn_key</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-import_contacts">
- <use xlink:href="#icon-import_contacts"></use>
- </svg><span class="name"> import_contacts</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-mail_outline">
- <use xlink:href="#icon-mail_outline"></use>
- </svg><span class="name"> mail_outline</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-sentiment_satisfied_alt">
- <use xlink:href="#icon-sentiment_satisfied_alt"></use>
- </svg><span class="name"> sentiment_satisfied_alt</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-lightbulb">
- <use xlink:href="#icon-lightbulb"></use>
- </svg><span class="name"> lightbulb</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-add">
- <use xlink:href="#icon-add"></use>
- </svg><span class="name"> add</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-add_box">
- <use xlink:href="#icon-add_box"></use>
- </svg><span class="name"> add_box</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-add_circle">
- <use xlink:href="#icon-add_circle"></use>
- </svg><span class="name"> add_circle</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-add_circle_outlinecontrol_point">
- <use xlink:href="#icon-add_circle_outlinecontrol_point"></use>
- </svg><span class="name"> add_circle_outlinecontrol_point</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-backspace">
- <use xlink:href="#icon-backspace"></use>
- </svg><span class="name"> backspace</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-clearclose">
- <use xlink:href="#icon-clearclose"></use>
- </svg><span class="name"> clearclose</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-content_copy">
- <use xlink:href="#icon-content_copy"></use>
- </svg><span class="name"> content_copy</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-content_cut">
- <use xlink:href="#icon-content_cut"></use>
- </svg><span class="name"> content_cut</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-content_paste">
- <use xlink:href="#icon-content_paste"></use>
- </svg><span class="name"> content_paste</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-createmode_editedit">
- <use xlink:href="#icon-createmode_editedit"></use>
- </svg><span class="name"> createmode_editedit</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-inbox">
- <use xlink:href="#icon-inbox"></use>
- </svg><span class="name"> inbox</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-linkinsert_link">
- <use xlink:href="#icon-linkinsert_link"></use>
- </svg><span class="name"> linkinsert_link</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-redo">
- <use xlink:href="#icon-redo"></use>
- </svg><span class="name"> redo</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-remove">
- <use xlink:href="#icon-remove"></use>
- </svg><span class="name"> remove</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-remove_circledo_not_disturb_on">
- <use xlink:href="#icon-remove_circledo_not_disturb_on"></use>
- </svg><span class="name"> remove_circledo_not_disturb_on</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-remove_circle_outline">
- <use xlink:href="#icon-remove_circle_outline"></use>
- </svg><span class="name"> remove_circle_outline</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-reply">
- <use xlink:href="#icon-reply"></use>
- </svg><span class="name"> reply</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-reply_all">
- <use xlink:href="#icon-reply_all"></use>
- </svg><span class="name"> reply_all</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-report">
- <use xlink:href="#icon-report"></use>
- </svg><span class="name"> report</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-save">
- <use xlink:href="#icon-save"></use>
- </svg><span class="name"> save</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-link_off">
- <use xlink:href="#icon-link_off"></use>
- </svg><span class="name"> link_off</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-save_alt">
- <use xlink:href="#icon-save_alt"></use>
- </svg><span class="name"> save_alt</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-add_link">
- <use xlink:href="#icon-add_link"></use>
- </svg><span class="name"> add_link</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-access_timequery_builderschedule">
- <use xlink:href="#icon-access_timequery_builderschedule"></use>
- </svg><span class="name"> access_timequery_builderschedule</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-data_usage">
- <use xlink:href="#icon-data_usage"></use>
- </svg><span class="name"> data_usage</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-storage">
- <use xlink:href="#icon-storage"></use>
- </svg><span class="name"> storage</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-signal_cellular_alt">
- <use xlink:href="#icon-signal_cellular_alt"></use>
- </svg><span class="name"> signal_cellular_alt</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-border_color">
- <use xlink:href="#icon-border_color"></use>
- </svg><span class="name"> border_color</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-format_indent_decrease">
- <use xlink:href="#icon-format_indent_decrease"></use>
- </svg><span class="name"> format_indent_decrease</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-format_indent_increase">
- <use xlink:href="#icon-format_indent_increase"></use>
- </svg><span class="name"> format_indent_increase</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-insert_chartpollassessment">
- <use xlink:href="#icon-insert_chartpollassessment"></use>
- </svg><span class="name"> insert_chartpollassessment</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-insert_drive_file">
- <use xlink:href="#icon-insert_drive_file"></use>
- </svg><span class="name"> insert_drive_file</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-insert_photoimagephoto">
- <use xlink:href="#icon-insert_photoimagephoto"></use>
- </svg><span class="name"> insert_photoimagephoto</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-publish">
- <use xlink:href="#icon-publish"></use>
- </svg><span class="name"> publish</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-linear_scale">
- <use xlink:href="#icon-linear_scale"></use>
- </svg><span class="name"> linear_scale</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-scatter_plot">
- <use xlink:href="#icon-scatter_plot"></use>
- </svg><span class="name"> scatter_plot</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-bar_chart">
- <use xlink:href="#icon-bar_chart"></use>
- </svg><span class="name"> bar_chart</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-cloud_queue">
- <use xlink:href="#icon-cloud_queue"></use>
- </svg><span class="name"> cloud_queue</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-file_downloadget_app">
- <use xlink:href="#icon-file_downloadget_app"></use>
- </svg><span class="name"> file_downloadget_app</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-file_upload">
- <use xlink:href="#icon-file_upload"></use>
- </svg><span class="name"> file_upload</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-folder">
- <use xlink:href="#icon-folder"></use>
- </svg><span class="name"> folder</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-folder_open">
- <use xlink:href="#icon-folder_open"></use>
- </svg><span class="name"> folder_open</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-create_new_folder">
- <use xlink:href="#icon-create_new_folder"></use>
- </svg><span class="name"> create_new_folder</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-keyboard_arrow_down">
- <use xlink:href="#icon-keyboard_arrow_down"></use>
- </svg><span class="name"> keyboard_arrow_down</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-keyboard_arrow_left">
- <use xlink:href="#icon-keyboard_arrow_left"></use>
- </svg><span class="name"> keyboard_arrow_left</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-keyboard_arrow_right">
- <use xlink:href="#icon-keyboard_arrow_right"></use>
- </svg><span class="name"> keyboard_arrow_right</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-keyboard_arrow_up">
- <use xlink:href="#icon-keyboard_arrow_up"></use>
- </svg><span class="name"> keyboard_arrow_up</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-keyboard_backspace">
- <use xlink:href="#icon-keyboard_backspace"></use>
- </svg><span class="name"> keyboard_backspace</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-keyboard_return">
- <use xlink:href="#icon-keyboard_return"></use>
- </svg><span class="name"> keyboard_return</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-keyboard_tab">
- <use xlink:href="#icon-keyboard_tab"></use>
- </svg><span class="name"> keyboard_tab</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-device_hub">
- <use xlink:href="#icon-device_hub"></use>
- </svg><span class="name"> device_hub</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-arrow_drop_down">
- <use xlink:href="#icon-arrow_drop_down"></use>
- </svg><span class="name"> arrow_drop_down</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-arrow_drop_up">
- <use xlink:href="#icon-arrow_drop_up"></use>
- </svg><span class="name"> arrow_drop_up</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-cancel">
- <use xlink:href="#icon-cancel"></use>
- </svg><span class="name"> cancel</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-keyboard_control">
- <use xlink:href="#icon-keyboard_control"></use>
- </svg><span class="name"> keyboard_control</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-refresh">
- <use xlink:href="#icon-refresh"></use>
- </svg><span class="name"> refresh</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-unfold_more">
- <use xlink:href="#icon-unfold_more"></use>
- </svg><span class="name"> unfold_more</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-arrow_left">
- <use xlink:href="#icon-arrow_left"></use>
- </svg><span class="name"> arrow_left</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-arrow_right">
- <use xlink:href="#icon-arrow_right"></use>
- </svg><span class="name"> arrow_right</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-arrow_back_ios">
- <use xlink:href="#icon-arrow_back_ios"></use>
- </svg><span class="name"> arrow_back_ios</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-arrow_forward_ios">
- <use xlink:href="#icon-arrow_forward_ios"></use>
- </svg><span class="name"> arrow_forward_ios</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-notifications">
- <use xlink:href="#icon-notifications"></use>
- </svg><span class="name"> notifications</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-notifications_none">
- <use xlink:href="#icon-notifications_none"></use>
- </svg><span class="name"> notifications_none</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-notifications_off">
- <use xlink:href="#icon-notifications_off"></use>
- </svg><span class="name"> notifications_off</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-check_box">
- <use xlink:href="#icon-check_box"></use>
- </svg><span class="name"> check_box</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-check_box_outline_blank">
- <use xlink:href="#icon-check_box_outline_blank"></use>
- </svg><span class="name"> check_box_outline_blank</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-assignment">
- <use xlink:href="#icon-assignment"></use>
- </svg><span class="name"> assignment</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-cached">
- <use xlink:href="#icon-cached"></use>
- </svg><span class="name"> cached</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-code">
- <use xlink:href="#icon-code"></use>
- </svg><span class="name"> code</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-description">
- <use xlink:href="#icon-description"></use>
- </svg><span class="name"> description</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-dns">
- <use xlink:href="#icon-dns"></use>
- </svg><span class="name"> dns</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-help">
- <use xlink:href="#icon-help"></use>
- </svg><span class="name"> help</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-highlight_remove">
- <use xlink:href="#icon-highlight_remove"></use>
- </svg><span class="name"> highlight_remove</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-info">
- <use xlink:href="#icon-info"></use>
- </svg><span class="name"> info</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-info_outline">
- <use xlink:href="#icon-info_outline"></use>
- </svg><span class="name"> info_outline</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-language">
- <use xlink:href="#icon-language"></use>
- </svg><span class="name"> language</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-lock_open">
- <use xlink:href="#icon-lock_open"></use>
- </svg><span class="name"> lock_open</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-lock_outline">
- <use xlink:href="#icon-lock_outline"></use>
- </svg><span class="name"> lock_outline</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-search">
- <use xlink:href="#icon-search"></use>
- </svg><span class="name"> search</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-settings">
- <use xlink:href="#icon-settings"></use>
- </svg><span class="name"> settings</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-settings_ethernet">
- <use xlink:href="#icon-settings_ethernet"></use>
- </svg><span class="name"> settings_ethernet</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-donut_small">
- <use xlink:href="#icon-donut_small"></use>
- </svg><span class="name"> donut_small</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-timeline">
- <use xlink:href="#icon-timeline"></use>
- </svg><span class="name"> timeline</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-account_tree">
- <use xlink:href="#icon-account_tree"></use>
- </svg><span class="name"> account_tree</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-all_inbox">
- <use xlink:href="#icon-all_inbox"></use>
- </svg><span class="name"> all_inbox</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-dashboard_customize">
- <use xlink:href="#icon-dashboard_customize"></use>
- </svg><span class="name"> dashboard_customize</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-speed">
- <use xlink:href="#icon-speed"></use>
- </svg><span class="name"> speed</span>
- </div>
- </div>
- <div class="glyph fs1">
- <div class="clearfix pbs">
- <svg class="icon icon-sync_alt">
- <use xlink:href="#icon-sync_alt"></use>
- </svg><span class="name"> sync_alt</span>
- </div>
- </div>
+ <h1 class="mvm mtn fgc1">Grid Size: 24</h1>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-error">
+ <use xlink:href="#icon-error"></use></svg
+ ><span class="name"> error</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-error_outline">
+ <use xlink:href="#icon-error_outline"></use></svg
+ ><span class="name"> error_outline</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-warningreport_problem">
+ <use xlink:href="#icon-warningreport_problem"></use></svg
+ ><span class="name"> warningreport_problem</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-notification_important">
+ <use xlink:href="#icon-notification_important"></use></svg
+ ><span class="name"> notification_important</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-av_timer">
+ <use xlink:href="#icon-av_timer"></use></svg
+ ><span class="name"> av_timer</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-equalizer">
+ <use xlink:href="#icon-equalizer"></use></svg
+ ><span class="name"> equalizer</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-loopsync">
+ <use xlink:href="#icon-loopsync"></use></svg
+ ><span class="name"> loopsync</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-library_addqueueadd_to_photos">
+ <use xlink:href="#icon-library_addqueueadd_to_photos"></use></svg
+ ><span class="name"> library_addqueueadd_to_photos</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-library_books">
+ <use xlink:href="#icon-library_books"></use></svg
+ ><span class="name"> library_books</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-not_interesteddo_not_disturb">
+ <use xlink:href="#icon-not_interesteddo_not_disturb"></use></svg
+ ><span class="name"> not_interesteddo_not_disturb</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-playlist_add">
+ <use xlink:href="#icon-playlist_add"></use></svg
+ ><span class="name"> playlist_add</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-repeat">
+ <use xlink:href="#icon-repeat"></use></svg
+ ><span class="name"> repeat</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-replay">
+ <use xlink:href="#icon-replay"></use></svg
+ ><span class="name"> replay</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-slow_motion_video">
+ <use xlink:href="#icon-slow_motion_video"></use></svg
+ ><span class="name"> slow_motion_video</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-import_export">
+ <use xlink:href="#icon-import_export"></use></svg
+ ><span class="name"> import_export</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-location_onplaceroom">
+ <use xlink:href="#icon-location_onplaceroom"></use></svg
+ ><span class="name"> location_onplaceroom</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-vpn_key">
+ <use xlink:href="#icon-vpn_key"></use></svg
+ ><span class="name"> vpn_key</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-import_contacts">
+ <use xlink:href="#icon-import_contacts"></use></svg
+ ><span class="name"> import_contacts</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-mail_outline">
+ <use xlink:href="#icon-mail_outline"></use></svg
+ ><span class="name"> mail_outline</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-sentiment_satisfied_alt">
+ <use xlink:href="#icon-sentiment_satisfied_alt"></use></svg
+ ><span class="name"> sentiment_satisfied_alt</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-lightbulb">
+ <use xlink:href="#icon-lightbulb"></use></svg
+ ><span class="name"> lightbulb</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-add">
+ <use xlink:href="#icon-add"></use></svg
+ ><span class="name"> add</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-add_box">
+ <use xlink:href="#icon-add_box"></use></svg
+ ><span class="name"> add_box</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-add_circle">
+ <use xlink:href="#icon-add_circle"></use></svg
+ ><span class="name"> add_circle</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-add_circle_outlinecontrol_point">
+ <use xlink:href="#icon-add_circle_outlinecontrol_point"></use></svg
+ ><span class="name"> add_circle_outlinecontrol_point</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-backspace">
+ <use xlink:href="#icon-backspace"></use></svg
+ ><span class="name"> backspace</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-clearclose">
+ <use xlink:href="#icon-clearclose"></use></svg
+ ><span class="name"> clearclose</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-content_copy">
+ <use xlink:href="#icon-content_copy"></use></svg
+ ><span class="name"> content_copy</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-content_cut">
+ <use xlink:href="#icon-content_cut"></use></svg
+ ><span class="name"> content_cut</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-content_paste">
+ <use xlink:href="#icon-content_paste"></use></svg
+ ><span class="name"> content_paste</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-createmode_editedit">
+ <use xlink:href="#icon-createmode_editedit"></use></svg
+ ><span class="name"> createmode_editedit</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-inbox">
+ <use xlink:href="#icon-inbox"></use></svg
+ ><span class="name"> inbox</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-linkinsert_link">
+ <use xlink:href="#icon-linkinsert_link"></use></svg
+ ><span class="name"> linkinsert_link</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-redo">
+ <use xlink:href="#icon-redo"></use></svg
+ ><span class="name"> redo</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-remove">
+ <use xlink:href="#icon-remove"></use></svg
+ ><span class="name"> remove</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-remove_circledo_not_disturb_on">
+ <use xlink:href="#icon-remove_circledo_not_disturb_on"></use></svg
+ ><span class="name"> remove_circledo_not_disturb_on</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-remove_circle_outline">
+ <use xlink:href="#icon-remove_circle_outline"></use></svg
+ ><span class="name"> remove_circle_outline</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-reply">
+ <use xlink:href="#icon-reply"></use></svg
+ ><span class="name"> reply</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-reply_all">
+ <use xlink:href="#icon-reply_all"></use></svg
+ ><span class="name"> reply_all</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-report">
+ <use xlink:href="#icon-report"></use></svg
+ ><span class="name"> report</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-save">
+ <use xlink:href="#icon-save"></use></svg
+ ><span class="name"> save</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-link_off">
+ <use xlink:href="#icon-link_off"></use></svg
+ ><span class="name"> link_off</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-save_alt">
+ <use xlink:href="#icon-save_alt"></use></svg
+ ><span class="name"> save_alt</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-add_link">
+ <use xlink:href="#icon-add_link"></use></svg
+ ><span class="name"> add_link</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-access_timequery_builderschedule">
+ <use xlink:href="#icon-access_timequery_builderschedule"></use></svg
+ ><span class="name"> access_timequery_builderschedule</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-data_usage">
+ <use xlink:href="#icon-data_usage"></use></svg
+ ><span class="name"> data_usage</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-storage">
+ <use xlink:href="#icon-storage"></use></svg
+ ><span class="name"> storage</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-signal_cellular_alt">
+ <use xlink:href="#icon-signal_cellular_alt"></use></svg
+ ><span class="name"> signal_cellular_alt</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-border_color">
+ <use xlink:href="#icon-border_color"></use></svg
+ ><span class="name"> border_color</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-format_indent_decrease">
+ <use xlink:href="#icon-format_indent_decrease"></use></svg
+ ><span class="name"> format_indent_decrease</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-format_indent_increase">
+ <use xlink:href="#icon-format_indent_increase"></use></svg
+ ><span class="name"> format_indent_increase</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-insert_chartpollassessment">
+ <use xlink:href="#icon-insert_chartpollassessment"></use></svg
+ ><span class="name"> insert_chartpollassessment</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-insert_drive_file">
+ <use xlink:href="#icon-insert_drive_file"></use></svg
+ ><span class="name"> insert_drive_file</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-insert_photoimagephoto">
+ <use xlink:href="#icon-insert_photoimagephoto"></use></svg
+ ><span class="name"> insert_photoimagephoto</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-publish">
+ <use xlink:href="#icon-publish"></use></svg
+ ><span class="name"> publish</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-linear_scale">
+ <use xlink:href="#icon-linear_scale"></use></svg
+ ><span class="name"> linear_scale</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-scatter_plot">
+ <use xlink:href="#icon-scatter_plot"></use></svg
+ ><span class="name"> scatter_plot</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-bar_chart">
+ <use xlink:href="#icon-bar_chart"></use></svg
+ ><span class="name"> bar_chart</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-cloud_queue">
+ <use xlink:href="#icon-cloud_queue"></use></svg
+ ><span class="name"> cloud_queue</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-file_downloadget_app">
+ <use xlink:href="#icon-file_downloadget_app"></use></svg
+ ><span class="name"> file_downloadget_app</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-file_upload">
+ <use xlink:href="#icon-file_upload"></use></svg
+ ><span class="name"> file_upload</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-folder">
+ <use xlink:href="#icon-folder"></use></svg
+ ><span class="name"> folder</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-folder_open">
+ <use xlink:href="#icon-folder_open"></use></svg
+ ><span class="name"> folder_open</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-create_new_folder">
+ <use xlink:href="#icon-create_new_folder"></use></svg
+ ><span class="name"> create_new_folder</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-keyboard_arrow_down">
+ <use xlink:href="#icon-keyboard_arrow_down"></use></svg
+ ><span class="name"> keyboard_arrow_down</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-keyboard_arrow_left">
+ <use xlink:href="#icon-keyboard_arrow_left"></use></svg
+ ><span class="name"> keyboard_arrow_left</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-keyboard_arrow_right">
+ <use xlink:href="#icon-keyboard_arrow_right"></use></svg
+ ><span class="name"> keyboard_arrow_right</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-keyboard_arrow_up">
+ <use xlink:href="#icon-keyboard_arrow_up"></use></svg
+ ><span class="name"> keyboard_arrow_up</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-keyboard_backspace">
+ <use xlink:href="#icon-keyboard_backspace"></use></svg
+ ><span class="name"> keyboard_backspace</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-keyboard_return">
+ <use xlink:href="#icon-keyboard_return"></use></svg
+ ><span class="name"> keyboard_return</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-keyboard_tab">
+ <use xlink:href="#icon-keyboard_tab"></use></svg
+ ><span class="name"> keyboard_tab</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-device_hub">
+ <use xlink:href="#icon-device_hub"></use></svg
+ ><span class="name"> device_hub</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-arrow_drop_down">
+ <use xlink:href="#icon-arrow_drop_down"></use></svg
+ ><span class="name"> arrow_drop_down</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-arrow_drop_up">
+ <use xlink:href="#icon-arrow_drop_up"></use></svg
+ ><span class="name"> arrow_drop_up</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-cancel">
+ <use xlink:href="#icon-cancel"></use></svg
+ ><span class="name"> cancel</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-keyboard_control">
+ <use xlink:href="#icon-keyboard_control"></use></svg
+ ><span class="name"> keyboard_control</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-refresh">
+ <use xlink:href="#icon-refresh"></use></svg
+ ><span class="name"> refresh</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-unfold_more">
+ <use xlink:href="#icon-unfold_more"></use></svg
+ ><span class="name"> unfold_more</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-arrow_left">
+ <use xlink:href="#icon-arrow_left"></use></svg
+ ><span class="name"> arrow_left</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-arrow_right">
+ <use xlink:href="#icon-arrow_right"></use></svg
+ ><span class="name"> arrow_right</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-arrow_back_ios">
+ <use xlink:href="#icon-arrow_back_ios"></use></svg
+ ><span class="name"> arrow_back_ios</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-arrow_forward_ios">
+ <use xlink:href="#icon-arrow_forward_ios"></use></svg
+ ><span class="name"> arrow_forward_ios</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-notifications">
+ <use xlink:href="#icon-notifications"></use></svg
+ ><span class="name"> notifications</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-notifications_none">
+ <use xlink:href="#icon-notifications_none"></use></svg
+ ><span class="name"> notifications_none</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-notifications_off">
+ <use xlink:href="#icon-notifications_off"></use></svg
+ ><span class="name"> notifications_off</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-check_box">
+ <use xlink:href="#icon-check_box"></use></svg
+ ><span class="name"> check_box</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-check_box_outline_blank">
+ <use xlink:href="#icon-check_box_outline_blank"></use></svg
+ ><span class="name"> check_box_outline_blank</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-assignment">
+ <use xlink:href="#icon-assignment"></use></svg
+ ><span class="name"> assignment</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-cached">
+ <use xlink:href="#icon-cached"></use></svg
+ ><span class="name"> cached</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-code">
+ <use xlink:href="#icon-code"></use></svg
+ ><span class="name"> code</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-description">
+ <use xlink:href="#icon-description"></use></svg
+ ><span class="name"> description</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-dns">
+ <use xlink:href="#icon-dns"></use></svg
+ ><span class="name"> dns</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-help">
+ <use xlink:href="#icon-help"></use></svg
+ ><span class="name"> help</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-highlight_remove">
+ <use xlink:href="#icon-highlight_remove"></use></svg
+ ><span class="name"> highlight_remove</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-info">
+ <use xlink:href="#icon-info"></use></svg
+ ><span class="name"> info</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-info_outline">
+ <use xlink:href="#icon-info_outline"></use></svg
+ ><span class="name"> info_outline</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-language">
+ <use xlink:href="#icon-language"></use></svg
+ ><span class="name"> language</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-lock_open">
+ <use xlink:href="#icon-lock_open"></use></svg
+ ><span class="name"> lock_open</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-lock_outline">
+ <use xlink:href="#icon-lock_outline"></use></svg
+ ><span class="name"> lock_outline</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-search">
+ <use xlink:href="#icon-search"></use></svg
+ ><span class="name"> search</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-settings">
+ <use xlink:href="#icon-settings"></use></svg
+ ><span class="name"> settings</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-settings_ethernet">
+ <use xlink:href="#icon-settings_ethernet"></use></svg
+ ><span class="name"> settings_ethernet</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-donut_small">
+ <use xlink:href="#icon-donut_small"></use></svg
+ ><span class="name"> donut_small</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-timeline">
+ <use xlink:href="#icon-timeline"></use></svg
+ ><span class="name"> timeline</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-account_tree">
+ <use xlink:href="#icon-account_tree"></use></svg
+ ><span class="name"> account_tree</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-all_inbox">
+ <use xlink:href="#icon-all_inbox"></use></svg
+ ><span class="name"> all_inbox</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-dashboard_customize">
+ <use xlink:href="#icon-dashboard_customize"></use></svg
+ ><span class="name"> dashboard_customize</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-speed">
+ <use xlink:href="#icon-speed"></use></svg
+ ><span class="name"> speed</span>
+ </div>
+ </div>
+ <div class="glyph fs1">
+ <div class="clearfix pbs">
+ <svg class="icon icon-sync_alt">
+ <use xlink:href="#icon-sync_alt"></use></svg
+ ><span class="name"> sync_alt</span>
+ </div>
+ </div>
</div>
<script defer>
- /*!
- * @copyright Copyright (c) 2017 IcoMoon.io
- * @license Licensed under MIT license
- * See https://github.com/Keyamoon/svgxuse
- * @version 1.2.6
- */
- /*jslint browser: true */
- /*global XDomainRequest, MutationObserver, window */
- (function () {
- "use strict";
- if (typeof window !== "undefined" && window.addEventListener) {
- var cache = Object.create(null); // holds xhr objects to prevent multiple requests
- var checkUseElems;
- var tid; // timeout id
- var debouncedCheck = function () {
- clearTimeout(tid);
- tid = setTimeout(checkUseElems, 100);
- };
- var unobserveChanges = function () {
- return;
- };
- var observeChanges = function () {
- var observer;
- window.addEventListener("resize", debouncedCheck, false);
- window.addEventListener("orientationchange", debouncedCheck, false);
- if (window.MutationObserver) {
- observer = new MutationObserver(debouncedCheck);
- observer.observe(document.documentElement, {
- childList: true,
- subtree: true,
- attributes: true
- });
- unobserveChanges = function () {
- try {
- observer.disconnect();
- window.removeEventListener("resize", debouncedCheck, false);
- window.removeEventListener("orientationchange", debouncedCheck, false);
- } catch (ignore) { }
- };
- } else {
- document.documentElement.addEventListener("DOMSubtreeModified", debouncedCheck, false);
- unobserveChanges = function () {
- document.documentElement.removeEventListener("DOMSubtreeModified", debouncedCheck, false);
- window.removeEventListener("resize", debouncedCheck, false);
- window.removeEventListener("orientationchange", debouncedCheck, false);
- };
- }
- };
- var createRequest = function (url) {
- // In IE 9, cross origin requests can only be sent using XDomainRequest.
- // XDomainRequest would fail if CORS headers are not set.
- // Therefore, XDomainRequest should only be used with cross origin requests.
- function getOrigin(loc) {
- var a;
- if (loc.protocol !== undefined) {
- a = loc;
- } else {
- a = document.createElement("a");
- a.href = loc;
- }
- return a.protocol.replace(/:/g, "") + a.host;
- }
- var Request;
- var origin;
- var origin2;
- if (window.XMLHttpRequest) {
- Request = new XMLHttpRequest();
- origin = getOrigin(location);
- origin2 = getOrigin(url);
- if (Request.withCredentials === undefined && origin2 !== "" && origin2 !== origin) {
- Request = XDomainRequest || undefined;
- } else {
- Request = XMLHttpRequest;
- }
- }
- return Request;
- };
- var xlinkNS = "http://www.w3.org/1999/xlink";
- checkUseElems = function () {
- var base;
- var bcr;
- var fallback = ""; // optional fallback URL in case no base path to SVG file was given and no symbol definition was found.
- var hash;
- var href;
- var i;
- var inProgressCount = 0;
- var isHidden;
- var Request;
- var url;
- var uses;
- var xhr;
- function observeIfDone() {
- // If done with making changes, start watching for chagnes in DOM again
- inProgressCount -= 1;
- if (inProgressCount === 0) { // if all xhrs were resolved
- unobserveChanges(); // make sure to remove old handlers
- observeChanges(); // watch for changes to DOM
- }
- }
- function attrUpdateFunc(spec) {
- return function () {
- if (cache[spec.base] !== true) {
- spec.useEl.setAttributeNS(xlinkNS, "xlink:href", "#" + spec.hash);
- if (spec.useEl.hasAttribute("href")) {
- spec.useEl.setAttribute("href", "#" + spec.hash);
- }
- }
- };
- }
- function onloadFunc(xhr) {
- return function () {
- var body = document.body;
- var x = document.createElement("x");
- var svg;
- xhr.onload = null;
- x.innerHTML = xhr.responseText;
- svg = x.getElementsByTagName("svg")[0];
- if (svg) {
- svg.setAttribute("aria-hidden", "true");
- svg.style.position = "absolute";
- svg.style.width = 0;
- svg.style.height = 0;
- svg.style.overflow = "hidden";
- body.insertBefore(svg, body.firstChild);
- }
- observeIfDone();
- };
- }
- function onErrorTimeout(xhr) {
- return function () {
- xhr.onerror = null;
- xhr.ontimeout = null;
- observeIfDone();
- };
- }
- unobserveChanges(); // stop watching for changes to DOM
- // find all use elements
- uses = document.getElementsByTagName("use");
- for (i = 0; i < uses.length; i += 1) {
- try {
- bcr = uses[i].getBoundingClientRect();
- } catch (ignore) {
- // failed to get bounding rectangle of the use element
- bcr = false;
- }
- href = uses[i].getAttribute("href")
- || uses[i].getAttributeNS(xlinkNS, "href")
- || uses[i].getAttribute("xlink:href");
- if (href && href.split) {
- url = href.split("#");
- } else {
- url = ["", ""];
- }
- base = url[0];
- hash = url[1];
- isHidden = bcr && bcr.left === 0 && bcr.right === 0 && bcr.top === 0 && bcr.bottom === 0;
- if (bcr && bcr.width === 0 && bcr.height === 0 && !isHidden) {
- // the use element is empty
- // if there is a reference to an external SVG, try to fetch it
- // use the optional fallback URL if there is no reference to an external SVG
- if (fallback && !base.length && hash && !document.getElementById(hash)) {
- base = fallback;
- }
- if (uses[i].hasAttribute("href")) {
- uses[i].setAttributeNS(xlinkNS, "xlink:href", href);
- }
- if (base.length) {
- // schedule updating xlink:href
- xhr = cache[base];
- if (xhr !== true) {
- // true signifies that prepending the SVG was not required
- setTimeout(attrUpdateFunc({
- useEl: uses[i],
- base: base,
- hash: hash
- }), 0);
- }
- if (xhr === undefined) {
- Request = createRequest(base);
- if (Request !== undefined) {
- xhr = new Request();
- cache[base] = xhr;
- xhr.onload = onloadFunc(xhr);
- xhr.onerror = onErrorTimeout(xhr);
- xhr.ontimeout = onErrorTimeout(xhr);
- xhr.open("GET", base);
- xhr.send();
- inProgressCount += 1;
- }
- }
- }
- } else {
- if (!isHidden) {
- if (cache[base] === undefined) {
- // remember this URL if the use element was not empty and no request was sent
- cache[base] = true;
- } else if (cache[base].onload) {
- // if it turns out that prepending the SVG is not necessary,
- // abort the in-progress xhr.
- cache[base].abort();
- delete cache[base].onload;
- cache[base] = true;
- }
- } else if (base.length && cache[base]) {
- setTimeout(attrUpdateFunc({
- useEl: uses[i],
- base: base,
- hash: hash
- }), 0);
- }
- }
+ /*!
+ * @copyright Copyright (c) 2017 IcoMoon.io
+ * @license Licensed under MIT license
+ * See https://github.com/Keyamoon/svgxuse
+ * @version 1.2.6
+ */
+ /*jslint browser: true */
+ /*global XDomainRequest, MutationObserver, window */
+ (function() {
+ 'use strict';
+ if (typeof window !== 'undefined' && window.addEventListener) {
+ var cache = Object.create(null); // holds xhr objects to prevent multiple requests
+ var checkUseElems;
+ var tid; // timeout id
+ var debouncedCheck = function() {
+ clearTimeout(tid);
+ tid = setTimeout(checkUseElems, 100);
+ };
+ var unobserveChanges = function() {
+ return;
+ };
+ var observeChanges = function() {
+ var observer;
+ window.addEventListener('resize', debouncedCheck, false);
+ window.addEventListener('orientationchange', debouncedCheck, false);
+ if (window.MutationObserver) {
+ observer = new MutationObserver(debouncedCheck);
+ observer.observe(document.documentElement, {
+ childList: true,
+ subtree: true,
+ attributes: true,
+ });
+ unobserveChanges = function() {
+ try {
+ observer.disconnect();
+ window.removeEventListener('resize', debouncedCheck, false);
+ window.removeEventListener(
+ 'orientationchange',
+ debouncedCheck,
+ false,
+ );
+ } catch (ignore) {}
+ };
+ } else {
+ document.documentElement.addEventListener(
+ 'DOMSubtreeModified',
+ debouncedCheck,
+ false,
+ );
+ unobserveChanges = function() {
+ document.documentElement.removeEventListener(
+ 'DOMSubtreeModified',
+ debouncedCheck,
+ false,
+ );
+ window.removeEventListener('resize', debouncedCheck, false);
+ window.removeEventListener(
+ 'orientationchange',
+ debouncedCheck,
+ false,
+ );
+ };
+ }
+ };
+ var createRequest = function(url) {
+ // In IE 9, cross origin requests can only be sent using XDomainRequest.
+ // XDomainRequest would fail if CORS headers are not set.
+ // Therefore, XDomainRequest should only be used with cross origin requests.
+ function getOrigin(loc) {
+ var a;
+ if (loc.protocol !== undefined) {
+ a = loc;
+ } else {
+ a = document.createElement('a');
+ a.href = loc;
+ }
+ return a.protocol.replace(/:/g, '') + a.host;
+ }
+ var Request;
+ var origin;
+ var origin2;
+ if (window.XMLHttpRequest) {
+ Request = new XMLHttpRequest();
+ origin = getOrigin(location);
+ origin2 = getOrigin(url);
+ if (
+ Request.withCredentials === undefined &&
+ origin2 !== '' &&
+ origin2 !== origin
+ ) {
+ Request = XDomainRequest || undefined;
+ } else {
+ Request = XMLHttpRequest;
+ }
+ }
+ return Request;
+ };
+ var xlinkNS = 'http://www.w3.org/1999/xlink';
+ checkUseElems = function() {
+ var base;
+ var bcr;
+ var fallback = ''; // optional fallback URL in case no base path to SVG file was given and no symbol definition was found.
+ var hash;
+ var href;
+ var i;
+ var inProgressCount = 0;
+ var isHidden;
+ var Request;
+ var url;
+ var uses;
+ var xhr;
+ function observeIfDone() {
+ // If done with making changes, start watching for chagnes in DOM again
+ inProgressCount -= 1;
+ if (inProgressCount === 0) {
+ // if all xhrs were resolved
+ unobserveChanges(); // make sure to remove old handlers
+ observeChanges(); // watch for changes to DOM
+ }
+ }
+ function attrUpdateFunc(spec) {
+ return function() {
+ if (cache[spec.base] !== true) {
+ spec.useEl.setAttributeNS(
+ xlinkNS,
+ 'xlink:href',
+ '#' + spec.hash,
+ );
+ if (spec.useEl.hasAttribute('href')) {
+ spec.useEl.setAttribute('href', '#' + spec.hash);
+ }
+ }
+ };
+ }
+ function onloadFunc(xhr) {
+ return function() {
+ var body = document.body;
+ var x = document.createElement('x');
+ var svg;
+ xhr.onload = null;
+ x.innerHTML = xhr.responseText;
+ svg = x.getElementsByTagName('svg')[0];
+ if (svg) {
+ svg.setAttribute('aria-hidden', 'true');
+ svg.style.position = 'absolute';
+ svg.style.width = 0;
+ svg.style.height = 0;
+ svg.style.overflow = 'hidden';
+ body.insertBefore(svg, body.firstChild);
+ }
+ observeIfDone();
+ };
+ }
+ function onErrorTimeout(xhr) {
+ return function() {
+ xhr.onerror = null;
+ xhr.ontimeout = null;
+ observeIfDone();
+ };
+ }
+ unobserveChanges(); // stop watching for changes to DOM
+ // find all use elements
+ uses = document.getElementsByTagName('use');
+ for (i = 0; i < uses.length; i += 1) {
+ try {
+ bcr = uses[i].getBoundingClientRect();
+ } catch (ignore) {
+ // failed to get bounding rectangle of the use element
+ bcr = false;
+ }
+ href =
+ uses[i].getAttribute('href') ||
+ uses[i].getAttributeNS(xlinkNS, 'href') ||
+ uses[i].getAttribute('xlink:href');
+ if (href && href.split) {
+ url = href.split('#');
+ } else {
+ url = ['', ''];
+ }
+ base = url[0];
+ hash = url[1];
+ isHidden =
+ bcr &&
+ bcr.left === 0 &&
+ bcr.right === 0 &&
+ bcr.top === 0 &&
+ bcr.bottom === 0;
+ if (bcr && bcr.width === 0 && bcr.height === 0 && !isHidden) {
+ // the use element is empty
+ // if there is a reference to an external SVG, try to fetch it
+ // use the optional fallback URL if there is no reference to an external SVG
+ if (
+ fallback &&
+ !base.length &&
+ hash &&
+ !document.getElementById(hash)
+ ) {
+ base = fallback;
+ }
+ if (uses[i].hasAttribute('href')) {
+ uses[i].setAttributeNS(xlinkNS, 'xlink:href', href);
+ }
+ if (base.length) {
+ // schedule updating xlink:href
+ xhr = cache[base];
+ if (xhr !== true) {
+ // true signifies that prepending the SVG was not required
+ setTimeout(
+ attrUpdateFunc({
+ useEl: uses[i],
+ base: base,
+ hash: hash,
+ }),
+ 0,
+ );
+ }
+ if (xhr === undefined) {
+ Request = createRequest(base);
+ if (Request !== undefined) {
+ xhr = new Request();
+ cache[base] = xhr;
+ xhr.onload = onloadFunc(xhr);
+ xhr.onerror = onErrorTimeout(xhr);
+ xhr.ontimeout = onErrorTimeout(xhr);
+ xhr.open('GET', base);
+ xhr.send();
+ inProgressCount += 1;
}
- uses = "";
- inProgressCount += 1;
- observeIfDone();
- };
- var winLoad;
- winLoad = function () {
- window.removeEventListener("load", winLoad, false); // to prevent memory leaks
- tid = setTimeout(checkUseElems, 0);
- };
- if (document.readyState !== "complete") {
- // The load event fires when all resources have finished loading, which allows detecting whether SVG use elements are empty.
- window.addEventListener("load", winLoad, false);
- } else {
- // No need to add a listener if the document is already loaded, initialize immediately.
- winLoad();
+ }
}
+ } else {
+ if (!isHidden) {
+ if (cache[base] === undefined) {
+ // remember this URL if the use element was not empty and no request was sent
+ cache[base] = true;
+ } else if (cache[base].onload) {
+ // if it turns out that prepending the SVG is not necessary,
+ // abort the in-progress xhr.
+ cache[base].abort();
+ delete cache[base].onload;
+ cache[base] = true;
+ }
+ } else if (base.length && cache[base]) {
+ setTimeout(
+ attrUpdateFunc({
+ useEl: uses[i],
+ base: base,
+ hash: hash,
+ }),
+ 0,
+ );
+ }
+ }
}
- }());
-
+ uses = '';
+ inProgressCount += 1;
+ observeIfDone();
+ };
+ var winLoad;
+ winLoad = function() {
+ window.removeEventListener('load', winLoad, false); // to prevent memory leaks
+ tid = setTimeout(checkUseElems, 0);
+ };
+ if (document.readyState !== 'complete') {
+ // The load event fires when all resources have finished loading, which allows detecting whether SVG use elements are empty.
+ window.addEventListener('load', winLoad, false);
+ } else {
+ // No need to add a listener if the document is already loaded, initialize immediately.
+ winLoad();
+ }
+ }
+ })();
</script>
-</body>
-
-</html>
\ No newline at end of file
+ </body>
+</html>
diff --git a/src/components/index.ts b/src/components/index.ts
index 738a357..b764619 100644
--- a/src/components/index.ts
+++ b/src/components/index.ts
@@ -33,14 +33,29 @@ import RkButton from './rk-button.vue';
import RkIcon from './rk-icon.vue';
const components: any = {
- RkHeader, RkFooter, RkProgress, RkDate, RkPanel, RkEcharts, RkPage, RkSidebox, RkFooterTime, RkSelect,
- RkPopper, RkDropdown, RkBack, RkButton, RkIcon,
+ RkHeader,
+ RkFooter,
+ RkProgress,
+ RkDate,
+ RkPanel,
+ RkEcharts,
+ RkPage,
+ RkSidebox,
+ RkFooterTime,
+ RkSelect,
+ RkPopper,
+ RkDropdown,
+ RkBack,
+ RkButton,
+ RkIcon,
};
const componentsName: string[] = Object.keys(components);
-export default {install: (vue: any) => {
- componentsName.forEach((i) => {
- vue.component(i, components[i]);
- });
- vue.use(noty);
-}};
+export default {
+ install: (vue: any) => {
+ componentsName.forEach((i) => {
+ vue.component(i, components[i]);
+ });
+ vue.use(noty);
+ },
+};
diff --git a/src/components/noty/bootstrap-v4.css b/src/components/noty/bootstrap-v4.css
index d820cb2..397e39a 100644
--- a/src/components/noty/bootstrap-v4.css
+++ b/src/components/noty/bootstrap-v4.css
@@ -14,55 +14,65 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
+
.noty_theme__bootstrap-v4.noty_bar {
margin: 4px 0;
overflow: hidden;
position: relative;
border: 1px solid transparent;
- border-radius: .25rem; }
- .noty_theme__bootstrap-v4.noty_bar .noty_body {
- padding: .75rem 1.25rem; }
- .noty_theme__bootstrap-v4.noty_bar .noty_buttons {
- padding: 10px; }
- .noty_theme__bootstrap-v4.noty_bar .noty_close_button {
- font-size: 1.5rem;
- font-weight: 700;
- line-height: 1;
- color: #000;
- text-shadow: 0 1px 0 #fff;
- filter: alpha(opacity=20);
- opacity: .5;
- background: transparent; }
- .noty_theme__bootstrap-v4.noty_bar .noty_close_button:hover {
- background: transparent;
- text-decoration: none;
- cursor: pointer;
- filter: alpha(opacity=50);
- opacity: .75; }
+ border-radius: 0.25rem;
+}
+.noty_theme__bootstrap-v4.noty_bar .noty_body {
+ padding: 0.75rem 1.25rem;
+}
+.noty_theme__bootstrap-v4.noty_bar .noty_buttons {
+ padding: 10px;
+}
+.noty_theme__bootstrap-v4.noty_bar .noty_close_button {
+ font-size: 1.5rem;
+ font-weight: 700;
+ line-height: 1;
+ color: #000;
+ text-shadow: 0 1px 0 #fff;
+ filter: alpha(opacity=20);
+ opacity: 0.5;
+ background: transparent;
+}
+.noty_theme__bootstrap-v4.noty_bar .noty_close_button:hover {
+ background: transparent;
+ text-decoration: none;
+ cursor: pointer;
+ filter: alpha(opacity=50);
+ opacity: 0.75;
+}
.noty_theme__bootstrap-v4.noty_type__alert,
.noty_theme__bootstrap-v4.noty_type__notification {
background-color: #fff;
- color: inherit; }
+ color: inherit;
+}
.noty_theme__bootstrap-v4.noty_type__warning {
background-color: #fcf8e3;
color: #8a6d3b;
- border-color: #faebcc; }
+ border-color: #faebcc;
+}
.noty_theme__bootstrap-v4.noty_type__error {
background-color: #f2dede;
color: #a94442;
- border-color: #ebccd1; }
+ border-color: #ebccd1;
+}
.noty_theme__bootstrap-v4.noty_type__info,
.noty_theme__bootstrap-v4.noty_type__information {
background-color: #d9edf7;
color: #31708f;
- border-color: #bce8f1; }
+ border-color: #bce8f1;
+}
.noty_theme__bootstrap-v4.noty_type__success {
background-color: #dff0d8;
color: #3c763d;
- border-color: #d6e9c6; }
+ border-color: #d6e9c6;
+}
diff --git a/src/components/noty/noty.css b/src/components/noty/noty.css
index 8bcac6c..0b062b9 100644
--- a/src/components/noty/noty.css
+++ b/src/components/noty/noty.css
@@ -14,88 +14,121 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-.noty_layout_mixin, #noty_layout__top, #noty_layout__topLeft, #noty_layout__topCenter, #noty_layout__topRight, #noty_layout__bottom, #noty_layout__bottomLeft, #noty_layout__bottomCenter, #noty_layout__bottomRight, #noty_layout__center, #noty_layout__centerLeft, #noty_layout__centerRight {
+
+.noty_layout_mixin,
+#noty_layout__top,
+#noty_layout__topLeft,
+#noty_layout__topCenter,
+#noty_layout__topRight,
+#noty_layout__bottom,
+#noty_layout__bottomLeft,
+#noty_layout__bottomCenter,
+#noty_layout__bottomRight,
+#noty_layout__center,
+#noty_layout__centerLeft,
+#noty_layout__centerRight {
position: fixed;
margin: 0;
padding: 0;
z-index: 9999999;
-webkit-transform: translateZ(0) scale(1, 1);
- transform: translateZ(0) scale(1, 1);
+ transform: translateZ(0) scale(1, 1);
-webkit-backface-visibility: hidden;
- backface-visibility: hidden;
+ backface-visibility: hidden;
-webkit-font-smoothing: subpixel-antialiased;
filter: blur(0);
-webkit-filter: blur(0);
- max-width: 90%; }
+ max-width: 90%;
+}
#noty_layout__top {
top: 0;
left: 5%;
- width: 90%; }
+ width: 90%;
+}
#noty_layout__topLeft {
top: 20px;
left: 20px;
- width: 325px; }
+ width: 325px;
+}
#noty_layout__topCenter {
top: 5%;
left: 50%;
width: 325px;
- -webkit-transform: translate(-webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1);
- transform: translate(calc(-50% - .5px)) translateZ(0) scale(1, 1); }
+ -webkit-transform: translate(-webkit-calc(-50% - 0.5px)) translateZ(0)
+ scale(1, 1);
+ transform: translate(calc(-50% - 0.5px)) translateZ(0) scale(1, 1);
+}
#noty_layout__topRight {
top: 20px;
right: 20px;
- width: 325px; }
+ width: 325px;
+}
#noty_layout__bottom {
bottom: 0;
left: 5%;
- width: 90%; }
+ width: 90%;
+}
#noty_layout__bottomLeft {
bottom: 20px;
left: 20px;
- width: 325px; }
+ width: 325px;
+}
#noty_layout__bottomCenter {
bottom: 5%;
left: 50%;
width: 325px;
- -webkit-transform: translate(-webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1);
- transform: translate(calc(-50% - .5px)) translateZ(0) scale(1, 1); }
+ -webkit-transform: translate(-webkit-calc(-50% - 0.5px)) translateZ(0)
+ scale(1, 1);
+ transform: translate(calc(-50% - 0.5px)) translateZ(0) scale(1, 1);
+}
#noty_layout__bottomRight {
bottom: 20px;
right: 20px;
- width: 325px; }
+ width: 325px;
+}
#noty_layout__center {
top: 50%;
left: 50%;
width: 325px;
- -webkit-transform: translate(-webkit-calc(-50% - .5px), -webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1);
- transform: translate(calc(-50% - .5px), calc(-50% - .5px)) translateZ(0) scale(1, 1); }
+ -webkit-transform: translate(
+ -webkit-calc(-50% - 0.5px),
+ -webkit-calc(-50% - 0.5px)
+ )
+ translateZ(0) scale(1, 1);
+ transform: translate(calc(-50% - 0.5px), calc(-50% - 0.5px)) translateZ(0)
+ scale(1, 1);
+}
#noty_layout__centerLeft {
top: 50%;
left: 20px;
width: 325px;
- -webkit-transform: translate(0, -webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1);
- transform: translate(0, calc(-50% - .5px)) translateZ(0) scale(1, 1); }
+ -webkit-transform: translate(0, -webkit-calc(-50% - 0.5px)) translateZ(0)
+ scale(1, 1);
+ transform: translate(0, calc(-50% - 0.5px)) translateZ(0) scale(1, 1);
+}
#noty_layout__centerRight {
top: 50%;
right: 20px;
width: 325px;
- -webkit-transform: translate(0, -webkit-calc(-50% - .5px)) translateZ(0) scale(1, 1);
- transform: translate(0, calc(-50% - .5px)) translateZ(0) scale(1, 1); }
+ -webkit-transform: translate(0, -webkit-calc(-50% - 0.5px)) translateZ(0)
+ scale(1, 1);
+ transform: translate(0, calc(-50% - 0.5px)) translateZ(0) scale(1, 1);
+}
.noty_progressbar {
- display: none; }
+ display: none;
+}
.noty_has_timeout.noty_has_progressbar .noty_progressbar {
display: block;
@@ -106,37 +139,43 @@
width: 100%;
background-color: #646464;
opacity: 0.2;
- filter: alpha(opacity=10); }
+ filter: alpha(opacity=10);
+}
.noty_bar {
-webkit-transform: translate(0, 0) translateZ(0) scale(1, 1);
-ms-transform: translate(0, 0) scale(1, 1);
- transform: translate(0, 0) scale(1, 1);
+ transform: translate(0, 0) scale(1, 1);
-webkit-font-smoothing: subpixel-antialiased;
- overflow: hidden; }
+ overflow: hidden;
+}
.noty_effects_open {
opacity: 0;
-webkit-transform: translate(50%);
- -ms-transform: translate(50%);
- transform: translate(50%);
+ -ms-transform: translate(50%);
+ transform: translate(50%);
-webkit-animation: noty_anim_in 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
- animation: noty_anim_in 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
+ animation: noty_anim_in 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
-webkit-animation-fill-mode: forwards;
- animation-fill-mode: forwards; }
+ animation-fill-mode: forwards;
+}
.noty_effects_close {
-webkit-animation: noty_anim_out 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
- animation: noty_anim_out 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
+ animation: noty_anim_out 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
-webkit-animation-fill-mode: forwards;
- animation-fill-mode: forwards; }
+ animation-fill-mode: forwards;
+}
.noty_fix_effects_height {
-webkit-animation: noty_anim_height 75ms ease-out;
- animation: noty_anim_height 75ms ease-out; }
+ animation: noty_anim_height 75ms ease-out;
+}
.noty_close_with_click {
- cursor: pointer; }
+ cursor: pointer;
+}
.noty_close_button {
position: absolute;
@@ -150,11 +189,13 @@
background-color: rgba(0, 0, 0, 0.05);
border-radius: 2px;
cursor: pointer;
- -webkit-transition: all .2s ease-out;
- transition: all .2s ease-out; }
+ -webkit-transition: all 0.2s ease-out;
+ transition: all 0.2s ease-out;
+}
.noty_close_button:hover {
- background-color: rgba(0, 0, 0, 0.1); }
+ background-color: rgba(0, 0, 0, 0.1);
+}
.noty_modal {
position: fixed;
@@ -162,71 +203,96 @@
height: 100%;
background-color: #000;
z-index: 10000;
- opacity: .3;
+ opacity: 0.3;
left: 0;
- top: 0; }
+ top: 0;
+}
.noty_modal.noty_modal_open {
opacity: 0;
- -webkit-animation: noty_modal_in .3s ease-out;
- animation: noty_modal_in .3s ease-out; }
+ -webkit-animation: noty_modal_in 0.3s ease-out;
+ animation: noty_modal_in 0.3s ease-out;
+}
.noty_modal.noty_modal_close {
- -webkit-animation: noty_modal_out .3s ease-out;
- animation: noty_modal_out .3s ease-out;
+ -webkit-animation: noty_modal_out 0.3s ease-out;
+ animation: noty_modal_out 0.3s ease-out;
-webkit-animation-fill-mode: forwards;
- animation-fill-mode: forwards; }
+ animation-fill-mode: forwards;
+}
@-webkit-keyframes noty_modal_in {
100% {
- opacity: .3; } }
+ opacity: 0.3;
+ }
+}
@keyframes noty_modal_in {
100% {
- opacity: .3; } }
+ opacity: 0.3;
+ }
+}
@-webkit-keyframes noty_modal_out {
100% {
- opacity: 0; } }
+ opacity: 0;
+ }
+}
@keyframes noty_modal_out {
100% {
- opacity: 0; } }
+ opacity: 0;
+ }
+}
@keyframes noty_modal_out {
100% {
- opacity: 0; } }
+ opacity: 0;
+ }
+}
@-webkit-keyframes noty_anim_in {
100% {
-webkit-transform: translate(0);
- transform: translate(0);
- opacity: 1; } }
+ transform: translate(0);
+ opacity: 1;
+ }
+}
@keyframes noty_anim_in {
100% {
-webkit-transform: translate(0);
- transform: translate(0);
- opacity: 1; } }
+ transform: translate(0);
+ opacity: 1;
+ }
+}
@-webkit-keyframes noty_anim_out {
100% {
-webkit-transform: translate(50%);
- transform: translate(50%);
- opacity: 0; } }
+ transform: translate(50%);
+ opacity: 0;
+ }
+}
@keyframes noty_anim_out {
100% {
-webkit-transform: translate(50%);
- transform: translate(50%);
- opacity: 0; } }
+ transform: translate(50%);
+ opacity: 0;
+ }
+}
@-webkit-keyframes noty_anim_height {
100% {
- height: 0; } }
+ height: 0;
+ }
+}
@keyframes noty_anim_height {
100% {
- height: 0; } }
+ height: 0;
+ }
+}
-/*# sourceMappingURL=noty.css.map*/
\ No newline at end of file
+/*# sourceMappingURL=noty.css.map*/
diff --git a/src/components/rk-back.vue b/src/components/rk-back.vue
index 51ccf9f..5a9cd6b 100644
--- a/src/components/rk-back.vue
+++ b/src/components/rk-back.vue
@@ -1,19 +1,13 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/** * Licensed to the Apache Software Foundation (ASF) under one or more *
+contributor license agreements. See the NOTICE file distributed with * this work
+for additional information regarding copyright ownership. * The ASF licenses
+this file to You under the Apache License, Version 2.0 * (the "License"); you
+may not use this file except in compliance with * the License. You may obtain a
+copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless
+required by applicable law or agreed to in writing, software * distributed under
+the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. * See the License for the
+specific language governing permissions and * limitations under the License. */
<template>
<a class="rk-back" @click="handleBack">
@@ -21,30 +15,30 @@
</a>
</template>
<script lang="ts">
-import Vue from 'vue';
-import { Component, Prop } from 'vue-property-decorator';
+ import Vue from 'vue';
+ import { Component, Prop } from 'vue-property-decorator';
-@Component
-export default class RkBack extends Vue {
- @Prop({ default: '' }) private size!: string;
- private handleBack() {
- const query = this.$route.query as any;
- if (query.form) {
- this.$router.push(query.form);
- } else {
- this.$emit('back');
+ @Component
+ export default class RkBack extends Vue {
+ @Prop({ default: '' }) private size!: string;
+ private handleBack() {
+ const query = this.$route.query as any;
+ if (query.form) {
+ this.$router.push(query.form);
+ } else {
+ this.$emit('back');
+ }
}
}
-}
</script>
<style lang="scss">
-.rk-back{
- margin-right: 10px;
- .icon{
- vertical-align: bottom;
- height: 22px;
- width: 22px;
- padding: -1px 3px;
+ .rk-back {
+ margin-right: 10px;
+ .icon {
+ vertical-align: bottom;
+ height: 22px;
+ width: 22px;
+ padding: -1px 3px;
+ }
}
-}
</style>
diff --git a/src/components/rk-button.vue b/src/components/rk-button.vue
index 73622fe..893312b 100644
--- a/src/components/rk-button.vue
+++ b/src/components/rk-button.vue
@@ -1,54 +1,48 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/** * Licensed to the Apache Software Foundation (ASF) under one or more *
+contributor license agreements. See the NOTICE file distributed with * this work
+for additional information regarding copyright ownership. * The ASF licenses
+this file to You under the Apache License, Version 2.0 * (the "License"); you
+may not use this file except in compliance with * the License. You may obtain a
+copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless
+required by applicable law or agreed to in writing, software * distributed under
+the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. * See the License for the
+specific language governing permissions and * limitations under the License. */
<template>
- <a class="rk-btn" :class="{size, 'ghost': ghost}" @click="$emit('click')">
+ <a class="rk-btn" :class="{ size, ghost: ghost }" @click="$emit('click')">
<svg class="icon"><use xlink:href="#chevron-left"></use></svg>
</a>
</template>
<script lang="ts">
-import Vue from 'vue';
-import { Component, Prop } from 'vue-property-decorator';
+ import Vue from 'vue';
+ import { Component, Prop } from 'vue-property-decorator';
-@Component
-export default class RkBtn extends Vue {
- @Prop({ default: '' }) private size!: string;
- @Prop({ default: false }) private ghost!: boolean;
-}
+ @Component
+ export default class RkBtn extends Vue {
+ @Prop({ default: '' }) private size!: string;
+ @Prop({ default: false }) private ghost!: boolean;
+ }
</script>
<style lang="scss">
-.rk-btn{
- line-height: 26px;
- padding: 0 7px;
- background-color: #448dfe;
- border-radius: 4px;
- color: #fff;
- transition: background-color .3s;
- &.sm{
- line-height: 24px;
- }
- &.lg{
- line-height: 30px;
- }
- &.ghost{
- background-color: #555b6b66;
- }
- &:hover{
- background-color: #357de9;
+ .rk-btn {
+ line-height: 26px;
+ padding: 0 7px;
+ background-color: #448dfe;
+ border-radius: 4px;
+ color: #fff;
+ transition: background-color 0.3s;
+ &.sm {
+ line-height: 24px;
+ }
+ &.lg {
+ line-height: 30px;
+ }
+ &.ghost {
+ background-color: #555b6b66;
+ }
+ &:hover {
+ background-color: #357de9;
+ }
}
-}
</style>
diff --git a/src/components/rk-date-calendar.vue b/src/components/rk-date-calendar.vue
index 23da975..50f246b 100755
--- a/src/components/rk-date-calendar.vue
+++ b/src/components/rk-date-calendar.vue
@@ -1,499 +1,607 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/** * Licensed to the Apache Software Foundation (ASF) under one or more *
+contributor license agreements. See the NOTICE file distributed with * this work
+for additional information regarding copyright ownership. * The ASF licenses
+this file to You under the Apache License, Version 2.0 * (the "License"); you
+may not use this file except in compliance with * the License. You may obtain a
+copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless
+required by applicable law or agreed to in writing, software * distributed under
+the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. * See the License for the
+specific language governing permissions and * limitations under the License. */
<template>
-<div :class="`${pre}`">
- <div :class="`${pre}-head`">
- <a :class="`${pre}-prev-decade-btn`" v-show="showYears" @click="year-=10"><svg class="icon sm cp">
- <use xlink:href="#angle-double-left"></use>
- </svg></a>
- <a :class="`${pre}-prev-year-btn`" v-show="!showYears" @click="year--"><svg class="icon sm cp">
- <use xlink:href="#angle-double-left"></use>
- </svg></a>
- <a :class="`${pre}-prev-month-btn`" v-show="!showYears&&!showMonths" @click="pm">
- <svg class="icon lg cp">
- <use xlink:href="#chevron-left"></use>
- </svg></a>
- <a :class="`${pre}-year-select`" v-show="showYears">{{ys+'-'+ye}}</a>
- <template v-if="local.yearSuffix">
- <a :class="`${pre}-year-select`" @click="showYears=!showYears" v-show="!showYears">{{year}}{{local.yearSuffix}}</a>
- <a :class="`${pre}-month-select`" @click="showMonths=!showMonths" v-show="!showYears&&!showMonths">{{local.monthsHead[month]}}</a>
- </template>
- <template v-else>
- <a :class="`${pre}-month-select`" @click="showMonths=!showMonths" v-show="!showYears&&!showMonths">{{local.monthsHead[month]}}</a>
- <a :class="`${pre}-year-select`" @click="showYears=!showYears" v-show="!showYears">{{year}}</a>
- </template>
- <a :class="`${pre}-next-month-btn`" v-show="!showYears&&!showMonths" @click="nm">
- <svg class="icon lg cp">
- <use xlink:href="#chevron-right"></use>
- </svg></a>
- <a :class="`${pre}-next-year-btn`" v-show="!showYears" @click="year++"><svg class="icon sm cp">
- <use xlink:href="#angle-double-right"></use>
- </svg></a>
- <a :class="`${pre}-next-decade-btn`" v-show="showYears" @click="year+=10"><svg class="icon sm cp">
- <use xlink:href="#angle-double-right"></use>
- </svg></a>
- </div>
- <div :class="`${pre}-body`">
- <div :class="`${pre}-days`">
- <a :class="`${pre}-week`" v-for="i in local.weeks" :key="i">{{i}}</a>
- <a v-for="(j,i) in days" @click="is($event)&&(day=j.i,ok(j))" :class="[(j.p||j.n)?`${pre}-date-out`:'',status(j.y,j.m,j.i,hour,minute,second,'YYYYMMDD')]" :key="i">{{j.i}}</a>
- </div>
- <div :class="`${pre}-months`" v-show="showMonths">
- <a v-for="(i,j) in local.months" @click="is($event)&&(showMonths=(m==='M'),month=j,(m==='M'&&ok('m')))" :class="[status(year,j,day,hour,minute,second,'YYYYMM')]" :key="j">{{i}}</a>
+ <div :class="`${pre}`">
+ <div :class="`${pre}-head`">
+ <a
+ :class="`${pre}-prev-decade-btn`"
+ v-show="showYears"
+ @click="year -= 10"
+ ><svg class="icon sm cp">
+ <use xlink:href="#angle-double-left"></use></svg
+ ></a>
+ <a :class="`${pre}-prev-year-btn`" v-show="!showYears" @click="year--"
+ ><svg class="icon sm cp">
+ <use xlink:href="#angle-double-left"></use></svg
+ ></a>
+ <a
+ :class="`${pre}-prev-month-btn`"
+ v-show="!showYears && !showMonths"
+ @click="pm"
+ >
+ <svg class="icon lg cp">
+ <use xlink:href="#chevron-left"></use></svg
+ ></a>
+ <a :class="`${pre}-year-select`" v-show="showYears">{{
+ ys + '-' + ye
+ }}</a>
+ <template v-if="local.yearSuffix">
+ <a
+ :class="`${pre}-year-select`"
+ @click="showYears = !showYears"
+ v-show="!showYears"
+ >{{ year }}{{ local.yearSuffix }}</a
+ >
+ <a
+ :class="`${pre}-month-select`"
+ @click="showMonths = !showMonths"
+ v-show="!showYears && !showMonths"
+ >{{ local.monthsHead[month] }}</a
+ >
+ </template>
+ <template v-else>
+ <a
+ :class="`${pre}-month-select`"
+ @click="showMonths = !showMonths"
+ v-show="!showYears && !showMonths"
+ >{{ local.monthsHead[month] }}</a
+ >
+ <a
+ :class="`${pre}-year-select`"
+ @click="showYears = !showYears"
+ v-show="!showYears"
+ >{{ year }}</a
+ >
+ </template>
+ <a
+ :class="`${pre}-next-month-btn`"
+ v-show="!showYears && !showMonths"
+ @click="nm"
+ >
+ <svg class="icon lg cp">
+ <use xlink:href="#chevron-right"></use></svg
+ ></a>
+ <a :class="`${pre}-next-year-btn`" v-show="!showYears" @click="year++"
+ ><svg class="icon sm cp">
+ <use xlink:href="#angle-double-right"></use></svg
+ ></a>
+ <a
+ :class="`${pre}-next-decade-btn`"
+ v-show="showYears"
+ @click="year += 10"
+ ><svg class="icon sm cp">
+ <use xlink:href="#angle-double-right"></use></svg
+ ></a>
</div>
- <div :class="`${pre}-years`" v-show="showYears">
- <a v-for="(i,j) in years" @click="is($event)&&(showYears=(m==='Y'),year=i,(m==='Y'&&ok('y')))" :class="[(j===0||j===11)?`${pre}-date-out`:'',status(i,month,day,hour,minute,second,'YYYY')]" :key="j">{{i}}</a>
- </div>
- <div :class="`${pre}-hours scroll_hide`" v-show="showHours">
- <div :class="`${pre}-title`">{{local.hourTip}}</div>
- <div class="scroll_hide calendar-overflow">
- <a v-for="(j,i) in 24" @click="is($event)&&(showHours=false,hour=i,ok('h'))" :class="[status(year,month,day,i,minute,second,'YYYYMMDDHH')]" :key="i">{{i}}</a>
+ <div :class="`${pre}-body`">
+ <div :class="`${pre}-days`">
+ <a :class="`${pre}-week`" v-for="i in local.weeks" :key="i">{{ i }}</a>
+ <a
+ v-for="(j, i) in days"
+ @click="is($event) && ((day = j.i), ok(j))"
+ :class="[
+ j.p || j.n ? `${pre}-date-out` : '',
+ status(j.y, j.m, j.i, hour, minute, second, 'YYYYMMDD'),
+ ]"
+ :key="i"
+ >{{ j.i }}</a
+ >
</div>
- </div>
- <div :class="`${pre}-minutes`" v-show="showMinutes">
- <div :class="`${pre}-title`">{{local.minuteTip}}</div>
- <div class="scroll_hide calendar-overflow">
- <a v-for="(j,i) in 60" @click="is($event)&&(showMinutes=false,minute=i,ok('h'))" :class="[status(year,month,day,hour,i,second,'YYYYMMDDHHmm')]" :key="i">{{i}}</a>
+ <div :class="`${pre}-months`" v-show="showMonths">
+ <a
+ v-for="(i, j) in local.months"
+ @click="
+ is($event) &&
+ ((showMonths = m === 'M'), (month = j), m === 'M' && ok('m'))
+ "
+ :class="[status(year, j, day, hour, minute, second, 'YYYYMM')]"
+ :key="j"
+ >{{ i }}</a
+ >
</div>
- </div>
- <div :class="`${pre}-seconds`" v-show="showSeconds">
- <div :class="`${pre}-title`">{{local.secondTip}}</div>
- <div class="scroll_hide calendar-overflow">
- <a v-for="(j,i) in 60" @click="is($event)&&(showSeconds=false,second=i,ok('h'))" :class="[status(year,month,day,hour,minute,i,'YYYYMMDDHHmmss')]" :key="i">{{i}}</a>
+ <div :class="`${pre}-years`" v-show="showYears">
+ <a
+ v-for="(i, j) in years"
+ @click="
+ is($event) &&
+ ((showYears = m === 'Y'), (year = i), m === 'Y' && ok('y'))
+ "
+ :class="[
+ j === 0 || j === 11 ? `${pre}-date-out` : '',
+ status(i, month, day, hour, minute, second, 'YYYY'),
+ ]"
+ :key="j"
+ >{{ i }}</a
+ >
+ </div>
+ <div :class="`${pre}-hours scroll_hide`" v-show="showHours">
+ <div :class="`${pre}-title`">{{ local.hourTip }}</div>
+ <div class="scroll_hide calendar-overflow">
+ <a
+ v-for="(j, i) in 24"
+ @click="is($event) && ((showHours = false), (hour = i), ok('h'))"
+ :class="[status(year, month, day, i, minute, second, 'YYYYMMDDHH')]"
+ :key="i"
+ >{{ i }}</a
+ >
+ </div>
+ </div>
+ <div :class="`${pre}-minutes`" v-show="showMinutes">
+ <div :class="`${pre}-title`">{{ local.minuteTip }}</div>
+ <div class="scroll_hide calendar-overflow">
+ <a
+ v-for="(j, i) in 60"
+ @click="
+ is($event) && ((showMinutes = false), (minute = i), ok('h'))
+ "
+ :class="[status(year, month, day, hour, i, second, 'YYYYMMDDHHmm')]"
+ :key="i"
+ >{{ i }}</a
+ >
+ </div>
+ </div>
+ <div :class="`${pre}-seconds`" v-show="showSeconds">
+ <div :class="`${pre}-title`">{{ local.secondTip }}</div>
+ <div class="scroll_hide calendar-overflow">
+ <a
+ v-for="(j, i) in 60"
+ @click="
+ is($event) && ((showSeconds = false), (second = i), ok('h'))
+ "
+ :class="[
+ status(year, month, day, hour, minute, i, 'YYYYMMDDHHmmss'),
+ ]"
+ :key="i"
+ >{{ i }}</a
+ >
+ </div>
</div>
</div>
- </div>
- <div :class="`${pre}-foot`" v-if="m==='H'">
- <div :class="`${pre}-hour`">
- <a :title="local.hourTip" @click="showHours=!showHours,showMinutes=showSeconds=false" :class="{on:showHours}">{{hour|dd}}</a>
- <span>:</span>
- <a :title="local.minuteTip" @click="showMinutes=!showMinutes,showHours=showSeconds=false" :class="{on:showMinutes}">{{minute|dd}}</a>
- <span>:</span>
- <a :title="local.secondTip" @click="showSeconds=!showSeconds,showHours=showMinutes=false" :class="{on:showSeconds}">{{second|dd}}</a>
+ <div :class="`${pre}-foot`" v-if="m === 'H'">
+ <div :class="`${pre}-hour`">
+ <a
+ :title="local.hourTip"
+ @click="(showHours = !showHours), (showMinutes = showSeconds = false)"
+ :class="{ on: showHours }"
+ >{{ hour | dd }}</a
+ >
+ <span>:</span>
+ <a
+ :title="local.minuteTip"
+ @click="
+ (showMinutes = !showMinutes), (showHours = showSeconds = false)
+ "
+ :class="{ on: showMinutes }"
+ >{{ minute | dd }}</a
+ >
+ <span>:</span>
+ <a
+ :title="local.secondTip"
+ @click="
+ (showSeconds = !showSeconds), (showHours = showMinutes = false)
+ "
+ :class="{ on: showSeconds }"
+ >{{ second | dd }}</a
+ >
+ </div>
</div>
</div>
-</div>
</template>
<script lang="js">
-/* eslint-disable */
-/* tslint:disable */
-export default {
- name: 'VueDatepickerLocalCalendar',
- props: {
- value: { default: null },
- left: { default: false },
- right: { default: false },
- },
- data() {
- const get = (time) => {
- return {
- year: time.getFullYear(),
- month: time.getMonth(),
- day: time.getDate(),
- hour: time.getHours(),
- minute: time.getMinutes(),
- second: time.getSeconds(),
- };
- };
- const time = get(this.value);
- return {
- pre: 'calendar',
- m: 'D',
- showYears: false,
- showMonths: false,
- showHours: false,
- showMinutes: false,
- showSeconds: false,
- year: time.year,
- month: time.month,
- day: time.day,
- hour: time.hour,
- minute: time.minute,
- second: time.second,
- };
- },
- watch: {
- value(val) {
- const $this = this;
- const time = $this.get(val);
- $this.year = time.year;
- $this.month = time.month;
- $this.day = time.day;
- $this.hour = time.hour;
- $this.minute = time.minute;
- $this.second = time.second;
- },
- },
- computed: {
- local() {
- return this.$parent.local;
- },
- format() {
- return this.$parent.format;
- },
- start() {
- return this.parse(this.$parent.dates[0]);
+ /* eslint-disable */
+ /* tslint:disable */
+ export default {
+ name: 'VueDatepickerLocalCalendar',
+ props: {
+ value: { default: null },
+ left: { default: false },
+ right: { default: false },
},
- end() {
- return this.parse(this.$parent.dates[1]);
- },
- ys() {
- return Math.floor(this.year / 10) * 10;
- },
- ye() {
- return this.ys + 10;
- },
- years() {
- const arr = [];
- let start = this.ys - 1;
- while (arr.length < 12) {
- arr.push(start += 1);
- }
- return arr;
- },
- days() {
- const days = [];
- const $this = this;
- const year = $this.year;
- const month = $this.month;
- const time = new Date(year, month, 1);
- const dow = $this.local.dow || 7;
- time.setDate(0); // switch to the last day of last month
- let lastDay = time.getDate();
- const week = time.getDay() || 7;
- let count = dow <= week ? week - dow + 1 : week + (7 - dow + 1);
- while (count > 0) {
- days.push({
- i: lastDay - count + 1,
- y: month > 0 ? year : year - 1,
- m: month > 0 ? month - 1 : 11,
- p: true,
- });
- count--;
- }
- time.setMonth(time.getMonth() + 2, 0); // switch to the last day of the current month
- lastDay = time.getDate();
- let i = 1;
- for (i = 1; i <= lastDay; i++) {
- days.push({
- i: i,
- y: year,
- m: month,
- });
- }
- for (i = 1; days.length < 42; i++) {
- days.push({
- i: i,
- y: month < 11 ? year : year + 1,
- m: month < 11 ? month + 1 : 0,
- n: true,
- });
- }
- return days;
- },
- },
- filters: {
- dd: val => ('0' + val).slice(-2),
- },
- methods: {
- get(time) {
+ data() {
+ const get = (time) => {
+ return {
+ year: time.getFullYear(),
+ month: time.getMonth(),
+ day: time.getDate(),
+ hour: time.getHours(),
+ minute: time.getMinutes(),
+ second: time.getSeconds(),
+ };
+ };
+ const time = get(this.value);
return {
- year: time.getFullYear(),
- month: time.getMonth(),
- day: time.getDate(),
- hour: time.getHours(),
- minute: time.getMinutes(),
- second: time.getSeconds(),
+ pre: 'calendar',
+ m: 'D',
+ showYears: false,
+ showMonths: false,
+ showHours: false,
+ showMinutes: false,
+ showSeconds: false,
+ year: time.year,
+ month: time.month,
+ day: time.day,
+ hour: time.hour,
+ minute: time.minute,
+ second: time.second,
};
},
- parse(num) {
- return Math.floor(num / 1000);
+ watch: {
+ value(val) {
+ const $this = this;
+ const time = $this.get(val);
+ $this.year = time.year;
+ $this.month = time.month;
+ $this.day = time.day;
+ $this.hour = time.hour;
+ $this.minute = time.minute;
+ $this.second = time.second;
+ },
},
- status(year, month, day, hour, minute, second, format) {
- const $this = this;
- const maxDay = new Date(year, month + 1, 0).getDate();
- const time = new Date(
- year,
- month,
- day > maxDay ? maxDay : day,
- hour,
- minute,
- second
- );
- const t = $this.parse(time);
- const f = $this.$parent.tf;
- const classObj = {};
- let flag = false;
- if (format === 'YYYY') {
- flag = year === $this.year;
- } else if (format === 'YYYYMM') {
- flag = month === $this.month;
- } else {
- flag = f($this.value, format) === f(time, format);
- }
- classObj[`${$this.pre}-date`] = true;
- classObj[`${$this.pre}-date-disabled`] =
- ($this.right && t < $this.start) ||
- $this.$parent.disabledDate(time, format);
- classObj[`${$this.pre}-date-on`] =
- ($this.left && t > $this.start) || ($this.right && t < $this.end);
- classObj[`${$this.pre}-date-selected`] = flag;
- return classObj;
- },
- nm() {
- if (this.month < 11) {
- this.month++;
- } else {
- this.month = 0;
- this.year++;
- }
+ computed: {
+ local() {
+ return this.$parent.local;
+ },
+ format() {
+ return this.$parent.format;
+ },
+ start() {
+ return this.parse(this.$parent.dates[0]);
+ },
+ end() {
+ return this.parse(this.$parent.dates[1]);
+ },
+ ys() {
+ return Math.floor(this.year / 10) * 10;
+ },
+ ye() {
+ return this.ys + 10;
+ },
+ years() {
+ const arr = [];
+ let start = this.ys - 1;
+ while (arr.length < 12) {
+ arr.push(start += 1);
+ }
+ return arr;
+ },
+ days() {
+ const days = [];
+ const $this = this;
+ const year = $this.year;
+ const month = $this.month;
+ const time = new Date(year, month, 1);
+ const dow = $this.local.dow || 7;
+ time.setDate(0); // switch to the last day of last month
+ let lastDay = time.getDate();
+ const week = time.getDay() || 7;
+ let count = dow <= week ? week - dow + 1 : week + (7 - dow + 1);
+ while (count > 0) {
+ days.push({
+ i: lastDay - count + 1,
+ y: month > 0 ? year : year - 1,
+ m: month > 0 ? month - 1 : 11,
+ p: true,
+ });
+ count--;
+ }
+ time.setMonth(time.getMonth() + 2, 0); // switch to the last day of the current month
+ lastDay = time.getDate();
+ let i = 1;
+ for (i = 1; i <= lastDay; i++) {
+ days.push({
+ i: i,
+ y: year,
+ m: month,
+ });
+ }
+ for (i = 1; days.length < 42; i++) {
+ days.push({
+ i: i,
+ y: month < 11 ? year : year + 1,
+ m: month < 11 ? month + 1 : 0,
+ n: true,
+ });
+ }
+ return days;
+ },
},
- pm() {
- if (this.month > 0) {
- this.month--;
- } else {
- this.month = 11;
- this.year--;
- }
+ filters: {
+ dd: val => ('0' + val).slice(-2),
},
- is(e) {
- return e.target.className.indexOf(`${this.pre}-date-disabled`) === -1;
+ methods: {
+ get(time) {
+ return {
+ year: time.getFullYear(),
+ month: time.getMonth(),
+ day: time.getDate(),
+ hour: time.getHours(),
+ minute: time.getMinutes(),
+ second: time.getSeconds(),
+ };
+ },
+ parse(num) {
+ return Math.floor(num / 1000);
+ },
+ status(year, month, day, hour, minute, second, format) {
+ const $this = this;
+ const maxDay = new Date(year, month + 1, 0).getDate();
+ const time = new Date(
+ year,
+ month,
+ day > maxDay ? maxDay : day,
+ hour,
+ minute,
+ second
+ );
+ const t = $this.parse(time);
+ const f = $this.$parent.tf;
+ const classObj = {};
+ let flag = false;
+ if (format === 'YYYY') {
+ flag = year === $this.year;
+ } else if (format === 'YYYYMM') {
+ flag = month === $this.month;
+ } else {
+ flag = f($this.value, format) === f(time, format);
+ }
+ classObj[`${$this.pre}-date`] = true;
+ classObj[`${$this.pre}-date-disabled`] =
+ ($this.right && t < $this.start) ||
+ $this.$parent.disabledDate(time, format);
+ classObj[`${$this.pre}-date-on`] =
+ ($this.left && t > $this.start) || ($this.right && t < $this.end);
+ classObj[`${$this.pre}-date-selected`] = flag;
+ return classObj;
+ },
+ nm() {
+ if (this.month < 11) {
+ this.month++;
+ } else {
+ this.month = 0;
+ this.year++;
+ }
+ },
+ pm() {
+ if (this.month > 0) {
+ this.month--;
+ } else {
+ this.month = 11;
+ this.year--;
+ }
+ },
+ is(e) {
+ return e.target.className.indexOf(`${this.pre}-date-disabled`) === -1;
+ },
+ ok(info) {
+ const $this = this;
+ let year = '';
+ let month = '';
+ let day = '';
+ info && info.n && $this.nm();
+ info && info.p && $this.pm();
+ if (info === 'h') {
+ const time = $this.get(this.value);
+ year = time.year;
+ month = time.month;
+ } else if (info === 'm' || info === 'y') {
+ day = '1';
+ }
+ const _time = new Date(
+ year || $this.year,
+ month || $this.month,
+ day || $this.day,
+ $this.hour,
+ $this.minute,
+ $this.second
+ );
+ if ($this.left && Math.floor(_time.getTime() / 1000) > $this.end) {
+ this.$parent.dates[1] = _time;
+ }
+ $this.$emit('input', _time);
+ $this.$parent.ok(info === 'h');
+ },
},
- ok(info) {
+ mounted() {
const $this = this;
- let year = '';
- let month = '';
- let day = '';
- info && info.n && $this.nm();
- info && info.p && $this.pm();
- if (info === 'h') {
- const time = $this.get(this.value);
- year = time.year;
- month = time.month;
- } else if (info === 'm' || info === 'y') {
- day = '1';
- }
- const _time = new Date(
- year || $this.year,
- month || $this.month,
- day || $this.day,
- $this.hour,
- $this.minute,
- $this.second
- );
- if ($this.left && Math.floor(_time.getTime() / 1000) > $this.end) {
- this.$parent.dates[1] = _time;
+ const is = c => $this.format.indexOf(c) !== -1;
+ if (is('s') && is('m') && (is('h') || is('H'))) {
+ $this.m = 'H';
+ } else if (is('D')) {
+ $this.m = 'D';
+ } else if (is('M')) {
+ $this.m = 'M';
+ $this.showMonths = true;
+ } else if (is('Y')) {
+ $this.m = 'Y';
+ $this.showYears = true;
}
- $this.$emit('input', _time);
- $this.$parent.ok(info === 'h');
},
- },
- mounted() {
- const $this = this;
- const is = c => $this.format.indexOf(c) !== -1;
- if (is('s') && is('m') && (is('h') || is('H'))) {
- $this.m = 'H';
- } else if (is('D')) {
- $this.m = 'D';
- } else if (is('M')) {
- $this.m = 'M';
- $this.showMonths = true;
- } else if (is('Y')) {
- $this.m = 'Y';
- $this.showYears = true;
- }
- },
-};
+ };
</script>
<style scoped>
-.calendar {
- float: left;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- color: #3d444f;
-}
-.calendar + .calendar {
- border-left: solid 1px #eaeaea;
- margin-left: 5px;
- padding-left: 5px;
-}
-.calendar-head {
- line-height: 34px;
- height: 34px;
- text-align: center;
- position: relative;
-}
+ .calendar {
+ float: left;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ color: #3d444f;
+ }
+ .calendar + .calendar {
+ border-left: solid 1px #eaeaea;
+ margin-left: 5px;
+ padding-left: 5px;
+ }
+ .calendar-head {
+ line-height: 34px;
+ height: 34px;
+ text-align: center;
+ position: relative;
+ }
-.calendar-head a {
- color: #666;
- cursor: pointer;
- display: inline-block;
- text-align: center;
- position: absolute;
- padding: 0 5px;
- font-size: 16px;
-}
+ .calendar-head a {
+ color: #666;
+ cursor: pointer;
+ display: inline-block;
+ text-align: center;
+ position: absolute;
+ padding: 0 5px;
+ font-size: 16px;
+ }
-.calendar-head a:hover {
- color: #3f97e3;
-}
+ .calendar-head a:hover {
+ color: #3f97e3;
+ }
-.calendar-head .calendar-year-select,
-.calendar-head .calendar-month-select {
- font-size: 12px;
- padding: 0 2px;
- position: relative;
-}
+ .calendar-head .calendar-year-select,
+ .calendar-head .calendar-month-select {
+ font-size: 12px;
+ padding: 0 2px;
+ position: relative;
+ }
-.calendar-prev-decade-btn,
-.calendar-prev-year-btn {
- left: 6px;
-}
+ .calendar-prev-decade-btn,
+ .calendar-prev-year-btn {
+ left: 6px;
+ }
-.calendar-prev-month-btn {
- left: 24px;
-}
+ .calendar-prev-month-btn {
+ left: 24px;
+ }
-.calendar-next-decade-btn,
-.calendar-next-year-btn {
- right: 6px;
-}
+ .calendar-next-decade-btn,
+ .calendar-next-year-btn {
+ right: 6px;
+ }
-.calendar-next-month-btn {
- right: 24px;
-}
-.calendar-next-month-btn .icon.lg, .calendar-prev-month-btn .icon.lg{
- margin-top: 8px;
-}
-.calendar-body {
- position: relative;
- width: 196px;
- height: 196px;
-}
+ .calendar-next-month-btn {
+ right: 24px;
+ }
+ .calendar-next-month-btn .icon.lg,
+ .calendar-prev-month-btn .icon.lg {
+ margin-top: 8px;
+ }
+ .calendar-body {
+ position: relative;
+ width: 196px;
+ height: 196px;
+ }
-.calendar-days {
- width: 100%;
- height: 100%;
-}
+ .calendar-days {
+ width: 100%;
+ height: 100%;
+ }
-.calendar-week,
-.calendar-date {
- font-weight: normal;
- width: 14.28%;
- height: 14.28%;
- text-align: center;
- box-sizing: border-box;
- overflow: hidden;
- float: left;
-}
+ .calendar-week,
+ .calendar-date {
+ font-weight: normal;
+ width: 14.28%;
+ height: 14.28%;
+ text-align: center;
+ box-sizing: border-box;
+ overflow: hidden;
+ float: left;
+ }
-.calendar-week:before,
-.calendar-date:before {
- content: '';
- display: inline-block;
- height: 100%;
- vertical-align: middle;
-}
+ .calendar-week:before,
+ .calendar-date:before {
+ content: '';
+ display: inline-block;
+ height: 100%;
+ vertical-align: middle;
+ }
-.calendar-date {
- cursor: pointer;
- line-height: 29px;
- transition: background-color .3s;
-}
+ .calendar-date {
+ cursor: pointer;
+ line-height: 29px;
+ transition: background-color 0.3s;
+ }
-.calendar-date-out {
- color: #ccc;
-}
+ .calendar-date-out {
+ color: #ccc;
+ }
-.calendar-date:hover,
-.calendar-date-on {
- color: #3f97e3;
- background-color: #f8f8f8;
-}
+ .calendar-date:hover,
+ .calendar-date-on {
+ color: #3f97e3;
+ background-color: #f8f8f8;
+ }
-.calendar-date-selected,
-.calendar-date-selected:hover {
- color: #fff;
- font-weight: bold;
- border-radius: 14px;
- background: #3f97e3;
-}
+ .calendar-date-selected,
+ .calendar-date-selected:hover {
+ color: #fff;
+ font-weight: bold;
+ border-radius: 14px;
+ background: #3f97e3;
+ }
-.calendar-date-disabled {
- cursor: not-allowed !important;
- color: #ccc !important;
- background: #fff !important;
-}
+ .calendar-date-disabled {
+ cursor: not-allowed !important;
+ color: #ccc !important;
+ background: #fff !important;
+ }
-.calendar-foot {
- margin-top: 5px;
-}
+ .calendar-foot {
+ margin-top: 5px;
+ }
-.calendar-hour {
- display: inline-block;
- border: 1px solid #e6e5e5;
- color: #9e9e9e;
-}
+ .calendar-hour {
+ display: inline-block;
+ border: 1px solid #e6e5e5;
+ color: #9e9e9e;
+ }
-.calendar-hour a {
- display: inline-block;
- padding: 2px 4px;
- cursor: pointer;
-}
+ .calendar-hour a {
+ display: inline-block;
+ padding: 2px 4px;
+ cursor: pointer;
+ }
-.calendar-hour a:hover,
-.calendar-hour a.on {
- color: #3f97e3;
-}
+ .calendar-hour a:hover,
+ .calendar-hour a.on {
+ color: #3f97e3;
+ }
-.calendar-years,
-.calendar-months,
-.calendar-hours,
-.calendar-minutes,
-.calendar-seconds {
- width: 100%;
- height: 100%;
- position: absolute;
- background: #fff;
- left: 0;
- top: 0;
-}
+ .calendar-years,
+ .calendar-months,
+ .calendar-hours,
+ .calendar-minutes,
+ .calendar-seconds {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ background: #fff;
+ left: 0;
+ top: 0;
+ }
-.calendar-months a {
- width: 33.33%;
- height: 25%;
-}
+ .calendar-months a {
+ width: 33.33%;
+ height: 25%;
+ }
-.calendar-years a {
- width: 33.33%;
- height: 25%;
-}
+ .calendar-years a {
+ width: 33.33%;
+ height: 25%;
+ }
-.calendar-overflow{
- overflow-x:scroll;
- height: 100%;
-}
+ .calendar-overflow {
+ overflow-x: scroll;
+ height: 100%;
+ }
-/* .calendar-hours a {
+ /* .calendar-hours a {
width: 20%;
height: 20%;
}
@@ -504,13 +612,12 @@ export default {
height: 10%;
} */
-.calendar-title {
- margin-top: -30px;
- height: 30px;
- line-height: 30px;
- background: #fff;
- text-align: center;
- font-weight: bold;
-}
+ .calendar-title {
+ margin-top: -30px;
+ height: 30px;
+ line-height: 30px;
+ background: #fff;
+ text-align: center;
+ font-weight: bold;
+ }
</style>
-
diff --git a/src/components/rk-date.vue b/src/components/rk-date.vue
index f8c3a89..16f49bb 100755
--- a/src/components/rk-date.vue
+++ b/src/components/rk-date.vue
@@ -1,472 +1,536 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/** * Licensed to the Apache Software Foundation (ASF) under one or more *
+contributor license agreements. See the NOTICE file distributed with * this work
+for additional information regarding copyright ownership. * The ASF licenses
+this file to You under the Apache License, Version 2.0 * (the "License"); you
+may not use this file except in compliance with * the License. You may obtain a
+copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless
+required by applicable law or agreed to in writing, software * distributed under
+the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. * See the License for the
+specific language governing permissions and * limitations under the License. */
<template>
-<div class="datepicker" :class="{'datepicker-range':range,'datepicker__clearable':clearable&&text&&!disabled}">
- <!-- <svg class="icon datepicker-icon">
+ <div
+ class="datepicker"
+ :class="{
+ 'datepicker-range': range,
+ datepicker__clearable: clearable && text && !disabled,
+ }"
+ >
+ <!-- <svg class="icon datepicker-icon">
<use xlink:href="#timer"></use>
</svg> -->
- <input class="cp" readonly :value="text" :class="[show ? 'focus' : '', inputClass]" :disabled="disabled" :placeholder="placeholder" :name="name" v-if="type!=='inline'"/>
- <a class="datepicker-close" @click.stop="cls"></a>
- <transition name="datepicker-anim">
- <div class="datepicker-popup" :class="[popupClass,{'datepicker-inline':type==='inline'},position==='top'?'top':'bottom']" tabindex="-1" v-if="show||type==='inline'">
- <template v-if="range">
- <div class="datepicker-popup__sidebar">
- <button type="button" class="datepicker-popup__shortcut" @click="quickPick('quarter')">{{this.local.quarterHourCutTip}}</button>
- <button type="button" class="datepicker-popup__shortcut" @click="quickPick('half')">{{this.local.halfHourCutTip}}</button>
- <button type="button" class="datepicker-popup__shortcut" @click="quickPick('hour')">{{this.local.hourCutTip}}</button>
- <button type="button" class="datepicker-popup__shortcut" @click="quickPick('day')">{{this.local.dayCutTip}}</button>
- <button type="button" class="datepicker-popup__shortcut" @click="quickPick('week')">{{this.local.weekCutTip}}</button>
- <button type="button" class="datepicker-popup__shortcut" @click="quickPick('month')">{{this.local.monthCutTip}}</button>
+ <input
+ class="cp"
+ readonly
+ :value="text"
+ :class="[show ? 'focus' : '', inputClass]"
+ :disabled="disabled"
+ :placeholder="placeholder"
+ :name="name"
+ v-if="type !== 'inline'"
+ />
+ <a class="datepicker-close" @click.stop="cls"></a>
+ <transition name="datepicker-anim">
+ <div
+ class="datepicker-popup"
+ :class="[
+ popupClass,
+ { 'datepicker-inline': type === 'inline' },
+ position === 'top' ? 'top' : 'bottom',
+ ]"
+ tabindex="-1"
+ v-if="show || type === 'inline'"
+ >
+ <template v-if="range">
+ <div class="datepicker-popup__sidebar">
+ <button
+ type="button"
+ class="datepicker-popup__shortcut"
+ @click="quickPick('quarter')"
+ >
+ {{ this.local.quarterHourCutTip }}
+ </button>
+ <button
+ type="button"
+ class="datepicker-popup__shortcut"
+ @click="quickPick('half')"
+ >
+ {{ this.local.halfHourCutTip }}
+ </button>
+ <button
+ type="button"
+ class="datepicker-popup__shortcut"
+ @click="quickPick('hour')"
+ >
+ {{ this.local.hourCutTip }}
+ </button>
+ <button
+ type="button"
+ class="datepicker-popup__shortcut"
+ @click="quickPick('day')"
+ >
+ {{ this.local.dayCutTip }}
+ </button>
+ <button
+ type="button"
+ class="datepicker-popup__shortcut"
+ @click="quickPick('week')"
+ >
+ {{ this.local.weekCutTip }}
+ </button>
+ <button
+ type="button"
+ class="datepicker-popup__shortcut"
+ @click="quickPick('month')"
+ >
+ {{ this.local.monthCutTip }}
+ </button>
+ </div>
+ <div class="datepicker-popup__body">
+ <rk-calendar v-model="dates[0]" :left="true"></rk-calendar>
+ <rk-calendar v-model="dates[1]" :right="true"></rk-calendar>
+ </div>
+ </template>
+ <template v-else>
+ <rk-calendar v-model="dates[0]"></rk-calendar>
+ </template>
+ <div v-if="showButtons" class="datepicker__buttons">
+ <button
+ @click.prevent.stop="cancel"
+ class="datepicker__button-cancel"
+ >
+ {{ this.local.cancelTip }}
+ </button>
+ <button
+ @click.prevent.stop="submit"
+ class="datepicker__button-select"
+ >
+ {{ this.local.submitTip }}
+ </button>
</div>
- <div class="datepicker-popup__body">
- <rk-calendar v-model="dates[0]" :left="true"></rk-calendar>
- <rk-calendar v-model="dates[1]" :right="true"></rk-calendar>
- </div>
- </template>
- <template v-else>
- <rk-calendar v-model="dates[0]"></rk-calendar>
- </template>
- <div v-if="showButtons" class="datepicker__buttons">
- <button @click.prevent.stop="cancel" class="datepicker__button-cancel">{{this.local.cancelTip}}</button>
- <button @click.prevent.stop="submit" class="datepicker__button-select">{{this.local.submitTip}}</button>
</div>
- </div>
- </transition>
-</div>
+ </transition>
+ </div>
</template>
<script lang="js">
-import RkCalendar from './rk-date-calendar.vue';
-import getLocalTime from '@/utils/localtime';
-/* eslint-disable */
-/* tslint:disable */
-export default {
- name: 'VueDatepickerLocal',
- components: { RkCalendar },
- props: {
- position: { type:String, default:'bottom' },
- name: [String],
- inputClass: [String],
- popupClass: [String],
- value: [Date, Array, String],
- disabled: [Boolean],
- type: {
- type: String,
- default: 'normal',
- },
- rangeSeparator: {
- type: String,
- default: '~',
- },
- clearable: {
- type: Boolean,
- default: false,
- },
- placeholder: [String],
- disabledDate: {
- type: Function,
- default: () => false,
- },
- format: {
- type: String,
- default: 'YYYY-MM-DD',
- },
- showButtons: {
- type: Boolean,
- default: false,
+ import RkCalendar from './rk-date-calendar.vue';
+ import getLocalTime from '@/utils/localtime';
+ /* eslint-disable */
+ /* tslint:disable */
+ export default {
+ name: 'VueDatepickerLocal',
+ components: { RkCalendar },
+ props: {
+ position: { type:String, default:'bottom' },
+ name: [String],
+ inputClass: [String],
+ popupClass: [String],
+ value: [Date, Array, String],
+ disabled: [Boolean],
+ type: {
+ type: String,
+ default: 'normal',
+ },
+ rangeSeparator: {
+ type: String,
+ default: '~',
+ },
+ clearable: {
+ type: Boolean,
+ default: false,
+ },
+ placeholder: [String],
+ disabledDate: {
+ type: Function,
+ default: () => false,
+ },
+ format: {
+ type: String,
+ default: 'YYYY-MM-DD',
+ },
+ showButtons: {
+ type: Boolean,
+ default: false,
+ },
+ dateRangeSelect: [Function],
},
- dateRangeSelect: [Function],
- },
- data() {
- return {
- show: false,
- dates: [],
- };
- },
- computed: {
- local() {
+ data() {
return {
- dow: 1, // Monday is the first day of the week
- hourTip: this.$t('hourTip'), // tip of select hour
- minuteTip: this.$t('minuteTip'), // tip of select minute
- secondTip: this.$t('secondTip'), // tip of select second
- yearSuffix: this.$t('yearSuffix'), // format of head
- monthsHead: this.$t('monthsHead').split(
- '_',
- ), // months of head
- months: this.$t('months').split(
- '_',
- ), // months of panel
- weeks: this.$t('weeks').split('_'), // weeks
- cancelTip: this.$t('cancel'), // default text for cancel button
- submitTip: this.$t('confirm'), // default text for submit button
- quarterHourCutTip: this.$t('quarterHourCutTip'),
- halfHourCutTip: this.$t('halfHourCutTip'),
- hourCutTip: this.$t('hourCutTip'),
- dayCutTip: this.$t('dayCutTip'),
- weekCutTip: this.$t('weekCutTip'),
- monthCutTip: this.$t('monthCutTip'),
+ show: false,
+ dates: [],
};
},
- range() {
- return this.dates.length === 2;
- },
- text() {
- const val = this.value;
- const txt = this.dates
- .map(date => this.tf(date))
- .join(` ${this.rangeSeparator} `);
- if (Array.isArray(val)) {
- return val.length > 1 ? txt : '';
- }
- return val ? txt : '';
- },
- },
- watch: {
- value() {
- this.dates = this.vi(this.value);
- },
- },
- methods: {
- get() {
- return Array.isArray(this.value) ? this.dates : this.dates[0];
+ computed: {
+ local() {
+ return {
+ dow: 1, // Monday is the first day of the week
+ hourTip: this.$t('hourTip'), // tip of select hour
+ minuteTip: this.$t('minuteTip'), // tip of select minute
+ secondTip: this.$t('secondTip'), // tip of select second
+ yearSuffix: this.$t('yearSuffix'), // format of head
+ monthsHead: this.$t('monthsHead').split(
+ '_',
+ ), // months of head
+ months: this.$t('months').split(
+ '_',
+ ), // months of panel
+ weeks: this.$t('weeks').split('_'), // weeks
+ cancelTip: this.$t('cancel'), // default text for cancel button
+ submitTip: this.$t('confirm'), // default text for submit button
+ quarterHourCutTip: this.$t('quarterHourCutTip'),
+ halfHourCutTip: this.$t('halfHourCutTip'),
+ hourCutTip: this.$t('hourCutTip'),
+ dayCutTip: this.$t('dayCutTip'),
+ weekCutTip: this.$t('weekCutTip'),
+ monthCutTip: this.$t('monthCutTip'),
+ };
+ },
+ range() {
+ return this.dates.length === 2;
+ },
+ text() {
+ const val = this.value;
+ const txt = this.dates
+ .map(date => this.tf(date))
+ .join(` ${this.rangeSeparator} `);
+ if (Array.isArray(val)) {
+ return val.length > 1 ? txt : '';
+ }
+ return val ? txt : '';
+ },
},
- cls() {
- this.$emit('clear');
- this.$emit('input', this.range ? [] : '');
+ watch: {
+ value() {
+ this.dates = this.vi(this.value);
+ },
},
- vi(val) {
- if (Array.isArray(val)) {
- return val.length > 1
- ? val.map(item => new Date(item))
- : [new Date(), new Date()];
- }
- return val ? [new Date(val)] : [new Date()];
- },
- ok(leaveOpened) {
- this.$emit('input', this.get());
- !leaveOpened &&
- !this.showButtons &&
- setTimeout(() => {
- this.show = this.range;
- });
- },
- tf(time, format) {
- const year = time.getFullYear();
- const month = time.getMonth();
- const day = time.getDate();
- const hours24 = time.getHours();
- const hours = hours24 % 12 === 0 ? 12 : hours24 % 12;
- const minutes = time.getMinutes();
- const seconds = time.getSeconds();
- const milliseconds = time.getMilliseconds();
- const dd = t => (`0${t}`).slice(-2);
- const map = {
- YYYY: year,
- MM: dd(month + 1),
- MMM: this.local.months[month],
- MMMM: this.local.monthsHead[month],
- M: month + 1,
- DD: dd(day),
- D: day,
- HH: dd(hours24),
- H: hours24,
- hh: dd(hours),
- h: hours,
- mm: dd(minutes),
- m: minutes,
- ss: dd(seconds),
- s: seconds,
- S: milliseconds,
- };
- return (format || this.format).replace(
- /Y+|M+|D+|H+|h+|m+|s+|S+/g,
- str => map[str],
- );
- },
- dc(e) {
- this.show = this.$el.contains(e.target) && !this.disabled;
+ methods: {
+ get() {
+ return Array.isArray(this.value) ? this.dates : this.dates[0];
+ },
+ cls() {
+ this.$emit('clear');
+ this.$emit('input', this.range ? [] : '');
+ },
+ vi(val) {
+ if (Array.isArray(val)) {
+ return val.length > 1
+ ? val.map(item => new Date(item))
+ : [new Date(), new Date()];
+ }
+ return val ? [new Date(val)] : [new Date()];
+ },
+ ok(leaveOpened) {
+ this.$emit('input', this.get());
+ !leaveOpened &&
+ !this.showButtons &&
+ setTimeout(() => {
+ this.show = this.range;
+ });
+ },
+ tf(time, format) {
+ const year = time.getFullYear();
+ const month = time.getMonth();
+ const day = time.getDate();
+ const hours24 = time.getHours();
+ const hours = hours24 % 12 === 0 ? 12 : hours24 % 12;
+ const minutes = time.getMinutes();
+ const seconds = time.getSeconds();
+ const milliseconds = time.getMilliseconds();
+ const dd = t => (`0${t}`).slice(-2);
+ const map = {
+ YYYY: year,
+ MM: dd(month + 1),
+ MMM: this.local.months[month],
+ MMMM: this.local.monthsHead[month],
+ M: month + 1,
+ DD: dd(day),
+ D: day,
+ HH: dd(hours24),
+ H: hours24,
+ hh: dd(hours),
+ h: hours,
+ mm: dd(minutes),
+ m: minutes,
+ ss: dd(seconds),
+ s: seconds,
+ S: milliseconds,
+ };
+ return (format || this.format).replace(
+ /Y+|M+|D+|H+|h+|m+|s+|S+/g,
+ str => map[str],
+ );
+ },
+ dc(e) {
+ this.show = this.$el.contains(e.target) && !this.disabled;
+ },
+ quickPick(type){
+ const end = new Date();
+ const start = new Date();
+ switch (type) {
+ case 'quarter':
+ start.setTime(start.getTime() - 60 * 15 * 1000);//15 mins
+ break;
+ case 'half':
+ start.setTime(start.getTime() - 60 * 30 * 1000);//30 mins
+ break;
+ case 'hour':
+ start.setTime(start.getTime() - 3600 * 1000);//1 hour
+ break;
+ case 'day':
+ start.setTime(start.getTime() - 3600 * 1000 * 24);//1 day
+ break;
+ case 'week':
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);//1 week
+ break;
+ case 'month':
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);//1 month
+ break;
+ default:
+ break;
+ }
+ this.dates = [start, end];
+ this.$emit('input', this.get());
+ },
+ submit() {
+ this.$emit('confirm', this.get());
+ this.show = false;
+ },
+ cancel() {
+ this.$emit('cancel');
+ this.show = false;
+ },
},
- quickPick(type){
- const end = new Date();
- const start = new Date();
- switch (type) {
- case 'quarter':
- start.setTime(start.getTime() - 60 * 15 * 1000);//15 mins
- break;
- case 'half':
- start.setTime(start.getTime() - 60 * 30 * 1000);//30 mins
- break;
- case 'hour':
- start.setTime(start.getTime() - 3600 * 1000);//1 hour
- break;
- case 'day':
- start.setTime(start.getTime() - 3600 * 1000 * 24);//1 day
- break;
- case 'week':
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);//1 week
- break;
- case 'month':
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);//1 month
- break;
- default:
- break;
- }
- this.dates = [start, end];
- this.$emit('input', this.get());
- },
- submit() {
- this.$emit('confirm', this.get());
- this.show = false;
+ mounted() {
+ this.dates = this.vi(this.value);
+ document.addEventListener('click', this.dc, true);
},
- cancel() {
- this.$emit('cancel');
- this.show = false;
+ beforeDestroy() {
+ document.removeEventListener('click', this.dc, true);
},
- },
- mounted() {
- this.dates = this.vi(this.value);
- document.addEventListener('click', this.dc, true);
- },
- beforeDestroy() {
- document.removeEventListener('click', this.dc, true);
- },
-};
+ };
</script>
<style lang="scss" scoped>
-.datepicker {
- display: inline-block;
- position: relative;
- // color: #3d444f;
-}
-
-.datepicker-icon {
- display: block;
- position: absolute;
- top: 8px;
- left: 8px;
- color: #515a6ecc;
-}
+ .datepicker {
+ display: inline-block;
+ position: relative;
+ // color: #3d444f;
+ }
-.datepicker-close {
- display: none;
- position: absolute;
- width: 34px;
- height: 100%;
- top: 0;
- right: 0;
- cursor: pointer;
-}
+ .datepicker-icon {
+ display: block;
+ position: absolute;
+ top: 8px;
+ left: 8px;
+ color: #515a6ecc;
+ }
-.datepicker-close:before {
- display: block;
- content: '';
- position: absolute;
- width: 16px;
- height: 16px;
- left: 50%;
- top: 50%;
- margin-left: -8px;
- margin-top: -8px;
- text-align: center;
- background: #ccc;
- color: #fff;
- border-radius: 50%;
- background: #ccc
- url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3IDciIHdpZHRoPSI3IiBoZWlnaHQ9IjciPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik01LjU4LDVsMi44LTIuODFBLjQxLjQxLDAsMSwwLDcuOCwxLjZMNSw0LjQxLDIuMiwxLjZhLjQxLjQxLDAsMCwwLS41OC41OGgwTDQuNDIsNSwxLjYyLDcuOGEuNDEuNDEsMCwwLDAsLjU4LjU4TDUsNS41OCw3LjgsOC4zOWEuNDEuNDEsMCwwLDAsLjU4LS41OGgwWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEuNSAtMS40OCkiIHN0eWxlPSJmaWxsOiNmZmYiLz48L3N2Zz4NCg==')
- no-repeat 50% 50%;
-}
+ .datepicker-close {
+ display: none;
+ position: absolute;
+ width: 34px;
+ height: 100%;
+ top: 0;
+ right: 0;
+ cursor: pointer;
+ }
-.datepicker__clearable:hover:before {
- display: none;
-}
-.datepicker__clearable:hover .datepicker-close {
- display: block;
-}
+ .datepicker-close:before {
+ display: block;
+ content: '';
+ position: absolute;
+ width: 16px;
+ height: 16px;
+ left: 50%;
+ top: 50%;
+ margin-left: -8px;
+ margin-top: -8px;
+ text-align: center;
+ background: #ccc;
+ color: #fff;
+ border-radius: 50%;
+ background: #ccc
+ url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3IDciIHdpZHRoPSI3IiBoZWlnaHQ9IjciPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik01LjU4LDVsMi44LTIuODFBLjQxLjQxLDAsMSwwLDcuOCwxLjZMNSw0LjQxLDIuMiwxLjZhLjQxLjQxLDAsMCwwLS41OC41OGgwTDQuNDIsNSwxLjYyLDcuOGEuNDEuNDEsMCwwLDAsLjU4LjU4TDUsNS41OCw3LjgsOC4zOWEuNDEuNDEsMCwwLDAsLjU4LS41OGgwWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEuNSAtMS40OCkiIHN0eWxlPSJmaWxsOiNmZmYiLz48L3N2Zz4NCg==')
+ no-repeat 50% 50%;
+ }
-.datepicker-close:hover:before {
- background-color: #afafaf;
-}
+ .datepicker__clearable:hover:before {
+ display: none;
+ }
+ .datepicker__clearable:hover .datepicker-close {
+ display: block;
+ }
-.datepicker > input {
- color: inherit;
- // transition: all 200ms ease;
- border-radius: 4px;
- border: 0;
- background: none;
- height: 28px;
- box-sizing: border-box;
- outline: none;
- padding: 0 5px;
- width: 100%;
- user-select: none;
- font-family: Monaco;
- letter-spacing: -0.7px;
-}
+ .datepicker-close:hover:before {
+ background-color: #afafaf;
+ }
-// .datepicker > input.focus {
-// border-color: #3f97e3;
-// -webkit-box-shadow: 0 0 5px rgba(59, 180, 242, 0.3);
-// box-shadow: 0 0 5px rgba(59, 180, 242, 0.3);
-// }
+ .datepicker > input {
+ color: inherit;
+ // transition: all 200ms ease;
+ border-radius: 4px;
+ border: 0;
+ background: none;
+ height: 28px;
+ box-sizing: border-box;
+ outline: none;
+ padding: 0 5px;
+ width: 100%;
+ user-select: none;
+ font-family: Monaco;
+ letter-spacing: -0.7px;
+ }
-.datepicker > input:disabled {
- cursor: not-allowed;
- background-color: #ebebe4;
- border-color: #e5e5e5;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
+ // .datepicker > input.focus {
+ // border-color: #3f97e3;
+ // -webkit-box-shadow: 0 0 5px rgba(59, 180, 242, 0.3);
+ // box-shadow: 0 0 5px rgba(59, 180, 242, 0.3);
+ // }
-.datepicker-popup {
- right: 0px;
- border-radius: 4px;
- position: absolute;
- transition: all 200ms ease;
- opacity: 1;
- transform: scaleY(1);
- font-size: 12px;
- background: #fff;
- box-shadow: 0 1px 6px rgba(99, 99, 99, 0.2);
- margin-top: 2px;
- outline: 0;
- padding: 5px;
- overflow: hidden;
- z-index: 999;
- &.top{
- bottom:35px;
- transform-origin: center bottom;
- }
- &.bottom{
- top:35px;
- transform-origin: center top;
+ .datepicker > input:disabled {
+ cursor: not-allowed;
+ background-color: #ebebe4;
+ border-color: #e5e5e5;
+ -webkit-box-shadow: none;
+ box-shadow: none;
}
- &__sidebar{
+
+ .datepicker-popup {
+ right: 0px;
+ border-radius: 4px;
position: absolute;
- top: 0;
- bottom: 0;
- width:100px;
- height: 100%;
- padding: 5px;
- border-right: solid 1px #eaeaea;
- }
- &__shortcut{
- display: block;
- width: 100%;
- border: 0;
- background-color: transparent;
- line-height: 34px;
+ transition: all 200ms ease;
+ opacity: 1;
+ transform: scaleY(1);
font-size: 12px;
- color: #666;
- text-align: left;
- outline: none;
- cursor: pointer;
- white-space: nowrap;
- &:hover{
- color: #3f97e3;
+ background: #fff;
+ box-shadow: 0 1px 6px rgba(99, 99, 99, 0.2);
+ margin-top: 2px;
+ outline: 0;
+ padding: 5px;
+ overflow: hidden;
+ z-index: 999;
+ &.top {
+ bottom: 35px;
+ transform-origin: center bottom;
+ }
+ &.bottom {
+ top: 35px;
+ transform-origin: center top;
+ }
+ &__sidebar {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ width: 100px;
+ height: 100%;
+ padding: 5px;
+ border-right: solid 1px #eaeaea;
+ }
+ &__shortcut {
+ display: block;
+ width: 100%;
+ border: 0;
+ background-color: transparent;
+ line-height: 34px;
+ font-size: 12px;
+ color: #666;
+ text-align: left;
+ outline: none;
+ cursor: pointer;
+ white-space: nowrap;
+ &:hover {
+ color: #3f97e3;
+ }
+ }
+ &__body {
+ margin-left: 100px;
+ padding-left: 5px;
}
}
- &__body{
- margin-left: 100px;
- padding-left: 5px;
- }
-}
-
-.datepicker-inline {
- position: relative;
- margin-top: 0;
-}
-
-.datepicker-range {
- min-width: 280px;
-}
-.datepicker-range .datepicker-popup {
- width:520px;
-}
+ .datepicker-inline {
+ position: relative;
+ margin-top: 0;
+ }
-.datepicker-bottom {
- float: left;
- width: 100%;
- text-align: right;
-}
+ .datepicker-range {
+ min-width: 280px;
+ }
-.datepicker-btn {
- padding: 5px 10px;
- background: #3f97e3;
- color: #fff;
- border-radius: 2px;
- display: inline-block;
- cursor: pointer;
-}
-.datepicker-anim-enter-active {
- transform-origin: 0 0;
- animation: datepicker-anim-in 0.2s cubic-bezier(0.23, 1, 0.32, 1);
-}
+ .datepicker-range .datepicker-popup {
+ width: 520px;
+ }
-.datepicker-anim-leave-active {
- transform-origin: 0 0;
- animation: datepicker-anim-out 0.2s cubic-bezier(0.755, 0.05, 0.855, 0.06);
-}
+ .datepicker-bottom {
+ float: left;
+ width: 100%;
+ text-align: right;
+ }
-.datepicker__buttons {
- display: block;
- text-align: right;
-}
+ .datepicker-btn {
+ padding: 5px 10px;
+ background: #3f97e3;
+ color: #fff;
+ border-radius: 2px;
+ display: inline-block;
+ cursor: pointer;
+ }
+ .datepicker-anim-enter-active {
+ transform-origin: 0 0;
+ animation: datepicker-anim-in 0.2s cubic-bezier(0.23, 1, 0.32, 1);
+ }
-.datepicker__buttons button {
- display: inline-block;
- font-size: 13px;
- border: none;
- cursor: pointer;
- margin: 10px 0 0 5px;
- padding: 5px 15px;
- color: #ffffff;
-}
+ .datepicker-anim-leave-active {
+ transform-origin: 0 0;
+ animation: datepicker-anim-out 0.2s cubic-bezier(0.755, 0.05, 0.855, 0.06);
+ }
-.datepicker__buttons .datepicker__button-select {
- background: #3f97e3;
-}
+ .datepicker__buttons {
+ display: block;
+ text-align: right;
+ }
-.datepicker__buttons .datepicker__button-cancel {
- background: #666;
-}
+ .datepicker__buttons button {
+ display: inline-block;
+ font-size: 13px;
+ border: none;
+ cursor: pointer;
+ margin: 10px 0 0 5px;
+ padding: 5px 15px;
+ color: #ffffff;
+ }
-@keyframes datepicker-anim-in {
- 0% {
- opacity: 0;
- transform: scaleY(0.8);
+ .datepicker__buttons .datepicker__button-select {
+ background: #3f97e3;
}
- to {
- opacity: 1;
- transform: scaleY(1);
+
+ .datepicker__buttons .datepicker__button-cancel {
+ background: #666;
}
-}
-@keyframes datepicker-anim-out {
- 0% {
- opacity: 1;
- transform: scaleY(1);
+ @keyframes datepicker-anim-in {
+ 0% {
+ opacity: 0;
+ transform: scaleY(0.8);
+ }
+ to {
+ opacity: 1;
+ transform: scaleY(1);
+ }
}
- to {
- opacity: 0;
- transform: scaleY(0.8);
+
+ @keyframes datepicker-anim-out {
+ 0% {
+ opacity: 1;
+ transform: scaleY(1);
+ }
+ to {
+ opacity: 0;
+ transform: scaleY(0.8);
+ }
}
-}
</style>
diff --git a/src/components/rk-dropdown-item.vue b/src/components/rk-dropdown-item.vue
index a766f54..e78da01 100644
--- a/src/components/rk-dropdown-item.vue
+++ b/src/components/rk-dropdown-item.vue
@@ -1,58 +1,55 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/** * Licensed to the Apache Software Foundation (ASF) under one or more *
+contributor license agreements. See the NOTICE file distributed with * this work
+for additional information regarding copyright ownership. * The ASF licenses
+this file to You under the Apache License, Version 2.0 * (the "License"); you
+may not use this file except in compliance with * the License. You may obtain a
+copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless
+required by applicable law or agreed to in writing, software * distributed under
+the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. * See the License for the
+specific language governing permissions and * limitations under the License. */
<template>
- <div class="rk-dropdown-item" :class="{'active': (value === active && active)}">
+ <div class="rk-dropdown-item" :class="{ active: value === active && active }">
<div class="ell" v-if="!show">
<svg v-if="detail" class="icon sm r" @click.stop="show = !show">
<use xlink:href="#code"></use>
</svg>
- {{value}}</div>
+ {{ value }}
+ </div>
<div v-else>
<svg v-if="detail" class="icon sm r" @click.stop="show = !show">
<use xlink:href="#code"></use>
</svg>
- {{value}}</div>
+ {{ value }}
+ </div>
</div>
</template>
<script lang="ts">
-import Vue from 'vue';
-import { Component, Prop } from 'vue-property-decorator';
+ import Vue from 'vue';
+ import { Component, Prop } from 'vue-property-decorator';
-@Component({})
-export default class RkDropdownItem extends Vue {
- @Prop({ default: false }) private detail!: boolean;
- @Prop() private active!: string | number;
- @Prop() private value!: string | number;
- private show: boolean = false;
-}
+ @Component({})
+ export default class RkDropdownItem extends Vue {
+ @Prop({ default: false }) private detail!: boolean;
+ @Prop() private active!: string | number;
+ @Prop() private value!: string | number;
+ private show: boolean = false;
+ }
</script>
<style lang="scss">
-.rk-dropdown-item{
- padding: 7px 15px;
- cursor: pointer;
- user-select: none;
- .icon{
- margin-top: 3px;
- }
- &:hover, &.active{
- background-color: #40454e;
+ .rk-dropdown-item {
+ padding: 7px 15px;
+ cursor: pointer;
+ user-select: none;
+ .icon {
+ margin-top: 3px;
+ }
+ &:hover,
+ &.active {
+ background-color: #40454e;
+ }
}
-}
-</style>
\ No newline at end of file
+</style>
diff --git a/src/components/rk-dropdown.vue b/src/components/rk-dropdown.vue
index 31f901d..36e61b3 100644
--- a/src/components/rk-dropdown.vue
+++ b/src/components/rk-dropdown.vue
@@ -1,80 +1,86 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/** * Licensed to the Apache Software Foundation (ASF) under one or more *
+contributor license agreements. See the NOTICE file distributed with * this work
+for additional information regarding copyright ownership. * The ASF licenses
+this file to You under the Apache License, Version 2.0 * (the "License"); you
+may not use this file except in compliance with * the License. You may obtain a
+copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless
+required by applicable law or agreed to in writing, software * distributed under
+the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. * See the License for the
+specific language governing permissions and * limitations under the License. */
<template>
<rk-popper ref="popper" :trigger="trigger" :forceShow="show">
<span slot="reference"><slot></slot></span>
<div class="rk-dropdown" :style="`width:${width}`">
- <input v-model="searchString" type="text" placeholder="搜索..." class="rk-dropdown-search">
- <RkDropdownItem v-for="i in searchResult" :key="i.name" @click.native="handleClick(i)" :detail="true" :value="i.name"/>
+ <input
+ v-model="searchString"
+ type="text"
+ placeholder="搜索..."
+ class="rk-dropdown-search"
+ />
+ <RkDropdownItem
+ v-for="i in searchResult"
+ :key="i.name"
+ @click.native="handleClick(i)"
+ :detail="true"
+ :value="i.name"
+ />
</div>
</rk-popper>
</template>
<script lang="ts">
-import RkDropdownItem from './rk-dropdown-item.vue';
-import Vue from 'vue';
-import { Component, Prop, PropSync, Ref } from 'vue-property-decorator';
+ import RkDropdownItem from './rk-dropdown-item.vue';
+ import Vue from 'vue';
+ import { Component, Prop, PropSync, Ref } from 'vue-property-decorator';
-interface Option {
- value: string | number;
- name: string | number;
-}
-
-@Component({
- components: { RkDropdownItem },
-})
-export default class RkDropdown extends Vue {
- @Ref('popper') private readonly popper!: any;
- @Prop({ default: 'click' }) private trigger!: string;
- @Prop({ default: '180px' }) private width!: string;
- @Prop({ default: false }) private show!: boolean;
- @Prop({ default: false }) private search!: boolean;
- @Prop({ default: () => [] }) private options!: Option[];
- private searchString: string = '';
- private get searchResult() {
- return this.options.filter((item: Option) =>
- `${item.name}`.indexOf(this.searchString) !== -1);
+ interface Option {
+ value: string | number;
+ name: string | number;
}
- private handleClick(i: Option) {
- this.$emit('click', i);
- this.popper.doClose();
+
+ @Component({
+ components: { RkDropdownItem },
+ })
+ export default class RkDropdown extends Vue {
+ @Ref('popper') private readonly popper!: any;
+ @Prop({ default: 'click' }) private trigger!: string;
+ @Prop({ default: '180px' }) private width!: string;
+ @Prop({ default: false }) private show!: boolean;
+ @Prop({ default: false }) private search!: boolean;
+ @Prop({ default: () => [] }) private options!: Option[];
+ private searchString: string = '';
+ private get searchResult() {
+ return this.options.filter(
+ (item: Option) => `${item.name}`.indexOf(this.searchString) !== -1,
+ );
+ }
+ private handleClick(i: Option) {
+ this.$emit('click', i);
+ this.popper.doClose();
+ }
}
-}
</script>
<style lang="scss">
-.rk-dropdown{
- color: #efefef;
- box-shadow: 0 1px 6px rgba(99, 99, 99, 0.2);
- background-color: #252a2f;
- border-radius: 3px;
- overflow: auto;
- max-height: 200px;
- padding-bottom: 2px;
- &-search{
- width: calc(100% - 4px);
- border: 0;
- background-color: #333840;
- color: #eee;
- outline: 0;
- padding: 5px 25px 5px 10px;
- margin: 2px;
+ .rk-dropdown {
+ color: #efefef;
+ box-shadow: 0 1px 6px rgba(99, 99, 99, 0.2);
+ background-color: #252a2f;
border-radius: 3px;
+ overflow: auto;
+ max-height: 200px;
+ padding-bottom: 2px;
+ &-search {
+ width: calc(100% - 4px);
+ border: 0;
+ background-color: #333840;
+ color: #eee;
+ outline: 0;
+ padding: 5px 25px 5px 10px;
+ margin: 2px;
+ border-radius: 3px;
+ }
}
-}
-</style>
\ No newline at end of file
+</style>
diff --git a/src/components/rk-echarts.vue b/src/components/rk-echarts.vue
index 74f7b13..18d43ef 100644
--- a/src/components/rk-echarts.vue
+++ b/src/components/rk-echarts.vue
@@ -1,70 +1,62 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/** * Licensed to the Apache Software Foundation (ASF) under one or more *
+contributor license agreements. See the NOTICE file distributed with * this work
+for additional information regarding copyright ownership. * The ASF licenses
+this file to You under the Apache License, Version 2.0 * (the "License"); you
+may not use this file except in compliance with * the License. You may obtain a
+copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless
+required by applicable law or agreed to in writing, software * distributed under
+the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. * See the License for the
+specific language governing permissions and * limitations under the License. */
<template>
<div class="echarts" :style="`height:${height};width:${width};`"></div>
</template>
<script lang="ts">
-import Vue from 'vue';
-import { Component, Prop, Watch } from 'vue-property-decorator';
-import echarts from 'echarts/lib/echarts';
-import { Action } from 'vuex-class';
-@Component
-export default class RkEcharts extends Vue {
- @Prop() private option: any;
- @Prop() private clickEvent: any;
- @Prop({ default: false }) private uncombine!: boolean;
- @Prop({ default: '100%' }) private height!: string;
- @Prop({default: '100%' }) private width!: string;
- @Action('CLEAR_CHARTS') private CLEAR_CHARTS: any;
- private myChart: any = {};
- private mounted(): void {
- this.drawEcharts();
- window.addEventListener('resize', this.myChart.resize);
-
- }
- private beforeDestroy(): void {
- if (this.myChart.dispose) {
- this.myChart.dispose();
- }
- window.removeEventListener('resize', this.myChart.resize);
- }
- @Watch('option', { deep: true })
- private onoptionChanged(newVal: any, oldVal: any): void {
- if (this.myChart) {
- if (newVal) {
- this.myChart.setOption(newVal, true); // clear cache
+ import Vue from 'vue';
+ import { Component, Prop, Watch } from 'vue-property-decorator';
+ import echarts from 'echarts/lib/echarts';
+ import { Action } from 'vuex-class';
+ @Component
+ export default class RkEcharts extends Vue {
+ @Prop() private option: any;
+ @Prop() private clickEvent: any;
+ @Prop({ default: false }) private uncombine!: boolean;
+ @Prop({ default: '100%' }) private height!: string;
+ @Prop({ default: '100%' }) private width!: string;
+ @Action('CLEAR_CHARTS') private CLEAR_CHARTS: any;
+ private myChart: any = {};
+ private mounted(): void {
+ this.drawEcharts();
+ window.addEventListener('resize', this.myChart.resize);
+ }
+ private beforeDestroy(): void {
+ if (this.myChart.dispose) {
+ this.myChart.dispose();
+ }
+ window.removeEventListener('resize', this.myChart.resize);
+ }
+ @Watch('option', { deep: true })
+ private onoptionChanged(newVal: any, oldVal: any): void {
+ if (this.myChart) {
+ if (newVal) {
+ this.myChart.setOption(newVal, true); // clear cache
+ } else {
+ this.myChart.setOption(oldVal, true);
+ }
} else {
- this.myChart.setOption(oldVal, true);
+ this.drawEcharts();
}
- } else {
- this.drawEcharts();
+ }
+ private drawEcharts(): void {
+ const el: any = this.$el;
+ this.myChart = echarts.init(el, '');
+ this.myChart.setOption(this.option);
+ this.myChart.on('click', (params: any) => {
+ this.clickEvent(params);
+ });
}
}
- private drawEcharts(): void {
- const el: any = this.$el;
- this.myChart = echarts.init(el, '');
- this.myChart.setOption(this.option);
- this.myChart.on('click', (params: any) => {
- this.clickEvent(params);
- });
- }
-}
</script>
-<style>
-</style>
+<style></style>
diff --git a/src/components/rk-footer-time.vue b/src/components/rk-footer-time.vue
index 66ae100..ce6e280 100644
--- a/src/components/rk-footer-time.vue
+++ b/src/components/rk-footer-time.vue
@@ -1,42 +1,43 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/** * Licensed to the Apache Software Foundation (ASF) under one or more *
+contributor license agreements. See the NOTICE file distributed with * this work
+for additional information regarding copyright ownership. * The ASF licenses
+this file to You under the Apache License, Version 2.0 * (the "License"); you
+may not use this file except in compliance with * the License. You may obtain a
+copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless
+required by applicable law or agreed to in writing, software * distributed under
+the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. * See the License for the
+specific language governing permissions and * limitations under the License. */
<template>
- <RkDate class="mr-10" v-model="time" position="top" format="YYYY-MM-DD HH:mm:ss"/>
+ <RkDate
+ class="mr-10"
+ v-model="time"
+ position="top"
+ format="YYYY-MM-DD HH:mm:ss"
+ />
</template>
<script lang="ts">
-import timeFormat from '@/utils/timeFormat';
+ import timeFormat from '@/utils/timeFormat';
-export default {
- computed: {
- time: {
- get() {
- const that: any = this;
- return [that.$store.state.rocketbot.durationRow.start, that.$store.state.rocketbot.durationRow.end];
- },
- set(val: Date[]) {
- const that: any = this;
- that.$store.dispatch('SET_DURATION', timeFormat(val));
+ export default {
+ computed: {
+ time: {
+ get() {
+ const that: any = this;
+ return [
+ that.$store.state.rocketbot.durationRow.start,
+ that.$store.state.rocketbot.durationRow.end,
+ ];
+ },
+ set(val: Date[]) {
+ const that: any = this;
+ that.$store.dispatch('SET_DURATION', timeFormat(val));
+ },
},
},
- },
-};
+ };
</script>
-<style scoped>
-</style>
+<style scoped></style>
diff --git a/src/components/rk-footer.vue b/src/components/rk-footer.vue
index 37eaac7..a3a640d 100644
--- a/src/components/rk-footer.vue
+++ b/src/components/rk-footer.vue
@@ -1,96 +1,114 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/** * Licensed to the Apache Software Foundation (ASF) under one or more *
+contributor license agreements. See the NOTICE file distributed with * this work
+for additional information regarding copyright ownership. * The ASF licenses
+this file to You under the Apache License, Version 2.0 * (the "License"); you
+may not use this file except in compliance with * the License. You may obtain a
+copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless
+required by applicable law or agreed to in writing, software * distributed under
+the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. * See the License for the
+specific language governing permissions and * limitations under the License. */
<template>
- <footer class="rk-footer trans" :class="{'rk-footer-dark': $route.path === '/topology'}">
+ <footer
+ class="rk-footer trans"
+ :class="{ 'rk-footer-dark': $route.path === '/topology' }"
+ >
<div class="rk-footer-inner">
- <div class="flex-h">
- </div>
+ <div class="flex-h"></div>
<div class="sm flex-h">
- <RkFooterTime/>
- <span class="mr-15 cp" @click="setLang">{{lang === 'zh' ? '中' : 'En'}}</span>
- <span>{{$t('serverZone')}} UTC {{utc >= 0 ? '+' : ''}}</span><input v-model="utc" min='-12' max="14" class="rk-footer-utc" type="number">
+ <RkFooterTime />
+ <span class="mr-15 cp" @click="setLang">{{
+ lang === 'zh' ? '中' : 'En'
+ }}</span>
+ <span>{{ $t('serverZone') }} UTC {{ utc >= 0 ? '+' : '' }}</span
+ ><input
+ v-model="utc"
+ min="-12"
+ max="14"
+ class="rk-footer-utc"
+ type="number"
+ />
</div>
</div>
</footer>
</template>
<script lang="ts">
-import { Duration } from '@/types/global';
-import { Vue, Component, Watch } from 'vue-property-decorator';
-import { State, Action, Mutation } from 'vuex-class';
-import timeFormat from '@/utils/timeFormat';
+ import { Duration } from '@/types/global';
+ import { Vue, Component, Watch } from 'vue-property-decorator';
+ import { State, Action, Mutation } from 'vuex-class';
+ import timeFormat from '@/utils/timeFormat';
-@Component
-export default class Footerssd extends Vue {
- @State('rocketbot') private rocketbotGlobal: any;
- @Action('SET_DURATION') private SET_DURATION: any;
- @Action('SET_UTC') private SET_UTC: any;
- private lang: any = '';
- private utc: any = window.localStorage.getItem('utc') || -(new Date().getTimezoneOffset() / 60);
- @Watch('utc')
- private onUtcUpdate() {
- if (this.utc < -12) { this.utc = -12; }
- if (this.utc > 14) { this.utc = 14; }
- if (this.utc === '') { this.utc = 0; }
- this.SET_UTC(this.utc);
- window.localStorage.setItem('utc', this.utc.toString());
- }
- private setLang() {
- if (this.lang === 'zh') {
- this.$i18n.locale = 'en';
- window.localStorage.setItem('lang', 'en');
- this.lang = 'en';
- } else {
- this.$i18n.locale = 'zh';
- window.localStorage.setItem('lang', 'zh');
- this.lang = 'zh';
+ @Component
+ export default class Footerssd extends Vue {
+ @State('rocketbot') private rocketbotGlobal: any;
+ @Action('SET_DURATION') private SET_DURATION: any;
+ @Action('SET_UTC') private SET_UTC: any;
+ private lang: any = '';
+ private utc: any =
+ window.localStorage.getItem('utc') ||
+ -(new Date().getTimezoneOffset() / 60);
+ @Watch('utc')
+ private onUtcUpdate() {
+ if (this.utc < -12) {
+ this.utc = -12;
+ }
+ if (this.utc > 14) {
+ this.utc = 14;
+ }
+ if (this.utc === '') {
+ this.utc = 0;
+ }
+ this.SET_UTC(this.utc);
+ window.localStorage.setItem('utc', this.utc.toString());
+ }
+ private setLang() {
+ if (this.lang === 'zh') {
+ this.$i18n.locale = 'en';
+ window.localStorage.setItem('lang', 'en');
+ this.lang = 'en';
+ } else {
+ this.$i18n.locale = 'zh';
+ window.localStorage.setItem('lang', 'zh');
+ this.lang = 'zh';
+ }
+ }
+ private beforeMount() {
+ this.lang = window.localStorage.getItem('lang');
}
}
- private beforeMount() {
- this.lang = window.localStorage.getItem('lang');
- }
-}
</script>
<style scoped>
-.rk-footer {
- color: #515a6e;
- flex-shrink: 0;
- padding-right: 15px;
- padding-left: 15px;
- padding-bottom: 1px;
- box-shadow: 0 -1px 0px rgba(0, 0, 0, 0.08);
-}
-.rk-footer-dark {
- color: #ddd;
- background:#252a2f;
- border-top: 1px solid #252a2f;
-}
-.rk-footer-edit {
- color: #eee;
- background:#448dfe;
- border-top: 1px solid #448dfe;
-}
-.rk-footer-utc{
- color:inherit;background: 0;border: 0;outline: none; width:27px;padding-bottom: 0;
-}
-.rk-footer-inner{
- justify-content: space-between;
- display: flex;
-}
+ .rk-footer {
+ color: #515a6e;
+ flex-shrink: 0;
+ padding-right: 15px;
+ padding-left: 15px;
+ padding-bottom: 1px;
+ box-shadow: 0 -1px 0px rgba(0, 0, 0, 0.08);
+ }
+ .rk-footer-dark {
+ color: #ddd;
+ background: #252a2f;
+ border-top: 1px solid #252a2f;
+ }
+ .rk-footer-edit {
+ color: #eee;
+ background: #448dfe;
+ border-top: 1px solid #448dfe;
+ }
+ .rk-footer-utc {
+ color: inherit;
+ background: 0;
+ border: 0;
+ outline: none;
+ width: 27px;
+ padding-bottom: 0;
+ }
+ .rk-footer-inner {
+ justify-content: space-between;
+ display: flex;
+ }
</style>
diff --git a/src/components/rk-header.vue b/src/components/rk-header.vue
index c493e35..36a7a9c 100644
--- a/src/components/rk-header.vue
+++ b/src/components/rk-header.vue
@@ -1,19 +1,13 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/** * Licensed to the Apache Software Foundation (ASF) under one or more *
+contributor license agreements. See the NOTICE file distributed with * this work
+for additional information regarding copyright ownership. * The ASF licenses
+this file to You under the Apache License, Version 2.0 * (the "License"); you
+may not use this file except in compliance with * the License. You may obtain a
+copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless
+required by applicable law or agreed to in writing, software * distributed under
+the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. * See the License for the
+specific language governing permissions and * limitations under the License. */
<template>
<header class="rk-header flex-h">
@@ -26,164 +20,173 @@
<svg class="icon sm vm">
<use xlink:href="#chart"></use>
</svg>
- <span class="vm hide-xs ml-5">{{this.$t('dashboard')}}</span>
+ <span class="vm hide-xs ml-5">{{ this.$t('dashboard') }}</span>
</router-link>
<router-link class="nav-link mr-20" to="/topology">
<svg class="icon sm vm">
<use xlink:href="#issues"></use>
</svg>
- <span class="vm hide-xs ml-5">{{this.$t('topology')}}</span>
+ <span class="vm hide-xs ml-5">{{ this.$t('topology') }}</span>
</router-link>
<router-link class="nav-link mr-20" to="/trace">
<svg class="icon sm vm">
<use xlink:href="#merge"></use>
</svg>
- <span class="vm hide-xs ml-5">{{this.$t('trace')}}</span>
+ <span class="vm hide-xs ml-5">{{ this.$t('trace') }}</span>
</router-link>
<router-link class="nav-link mr-20" to="/alarm">
<svg class="icon sm vm">
<use xlink:href="#spam"></use>
</svg>
- <span class="vm hide-xs ml-5">{{this.$t('alarm')}}</span>
+ <span class="vm hide-xs ml-5">{{ this.$t('alarm') }}</span>
</router-link>
<router-link class="nav-link mr-20" to="/comparison">
<svg class="icon sm vm">
<use xlink:href="#chart"></use>
</svg>
- <span class="vm hide-xs ml-5">{{this.$t('comparison')}}</span>
+ <span class="vm hide-xs ml-5">{{ this.$t('comparison') }}</span>
</router-link>
</div>
<div class="flex-h">
- <a class="rk-btn mr-5 sm" :class="auto?'blue':'ghost'" @click="handleAuto">
- <span class="vm">{{this.$t('auto')}}</span>
+ <a
+ class="rk-btn mr-5 sm"
+ :class="auto ? 'blue' : 'ghost'"
+ @click="handleAuto"
+ >
+ <span class="vm">{{ this.$t('auto') }}</span>
</a>
<div class="auto-time">
<span class="rk-auto-select">
- <input v-model="autoTime" type="number" @change="changeAutoTime" min="1">
+ <input
+ v-model="autoTime"
+ type="number"
+ @change="changeAutoTime"
+ min="1"
+ />
</span>
- {{this.$t('second')}}
+ {{ this.$t('second') }}
</div>
<a class="rk-btn sm ghost" @click="handleReload">
- <svg class="icon mr-5 vm" :class="{'loading': auto}">
+ <svg class="icon mr-5 vm" :class="{ loading: auto }">
<use xlink:href="#retry"></use>
</svg>
- <span class="vm">{{this.$t('reload')}}</span>
+ <span class="vm">{{ this.$t('reload') }}</span>
</a>
- </div>
+ </div>
</header>
</template>
<script lang="ts">
-import { Vue, Component } from 'vue-property-decorator';
-import { Action, State, Getter } from 'vuex-class';
-import timeFormat from '@/utils/timeFormat';
+ import { Vue, Component } from 'vue-property-decorator';
+ import { Action, State, Getter } from 'vuex-class';
+ import timeFormat from '@/utils/timeFormat';
-@Component
-export default class Header extends Vue {
- @Getter('duration') private duration: any;
- @Action('SET_DURATION') private SET_DURATION: any;
- private show: boolean = false;
- private auto: boolean = false;
- private autoTime: number = 6;
- private timer: any = null;
- private handleReload() {
- const gap = this.duration.end.getTime() - this.duration.start.getTime();
- const utcCopy: any = -(new Date().getTimezoneOffset() / 60);
- const time: Date[] = [new Date(new Date().getTime() - gap), new Date()];
- this.SET_DURATION(timeFormat(time));
- }
- private handleAuto() {
- this.auto = !this.auto;
- if (this.auto) {
- this.handleReload();
- this.timer = setInterval(this.handleReload, this.autoTime * 1000);
- } else {
- clearInterval(this.timer);
+ @Component
+ export default class Header extends Vue {
+ @Getter('duration') private duration: any;
+ @Action('SET_DURATION') private SET_DURATION: any;
+ private show: boolean = false;
+ private auto: boolean = false;
+ private autoTime: number = 6;
+ private timer: any = null;
+ private handleReload() {
+ const gap = this.duration.end.getTime() - this.duration.start.getTime();
+ const utcCopy: any = -(new Date().getTimezoneOffset() / 60);
+ const time: Date[] = [new Date(new Date().getTime() - gap), new Date()];
+ this.SET_DURATION(timeFormat(time));
}
- }
- private handleHide() {
- this.show = false;
- }
- private handleShow() {
- this.show = !this.show;
- }
- private handleSignout() {
- localStorage.removeItem('skywalking-authority');
- this.$router.push('/login');
- }
- private changeAutoTime() {
- clearInterval(this.timer);
- if (this.auto) {
- this.handleReload();
- this.timer = setInterval(this.handleReload, this.autoTime * 1000);
+ private handleAuto() {
+ this.auto = !this.auto;
+ if (this.auto) {
+ this.handleReload();
+ this.timer = setInterval(this.handleReload, this.autoTime * 1000);
+ } else {
+ clearInterval(this.timer);
+ }
+ }
+ private handleHide() {
+ this.show = false;
+ }
+ private handleShow() {
+ this.show = !this.show;
+ }
+ private handleSignout() {
+ localStorage.removeItem('skywalking-authority');
+ this.$router.push('/login');
+ }
+ private changeAutoTime() {
+ clearInterval(this.timer);
+ if (this.auto) {
+ this.handleReload();
+ this.timer = setInterval(this.handleReload, this.autoTime * 1000);
+ }
}
}
-}
</script>
<style lang="scss" scoped>
-.rk-header {
- flex-shrink: 0;
- justify-content: space-between;
- height: 48px;
- padding-right: 15px;
- padding-left: 15px;
- font-size: 13px;
- color: #efefef;
- z-index: 9;
- background-color: #252a2f;
- box-shadow: 0 1px 2px 0 rgba(26, 24, 29, 0.24);
- .svg-logo {
- width: 90px;
- height: 22px;
- }
- .rocketbot{
- padding-top: 27px;
- position: absolute;
- font-size: 11px;
+ .rk-header {
+ flex-shrink: 0;
+ justify-content: space-between;
+ height: 48px;
+ padding-right: 15px;
+ padding-left: 15px;
+ font-size: 13px;
+ color: #efefef;
+ z-index: 9;
+ background-color: #252a2f;
+ box-shadow: 0 1px 2px 0 rgba(26, 24, 29, 0.24);
+ .svg-logo {
+ width: 90px;
+ height: 22px;
+ }
+ .rocketbot {
+ padding-top: 27px;
+ position: absolute;
+ font-size: 11px;
+ }
+ .logo {
+ font-family: 'Avenir', Helvetica, Arial, sans-serif;
+ font-size: 18px;
+ padding-top: 2px;
+ margin-right: 50px;
+ }
+ .nav-link {
+ padding: 4px 10px;
+ border-radius: 4px;
+ opacity: 0.8;
+ color: #efeff1;
+ will-change: opacity, background-color;
+ transition: opacity 0.3s, background-color 0.3s;
+ }
+ .nav-link:hover,
+ .nav-link.active {
+ opacity: 1;
+ background-color: #333844;
+ }
}
- .logo {
- font-family: "Avenir", Helvetica, Arial, sans-serif;
- font-size: 18px;
- padding-top: 2px;
- margin-right: 50px;
+ .rk-header-user {
+ display: none;
+ position: relative;
}
- .nav-link {
- padding: 4px 10px;
+ .rk-header-user-menu {
+ position: absolute;
+ top: 35px;
+ right: 0;
+ background-color: #fff;
+ overflow: hidden;
border-radius: 4px;
- opacity: 0.8;
- color: #efeff1;
- will-change: opacity, background-color;
- transition: opacity 0.3s, background-color 0.3s;
+ padding: 3px 0;
+ color: #333844;
+ width: 100px;
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1), 0 0 1px rgba(0, 0, 0, 0.15);
}
- .nav-link:hover,
- .nav-link.active {
- opacity: 1;
- background-color: #333844;
- }
-}
-.rk-header-user{
- display: none;
- position: relative;
-}
-.rk-header-user-menu{
- position: absolute;
- top: 35px;
- right: 0;
- background-color: #fff;
- overflow: hidden;
- border-radius: 4px;
- padding: 3px 0;
- color: #333844;
- width: 100px;
- box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 0 1px rgba(0,0,0,0.15);
-}
-.rk-header-user-menu-i{
- padding: 6px 10px;
- will-change: background-color;
- transition: background-color .3s;
- &:hover{
- background-color:#dededf;
+ .rk-header-user-menu-i {
+ padding: 6px 10px;
+ will-change: background-color;
+ transition: background-color 0.3s;
+ &:hover {
+ background-color: #dededf;
+ }
}
-}
</style>
diff --git a/src/components/rk-icon.vue b/src/components/rk-icon.vue
index 27b6a01..be6c57c 100644
--- a/src/components/rk-icon.vue
+++ b/src/components/rk-icon.vue
@@ -1,63 +1,60 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/** * Licensed to the Apache Software Foundation (ASF) under one or more *
+contributor license agreements. See the NOTICE file distributed with * this work
+for additional information regarding copyright ownership. * The ASF licenses
+this file to You under the Apache License, Version 2.0 * (the "License"); you
+may not use this file except in compliance with * the License. You may obtain a
+copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless
+required by applicable law or agreed to in writing, software * distributed under
+the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. * See the License for the
+specific language governing permissions and * limitations under the License. */
<template>
- <svg class="icon" :class="{
- 'sm':size === 'sm',
- 'lg':size=== 'lg',
- 'offset':offset,
- 'loading':loading,
- }">
+ <svg
+ class="icon"
+ :class="{
+ sm: size === 'sm',
+ lg: size === 'lg',
+ offset: offset,
+ loading: loading,
+ }"
+ >
<use :xlink:href="icon"></use>
</svg>
</template>
<script lang="ts">
-import { Vue, Component, Prop } from 'vue-property-decorator';
-import '../assets/icons/index';
+ import { Vue, Component, Prop } from 'vue-property-decorator';
+ import '../assets/icons/index';
-@Component
-export default class RkIcon extends Vue {
- @Prop({default: ''}) private icon!: string;
- @Prop({default: ''}) private size!: string;
- @Prop({default: false}) private loading!: boolean;
- @Prop({default: false}) private offset!: boolean;
-}
+ @Component
+ export default class RkIcon extends Vue {
+ @Prop({ default: '' }) private icon!: string;
+ @Prop({ default: '' }) private size!: string;
+ @Prop({ default: false }) private loading!: boolean;
+ @Prop({ default: false }) private offset!: boolean;
+ }
</script>
<style lang="scss">
-.icon{
- width: 16px;
- height: 16px;
- vertical-align: middle;
- fill: currentColor;
- &.sm{
- width: 13px;
- height: 13px;
- }
- &.lg{
- width: 18px;
- height: 18px;
- }
- &.offset{
- margin-top: -2px;
- }
- &.loading {
- animation: loading 1.5s linear infinite;
+ .icon {
+ width: 16px;
+ height: 16px;
+ vertical-align: middle;
+ fill: currentColor;
+ &.sm {
+ width: 13px;
+ height: 13px;
+ }
+ &.lg {
+ width: 18px;
+ height: 18px;
+ }
+ &.offset {
+ margin-top: -2px;
+ }
+ &.loading {
+ animation: loading 1.5s linear infinite;
+ }
}
-}
</style>
diff --git a/src/components/rk-page.vue b/src/components/rk-page.vue
index 2746148..956d5f6 100644
--- a/src/components/rk-page.vue
+++ b/src/components/rk-page.vue
@@ -1,115 +1,115 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/** * Licensed to the Apache Software Foundation (ASF) under one or more *
+contributor license agreements. See the NOTICE file distributed with * this work
+for additional information regarding copyright ownership. * The ASF licenses
+this file to You under the Apache License, Version 2.0 * (the "License"); you
+may not use this file except in compliance with * the License. You may obtain a
+copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless
+required by applicable law or agreed to in writing, software * distributed under
+the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. * See the License for the
+specific language governing permissions and * limitations under the License. */
<template>
<span class="rk-page flex-h">
<svg class="icon cp mr-5" @click="pre">
<use xlink:href="#chevron-left"></use>
</svg>
- <input class="rk-page-input tc mr-5" type="text" v-model="currentPage" @keyup.enter="goToCertainPage">
+ <input
+ class="rk-page-input tc mr-5"
+ type="text"
+ v-model="currentPage"
+ @keyup.enter="goToCertainPage"
+ />
<span class="mr-5">/</span>
- <span class="mr-5">{{Math.ceil(this.total / this.currentSize)}}</span>
+ <span class="mr-5">{{ Math.ceil(this.total / this.currentSize) }}</span>
<svg class="icon cp" @click="next">
<use xlink:href="#chevron-right"></use>
</svg>
</span>
</template>
-<script lang="js"> // tslint:disable
-export default {
- name: 'RkPage',
- props: {
- name: {
- type: String,
- default: '',
+<script lang="js">
+ // tslint:disable
+ export default {
+ name: 'RkPage',
+ props: {
+ name: {
+ type: String,
+ default: '',
+ },
+ currentPage: {
+ type: Number,
+ default: 1,
+ },
+ currentSize: {
+ type: Number,
+ default: 10,
+ },
+ total: {
+ type: Number,
+ default: 10,
+ },
},
- currentPage: {
- type: Number,
- default: 1,
- },
- currentSize: {
- type: Number,
- default: 10,
+ computed: {
+ last() {
+ if (this.currentPage * this.currentSize > this.total) {
+ return this.total;
+ }
+ return this.currentPage * this.currentSize;
+ },
+ totalPages() {
+ return Math.ceil(this.total / this.currentSize)
+ }
},
- total: {
- type: Number,
- default: 10,
+ data() {
+ return {
+ current: '',
+ };
},
- },
- computed: {
- last() {
- if (this.currentPage * this.currentSize > this.total) {
- return this.total;
- }
- return this.currentPage * this.currentSize;
+ watch: {
+ currentPage() { this.current = parseInt(this.currentPage); },
},
- totalPages() {
- return Math.ceil(this.total / this.currentSize)
- }
- },
- data() {
- return {
- current: '',
- };
- },
- watch: {
- currentPage() { this.current = parseInt(this.currentPage); },
- },
- beforeMount() {
- this.current = this.currentPage;
- },
- methods: {
- next() {
- if (this.current !== this.totalPages) {
- this.current = this.current + 1;
- this.$emit('changePage', this.current);
- }
+ beforeMount() {
+ this.current = this.currentPage;
},
- pre() {
- if (this.current !== 1) {
- this.current = this.current - 1;
- this.$emit('changePage', this.current);
+ methods: {
+ next() {
+ if (this.current !== this.totalPages) {
+ this.current = this.current + 1;
+ this.$emit('changePage', this.current);
+ }
+ },
+ pre() {
+ if (this.current !== 1) {
+ this.current = this.current - 1;
+ this.$emit('changePage', this.current);
+ }
+ },
+ goToCertainPage() {
+ var regInt = /^0*[1-9]\d*$/
+ if (regInt.test(this.current) && this.current <= this.totalPages) {
+ this.$emit('changePage', this.current);
+ }
}
},
- goToCertainPage() {
- var regInt = /^0*[1-9]\d*$/
- if (regInt.test(this.current) && this.current <= this.totalPages) {
- this.$emit('changePage', this.current);
- }
- }
- },
-};
+ };
</script>
<style lang="scss" scoped>
-.rk-page{
- display: inline-flex;
- .icon{
- padding: 3px;
- opacity: 0.5;
- &:hover{
- opacity: 1;
- color: #448dfe;
+ .rk-page {
+ display: inline-flex;
+ .icon {
+ padding: 3px;
+ opacity: 0.5;
+ &:hover {
+ opacity: 1;
+ color: #448dfe;
+ }
}
}
-}
-.rk-page-input{
- width: 40px;
- outline: 0;
- border-style: unset;
- border-radius: 4px;
- border: 1px solid #c1c5ca55;
-}
+ .rk-page-input {
+ width: 40px;
+ outline: 0;
+ border-style: unset;
+ border-radius: 4px;
+ border: 1px solid #c1c5ca55;
+ }
</style>
diff --git a/src/components/rk-panel.vue b/src/components/rk-panel.vue
index 190fcc8..8dd3a44 100644
--- a/src/components/rk-panel.vue
+++ b/src/components/rk-panel.vue
@@ -1,51 +1,45 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+/** * Licensed to the Apache Software Foundation (ASF) under one or more *
+contributor license agreements. See the NOTICE file distributed with * this work
+for additional information regarding copyright ownership. * The ASF licenses
+this file to You under the Apache License, Version 2.0 * (the "License"); you
+may not use this file except in compliance with * the License. You may obtain a
+copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless
+required by applicable law or agreed to in writing, software * distributed under
+the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. * See the License for the
+specific language governing permissions and * limitations under the License. */
<template>
- <div class="rk-box" :style="width?`width: ${width};`:''">
- <div class="rk-box-title ell">{{title}}</div>
+ <div class="rk-box" :style="width ? `width: ${width};` : ''">
+ <div class="rk-box-title ell">{{ title }}</div>
<div class="rk-box-container"><slot></slot></div>
... 16140 lines suppressed ...