@mixd-id/web-scaffold 0.2.240706 → 0.2.250801010
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/docs/components/Dashboard.md +56 -0
- package/log.txt +7 -0
- package/package.json +27 -19
- package/src/components/404.vue +61 -0
- package/src/components/AccountIcon.vue +19 -0
- package/src/components/Ahref.vue +1 -1
- package/src/components/Alert.vue +4 -13
- package/src/components/ArrayList.vue +49 -0
- package/src/components/Article.vue +24 -30
- package/src/components/Button.vue +83 -169
- package/src/components/Card.vue +257 -0
- package/src/components/Carousel.vue +61 -60
- package/src/components/Cart.vue +192 -0
- package/src/components/CartIcon.vue +89 -0
- package/src/components/ChartBar.vue +2 -3
- package/src/components/Checkbox.vue +20 -11
- package/src/components/Checkout.vue +373 -0
- package/src/components/CheckoutDelivery.vue +267 -0
- package/src/components/CodeEditor.vue +5 -16
- package/src/components/CollapsiblePanel.vue +70 -0
- package/src/components/ColorPicker.vue +12 -5
- package/src/components/ColorPicker2.vue +41 -19
- package/src/components/ColorPicker3.vue +100 -0
- package/src/components/Confirm.vue +9 -7
- package/src/components/ContextMenu.vue +122 -206
- package/src/components/ContextMenuItem.vue +53 -0
- package/src/components/Dashboard.vue +243 -0
- package/src/components/Dashboard2.vue +118 -0
- package/src/components/DashboardComponentSelector.vue +96 -0
- package/src/components/DashboardConfigs.vue +202 -0
- package/src/components/Datepicker.vue +102 -41
- package/src/components/DayTimeRange.vue +3 -2
- package/src/components/Dropdown.vue +7 -4
- package/src/components/Flex.vue +14 -40
- package/src/components/GHeatMaps.vue +2 -2
- package/src/components/Grid.vue +6 -6
- package/src/components/HTMLEditor.vue +27 -14
- package/src/components/Image.vue +62 -108
- package/src/components/ImagePreview.vue +14 -4
- package/src/components/ImageUploader.vue +114 -0
- package/src/components/ImportModal.vue +3 -3
- package/src/components/Link.vue +62 -6
- package/src/components/List.vue +528 -403
- package/src/components/ListContextMenu.vue +88 -0
- package/src/components/ListItem.vue +6 -4
- package/src/components/ListPage1.vue +14 -15
- package/src/components/ListView.vue +5 -6
- package/src/components/ListViewSettings.vue +2 -2
- package/src/components/LogViewerItem.vue +1 -1
- package/src/components/MarkdownEdit.vue +128 -0
- package/src/components/MarkdownPreview.vue +102 -0
- package/src/components/MenuItem1.vue +36 -0
- package/src/components/Modal.vue +95 -43
- package/src/components/MultiDropdown.vue +124 -0
- package/src/components/MultilineText.vue +1 -4
- package/src/components/OTPField.vue +40 -26
- package/src/components/ObjectTree.vue +1 -1
- package/src/components/PageBuilder.vue +3 -3
- package/src/components/Paragraph.vue +1 -2
- package/src/components/PresetSelectorFilterItem.vue +107 -95
- package/src/components/Radio.vue +1 -1
- package/src/components/SearchModal.vue +153 -0
- package/src/components/Slider.vue +1 -1
- package/src/components/Svg.vue +1 -1
- package/src/components/SvgEditor.vue +173 -0
- package/src/components/Switch.vue +4 -5
- package/src/components/Table.vue +2 -2
- package/src/components/TableView.vue +2 -3
- package/src/components/TableViewHead.vue +2 -2
- package/src/components/Tabs.vue +1 -1
- package/src/components/Testimonial.vue +2 -2
- package/src/components/Text.vue +7 -22
- package/src/components/TextEditor.vue +3 -3
- package/src/components/TextWithTag.vue +61 -30
- package/src/components/Textarea.vue +16 -22
- package/src/components/Textbox.vue +9 -19
- package/src/components/Timepicker.vue +25 -15
- package/src/components/Toast.vue +5 -3
- package/src/components/TreeMenu.vue +122 -0
- package/src/components/TreeView.vue +15 -10
- package/src/components/TreeView2.vue +38 -0
- package/src/components/TreeViewItem.vue +58 -29
- package/src/components/TreeViewItem2.vue +55 -0
- package/src/components/Uploader.vue +45 -0
- package/src/components/Video.vue +119 -0
- package/src/components/VirtualGrid.vue +24 -7
- package/src/components/VirtualTable.vue +363 -128
- package/src/configs/dashboard/data-table.js +9 -0
- package/src/configs/web-page-builder.js +118 -0
- package/src/directives/intersect.js +26 -0
- package/src/hooks/device.js +14 -0
- package/src/index.js +62 -107
- package/src/mixin/component.js +151 -67
- package/src/themes/default/index.js +118 -159
- package/src/utils/dashboard.js +22 -962
- package/src/utils/helpers.cjs +635 -0
- package/src/utils/helpers.js +91 -60
- package/src/utils/helpers.mjs +245 -12
- package/src/utils/importer.js +22 -3
- package/src/utils/list.mjs +1509 -0
- package/src/utils/preset-selector.cjs +1455 -0
- package/src/utils/preset-selector.js +489 -95
- package/src/utils/preset-selector.mjs +59 -20
- package/src/utils/queue.js +63 -0
- package/src/utils/web.mjs +120 -0
- package/src/utils/wss.js +38 -36
- package/src/utils/wss.mjs +24 -19
- package/src/widgets/AhrefSetting.vue +16 -13
- package/src/widgets/ArticleSetting.vue +15 -27
- package/src/widgets/BackgroundColorSetting.vue +153 -0
- package/src/widgets/BorderColorSetting.vue +57 -0
- package/src/widgets/BotEditor/BotEditorActions.vue +3 -2
- package/src/widgets/BotEditor/BotEditorSettings.vue +21 -0
- package/src/widgets/BotEditor.vue +35 -15
- package/src/widgets/ButtonSetting.vue +12 -13
- package/src/widgets/CarouselSetting.vue +33 -45
- package/src/widgets/CartSetting.vue +46 -0
- package/src/widgets/CheckoutSetting.vue +46 -0
- package/src/widgets/CollapsiblePanelSetting.vue +46 -0
- package/src/widgets/ColumnSelector.vue +29 -5
- package/src/widgets/ComponentSetting.vue +1 -1
- package/src/widgets/ComponentSetting2.vue +145 -236
- package/src/widgets/ComponentSetting3.vue +1 -1
- package/src/widgets/ContactForm.vue +3 -3
- package/src/widgets/ContactFormSetting.vue +41 -30
- package/src/widgets/Dashboard/BarChart.vue +47 -11
- package/src/widgets/Dashboard/BarChartSetting.vue +1 -1
- package/src/widgets/Dashboard/DataTable.vue +125 -0
- package/src/widgets/Dashboard/DataTableSetting.vue +243 -0
- package/src/widgets/Dashboard/DatasourceSelector.vue +1 -1
- package/src/widgets/Dashboard/Doughnut.vue +49 -7
- package/src/widgets/Dashboard/DoughnutSetting.vue +2 -2
- package/src/widgets/Dashboard/Metric.vue +78 -19
- package/src/widgets/Dashboard/MetricSetting.vue +81 -28
- package/src/widgets/Dashboard/Pie.vue +55 -6
- package/src/widgets/Dashboard/PieSetting.vue +1 -1
- package/src/widgets/Dashboard/PolarArea.vue +49 -7
- package/src/widgets/Dashboard/PolarAreaSetting.vue +1 -1
- package/src/widgets/Dashboard/SharingModal.vue +4 -5
- package/src/widgets/Dashboard/ViewSelector.vue +2 -2
- package/src/widgets/Dashboard/VirtualTableSetting.vue +121 -184
- package/src/widgets/{Dashboard.vue → Dashboard0.vue} +426 -343
- package/src/widgets/EmbeddedVideoSetting.vue +7 -5
- package/src/widgets/FAQ.vue +16 -3
- package/src/widgets/FAQSetting.vue +53 -47
- package/src/widgets/FeatureList.vue +3 -0
- package/src/widgets/FeatureListSetting.vue +112 -102
- package/src/widgets/FlexSetting.vue +83 -106
- package/src/widgets/GridSetting.vue +71 -196
- package/src/widgets/Header2.vue +34 -71
- package/src/widgets/Header2Setting.vue +95 -179
- package/src/widgets/HeaderSetting.vue +16 -18
- package/src/widgets/IconListSetting.vue +69 -65
- package/src/widgets/ImageSetting.vue +33 -60
- package/src/widgets/LinkSetting.vue +60 -37
- package/src/widgets/LinkSettingModal.vue +173 -0
- package/src/widgets/LogViewer.vue +1 -1
- package/src/widgets/MarginSetting.vue +2 -2
- package/src/widgets/MenuEditor.vue +1 -1
- package/src/widgets/MenuItem1Setting.vue +78 -0
- package/src/widgets/ModalSetting.vue +42 -44
- package/src/widgets/MultiValueSetting.vue +2 -2
- package/src/widgets/MultiValueSetting2.vue +78 -45
- package/src/widgets/OGSettingModal.vue +103 -0
- package/src/widgets/PaddingSetting.vue +2 -2
- package/src/widgets/ParagraphSetting.vue +16 -13
- package/src/widgets/PositionSetting.vue +209 -0
- package/src/widgets/PresetBar.vue +359 -210
- package/src/widgets/PresetBarPivot.vue +31 -19
- package/src/widgets/PresetSelector.vue +29 -17
- package/src/widgets/SearchModalSetting.vue +70 -0
- package/src/widgets/Share.vue +1 -2
- package/src/widgets/ShareSetting.vue +67 -60
- package/src/widgets/StyleSetting.vue +365 -150
- package/src/widgets/TestimonialSetting.vue +97 -88
- package/src/widgets/TextBlockSetting.vue +16 -13
- package/src/widgets/UserActionBuilder/UserActionConsole.vue +30 -10
- package/src/widgets/UserActionBuilder/UserActionOutput.vue +2 -2
- package/src/widgets/UserActionBuilder/UserActionOutputReply.vue +64 -87
- package/src/widgets/UserActionBuilder/UserActionProps.vue +3 -3
- package/src/widgets/UserActionBuilder.vue +4 -16
- package/src/widgets/WebComponentSelector.vue +15 -11
- package/src/widgets/WebLayoutSelector.vue +41 -270
- package/src/widgets/WebPageBuilder.vue +1019 -707
- package/src/widgets/WebPageBuilder2.vue +7 -7
- package/src/widgets/WebPageBuilder4/ButtonSetting.vue +0 -8
- package/src/widgets/WebPageBuilder4/CarouselSetting.vue +63 -7
- package/src/widgets/WebPageBuilder4/FlexAlignSetting.vue +3 -3
- package/src/widgets/WebPageBuilder4/FlexSetting.vue +1 -10
- package/src/widgets/WebPageBuilder4/MultiValueSetting.vue +2 -2
- package/src/widgets/WebPageBuilder4/PropertySetting.vue +0 -7
- package/src/widgets/WebPageBuilder4/WebPageComponentSelector.vue +1 -7
- package/src/widgets/WebPageBuilder4.vue +289 -575
- package/src/widgets/WebPageSelector.vue +1 -1
- package/src/widgets/YoutubeVideoSetting.vue +16 -13
- package/tailwind.config.js +3 -35
- package/docs/schema/user-action.json +0 -266
- package/src/App.vue +0 -25
- package/src/components/SearchButton.vue +0 -57
- package/src/entry-client.js +0 -27
- package/src/entry-server.js +0 -73
- package/src/events/event.js +0 -2
- package/src/main.js +0 -29
- package/src/mixin/website.js +0 -121
- package/src/router.js +0 -57
- package/src/widgets/MobileMenu.vue +0 -182
- package/src/widgets/WebPageBuilder4/ActionSetting.vue +0 -158
- package/src/widgets/WebPageBuilder4/ColorSetting.vue +0 -63
- package/src/widgets/WebPageBuilder4/DataSetting.vue +0 -92
- package/src/widgets/WebPageBuilder4/FontSizeSetting.vue +0 -76
- package/src/widgets/WebPageBuilder4/LinkSetting.vue +0 -68
- package/src/widgets/WebPageBuilder4/MobileMenuSetting.vue +0 -106
- package/src/widgets/WebPageBuilder4/Setting.vue +0 -73
- package/src/widgets/WebPageBuilder4/StyleSetting.vue +0 -77
- package/src/widgets/WebPageBuilder4/SvgSetting.vue +0 -207
- package/src/widgets/WebPageBuilder4/TextTransformSetting.vue +0 -70
- package/src/widgets/WebPageBuilder4/WebPageDataEdit.vue +0 -121
- package/test.json +0 -22
- /package/src/widgets/{Header1.vue → Header0.vue} +0 -0
- /package/src/widgets/{Header1Setting.vue → Header0Setting.vue} +0 -0
|
@@ -1,55 +1,74 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div :class="$style.comp">
|
|
3
3
|
|
|
4
|
-
<div>
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
</
|
|
4
|
+
<div class="flex flex-col divide-y divide-border-50">
|
|
5
|
+
|
|
6
|
+
<div v-for="(values, key) in viewedItems" class="p-6 py-4 relative">
|
|
7
|
+
<div class="absolute top-0 right-0">
|
|
8
|
+
<button type="button" class="p-3" @click="delete item.props[key]">
|
|
9
|
+
<svg width="14" height="14" class="fill-text-300 hover:fill-red-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M207.6 256l107.72-107.72c6.23-6.23 6.23-16.34 0-22.58l-25.03-25.03c-6.23-6.23-16.34-6.23-22.58 0L160 208.4 52.28 100.68c-6.23-6.23-16.34-6.23-22.58 0L4.68 125.7c-6.23 6.23-6.23 16.34 0 22.58L112.4 256 4.68 363.72c-6.23 6.23-6.23 16.34 0 22.58l25.03 25.03c6.23 6.23 16.34 6.23 22.58 0L160 303.6l107.72 107.72c6.23 6.23 16.34 6.23 22.58 0l25.03-25.03c6.23-6.23 6.23-16.34 0-22.58L207.6 256z"/></svg>
|
|
10
|
+
</button>
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
<component v-if="keys[key].values.type"
|
|
14
|
+
:is="keys[key].values.type"
|
|
15
|
+
:="keys[key].values"
|
|
16
|
+
:item="item"
|
|
17
|
+
:view-types="viewTypes"
|
|
18
|
+
:view-index="viewIndex"
|
|
19
|
+
:view-type="viewType"
|
|
20
|
+
:name="key"
|
|
21
|
+
:text="keys[key].text" />
|
|
22
|
+
|
|
23
|
+
<div v-else class="flex flex-col gap-1 mt-1">
|
|
24
|
+
<small class="flex-1 text-text-400">{{ keys[key].text }}</small>
|
|
25
|
+
|
|
26
|
+
<Dropdown v-model="values[viewIndex]" class="flex-1 w-full max-w-[300px]">
|
|
27
|
+
<option value="">Default</option>
|
|
28
|
+
<option v-for="kValue in keys[key].values" :value="`${viewType}${kValue[0]}`">{{ kValue[1] ?? kValue[0] }}</option>
|
|
29
|
+
</Dropdown>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
12
32
|
</div>
|
|
13
33
|
|
|
14
|
-
<div class="
|
|
34
|
+
<div class="p-3">
|
|
35
|
+
<div class="text-center">
|
|
36
|
+
<button type="button" class="text-primary p-3" ref="addBtn" @click="select">Add Property</button>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<ContextMenu ref="contextMenu"
|
|
40
|
+
position="bottom"
|
|
41
|
+
@dismiss="search = ''"
|
|
42
|
+
class="rounded-none"
|
|
43
|
+
@open="$refs.search.select()">
|
|
44
|
+
<div class="flex flex-col min-w-[200px] h-[80vh]" @click.stop>
|
|
15
45
|
|
|
16
|
-
|
|
46
|
+
<div class="p-3">
|
|
47
|
+
<strong>Select Property</strong>
|
|
48
|
+
<Textbox ref="search" class="mt-3" v-model="search" placeholder="Search..." :clearable="true" @clear="search = ''"></Textbox>
|
|
49
|
+
</div>
|
|
17
50
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<button type="button" v-if="index > 0" @click="values.splice(index, 1)">
|
|
33
|
-
<svg width="11" height="11" class="fill-text-300 hover:fill-red-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M207.6 256l107.72-107.72c6.23-6.23 6.23-16.34 0-22.58l-25.03-25.03c-6.23-6.23-16.34-6.23-22.58 0L160 208.4 52.28 100.68c-6.23-6.23-16.34-6.23-22.58 0L4.68 125.7c-6.23 6.23-6.23 16.34 0 22.58L112.4 256 4.68 363.72c-6.23 6.23-6.23 16.34 0 22.58l25.03 25.03c6.23 6.23 16.34 6.23 22.58 0L160 303.6l107.72 107.72c6.23 6.23 16.34 6.23 22.58 0l25.03-25.03c6.23-6.23 6.23-16.34 0-22.58L207.6 256z"/></svg>
|
|
34
|
-
</button>
|
|
35
|
-
</div>
|
|
36
|
-
<div class="flex flex-row items-start gap-2">
|
|
37
|
-
<Dropdown v-if="Array.isArray(keys[key].values)" v-model="values[index]" class="flex-1 max-w-[300px]">
|
|
38
|
-
<option value="">Default</option>
|
|
39
|
-
<option v-for="kValue in keys[key].values" :value="`${viewTypes[index].value}${kValue[0]}`">{{ kValue[1] ?? kValue[0] }}</option>
|
|
40
|
-
</Dropdown>
|
|
41
|
-
<component v-else
|
|
42
|
-
:is="keys[key].values.type"
|
|
43
|
-
:="keys[key].values"
|
|
44
|
-
:keys="componentKeysForIndex(keys[key].values, index)"
|
|
45
|
-
v-model="values[index]"
|
|
46
|
-
class="flex-1 max-w-[300px]" />
|
|
51
|
+
<div class="flex-1 flex flex-col gap-3 overflow-y-auto px-3">
|
|
52
|
+
<div v-for="group in viewedGroups" class="flex flex-col gap-2">
|
|
53
|
+
<div class="px-5">
|
|
54
|
+
<strong class="text-text-400">{{ group.text }}</strong>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="h-[1px] bg-text-100"></div>
|
|
57
|
+
<div class="">
|
|
58
|
+
<div v-for="item in group.items">
|
|
59
|
+
<button :class="appStyle.menuItem"
|
|
60
|
+
type="button" @click="add(item);$refs.contextMenu.close()">
|
|
61
|
+
{{ item.text }}
|
|
62
|
+
</button>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
47
65
|
</div>
|
|
48
66
|
</div>
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
67
|
|
|
68
|
+
</div>
|
|
69
|
+
</ContextMenu>
|
|
52
70
|
</div>
|
|
71
|
+
|
|
53
72
|
</div>
|
|
54
73
|
|
|
55
74
|
<Modal ref="modal" width="480" height="480" hash="#select-property"
|
|
@@ -58,7 +77,7 @@
|
|
|
58
77
|
<div class="relative p-6 flex flex-col gap-4">
|
|
59
78
|
<h3>Add Property</h3>
|
|
60
79
|
<div class="absolute top-0 right-0 p-2">
|
|
61
|
-
<button type="button" class="p-2" @click="$router.replace({ hash
|
|
80
|
+
<button type="button" class="p-2" @click="$router.replace({ hash:$route.hash.replace('#select-property', '') })">
|
|
62
81
|
<svg width="24" height="24" viewBox="0 0 24 24" class="fill-text-300 hover:fill-red-500" xmlns="http://www.w3.org/2000/svg">
|
|
63
82
|
<path d="M6.53034 5.46965C6.23745 5.17676 5.76257 5.17676 5.46968 5.46965C5.17679 5.76255 5.17679 6.23742 5.46968 6.53031L10.9393 12L5.46967 17.4697C5.17678 17.7626 5.17678 18.2374 5.46967 18.5303C5.76256 18.8232 6.23744 18.8232 6.53033 18.5303L12 13.0606L17.4697 18.5303C17.7626 18.8232 18.2375 18.8232 18.5303 18.5303C18.8232 18.2374 18.8232 17.7626 18.5303 17.4697L13.0607 12L18.5303 6.53032C18.8232 6.23743 18.8232 5.76256 18.5303 5.46966C18.2374 5.17677 17.7626 5.17677 17.4697 5.46966L12 10.9393L6.53034 5.46965Z"/>
|
|
64
83
|
</svg>
|
|
@@ -101,7 +120,7 @@ export default{
|
|
|
101
120
|
|
|
102
121
|
emits: [ 'change' ],
|
|
103
122
|
|
|
104
|
-
inject: [ '
|
|
123
|
+
inject: [ 'appStyle', 'getRightPane' ],
|
|
105
124
|
|
|
106
125
|
props: {
|
|
107
126
|
|
|
@@ -110,79 +129,39 @@ export default{
|
|
|
110
129
|
required: true
|
|
111
130
|
},
|
|
112
131
|
|
|
132
|
+
viewIndex: Number,
|
|
133
|
+
|
|
113
134
|
viewType: String,
|
|
114
135
|
|
|
115
136
|
viewTypes: Array,
|
|
116
137
|
|
|
117
|
-
excludes:
|
|
138
|
+
excludes: {
|
|
139
|
+
type: Array,
|
|
140
|
+
default: []
|
|
141
|
+
},
|
|
118
142
|
|
|
119
143
|
},
|
|
120
144
|
|
|
121
145
|
methods: {
|
|
122
146
|
|
|
123
147
|
add(item){
|
|
124
|
-
if(!this.item.props[item.key])
|
|
148
|
+
if(!Array.isArray(this.item.props[item.key]))
|
|
125
149
|
this.item.props[item.key] = []
|
|
126
150
|
|
|
127
151
|
this.item.props[item.key].push('')
|
|
128
152
|
|
|
129
|
-
this.$router.replace({ hash:'' })
|
|
130
|
-
},
|
|
131
|
-
|
|
132
|
-
componentKeysForIndex(values, index){
|
|
133
|
-
|
|
134
|
-
let keys
|
|
135
|
-
if(values.keys){
|
|
136
|
-
|
|
137
|
-
const prefix = this.viewTypes[index].value
|
|
138
|
-
|
|
139
|
-
keys = values.keys.map(arr => {
|
|
140
|
-
arr = arr.map(_ => prefix + _)
|
|
141
|
-
return arr
|
|
142
|
-
})
|
|
143
|
-
}
|
|
144
|
-
return keys
|
|
153
|
+
this.$router.replace({ hash:this.$route.hash.replace('#select-property', '') })
|
|
145
154
|
},
|
|
146
155
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
for(let i = index - 1 ; i >= 0 ; i--){
|
|
151
|
-
let prevValue = this[key][i]
|
|
152
|
-
if(prevValue && typeof prevValue === 'string'){
|
|
153
|
-
prevValue = prevValue.substring(prevValue.indexOf(':') + 1)
|
|
154
|
-
const prevOpt = this.components[key].filter(_ => _[1] === prevValue).pop()
|
|
155
|
-
if(prevOpt){
|
|
156
|
-
text = prevOpt[0]
|
|
157
|
-
break
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
return text
|
|
162
|
-
}
|
|
163
|
-
return '-'
|
|
156
|
+
select(){
|
|
157
|
+
const ref = this.getRightPane() ?? this.$refs.addBtn
|
|
158
|
+
this.$refs.contextMenu.open(ref)
|
|
164
159
|
},
|
|
165
160
|
|
|
166
161
|
},
|
|
167
162
|
|
|
168
163
|
computed: {
|
|
169
164
|
|
|
170
|
-
componentStore(){
|
|
171
|
-
if(this.store && this.store.components){
|
|
172
|
-
if(!this.store.components.compsetting)
|
|
173
|
-
this.store.components.compsetting = {}
|
|
174
|
-
|
|
175
|
-
return this.store.components.compsetting
|
|
176
|
-
}
|
|
177
|
-
return {}
|
|
178
|
-
},
|
|
179
|
-
|
|
180
|
-
expanded(){
|
|
181
|
-
if(!this.componentStore['expanded'])
|
|
182
|
-
this.componentStore['expanded'] = {}
|
|
183
|
-
return this.componentStore['expanded']
|
|
184
|
-
},
|
|
185
|
-
|
|
186
165
|
keys(){
|
|
187
166
|
const items = {}
|
|
188
167
|
|
|
@@ -200,11 +179,8 @@ export default{
|
|
|
200
179
|
let items = {}
|
|
201
180
|
|
|
202
181
|
for(let key in this.item.props){
|
|
203
|
-
if(this.keys[key] &&
|
|
204
|
-
(
|
|
205
|
-
Array.isArray(this.item.props[key]) &&
|
|
206
|
-
this.item.props[key].length > 0
|
|
207
|
-
)){
|
|
182
|
+
if(this.keys[key] && !this.excludes.includes(key) &&
|
|
183
|
+
( Array.isArray(this.item.props[key]) && this.item.props[key].length > 0)){
|
|
208
184
|
items[key] = this.item.props[key]
|
|
209
185
|
}
|
|
210
186
|
}
|
|
@@ -267,13 +243,7 @@ export default{
|
|
|
267
243
|
[ 'aspect-[8/9]', '8/9' ],
|
|
268
244
|
]},
|
|
269
245
|
|
|
270
|
-
{ text:'Position', key:'position', values:
|
|
271
|
-
[ 'static', 'Static' ],
|
|
272
|
-
[ 'fixed', 'Fixed' ],
|
|
273
|
-
[ 'absolute', 'Absolute' ],
|
|
274
|
-
[ 'relative', 'Relative' ],
|
|
275
|
-
[ 'sticky', 'Sticky' ],
|
|
276
|
-
]},
|
|
246
|
+
{ text:'Position', key:'position', values: { type: 'PositionSetting' }},
|
|
277
247
|
|
|
278
248
|
{ text:'Display', key:'display', values: [
|
|
279
249
|
[ 'hidden', 'Hidden' ],
|
|
@@ -306,74 +276,14 @@ export default{
|
|
|
306
276
|
[ 'overflow-y-scroll', 'Y Scroll' ],
|
|
307
277
|
]},
|
|
308
278
|
|
|
309
|
-
{ text:'
|
|
310
|
-
[ 'top-0', '0' ],
|
|
311
|
-
[ 'top-4', '4' ],
|
|
312
|
-
[ 'top-6', '6' ],
|
|
313
|
-
[ 'top-8', '8' ],
|
|
314
|
-
[ 'top-12', '12' ],
|
|
315
|
-
[ 'top-16', '16' ],
|
|
316
|
-
[ 'top-20', '20' ],
|
|
317
|
-
[ 'top-24', '24' ],
|
|
318
|
-
[ 'top-28', '28' ],
|
|
319
|
-
[ 'top-32', '32' ],
|
|
320
|
-
[ 'top-36', '36' ],
|
|
321
|
-
[ 'top-48', '48' ],
|
|
322
|
-
]},
|
|
323
|
-
|
|
324
|
-
{ text:'Left', key:'left', values: [
|
|
325
|
-
[ 'left-0', '0' ],
|
|
326
|
-
[ 'left-4', '4' ],
|
|
327
|
-
[ 'left-6', '6' ],
|
|
328
|
-
[ 'left-8', '8' ],
|
|
329
|
-
[ 'left-12', '12' ],
|
|
330
|
-
[ 'left-16', '16' ],
|
|
331
|
-
[ 'left-20', '20' ],
|
|
332
|
-
[ 'left-24', '24' ],
|
|
333
|
-
[ 'left-28', '28' ],
|
|
334
|
-
[ 'left-32', '32' ],
|
|
335
|
-
[ 'left-36', '36' ],
|
|
336
|
-
[ 'left-48', '48' ],
|
|
337
|
-
]},
|
|
338
|
-
|
|
339
|
-
{ text:'Right', key:'right', values: [
|
|
340
|
-
[ 'right-0', '0' ],
|
|
341
|
-
[ 'right-4', '4' ],
|
|
342
|
-
[ 'right-6', '6' ],
|
|
343
|
-
[ 'right-8', '8' ],
|
|
344
|
-
[ 'right-12', '12' ],
|
|
345
|
-
[ 'right-16', '16' ],
|
|
346
|
-
[ 'right-20', '20' ],
|
|
347
|
-
[ 'right-24', '24' ],
|
|
348
|
-
[ 'right-28', '28' ],
|
|
349
|
-
[ 'right-32', '32' ],
|
|
350
|
-
[ 'right-36', '36' ],
|
|
351
|
-
[ 'right-48', '48' ],
|
|
352
|
-
]},
|
|
353
|
-
|
|
354
|
-
{ text:'Bottom', key:'bottom', values: [
|
|
355
|
-
[ 'bottom-0', '0' ],
|
|
356
|
-
[ 'bottom-4', '4' ],
|
|
357
|
-
[ 'bottom-6', '6' ],
|
|
358
|
-
[ 'bottom-8', '8' ],
|
|
359
|
-
[ 'bottom-12', '12' ],
|
|
360
|
-
[ 'bottom-16', '16' ],
|
|
361
|
-
[ 'bottom-20', '20' ],
|
|
362
|
-
[ 'bottom-24', '24' ],
|
|
363
|
-
[ 'bottom-28', '28' ],
|
|
364
|
-
[ 'bottom-32', '32' ],
|
|
365
|
-
[ 'bottom-36', '36' ],
|
|
366
|
-
[ 'bottom-48', '48' ],
|
|
367
|
-
]},
|
|
368
|
-
|
|
369
|
-
{ text:'Z Index', key:'zIndex', zIndex: [
|
|
279
|
+
{ text:'Z Index', key:'zIndex', values: [
|
|
370
280
|
[ 'z-0', '0' ],
|
|
371
281
|
[ 'z-10', '10' ],
|
|
372
282
|
[ 'z-20', '20' ],
|
|
373
283
|
[ 'z-30', '30' ],
|
|
374
284
|
[ 'z-40', '40' ],
|
|
375
285
|
[ 'z-50', '50' ],
|
|
376
|
-
]}
|
|
286
|
+
]},
|
|
377
287
|
|
|
378
288
|
]},
|
|
379
289
|
|
|
@@ -390,9 +300,9 @@ export default{
|
|
|
390
300
|
{ text:'Flex Align', key:'flexAlign', values: [
|
|
391
301
|
[ 'items-start', 'Start' ],
|
|
392
302
|
[ 'items-end', 'End' ],
|
|
393
|
-
[ '
|
|
394
|
-
[ '
|
|
395
|
-
[ '
|
|
303
|
+
[ 'items-center', 'Center' ],
|
|
304
|
+
[ 'items-baseline', 'Baseline' ],
|
|
305
|
+
[ 'items-stretch', 'Stretch' ],
|
|
396
306
|
]},
|
|
397
307
|
|
|
398
308
|
{ text:'Flex Basis', key:'flexBasis', values: [
|
|
@@ -480,49 +390,13 @@ export default{
|
|
|
480
390
|
|
|
481
391
|
{ text:'Backgrounds', items: [
|
|
482
392
|
|
|
483
|
-
{ text:'Background
|
|
484
|
-
type:'ColorPicker2',
|
|
485
|
-
keys: [ ['bg-']]
|
|
486
|
-
}},
|
|
487
|
-
|
|
488
|
-
{ text:'Background Position', key:'bgPosition', values: [
|
|
489
|
-
[ 'bg-center', 'Center' ],
|
|
490
|
-
[ 'bg-top', 'Top' ],
|
|
491
|
-
[ 'bg-right', 'Right' ],
|
|
492
|
-
[ 'bg-bottom', 'Bottom' ],
|
|
493
|
-
[ 'bg-left', 'Left' ],
|
|
494
|
-
[ 'bg-top-right', 'Top Right' ],
|
|
495
|
-
[ 'bg-top-left', 'Top Left' ],
|
|
496
|
-
[ 'bg-bottom-right', 'Bottom Right' ],
|
|
497
|
-
[ 'bg-bottom-left', 'Bottom Left' ],
|
|
498
|
-
]},
|
|
499
|
-
|
|
500
|
-
{ text:'Background Repeat', bgRepeat:'', values: [
|
|
501
|
-
[ 'bg-repeat', 'Repeat' ],
|
|
502
|
-
[ 'bg-no-repeat', 'No Repeat' ],
|
|
503
|
-
[ 'bg-repeat-x', 'Repeat X' ],
|
|
504
|
-
[ 'bg-repeat-y', 'Repeat Y' ],
|
|
505
|
-
[ 'bg-repeat-round', 'Repeat Round' ],
|
|
506
|
-
[ 'bg-repeat-space', 'Repeat Space' ],
|
|
507
|
-
]},
|
|
508
|
-
|
|
509
|
-
{ text:'Background Size', key:'bgSize', values: [
|
|
510
|
-
[ 'bg-auto', 'Auto' ],
|
|
511
|
-
[ 'bg-cover', 'Cover' ],
|
|
512
|
-
[ 'bg-contain', 'Contain' ],
|
|
513
|
-
[ 'bg-50%', '50%' ],
|
|
514
|
-
[ 'bg-20%', '20%' ],
|
|
515
|
-
[ 'bg-10%', '10%' ],
|
|
516
|
-
]}
|
|
393
|
+
{ text:'Background', key:'bgColors', values:{ type:'BackgroundColorSetting' }},
|
|
517
394
|
|
|
518
395
|
]},
|
|
519
396
|
|
|
520
397
|
{ text:'Borders', items: [
|
|
521
398
|
|
|
522
|
-
{ text:'Border Color', key:'bdColor', values:{
|
|
523
|
-
type:'ColorPicker2',
|
|
524
|
-
keys: [ ['border-']]
|
|
525
|
-
}},
|
|
399
|
+
{ text:'Border Color', key:'bdColor', values:{ type:'BorderColorSetting' }},
|
|
526
400
|
|
|
527
401
|
{ text:'Border Size', key:'bdSize', values: {
|
|
528
402
|
type: 'MultiValueSetting2',
|
|
@@ -533,10 +407,10 @@ export default{
|
|
|
533
407
|
{ text:'Border Radius', key:'bdRadius', values: [
|
|
534
408
|
[ 'rounded-none', 'None' ],
|
|
535
409
|
[ 'rounded', 'Normal' ],
|
|
536
|
-
[ 'rounded-sm', '
|
|
537
|
-
[ 'rounded-md', '
|
|
538
|
-
[ 'rounded-lg', '
|
|
539
|
-
[ 'rounded-xl', '
|
|
410
|
+
[ 'rounded-sm', 'Small' ],
|
|
411
|
+
[ 'rounded-md', 'Medium' ],
|
|
412
|
+
[ 'rounded-lg', 'Large' ],
|
|
413
|
+
[ 'rounded-xl', 'Extra Large' ],
|
|
540
414
|
[ 'rounded-2xl', '2xl' ],
|
|
541
415
|
[ 'rounded-3xl', '3xl' ],
|
|
542
416
|
[ 'rounded-full', 'Full' ],
|
|
@@ -652,7 +526,38 @@ export default{
|
|
|
652
526
|
[ 'mx-', 'my-' ],
|
|
653
527
|
[ 'ml-', 'mt-', 'mr-', 'mb-' ]
|
|
654
528
|
]
|
|
655
|
-
}}
|
|
529
|
+
}},
|
|
530
|
+
|
|
531
|
+
{ text:"Object Fit", key:"objectFit", values: [
|
|
532
|
+
[ 'object-contain', 'Contain'],
|
|
533
|
+
[ 'object-cover', 'Cover' ],
|
|
534
|
+
[ 'object-fill', 'Fill' ],
|
|
535
|
+
[ 'object-none', 'None' ],
|
|
536
|
+
[ 'object-scale-down', 'Scale Down' ],
|
|
537
|
+
]},
|
|
538
|
+
|
|
539
|
+
{ text:"Object Position", key:"objectPosition", values: [
|
|
540
|
+
[ 'object-bottom', 'Bottom' ],
|
|
541
|
+
[ 'object-center', 'Center' ],
|
|
542
|
+
[ 'object-left', 'Left' ],
|
|
543
|
+
[ 'object-left-bottom', 'Left Bottom' ],
|
|
544
|
+
[ 'object-left-top', 'Left Top' ],
|
|
545
|
+
[ 'object-right', 'Right' ],
|
|
546
|
+
[ 'object-right-bottom', 'Right Bottom' ],
|
|
547
|
+
[ 'object-right-top', 'Right Top' ],
|
|
548
|
+
[ 'object-top', 'Top' ],
|
|
549
|
+
]},
|
|
550
|
+
|
|
551
|
+
{ text:"Backdrop Blur", key:"backdropBlur", values: [
|
|
552
|
+
[ 'backdrop-blur-none', 'None' ],
|
|
553
|
+
[ 'backdrop-blur-sm', 'Small' ],
|
|
554
|
+
[ 'backdrop-blur', 'Medium' ],
|
|
555
|
+
[ 'backdrop-blur-md', 'Medium' ],
|
|
556
|
+
[ 'backdrop-blur-lg', 'Large' ],
|
|
557
|
+
[ 'backdrop-blur-xl', 'Extra Large' ],
|
|
558
|
+
[ 'backdrop-blur-2xl', '2xl' ],
|
|
559
|
+
[ 'backdrop-blur-3xl', '3xl' ],
|
|
560
|
+
]}
|
|
656
561
|
|
|
657
562
|
]},
|
|
658
563
|
|
|
@@ -678,16 +583,16 @@ export default{
|
|
|
678
583
|
[ 'h-32', '32' ],
|
|
679
584
|
[ 'h-36', '36' ],
|
|
680
585
|
[ 'h-48', '48' ],
|
|
681
|
-
[ 'h-10vh', '10vh' ],
|
|
682
|
-
[ 'h-20vh', '20vh' ],
|
|
683
|
-
[ 'h-30vh', '30vh' ],
|
|
684
|
-
[ 'h-40vh', '40vh' ],
|
|
685
|
-
[ 'h-50vh', '50vh' ],
|
|
686
|
-
[ 'h-60vh', '60vh' ],
|
|
687
|
-
[ 'h-70vh', '70vh' ],
|
|
688
|
-
[ 'h-80vh', '80vh' ],
|
|
689
|
-
[ 'h-90vh', '90vh' ],
|
|
690
|
-
[ 'h-100vh', '100vh' ]
|
|
586
|
+
[ 'h-[10vh]', '10vh' ],
|
|
587
|
+
[ 'h-[20vh]', '20vh' ],
|
|
588
|
+
[ 'h-[30vh]', '30vh' ],
|
|
589
|
+
[ 'h-[40vh]', '40vh' ],
|
|
590
|
+
[ 'h-[50vh]', '50vh' ],
|
|
591
|
+
[ 'h-[60vh]', '60vh' ],
|
|
592
|
+
[ 'h-[70vh]', '70vh' ],
|
|
593
|
+
[ 'h-[80vh]', '80vh' ],
|
|
594
|
+
[ 'h-[90vh]', '90vh' ],
|
|
595
|
+
[ 'h-[100vh]', '100vh' ]
|
|
691
596
|
]},
|
|
692
597
|
|
|
693
598
|
{ text:'Min Height', key:'minHeight', values: [
|
|
@@ -821,18 +726,16 @@ export default{
|
|
|
821
726
|
[ 'w-[360px]', '360px' ],
|
|
822
727
|
[ 'w-[420px]', '420px' ],
|
|
823
728
|
[ 'w-[480px]', '480px' ],
|
|
824
|
-
[ 'w-
|
|
825
|
-
[ 'w-
|
|
826
|
-
[ 'w-
|
|
827
|
-
[ 'w-
|
|
828
|
-
[ 'w-
|
|
829
|
-
[ 'w-
|
|
830
|
-
[ 'w-
|
|
831
|
-
[ 'w-
|
|
832
|
-
[ 'w-
|
|
833
|
-
|
|
834
|
-
[ 'w-11/12', '11/12' ],
|
|
835
|
-
]}
|
|
729
|
+
[ 'w-[10vw]', '10vw' ],
|
|
730
|
+
[ 'w-[20vw]', '20vw' ],
|
|
731
|
+
[ 'w-[30vw]', '30vw' ],
|
|
732
|
+
[ 'w-[40vw]', '40vw' ],
|
|
733
|
+
[ 'w-[50vw]', '50vw' ],
|
|
734
|
+
[ 'w-[60vw]', '60vw' ],
|
|
735
|
+
[ 'w-[70vw]', '70vw' ],
|
|
736
|
+
[ 'w-[80vw]', '80vw' ],
|
|
737
|
+
[ 'w-[90vw]', '90vw' ],
|
|
738
|
+
]},
|
|
836
739
|
|
|
837
740
|
]},
|
|
838
741
|
|
|
@@ -912,6 +815,12 @@ export default{
|
|
|
912
815
|
[ 'text-end', 'End' ],
|
|
913
816
|
]},
|
|
914
817
|
|
|
818
|
+
{ text:'Text Color', key:'textColor', values:{
|
|
819
|
+
type:'ColorPicker2',
|
|
820
|
+
keys: [ ['text-']],
|
|
821
|
+
title: "Text Color"
|
|
822
|
+
}},
|
|
823
|
+
|
|
915
824
|
{ text:'Text Decoration', key:'textDecoration', values: [
|
|
916
825
|
[ 'underline', 'Underline' ],
|
|
917
826
|
[ 'overline', 'Overline' ],
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
</div>
|
|
36
36
|
|
|
37
37
|
<div>
|
|
38
|
-
<Button ref="submitBtn" class="w-full" @click="submitForm" :state="
|
|
38
|
+
<Button ref="submitBtn" class="w-full" @click="submitForm" :state="canSubmit ? 1 : -1">
|
|
39
39
|
<h5>Kirim</h5>
|
|
40
40
|
</Button>
|
|
41
41
|
</div>
|
|
@@ -106,7 +106,7 @@ export default{
|
|
|
106
106
|
this.$refs.submitBtn.setState(2)
|
|
107
107
|
this.axios({
|
|
108
108
|
method: this.submitMethod ?? 'post',
|
|
109
|
-
url:
|
|
109
|
+
url: this.submitUrl,
|
|
110
110
|
data: {
|
|
111
111
|
url: this.$route.path,
|
|
112
112
|
host: location.hostname,
|
|
@@ -186,7 +186,7 @@ export default{
|
|
|
186
186
|
|
|
187
187
|
.comp{
|
|
188
188
|
@apply flex-1 w-full max-w-[480px] mx-auto rounded-lg overflow-hidden;
|
|
189
|
-
@apply border-
|
|
189
|
+
@apply border-border-200 border-[1px] p-6;
|
|
190
190
|
@apply flex flex-col gap-12 bg-base;
|
|
191
191
|
}
|
|
192
192
|
|