@mixd-id/web-scaffold 0.1.230406178 → 0.1.230406180
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/package.json +1 -1
- package/src/components/Link.vue +54 -0
- package/src/components/Modal.vue +0 -74
- package/src/components/TextBlock.vue +8 -3
- package/src/index.js +4 -2
- package/src/themes/default/index.js +52 -2
- package/src/widgets/AhrefSetting.vue +0 -4
- package/src/widgets/ComponentSetting.vue +816 -614
- package/src/widgets/ContactForm.vue +39 -14
- package/src/widgets/ContactFormSetting.vue +186 -103
- package/src/widgets/LinkSetting.vue +86 -0
- package/src/widgets/TextBlockSetting.vue +24 -45
- package/src/widgets/WebPageBuilder.vue +51 -42
- package/tailwind.config.js +10 -0
package/package.json
CHANGED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<a v-if="isExternalLink && items.length > 0" :target="target">
|
|
3
|
+
<component v-for="(item, idx) in items"
|
|
4
|
+
:is="item.type"
|
|
5
|
+
:key="idx"
|
|
6
|
+
:="item" />
|
|
7
|
+
</a>
|
|
8
|
+
<a v-else-if="isExternalLink" :href="href" :target="target">{{ text }}</a>
|
|
9
|
+
<router-link v-else-if="items.length > 0" :to="href">
|
|
10
|
+
<component v-for="(item, idx) in items"
|
|
11
|
+
:is="item.type"
|
|
12
|
+
:key="idx"
|
|
13
|
+
:="item" />
|
|
14
|
+
</router-link>
|
|
15
|
+
<router-link v-else :to="href">{{ text }}</router-link>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
|
|
20
|
+
import { componentMixin } from "../mixin/component";
|
|
21
|
+
|
|
22
|
+
export default{
|
|
23
|
+
|
|
24
|
+
mixins: [ componentMixin ],
|
|
25
|
+
|
|
26
|
+
props: {
|
|
27
|
+
items: Array,
|
|
28
|
+
href: {
|
|
29
|
+
type: String,
|
|
30
|
+
default: ''
|
|
31
|
+
},
|
|
32
|
+
target: String,
|
|
33
|
+
text: String,
|
|
34
|
+
},
|
|
35
|
+
|
|
36
|
+
computed: {
|
|
37
|
+
|
|
38
|
+
isExternalLink(){
|
|
39
|
+
return (this.href ?? '').indexOf('://') > -1;
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
</script>
|
|
47
|
+
|
|
48
|
+
<style module>
|
|
49
|
+
|
|
50
|
+
.comp{
|
|
51
|
+
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
</style>
|
package/src/components/Modal.vue
CHANGED
|
@@ -345,77 +345,3 @@ html[data-theme='dark'] .overlay{
|
|
|
345
345
|
}
|
|
346
346
|
|
|
347
347
|
</style>
|
|
348
|
-
|
|
349
|
-
<style>
|
|
350
|
-
|
|
351
|
-
.slideup-enter-active,
|
|
352
|
-
.slideup-leave-active {
|
|
353
|
-
transition: all 300ms cubic-bezier(0.25, 1, 0.5, 1);
|
|
354
|
-
}
|
|
355
|
-
.slideup-enter-active,
|
|
356
|
-
.slideup-leave-active {
|
|
357
|
-
transform: translate3d(0, 0, 0);
|
|
358
|
-
}
|
|
359
|
-
.slideup-enter-from,
|
|
360
|
-
.slideup-leave-to {
|
|
361
|
-
opacity: 0;
|
|
362
|
-
transform: translate3d(0, 10px, 0);
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
.slidedown-enter-active,
|
|
366
|
-
.slidedown-leave-active {
|
|
367
|
-
transition: all 300ms cubic-bezier(0.25, 1, 0.5, 1);
|
|
368
|
-
}
|
|
369
|
-
.slidedown-enter-active,
|
|
370
|
-
.slidedown-leave-active {
|
|
371
|
-
transform: translate3d(0, 0, 0);
|
|
372
|
-
}
|
|
373
|
-
.slidedown-enter-from,
|
|
374
|
-
.slidedown-leave-to {
|
|
375
|
-
opacity: 0;
|
|
376
|
-
transform: translate3d(0, -10px, 0);
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
.slideleft-enter-active,
|
|
380
|
-
.slideleft-leave-active {
|
|
381
|
-
transition: all 300ms cubic-bezier(0.25, 1, 0.5, 1);
|
|
382
|
-
}
|
|
383
|
-
.slideleft-enter-active,
|
|
384
|
-
.slideleft-leave-active {
|
|
385
|
-
transform: translate3d(0, 0, 0);
|
|
386
|
-
}
|
|
387
|
-
.slideleft-enter-from,
|
|
388
|
-
.slideleft-leave-to {
|
|
389
|
-
opacity: 0;
|
|
390
|
-
transform: translate3d(10px, 0, 0);
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
.slideright-enter-active,
|
|
394
|
-
.slideright-leave-active {
|
|
395
|
-
transition: all 300ms cubic-bezier(0.25, 1, 0.5, 1);
|
|
396
|
-
}
|
|
397
|
-
.slideright-enter-active,
|
|
398
|
-
.slideright-leave-active {
|
|
399
|
-
transform: translate3d(0, 0, 0);
|
|
400
|
-
}
|
|
401
|
-
.slideright-enter-from,
|
|
402
|
-
.slideright-leave-to {
|
|
403
|
-
opacity: 0;
|
|
404
|
-
transform: translate3d(-10px, 0, 0);
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
.slideout-enter-active,
|
|
408
|
-
.slideout-leave-active {
|
|
409
|
-
transition: all 300ms cubic-bezier(0.25, 1, 0.5, 1);
|
|
410
|
-
}
|
|
411
|
-
.slideout-enter-active,
|
|
412
|
-
.slideout-leave-active {
|
|
413
|
-
transform: scale(1);
|
|
414
|
-
}
|
|
415
|
-
.slideout-enter-from,
|
|
416
|
-
.slideout-leave-to {
|
|
417
|
-
opacity: 0;
|
|
418
|
-
transform: scale(.9);
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
</style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<component :is="tagName" :class="$style.comp">
|
|
3
3
|
{{ text }}
|
|
4
|
-
</
|
|
4
|
+
</component>
|
|
5
5
|
</template>
|
|
6
6
|
|
|
7
7
|
<script>
|
|
@@ -14,7 +14,12 @@ export default{
|
|
|
14
14
|
|
|
15
15
|
props: {
|
|
16
16
|
|
|
17
|
-
text: String
|
|
17
|
+
text: String,
|
|
18
|
+
|
|
19
|
+
tagName: {
|
|
20
|
+
type: String,
|
|
21
|
+
default: 'span'
|
|
22
|
+
}
|
|
18
23
|
|
|
19
24
|
}
|
|
20
25
|
|
package/src/index.js
CHANGED
|
@@ -381,6 +381,7 @@ export default{
|
|
|
381
381
|
app.component('ImagePreview', defineAsyncComponent(() => import("./components/ImagePreview.vue")))
|
|
382
382
|
app.component('ImageFullScreen', defineAsyncComponent(() => import("./components/ImageFullScreen.vue")))
|
|
383
383
|
app.component('ImportModal', defineAsyncComponent(() => import("./components/ImportModal.vue")))
|
|
384
|
+
app.component('Link', defineAsyncComponent(() => import("./components/Link.vue")))
|
|
384
385
|
app.component('ListPage1', defineAsyncComponent(() => import("./components/ListPage1.vue")))
|
|
385
386
|
app.component('ListPage1Filter', defineAsyncComponent(() => import("./components/ListPage1Filter.vue")))
|
|
386
387
|
app.component('ListItem', defineAsyncComponent(() => import("./components/ListItem.vue")))
|
|
@@ -393,6 +394,7 @@ export default{
|
|
|
393
394
|
app.component('ListViewMapSummary', defineAsyncComponent(() => import("./components/ListViewMapSummary.vue")))
|
|
394
395
|
app.component('Carousel', defineAsyncComponent(() => import("./components/Carousel.vue")))
|
|
395
396
|
app.component('ContextMenu', defineAsyncComponent(() => import("./components/ContextMenu.vue")))
|
|
397
|
+
app.component('FAQ', defineAsyncComponent(() => import("./widgets/FAQ.vue")))
|
|
396
398
|
app.component('Flex', defineAsyncComponent(() => import("./components/Flex.vue")))
|
|
397
399
|
app.component('Grid', defineAsyncComponent(() => import("./components/Grid.vue")))
|
|
398
400
|
app.component('Modal', defineAsyncComponent(() => import("./components/Modal.vue")))
|
|
@@ -420,7 +422,6 @@ export default{
|
|
|
420
422
|
app.component('TextEditor', defineAsyncComponent(() => import("./components/TextEditor.vue")))
|
|
421
423
|
|
|
422
424
|
app.component('AhrefSetting', defineAsyncComponent(() => import("./widgets/AhrefSetting.vue")))
|
|
423
|
-
app.component('ParagraphSetting', defineAsyncComponent(() => import("./widgets/ParagraphSetting.vue")))
|
|
424
425
|
app.component('ArticleSetting', defineAsyncComponent(() => import("./widgets/ArticleSetting.vue")))
|
|
425
426
|
app.component('BlockSetting', defineAsyncComponent(() => import("./widgets/BlockSetting.vue")))
|
|
426
427
|
app.component('BoxSetting', defineAsyncComponent(() => import("./widgets/BoxSetting.vue")))
|
|
@@ -431,7 +432,6 @@ export default{
|
|
|
431
432
|
app.component('ContactFormSetting', defineAsyncComponent(() => import("./widgets/ContactFormSetting.vue")))
|
|
432
433
|
app.component('EmbeddedVideo', defineAsyncComponent(() => import("./widgets/EmbeddedVideo.vue")))
|
|
433
434
|
app.component('EmbeddedVideoSetting', defineAsyncComponent(() => import("./widgets/EmbeddedVideoSetting.vue")))
|
|
434
|
-
app.component('FAQ', defineAsyncComponent(() => import("./widgets/FAQ.vue")))
|
|
435
435
|
app.component('FAQSetting', defineAsyncComponent(() => import("./widgets/FAQSetting.vue")))
|
|
436
436
|
app.component('FeatureList', defineAsyncComponent(() => import("./widgets/FeatureList.vue")))
|
|
437
437
|
app.component('FeatureListSetting', defineAsyncComponent(() => import("./widgets/FeatureListSetting.vue")))
|
|
@@ -443,10 +443,12 @@ export default{
|
|
|
443
443
|
app.component('HeaderSetting', defineAsyncComponent(() => import("./widgets/HeaderSetting.vue")))
|
|
444
444
|
app.component('IconList', defineAsyncComponent(() => import("./widgets/IconList.vue")))
|
|
445
445
|
app.component('IconListSetting', defineAsyncComponent(() => import("./widgets/IconListSetting.vue")))
|
|
446
|
+
app.component('LinkSetting', defineAsyncComponent(() => import("./widgets/LinkSetting.vue")))
|
|
446
447
|
app.component('ImageSetting', defineAsyncComponent(() => import("./widgets/ImageSetting.vue")))
|
|
447
448
|
app.component('MarginSetting', defineAsyncComponent(() => import("./widgets/MarginSetting.vue")))
|
|
448
449
|
app.component('MultiValueSetting', defineAsyncComponent(() => import("./widgets/MultiValueSetting.vue")))
|
|
449
450
|
app.component('PaddingSetting', defineAsyncComponent(() => import("./widgets/PaddingSetting.vue")))
|
|
451
|
+
app.component('ParagraphSetting', defineAsyncComponent(() => import("./widgets/ParagraphSetting.vue")))
|
|
450
452
|
app.component('Review', defineAsyncComponent(() => import("./widgets/Review.vue")))
|
|
451
453
|
app.component('ReviewSetting', defineAsyncComponent(() => import("./widgets/ReviewSetting.vue")))
|
|
452
454
|
app.component('Share', defineAsyncComponent(() => import("./widgets/Share.vue")))
|
|
@@ -106,7 +106,7 @@ const plugin = Plugin(function({ addBase, config, theme }) {
|
|
|
106
106
|
'fontSize': '14px',
|
|
107
107
|
},
|
|
108
108
|
|
|
109
|
-
"input, input[type='text'], input[type='number'], textarea, select, option": {
|
|
109
|
+
"input, input[type='text'], input[type='number'], textarea, select, option": {fontSize: "16px !important"}
|
|
110
110
|
},
|
|
111
111
|
|
|
112
112
|
'::-webkit-scrollbar': {
|
|
@@ -149,7 +149,7 @@ const plugin = Plugin(function({ addBase, config, theme }) {
|
|
|
149
149
|
fontWeight: theme('fontWeight.bold'),
|
|
150
150
|
},
|
|
151
151
|
|
|
152
|
-
'.flex-1': {
|
|
152
|
+
'.flex-1': {minHeight: "0px", minWidth: "0px"},
|
|
153
153
|
|
|
154
154
|
'.tooltip': {
|
|
155
155
|
position: "fixed",
|
|
@@ -164,6 +164,56 @@ const plugin = Plugin(function({ addBase, config, theme }) {
|
|
|
164
164
|
|
|
165
165
|
'.tooltip.active': {
|
|
166
166
|
transform: 'scale(1)',
|
|
167
|
+
},
|
|
168
|
+
|
|
169
|
+
'.slidedown-enter-active, .slidedown-leave-active': {
|
|
170
|
+
transition: 'all 300ms cubic-bezier(0.25, 1, 0.5, 1)',
|
|
171
|
+
transform: 'translate3d(0, 0, 0)'
|
|
172
|
+
},
|
|
173
|
+
|
|
174
|
+
'.slidedown-enter-from, .slidedown-leave-to': {
|
|
175
|
+
opacity: 0,
|
|
176
|
+
transform: 'translate3d(0, -10px, 0)'
|
|
177
|
+
},
|
|
178
|
+
|
|
179
|
+
'.slideup-enter-active, .slideup-leave-active': {
|
|
180
|
+
transition: 'all 300ms cubic-bezier(0.25, 1, 0.5, 1)',
|
|
181
|
+
transform: 'translate3d(0, 0, 0)'
|
|
182
|
+
},
|
|
183
|
+
|
|
184
|
+
'.slideup-enter-from, .slideup-leave-to': {
|
|
185
|
+
opacity: 0,
|
|
186
|
+
transform: 'translate3d(0, 10px, 0)'
|
|
187
|
+
},
|
|
188
|
+
|
|
189
|
+
'.slideleft-enter-active, .slideleft - leave - active': {
|
|
190
|
+
transition: 'all 300ms cubic-bezier(0.25, 1, 0.5, 1)',
|
|
191
|
+
transform: 'translate3d(0, 0, 0)'
|
|
192
|
+
},
|
|
193
|
+
|
|
194
|
+
'.slideleft-enter-from, .slideleft-leave-to': {
|
|
195
|
+
opacity: 0,
|
|
196
|
+
transform: 'translate3d(10px, 0, 0)'
|
|
197
|
+
},
|
|
198
|
+
|
|
199
|
+
'.slideright-enter-active, .slideright-leave-active': {
|
|
200
|
+
transition: 'all 300ms cubic-bezier(0.25, 1, 0.5, 1)',
|
|
201
|
+
transform: 'translate3d(0, 0, 0)'
|
|
202
|
+
},
|
|
203
|
+
|
|
204
|
+
'.slideright-enter-from, .slideright-leave-to': {
|
|
205
|
+
opacity: 0,
|
|
206
|
+
transform: 'translate3d(-10px, 0, 0)'
|
|
207
|
+
},
|
|
208
|
+
|
|
209
|
+
'.slideout-enter-active, .slideout-leave-active': {
|
|
210
|
+
transition: 'all 300ms cubic-bezier(0.25, 1, 0.5, 1)',
|
|
211
|
+
transform: 'scale(1)'
|
|
212
|
+
},
|
|
213
|
+
|
|
214
|
+
'.slideout-enter-from, .slideout-leave-to': {
|
|
215
|
+
opacity: 0,
|
|
216
|
+
transform: 'scale(.9)'
|
|
167
217
|
}
|
|
168
218
|
|
|
169
219
|
})
|