comand-component-library 3.1.22 → 3.1.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/comand-component-library.css +1 -1
- package/dist/comand-component-library.umd.min.js +1 -1
- package/package.json +3 -4
- package/src/App.vue +30 -9
- package/src/assets/data/accordion.json +13 -4
- package/src/components/CmdAccordion.vue +84 -15
- package/src/components/CmdAddressData.vue +12 -0
- package/src/components/CmdBackToTopButton.vue +3 -0
- package/src/components/CmdBox.vue +16 -1
- package/src/components/CmdBoxSiteSearch.vue +3 -0
- package/src/components/CmdBreadcrumbs.vue +9 -0
- package/src/components/CmdCompanyLogo.vue +12 -0
- package/src/components/CmdCookieDisclaimer.vue +15 -4
- package/src/components/CmdCopyrightInformation.vue +2 -8
- package/src/components/CmdFakeSelect.vue +33 -6
- package/src/components/CmdFancyBox.vue +31 -1
- package/src/components/CmdFooterNavigation.vue +6 -0
- package/src/components/CmdGoogleMaps.vue +3 -0
- package/src/components/CmdImageGallery.vue +3 -2
- package/src/components/CmdImageZoom.vue +6 -0
- package/src/components/CmdMainHeadline.vue +9 -0
- package/src/components/CmdMainNavigation.vue +24 -0
- package/src/components/CmdMultipleSwitch.vue +1 -5
- package/src/components/CmdMultistepFormProgressBar.vue +6 -0
- package/src/components/CmdOpeningHours.vue +23 -2
- package/src/components/CmdPager.vue +24 -2
- package/src/components/CmdProgressBar.vue +10 -4
- package/src/components/CmdShareButtons.vue +6 -0
- package/src/components/CmdSiteHeader.vue +12 -16
- package/src/components/CmdSlideButton.vue +3 -0
- package/src/components/CmdSlideshow.vue +25 -6
- package/src/components/CmdUploadForm.vue +5 -5
- package/src/index.js +3 -1
- package/src/main.js +2 -2
@@ -4,7 +4,7 @@
|
|
4
4
|
aria-labelledby="fancybox">
|
5
5
|
<div class="popup" :class="{'image' : fancyBoxImageUrl || fancyBoxGallery }">
|
6
6
|
<div class="button-wrapper no-flex"
|
7
|
-
v-if="(
|
7
|
+
v-if="(fancyboxOptions.printButtons && (fancyboxOptions.printButtons.color || fancyboxOptions.printButtons.grayscale)) || fancyboxOptions.closeIcon">
|
8
8
|
<a href="#"
|
9
9
|
v-if="fancyboxOptions.printButtons && fancyboxOptions.printButtons.color"
|
10
10
|
:class="['button', fancyboxOptions.printButtons.color.iconClass]"
|
@@ -69,10 +69,16 @@
|
|
69
69
|
const FancyBox = defineComponent({
|
70
70
|
name: "CmdFancyBox",
|
71
71
|
props: {
|
72
|
+
/**
|
73
|
+
* set if content should be loaded by url
|
74
|
+
*/
|
72
75
|
url: {
|
73
76
|
type: String,
|
74
77
|
required: false
|
75
78
|
},
|
79
|
+
/**
|
80
|
+
* options to show at top (closeIcon, printButtons)
|
81
|
+
*/
|
76
82
|
fancyboxOptions: {
|
77
83
|
type: Object,
|
78
84
|
default() {
|
@@ -94,34 +100,58 @@
|
|
94
100
|
}
|
95
101
|
}
|
96
102
|
},
|
103
|
+
/**
|
104
|
+
* allow closing fancybox by escape-key
|
105
|
+
*/
|
97
106
|
allowEscapeKey: {
|
98
107
|
type: Boolean,
|
99
108
|
default: true
|
100
109
|
},
|
110
|
+
/**
|
111
|
+
* the content shown in the main area
|
112
|
+
*/
|
101
113
|
content: {
|
102
114
|
type: String,
|
103
115
|
required: false
|
104
116
|
},
|
117
|
+
/**
|
118
|
+
*
|
119
|
+
*/
|
105
120
|
elements: {
|
106
121
|
type: Array,
|
107
122
|
required: false
|
108
123
|
},
|
124
|
+
/**
|
125
|
+
* use if a gallery of images should be opened (and navigated) inside fancybox
|
126
|
+
*/
|
109
127
|
fancyBoxGallery: {
|
110
128
|
type: Array,
|
111
129
|
required: false
|
112
130
|
},
|
131
|
+
/**
|
132
|
+
* if gallery is used, you can set default index
|
133
|
+
*/
|
113
134
|
defaultGalleryIndex: {
|
114
135
|
type: Number,
|
115
136
|
required: false
|
116
137
|
},
|
138
|
+
/**
|
139
|
+
* show/hide entire fancybox
|
140
|
+
*/
|
117
141
|
show: {
|
118
142
|
type: Boolean,
|
119
143
|
default: false
|
120
144
|
},
|
145
|
+
/**
|
146
|
+
* show/hide overlay (around fancybox, above website)
|
147
|
+
*/
|
121
148
|
showOverlay: {
|
122
149
|
type: Boolean,
|
123
150
|
default: true
|
124
151
|
},
|
152
|
+
/**
|
153
|
+
* show slide-buttons (left/previous and right/next)
|
154
|
+
*/
|
125
155
|
slideButtons: {
|
126
156
|
type: Object,
|
127
157
|
default() {
|
@@ -24,10 +24,16 @@ import {openFancyBox} from "./CmdFancyBox.vue"
|
|
24
24
|
export default {
|
25
25
|
name: "CmdFooterNavigation",
|
26
26
|
props: {
|
27
|
+
/**
|
28
|
+
* headlien above links
|
29
|
+
*/
|
27
30
|
headline: {
|
28
31
|
type: String,
|
29
32
|
required: false
|
30
33
|
},
|
34
|
+
/**
|
35
|
+
* list of links shown vertically
|
36
|
+
*/
|
31
37
|
footerNavigation: {
|
32
38
|
type: Array,
|
33
39
|
required: false
|
@@ -15,11 +15,12 @@ import {openFancyBox} from "./CmdFancyBox"
|
|
15
15
|
|
16
16
|
export default {
|
17
17
|
name: "CmdImageGallery",
|
18
|
-
|
19
18
|
props: {
|
19
|
+
/**
|
20
|
+
* list of images (incl. captions)
|
21
|
+
*/
|
20
22
|
images: Array
|
21
23
|
},
|
22
|
-
|
23
24
|
methods: {
|
24
25
|
showFancyBox(index) {
|
25
26
|
openFancyBox({fancyBoxGallery: this.images, defaultGalleryIndex: index})
|
@@ -17,10 +17,16 @@
|
|
17
17
|
export default {
|
18
18
|
name: "CmdImageZoom",
|
19
19
|
props: {
|
20
|
+
/**
|
21
|
+
* url for small images
|
22
|
+
*/
|
20
23
|
smallImageUrl: {
|
21
24
|
type: String,
|
22
25
|
required: true
|
23
26
|
},
|
27
|
+
/**
|
28
|
+
* url for large image
|
29
|
+
*/
|
24
30
|
largeImageUrl: {
|
25
31
|
type: String,
|
26
32
|
required: true
|
@@ -13,14 +13,23 @@
|
|
13
13
|
export default {
|
14
14
|
name: "CmdMainHeadline",
|
15
15
|
props: {
|
16
|
+
/**
|
17
|
+
* main/h1-headline
|
18
|
+
*/
|
16
19
|
mainHeadline: {
|
17
20
|
type: String,
|
18
21
|
required: true
|
19
22
|
},
|
23
|
+
/**
|
24
|
+
* small pre-headline above main-headline
|
25
|
+
*/
|
20
26
|
preHeadline: {
|
21
27
|
type: String,
|
22
28
|
required: false
|
23
29
|
},
|
30
|
+
/**
|
31
|
+
* icon-class for icon shown left/before headline
|
32
|
+
*/
|
24
33
|
iconClass: {
|
25
34
|
type: String,
|
26
35
|
required: false
|
@@ -58,18 +58,30 @@ export default {
|
|
58
58
|
}
|
59
59
|
},
|
60
60
|
props: {
|
61
|
+
/**
|
62
|
+
* toggle if main-entries (on firt-level) should be (horizontally) stretched equally
|
63
|
+
*/
|
61
64
|
stretchMainItems: {
|
62
65
|
type: Boolean,
|
63
66
|
default: false
|
64
67
|
},
|
68
|
+
/**
|
69
|
+
* set if navigation should persist on mobile and not be collapsed to off-canvas
|
70
|
+
*/
|
65
71
|
persistOnMobile: {
|
66
72
|
type: Boolean,
|
67
73
|
default: false
|
68
74
|
},
|
75
|
+
/**
|
76
|
+
* list of all navigation-entries (incl. sub-entries)
|
77
|
+
*/
|
69
78
|
navigationEntries: {
|
70
79
|
type: Array,
|
71
80
|
required: true
|
72
81
|
},
|
82
|
+
/**
|
83
|
+
* link shown inside off-canvas-navigation to close itself
|
84
|
+
*/
|
73
85
|
closeOffcanvas: {
|
74
86
|
type: Object,
|
75
87
|
default: function () {
|
@@ -80,6 +92,9 @@ export default {
|
|
80
92
|
}
|
81
93
|
}
|
82
94
|
},
|
95
|
+
/**
|
96
|
+
* button to open off-canvas-navigation
|
97
|
+
*/
|
83
98
|
buttonOffcanvas: {
|
84
99
|
type: Object,
|
85
100
|
default: function () {
|
@@ -90,14 +105,23 @@ export default {
|
|
90
105
|
}
|
91
106
|
}
|
92
107
|
},
|
108
|
+
/**
|
109
|
+
* icon to show if an navigation-entry has sub-entries
|
110
|
+
*/
|
93
111
|
subentriesIconClass: {
|
94
112
|
type: String,
|
95
113
|
default: "icon-single-arrow-down"
|
96
114
|
},
|
115
|
+
/**
|
116
|
+
* icon to show if a sub-entry has further sub-entries
|
117
|
+
*/
|
97
118
|
subSubentriesIconClass: {
|
98
119
|
type: String,
|
99
120
|
default: "icon-single-arrow-right"
|
100
121
|
},
|
122
|
+
/**
|
123
|
+
* toggle if overlay over content should be shown if off-canvas is open
|
124
|
+
*/
|
101
125
|
showContentOverlay: {
|
102
126
|
type: Boolean,
|
103
127
|
default: true
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<template>
|
2
|
-
<div :class="['label', 'multiple-switch',
|
2
|
+
<div :class="['label', 'multiple-switch', {disabled: status === 'disabled', error: status === 'error'}]">
|
3
3
|
<span v-if="labelText">{{ labelText }}</span>
|
4
4
|
<span class="flex-container no-gap no-flex">
|
5
5
|
<label :class="{disabled: status === 'disabled'}" :for="multipleswitch.id"
|
@@ -28,10 +28,6 @@ export default {
|
|
28
28
|
required: false,
|
29
29
|
default: ""
|
30
30
|
},
|
31
|
-
htmlClass: {
|
32
|
-
type: String,
|
33
|
-
required: false
|
34
|
-
},
|
35
31
|
labelText: {
|
36
32
|
type: String,
|
37
33
|
required: false
|
@@ -21,10 +21,16 @@ export default {
|
|
21
21
|
}
|
22
22
|
},
|
23
23
|
props: {
|
24
|
+
/**
|
25
|
+
* list of multisteps
|
26
|
+
*/
|
24
27
|
multisteps: {
|
25
28
|
type: Array,
|
26
29
|
required: true
|
27
30
|
},
|
31
|
+
/**
|
32
|
+
* icon-class for separator shown inbetween multisteps
|
33
|
+
*/
|
28
34
|
separatorIconClass: {
|
29
35
|
type: String,
|
30
36
|
required: true
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<template>
|
2
2
|
<div class="cmd-opening-hours">
|
3
3
|
<h4 v-if="headline">{{ headline }}</h4>
|
4
|
-
<a v-if="
|
4
|
+
<a v-if="pathToDetails" :href="pathToDetails" :class="{'closed': closed}">{{ textOpenClosed }}</a>
|
5
5
|
<span v-else :class="{'closed': closed}">{{ textOpenClosed }}</span>
|
6
6
|
<dl>
|
7
7
|
<template v-for="day in openingHours" :key="day.day">
|
@@ -20,30 +20,51 @@
|
|
20
20
|
export default {
|
21
21
|
name: "CmdOpeningHours",
|
22
22
|
props: {
|
23
|
+
/**
|
24
|
+
* headline above displayed opening hours
|
25
|
+
*/
|
23
26
|
headline: {
|
24
27
|
type: String,
|
25
28
|
required: false
|
26
29
|
},
|
27
|
-
|
30
|
+
/**
|
31
|
+
* set a path to a detail page
|
32
|
+
*/
|
33
|
+
pathToDetails: {
|
28
34
|
type: String,
|
29
35
|
required: false
|
30
36
|
},
|
37
|
+
/**
|
38
|
+
* toggles if "closed"-text will be shown
|
39
|
+
*/
|
31
40
|
closed: {
|
32
41
|
type: Boolean,
|
33
42
|
default: false
|
34
43
|
},
|
44
|
+
/**
|
45
|
+
* text for open/closed-information
|
46
|
+
*/
|
35
47
|
textOpenClosed: {
|
36
48
|
type: String,
|
37
49
|
required: true
|
38
50
|
},
|
51
|
+
/**
|
52
|
+
* list of opening-hours
|
53
|
+
*/
|
39
54
|
openingHours: {
|
40
55
|
type: Array,
|
41
56
|
required: true
|
42
57
|
},
|
58
|
+
/**
|
59
|
+
* text to show if holidays closed (shown below opening-hours)
|
60
|
+
*/
|
43
61
|
textHolidaysClosed: {
|
44
62
|
type: String,
|
45
63
|
required: false
|
46
64
|
},
|
65
|
+
/**
|
66
|
+
* additional/miscellaneous text (shown below holiday-closed-text/opening hours)
|
67
|
+
*/
|
47
68
|
textMiscInfo: {
|
48
69
|
type: String,
|
49
70
|
required: false
|
@@ -47,25 +47,47 @@ export default {
|
|
47
47
|
}
|
48
48
|
},
|
49
49
|
props: {
|
50
|
+
/**
|
51
|
+
* number of items displayed
|
52
|
+
*/
|
50
53
|
items: {
|
51
54
|
type: Number,
|
52
55
|
required: true
|
53
56
|
},
|
57
|
+
/**
|
58
|
+
* number of items shown per page
|
59
|
+
*/
|
54
60
|
itemsPerPage: {
|
55
61
|
type: Number,
|
56
62
|
required: true
|
57
63
|
},
|
64
|
+
/**
|
65
|
+
* show links as buttons
|
66
|
+
*/
|
58
67
|
showLinksAsButtons: {
|
59
68
|
type: Boolean,
|
60
69
|
default: true
|
61
70
|
},
|
71
|
+
/**
|
72
|
+
*
|
73
|
+
*/
|
62
74
|
prevButton: {
|
63
75
|
type: Object,
|
64
|
-
|
76
|
+
default: function() {
|
77
|
+
return {
|
78
|
+
iconClass: "icon-single-arrow-left",
|
79
|
+
buttonText: "prev"
|
80
|
+
}
|
81
|
+
}
|
65
82
|
},
|
66
83
|
nextButton: {
|
67
84
|
type: Object,
|
68
|
-
|
85
|
+
default: function() {
|
86
|
+
return {
|
87
|
+
iconClass: "icon-single-arrow-right",
|
88
|
+
buttonText: "next"
|
89
|
+
}
|
90
|
+
}
|
69
91
|
}
|
70
92
|
},
|
71
93
|
computed: {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<template>
|
2
2
|
<label class="cmd-progressbar" :for="id">
|
3
|
-
<span>{{ labelText }}</span>
|
3
|
+
<span v-if="labelText">{{ labelText }}</span>
|
4
4
|
<span class="progressbar">
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
<span>{{ loadingStatus }}%</span><!-- do not place inside progress-tag (will not be displayed then) -->
|
6
|
+
<progress v-bind="$attrs" :id="id" :value="loadingStatus"></progress>
|
7
|
+
</span>
|
8
8
|
</label>
|
9
9
|
</template>
|
10
10
|
|
@@ -17,10 +17,16 @@ export default {
|
|
17
17
|
}
|
18
18
|
},
|
19
19
|
props: {
|
20
|
+
/**
|
21
|
+
* label-text for progress-bar
|
22
|
+
*/
|
20
23
|
labelText: {
|
21
24
|
type: String,
|
22
25
|
required: false
|
23
26
|
},
|
27
|
+
/**
|
28
|
+
* id for progress-bar
|
29
|
+
*/
|
24
30
|
id: {
|
25
31
|
type: String,
|
26
32
|
required: true
|
@@ -12,10 +12,16 @@
|
|
12
12
|
export default {
|
13
13
|
name: "CmdContentFooter",
|
14
14
|
props: {
|
15
|
+
/**
|
16
|
+
* stretch-buttons to share horizontal space vertically
|
17
|
+
*/
|
15
18
|
stretchButtons: {
|
16
19
|
type: Boolean,
|
17
20
|
default: true
|
18
21
|
},
|
22
|
+
/**
|
23
|
+
* list of share-buttons (i.e. facebook, twitter etc.)
|
24
|
+
*/
|
19
25
|
shareButtons: {
|
20
26
|
type: Array,
|
21
27
|
required: true
|
@@ -19,34 +19,30 @@ export default {
|
|
19
19
|
CmdMainNavigation
|
20
20
|
},
|
21
21
|
props: {
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
},
|
22
|
+
/**
|
23
|
+
* list of main-navigation-entries (incl. sub-entries) given to inner navigationcomponent
|
24
|
+
*/
|
26
25
|
mainNavigationEntries: {
|
27
26
|
type: Array,
|
28
27
|
required: true
|
29
28
|
},
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
},
|
34
|
-
linkLogo: {
|
35
|
-
type: Object,
|
36
|
-
required: false
|
37
|
-
},
|
38
|
-
logo: {
|
39
|
-
type: Object,
|
40
|
-
required: false
|
41
|
-
},
|
29
|
+
/**
|
30
|
+
* activated sticky-header (stays on top if page is scrolled
|
31
|
+
*/
|
42
32
|
sticky: {
|
43
33
|
type: Boolean,
|
44
34
|
default: true
|
45
35
|
},
|
36
|
+
/**
|
37
|
+
* use a grid for positioning of inner-elements (else a flex-container will be used)
|
38
|
+
*/
|
46
39
|
useGrid: {
|
47
40
|
type: Boolean,
|
48
41
|
default: true
|
49
42
|
},
|
43
|
+
/**
|
44
|
+
* use only if default-button of inner navigation-component should not be used
|
45
|
+
*/
|
50
46
|
closeOffcanvas: {
|
51
47
|
type: Object,
|
52
48
|
required: false
|
@@ -10,10 +10,8 @@
|
|
10
10
|
</figure>
|
11
11
|
</a>
|
12
12
|
<figure v-else-if="!currentItem.href && currentItem && !useSlot" :key="index" class="slideshow-item">
|
13
|
-
<template>
|
14
13
|
<img :src="currentItem.imgPath" :alt="currentItem.alt"/>
|
15
14
|
<figcaption>{{ currentItem.figcaption }}</figcaption>
|
16
|
-
</template>
|
17
15
|
</figure>
|
18
16
|
<div
|
19
17
|
class="image-wrapper"
|
@@ -57,30 +55,51 @@ export default {
|
|
57
55
|
CmdSlideButton
|
58
56
|
},
|
59
57
|
props: {
|
58
|
+
/**
|
59
|
+
* use slot for images
|
60
|
+
*/
|
60
61
|
useSlot: {
|
61
62
|
type: Boolean,
|
62
63
|
default: false
|
63
64
|
},
|
65
|
+
/**
|
66
|
+
* activate if images should switch automatically
|
67
|
+
*/
|
64
68
|
autoplay: {
|
65
69
|
type: Boolean,
|
66
70
|
default: false
|
67
71
|
},
|
72
|
+
/**
|
73
|
+
* set milliseconds to switch images (if autoplay is activated only)
|
74
|
+
*/
|
75
|
+
autoplayInterval: {
|
76
|
+
type: Number,
|
77
|
+
default: 5000
|
78
|
+
},
|
79
|
+
/**
|
80
|
+
* shows buttons/icons to let user quick jump to each image
|
81
|
+
*/
|
68
82
|
showQuickLinkIcons: {
|
69
83
|
type: Boolean,
|
70
84
|
default: true
|
71
85
|
},
|
86
|
+
/**
|
87
|
+
* activate if current number of each image should be displayed
|
88
|
+
*/
|
72
89
|
showCounter: {
|
73
90
|
type: Boolean,
|
74
91
|
default: false
|
75
92
|
},
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
},
|
93
|
+
/**
|
94
|
+
* list of images to display (use slot smust be set to false)
|
95
|
+
*/
|
80
96
|
slideshowItems: {
|
81
97
|
type: Array,
|
82
98
|
required: true
|
83
99
|
},
|
100
|
+
/**
|
101
|
+
* slide-buttons (next/previous) to switch images
|
102
|
+
*/
|
84
103
|
slideButtons: {
|
85
104
|
type: Object,
|
86
105
|
default() {
|
@@ -34,14 +34,14 @@
|
|
34
34
|
</span>
|
35
35
|
</li>
|
36
36
|
</ul>
|
37
|
-
<CmdSystemMessage v-if="!listOfFiles.length"
|
38
|
-
|
37
|
+
<CmdSystemMessage v-if="!listOfFiles.length" status="warning" :fullWidth="true"
|
38
|
+
message="No files selected for upload!">
|
39
39
|
</CmdSystemMessage>
|
40
|
-
<CmdSystemMessage v-else :
|
40
|
+
<CmdSystemMessage v-else :status="messageStatusUploadSize()" :fullWidth="true">
|
41
41
|
<p>Current upload size is {{ formatSize(uploadSize) }} (of max. {{ formatSize(maxUploadSize) }}).</p>
|
42
42
|
</CmdSystemMessage>
|
43
|
-
<CmdSystemMessage v-if="uploadSize > maxUploadSize"
|
44
|
-
|
43
|
+
<CmdSystemMessage v-if="uploadSize > maxUploadSize" status="error" :fullWidth="true"
|
44
|
+
message="Total file size to large!">
|
45
45
|
</CmdSystemMessage>
|
46
46
|
<CmdFormElement
|
47
47
|
v-if="enableComment"
|
package/src/index.js
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
import "clickout-event"
|
2
|
+
|
1
3
|
export { default as CmdAccordion } from '@/components/CmdAccordion'
|
2
4
|
export { default as CmdAddressData } from '@/components/CmdAddressData'
|
3
5
|
export { default as CmdBackToTopButton } from '@/components/CmdBackToTopButton'
|
@@ -31,4 +33,4 @@ export { default as CmdTabs } from '@/components/CmdTabs'
|
|
31
33
|
export { default as CmdThumbnailScroller } from '@/components/CmdThumbnailScroller'
|
32
34
|
export { default as CmdTooltip } from '@/components/CmdTooltip'
|
33
35
|
export { default as CmdTopHeaderNavigation } from '@/components/CmdTopHeaderNavigation'
|
34
|
-
export { default as CmdWidthLimitationWrapper } from '@/components/CmdWidthLimitationWrapper'
|
36
|
+
export { default as CmdWidthLimitationWrapper } from '@/components/CmdWidthLimitationWrapper'
|
package/src/main.js
CHANGED
@@ -6,7 +6,7 @@ import 'comand-frontend-framework/src/assets/css/framework-iconfont.css'
|
|
6
6
|
import { createApp } from 'vue'
|
7
7
|
import App from './App.vue'
|
8
8
|
import { createRouter, createWebHistory } from 'vue-router'
|
9
|
-
import
|
9
|
+
import "clickout-event"
|
10
10
|
|
11
11
|
/* import additional iconfont containing company-logos */
|
12
12
|
import '@/assets/styles/logos-iconfont.css'
|
@@ -34,4 +34,4 @@ const router = createRouter({
|
|
34
34
|
]
|
35
35
|
})
|
36
36
|
|
37
|
-
createApp(App).use(router).
|
37
|
+
createApp(App).use(router).mount('#app')
|