@abi-software/flatmapvuer 0.5.10 → 0.6.0-vue3-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +105 -105
  3. package/babel.config.js +0 -14
  4. package/dist/favicon.ico +0 -0
  5. package/dist/flatmapvuer.js +69542 -0
  6. package/dist/flatmapvuer.umd.cjs +1021 -0
  7. package/dist/index.html +17 -0
  8. package/dist/style.css +1 -0
  9. package/package.json +87 -79
  10. package/public/index.html +17 -17
  11. package/src/App.vue +303 -228
  12. package/src/assets/_variables.scss +43 -43
  13. package/src/assets/styles.scss +6 -7
  14. package/src/components/AnnotationTool.vue +443 -403
  15. package/src/components/EventBus.js +3 -3
  16. package/src/components/ExternalResourceCard.vue +108 -99
  17. package/src/components/FlatmapVuer.vue +2117 -2070
  18. package/src/components/MultiFlatmapVuer.vue +603 -535
  19. package/src/components/ProvenancePopup.vue +496 -422
  20. package/src/components/SelectionsGroup.vue +258 -249
  21. package/src/components/Tooltip.vue +50 -52
  22. package/src/components/TreeControls.vue +234 -231
  23. package/src/components/index.js +6 -9
  24. package/src/components/legends/DynamicLegends.vue +106 -112
  25. package/src/components/legends/SvgLegends.vue +112 -67
  26. package/src/components.d.ts +46 -0
  27. package/src/icons/flatmap-marker.js +1 -1
  28. package/src/icons/fonts/mapicon-species.eot +0 -0
  29. package/src/icons/fonts/mapicon-species.svg +14 -14
  30. package/src/icons/fonts/mapicon-species.ttf +0 -0
  31. package/src/icons/fonts/mapicon-species.woff +0 -0
  32. package/src/icons/mapicon-species-style.css +42 -42
  33. package/src/icons/yellowstar.js +5 -5
  34. package/src/legends/legend.svg +25 -25
  35. package/src/main.js +4 -8
  36. package/src/services/flatmapQueries.js +451 -415
  37. package/vite.config.js +76 -0
  38. package/vue.config.js +45 -31
  39. package/CHANGELOG.md +0 -402
  40. package/package-lock.json +0 -18473
  41. package/src/nerve-map.js +0 -99
package/src/App.vue CHANGED
@@ -1,228 +1,303 @@
1
- <template>
2
- <div id="app">
3
- <el-popover
4
- placement="bottom"
5
- trigger="click"
6
- width=500
7
- class="popover"
8
- :appendToBody=false
9
- >
10
- <div class="options-container">
11
- <el-row :gutter="20">
12
- <el-button @click="helpMode = !helpMode" size="mini">Help Mode</el-button>
13
- <el-button @click="saveSettings()" size="mini">Save Settings</el-button>
14
- <el-button :disabled="mapSettings.length === 0" @click="restoreSettings()" size="mini">Restore Settings</el-button>
15
- <el-autocomplete class="search-box" placeholder="Search"
16
- v-model="searchText"
17
- :fetch-suggestions="fetchSuggestions"
18
- @keyup.enter.native="search"
19
- @select="search"
20
- popper-class="autocomplete-popper">
21
- </el-autocomplete>
22
- </el-row>
23
- </div>
24
- <el-button class="options-button" icon="el-icon-setting" slot="reference">Options</el-button>
25
- </el-popover>
26
-
27
- <MultiFlatmapVuer ref="multi" :availableSpecies="availableSpecies"
28
- @resource-selected="FlatmapSelected" :minZoom="minZoom"
29
- @pan-zoom-callback="panZoomcallback" @open-map="openMap"
30
- @ready="FlatmapReady" :featureInfo="featureInfo" :searchable="searchable"
31
- :layerControl="layerControl"
32
- :initial="initial" :pathControls="pathControls" :helpMode="helpMode"
33
- :displayMinimap="true" :enableOpenMapUI="true" :flatmapAPI="flatmapAPI"/>
34
- </div>
35
- </template>
36
-
37
- <script>
38
- /* eslint-disable no-alert, no-console */
39
- import Vue from "vue";
40
- import MultiFlatmapVuer from './components/MultiFlatmapVuer.vue'
41
- import {
42
- Autocomplete,
43
- Button,
44
- Col,
45
- Popover,
46
- Row,
47
- } from 'element-ui';
48
- import "./icons/mapicon-species-style.css";
49
- Vue.use(Autocomplete);
50
- Vue.use(Button);
51
- Vue.use(Col);
52
- Vue.use(Popover);
53
- Vue.use(Row);
54
-
55
- export default {
56
- name: 'app',
57
- methods: {
58
- saveSettings: function() {
59
- this.mapSettings.push(this.$refs.multi.getState());
60
- },
61
- restoreSettings: function() {
62
- if (this.mapSettings.length > 0)
63
- this.$refs.multi.setState(this.mapSettings.pop());
64
- },
65
- FlatmapSelected: function(resource) {
66
- if (resource.eventType === "click") {
67
- console.log('resource', resource);
68
- }
69
- },
70
- FlatmapReady: function(component) {
71
- console.log(component);
72
- let taxon = component.mapImp.describes;
73
- let id = component.mapImp.addMarker("UBERON:0000948");
74
- window.flatmapImp = component.mapImp;
75
- component.enablePanZoomEvents(true);
76
- //component.showPathwaysDrawer(false);
77
- console.log(taxon, id);
78
- //component.searchAndShowResult("heart");
79
- },
80
- panZoomcallback: function(payload) {
81
- this.payload = payload
82
- },
83
- openMap: function (map) {
84
- console.log(map)
85
- },
86
- fetchSuggestions: function(term, cb) {
87
- if (term === "") {
88
- cb([]);
89
- } else {
90
- const suggestions = [];
91
- const results = this.$refs.multi.getCurrentFlatmap().searchSuggestions(term);
92
- results.__featureIds.forEach(id => {
93
- const annotation = this.$refs.multi.getCurrentFlatmap().mapImp.annotation(id);
94
- if (annotation && annotation.label)
95
- suggestions.push(annotation.label);
96
- });
97
- const unique = new Set(suggestions);
98
- suggestions.length = 0;
99
- for (const item of unique) {
100
- suggestions.push({"value": "\"" + item +"\""});
101
- }
102
- cb(suggestions);
103
- }
104
- },
105
- search: function() {
106
- console.log(this.searchText)
107
- this.$refs.multi.getCurrentFlatmap().searchAndShowResult(this.searchText, true);
108
- }
109
- },
110
- data: function(){
111
- return {
112
- searchText: "",
113
- featureInfo: true,
114
- searchable: true,
115
- pathControls: true,
116
- layerControl: true,
117
- minZoom: 4,
118
- availableSpecies : {
119
- "Human Female":{taxo: "NCBITaxon:9606", biologicalSex: "PATO:0000383", iconClass:"mapicon-icon_human", displayWarning:true},
120
- "Human Male":{taxo: "NCBITaxon:9606", biologicalSex: "PATO:0000384", iconClass:"mapicon-icon_human", displayWarning:true},
121
- "Rat":{taxo: "NCBITaxon:10114", iconClass:"mapicon-icon_rat", displayWarning:true, displayLatestChanges:true},
122
- "Rat (NPO)":{taxo: "NCBITaxon:10116", iconClass:"mapicon-icon_rat", displayWarning:true, displayLatestChanges:true},
123
- "Mouse":{taxo: "NCBITaxon:10090", iconClass:"mapicon-icon_mouse", displayWarning:true},
124
- "Kember":{taxo: "ABI:1000001", displayWarning:true},
125
- "Pig":{taxo: "NCBITaxon:9823", iconClass:"mapicon-icon_pig", displayWarning:true},
126
- "Cat":{taxo: "NCBITaxon:9685", iconClass:"mapicon-icon_cat", displayWarning:true},
127
- "Sample":{taxo: "NCBITaxon:1", displayWarning:true},
128
- "Functional Connectivity": {taxo: "FunctionalConnectivity", displayWarning:true},
129
- },
130
- tooltipContent: undefined,
131
- tStyle: {
132
- top: "200px",
133
- left: "200px",
134
- position: "absolute"
135
- },
136
- displayCloseButton: false,
137
- initial: "Rat (NPO)",
138
- helpMode: false,
139
- mapSettings: [],
140
- //flatmapAPI: "https://mapcore-demo.org/current/flatmap/v2/"
141
- //flatmapAPI: "https://mapcore-demo.org/devel/flatmap/v3/"
142
- //flatmapAPI: "https://mapcore-demo.org/current/flatmap/v3/"
143
- flatmapAPI: "https://mapcore-demo.org/devel/flatmap/v4/"
144
- //flatmapAPI: "https://mapcore-demo.org/fccb/flatmap/"
145
- //flatmapAPI: "https://mapcore-demo.org/staging/flatmap/v1/"
146
- // flatmapAPI: "https://mapcore-demo.org/devel/flatmap/v1/"
147
- }
148
- },
149
- components: {
150
- MultiFlatmapVuer,
151
- }
152
- }
153
- </script>
154
-
155
- <style lang="scss">
156
- @import "~element-ui/packages/theme-chalk/src/autocomplete";
157
- @import "~element-ui/packages/theme-chalk/src/button";
158
- @import "~element-ui/packages/theme-chalk/src/col";
159
- @import "~element-ui/packages/theme-chalk/src/popover";
160
- @import "~element-ui/packages/theme-chalk/src/row";
161
-
162
- #app {
163
- font-family: 'Asap', 'Avenir', Helvetica, Arial, sans-serif;
164
- -webkit-font-smoothing: antialiased;
165
- -moz-osx-font-smoothing: grayscale;
166
- text-align: center;
167
- color: #2c3e50;
168
- height:100%;
169
- width: 100%;
170
- position:absolute;
171
- }
172
-
173
- .maplibregl-ctrl-top-left .maplibregl-ctrl {
174
- margin-top:120px;
175
- }
176
-
177
- .search-box {
178
- margin-top: 2px;
179
- height:28px;
180
- ::v-deep .el-input__inner {
181
- background-color: $background;
182
- height:28px;
183
- line-height:28px;
184
- border: 1px solid rgb(144, 147, 153);
185
- border-radius: 4px;
186
- &:focus {
187
- border-color: $app-primary-color;
188
- }
189
- }
190
- }
191
-
192
- ::v-deep .autocomplete-popper {
193
- min-width:137px!important;
194
- width: auto!important;
195
- }
196
-
197
- body {
198
- margin: 0px;
199
- }
200
-
201
- .maplibregl-ctrl-top-left .maplibregl-ctrl {
202
- margin-top:120px;
203
- }
204
-
205
- .popover{
206
- top:5px;
207
- right:calc( 50% - 20px);
208
- position:absolute;
209
- z-index:1000;
210
- }
211
-
212
- .el-row {
213
- margin-bottom: 5px;
214
- &:last-child {
215
- margin-bottom: 0;
216
- }
217
- }
218
-
219
- .options-container{
220
-
221
- text-align: center;
222
- }
223
-
224
- .el-tabs__content {
225
- height:100%;
226
- }
227
-
228
- </style>
1
+ <template>
2
+ <div id="app">
3
+ <el-popover
4
+ placement="bottom"
5
+ trigger="click"
6
+ width="500"
7
+ class="popover"
8
+ :teleported="false"
9
+ >
10
+ <div class="options-container">
11
+ <el-row :gutter="20">
12
+ <el-button @click="helpMode = !helpMode" size="small"
13
+ >Help Mode</el-button
14
+ >
15
+ <el-button @click="saveSettings()" size="small"
16
+ >Save Settings</el-button
17
+ >
18
+ <el-button
19
+ :disabled="mapSettings.length === 0"
20
+ @click="restoreSettings()"
21
+ size="small"
22
+ >Restore Settings</el-button
23
+ >
24
+ <el-autocomplete
25
+ class="search-box"
26
+ placeholder="Search"
27
+ v-model="searchText"
28
+ :fetch-suggestions="fetchSuggestions"
29
+ @keyup.enter.native="search"
30
+ @select="search"
31
+ popper-class="autocomplete-popper"
32
+ :teleported="false"
33
+ >
34
+ </el-autocomplete>
35
+ </el-row>
36
+ </div>
37
+ <template #reference>
38
+ <el-button class="options-button" :icon="ElIconSetting"
39
+ >Options</el-button>
40
+ </template>
41
+ </el-popover>
42
+
43
+ <MultiFlatmapVuer
44
+ ref="multi"
45
+ :availableSpecies="availableSpecies"
46
+ @resource-selected="FlatmapSelected"
47
+ :minZoom="minZoom"
48
+ @pan-zoom-callback="panZoomcallback"
49
+ @open-map="openMap"
50
+ @ready="FlatmapReady"
51
+ :featureInfo="featureInfo"
52
+ :searchable="searchable"
53
+ :layerControl="layerControl"
54
+ :initial="initial"
55
+ :pathControls="pathControls"
56
+ :helpMode="helpMode"
57
+ :displayMinimap="true"
58
+ :enableOpenMapUI="true"
59
+ :flatmapAPI="flatmapAPI"
60
+ />
61
+ </div>
62
+ </template>
63
+
64
+ <script>
65
+ import { shallowRef } from 'vue';
66
+ import { Setting as ElIconSetting } from '@element-plus/icons-vue'
67
+ /* eslint-disable no-alert, no-console */
68
+ import MultiFlatmapVuer from './components/MultiFlatmapVuer.vue'
69
+ import {
70
+ ElAutocomplete as Autocomplete,
71
+ ElButton as Button,
72
+ ElCol as Col,
73
+ ElPopover as Popover,
74
+ ElRow as Row,
75
+ } from 'element-plus'
76
+ import './icons/mapicon-species-style.css'
77
+
78
+ export default {
79
+ name: 'app',
80
+ components: {
81
+ Autocomplete,
82
+ Button,
83
+ Col,
84
+ ElIconSetting,
85
+ Popover,
86
+ Row,
87
+ },
88
+ methods: {
89
+ saveSettings: function () {
90
+ this.mapSettings.push(this.$refs.multi.getState())
91
+ },
92
+ restoreSettings: function () {
93
+ if (this.mapSettings.length > 0)
94
+ this.$refs.multi.setState(this.mapSettings.pop())
95
+ },
96
+ FlatmapSelected: function (resource) {
97
+ if (resource.eventType === 'click') {
98
+ console.log('resource', resource)
99
+ }
100
+ },
101
+ FlatmapReady: function (component) {
102
+ console.log(component)
103
+ let taxon = component.mapImp.describes
104
+ let id = component.mapImp.addMarker('UBERON:0000948')
105
+ window.flatmapImp = component.mapImp
106
+ component.enablePanZoomEvents(true)
107
+ //component.showPathwaysDrawer(false);
108
+ console.log(taxon, id)
109
+ //component.searchAndShowResult("heart");
110
+ },
111
+ panZoomcallback: function (payload) {
112
+ this.payload = payload
113
+ },
114
+ openMap: function (map) {
115
+ console.log(map)
116
+ },
117
+ fetchSuggestions: function (term, cb) {
118
+ if (term === '') {
119
+ cb([])
120
+ } else {
121
+ const suggestions = []
122
+ const results = this.$refs.multi
123
+ .getCurrentFlatmap()
124
+ .searchSuggestions(term)
125
+ results.__featureIds.forEach((id) => {
126
+ const annotation = this.$refs.multi
127
+ .getCurrentFlatmap()
128
+ .mapImp.annotation(id)
129
+ if (annotation && annotation.label) suggestions.push(annotation.label)
130
+ })
131
+ const unique = new Set(suggestions)
132
+ suggestions.length = 0
133
+ for (const item of unique) {
134
+ suggestions.push({ value: '"' + item + '"' })
135
+ }
136
+ cb(suggestions)
137
+ }
138
+ },
139
+ search: function () {
140
+ console.log(this.searchText)
141
+ this.$refs.multi
142
+ .getCurrentFlatmap()
143
+ .searchAndShowResult(this.searchText, true)
144
+ },
145
+ },
146
+ data: function () {
147
+ return {
148
+ searchText: '',
149
+ featureInfo: true,
150
+ searchable: true,
151
+ pathControls: true,
152
+ layerControl: true,
153
+ minZoom: 4,
154
+ availableSpecies: {
155
+ 'Human Female': {
156
+ taxo: 'NCBITaxon:9606',
157
+ biologicalSex: 'PATO:0000383',
158
+ iconClass: 'mapicon-icon_human',
159
+ displayWarning: true,
160
+ },
161
+ 'Human Male': {
162
+ taxo: 'NCBITaxon:9606',
163
+ biologicalSex: 'PATO:0000384',
164
+ iconClass: 'mapicon-icon_human',
165
+ displayWarning: true,
166
+ },
167
+ Rat: {
168
+ taxo: 'NCBITaxon:10114',
169
+ iconClass: 'mapicon-icon_rat',
170
+ displayWarning: true,
171
+ displayLatestChanges: true,
172
+ },
173
+ 'Rat (NPO)': {
174
+ taxo: 'NCBITaxon:10116',
175
+ iconClass: 'mapicon-icon_rat',
176
+ displayWarning: true,
177
+ displayLatestChanges: true,
178
+ },
179
+ Mouse: {
180
+ taxo: 'NCBITaxon:10090',
181
+ iconClass: 'mapicon-icon_mouse',
182
+ displayWarning: true,
183
+ },
184
+ Kember: { taxo: 'ABI:1000001', displayWarning: true },
185
+ Pig: {
186
+ taxo: 'NCBITaxon:9823',
187
+ iconClass: 'mapicon-icon_pig',
188
+ displayWarning: true,
189
+ },
190
+ Cat: {
191
+ taxo: 'NCBITaxon:9685',
192
+ iconClass: 'mapicon-icon_cat',
193
+ displayWarning: true,
194
+ },
195
+ Sample: { taxo: 'NCBITaxon:1', displayWarning: true },
196
+ 'Functional Connectivity': {
197
+ taxo: 'FunctionalConnectivity',
198
+ displayWarning: true,
199
+ },
200
+ },
201
+ tooltipContent: undefined,
202
+ tStyle: {
203
+ top: '200px',
204
+ left: '200px',
205
+ position: 'absolute',
206
+ },
207
+ displayCloseButton: false,
208
+ initial: 'Rat (NPO)',
209
+ helpMode: false,
210
+ mapSettings: [],
211
+ //flatmapAPI: "https://mapcore-demo.org/current/flatmap/v2/"
212
+ //flatmapAPI: "https://mapcore-demo.org/devel/flatmap/v3/"
213
+ //flatmapAPI: "https://mapcore-demo.org/current/flatmap/v3/"
214
+ flatmapAPI: 'https://mapcore-demo.org/devel/flatmap/v4/',
215
+ //flatmapAPI: "https://mapcore-demo.org/fccb/flatmap/"
216
+ //flatmapAPI: "https://mapcore-demo.org/staging/flatmap/v1/"
217
+ // flatmapAPI: "https://mapcore-demo.org/devel/flatmap/v1/",
218
+ ElIconSetting: shallowRef(ElIconSetting)
219
+ }
220
+ },
221
+ components: {
222
+ MultiFlatmapVuer,
223
+ },
224
+ }
225
+ </script>
226
+
227
+ <style lang="scss">
228
+ @use 'element-plus/theme-chalk/src/autocomplete';
229
+ @use 'element-plus/theme-chalk/src/button';
230
+ @use 'element-plus/theme-chalk/src/col';
231
+ @use 'element-plus/theme-chalk/src/popover';
232
+ @use 'element-plus/theme-chalk/src/row';
233
+
234
+ #app {
235
+ font-family: 'Asap', 'Avenir', Helvetica, Arial, sans-serif;
236
+ -webkit-font-smoothing: antialiased;
237
+ -moz-osx-font-smoothing: grayscale;
238
+ text-align: center;
239
+ color: #2c3e50;
240
+ height: 100%;
241
+ width: 100%;
242
+ position: absolute;
243
+ }
244
+
245
+ .maplibregl-ctrl-top-left .maplibregl-ctrl {
246
+ margin-top: 120px;
247
+ }
248
+
249
+ .search-box {
250
+ margin-top: 2px;
251
+ height: 28px;
252
+ :deep(.el-input__inner) {
253
+ background-color: $background;
254
+ height: 28px;
255
+ line-height: 28px;
256
+ border: 1px solid rgb(144, 147, 153);
257
+ border-radius: 4px;
258
+ &:focus {
259
+ border-color: $app-primary-color;
260
+ }
261
+ }
262
+ }
263
+
264
+ :deep(.autocomplete-popper) {
265
+ min-width: 137px !important;
266
+ width: auto !important;
267
+ }
268
+
269
+ body {
270
+ margin: 0px;
271
+ }
272
+
273
+ .maplibregl-ctrl-top-left .maplibregl-ctrl {
274
+ margin-top: 120px;
275
+ }
276
+
277
+ .popover {
278
+ top: 5px;
279
+ right: calc(50% - 20px);
280
+ position: absolute;
281
+ z-index: 1000;
282
+ }
283
+
284
+ .el-row {
285
+ margin-bottom: 5px;
286
+ &:last-child {
287
+ margin-bottom: 0;
288
+ }
289
+ }
290
+
291
+ .options-button {
292
+ z-index:100;
293
+ position: absolute;
294
+ }
295
+
296
+ .options-container {
297
+ text-align: center;
298
+ }
299
+
300
+ .el-tabs__content {
301
+ height: 100%;
302
+ }
303
+ </style>
@@ -1,43 +1,43 @@
1
- // Primary colors
2
- $purple: #8300BF;
3
- $darkBlue: #24245B;
4
- $grey: #303133;
5
-
6
- // Secondary colors
7
- $lightPurple: #BC00FC;
8
- $blue: #0026FF;
9
-
10
- // Status colors
11
- $success: #5e9f69;
12
- $warning: #FF8400;
13
- $danger: #b51d09;
14
-
15
- // Text colors
16
- $neutralGrey: #616161;
17
- $mediumGrey: #606266;
18
- $lightGrey: #909399;
19
-
20
- // Line colors
21
- $lineColor1: #DCDFE6;
22
- $lineColor2: #E4E7ED;
23
-
24
- // Background colors
25
- $background: #F5F7FA;
26
- $cochlear: #FFFFFF;
27
-
28
- //Search box colors
29
- $darkGrey: #606266;
30
-
31
- $app-primary-color: $purple !default;
32
- $app-secondary-color: $darkBlue !default;
33
- $text-color: $grey !default;
34
- $input-text: $grey !default;
35
-
36
- $system-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
37
- $font-family: 'Asap', sans-serif;
38
-
39
- // Viewport Sizes
40
- $viewport-sm: 20rem;
41
- $viewport-md: 47rem;
42
- $viewport-lg: 64rem;
43
- $viewport-xlg: 120rem;
1
+ // Primary colors
2
+ $purple: #8300BF;
3
+ $darkBlue: #24245B;
4
+ $grey: #303133;
5
+
6
+ // Secondary colors
7
+ $lightPurple: #BC00FC;
8
+ $blue: #0026FF;
9
+
10
+ // Status colors
11
+ $success: #5e9f69;
12
+ $warning: #FF8400;
13
+ $danger: #b51d09;
14
+
15
+ // Text colors
16
+ $neutralGrey: #616161;
17
+ $mediumGrey: #606266;
18
+ $lightGrey: #909399;
19
+
20
+ // Line colors
21
+ $lineColor1: #DCDFE6;
22
+ $lineColor2: #E4E7ED;
23
+
24
+ // Background colors
25
+ $background: #F5F7FA;
26
+ $cochlear: #FFFFFF;
27
+
28
+ //Search box colors
29
+ $darkGrey: #606266;
30
+
31
+ $app-primary-color: $purple !default;
32
+ $app-secondary-color: $darkBlue !default;
33
+ $text-color: $grey !default;
34
+ $input-text: $grey !default;
35
+
36
+ $system-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
37
+ $font-family: 'Asap', sans-serif;
38
+
39
+ // Viewport Sizes
40
+ $viewport-sm: 20rem;
41
+ $viewport-md: 47rem;
42
+ $viewport-lg: 64rem;
43
+ $viewport-xlg: 120rem;
@@ -1,7 +1,6 @@
1
- @import url('https://fonts.googleapis.com/css?family=Asap:400,400i,500,600,700&display=swap');
2
-
3
- @import '_variables';
4
-
5
- /* icon font path, required */
6
- $--color-primary: $app-primary-color !default;
7
- $--font-path: '~element-ui/lib/theme-chalk/fonts';
1
+
2
+ @import '_variables';
3
+
4
+ @import url('https://fonts.googleapis.com/css?family=Asap:400,400i,500,600,700&display=swap');
5
+
6
+ $--color-primary: $app-primary-color !default;