@mixd-id/web-scaffold 0.2.250801013 → 0.2.250801014
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/AIDashboard.md +472 -0
- package/docs/components/WebPageBuilder.md +125 -0
- package/package.json +7 -30
- package/src/components/AIChat.vue +479 -0
- package/src/components/AIChatItem.vue +168 -0
- package/src/components/AIChatTextbox.vue +56 -0
- package/src/components/AIDashboard.vue +1113 -0
- package/src/components/Card.vue +3 -1
- package/src/components/Chart.vue +2 -1
- package/src/components/CodeEditor.vue +121 -13
- package/src/components/ColorPicker.vue +6 -2
- package/src/components/Dashboard.vue +493 -212
- package/src/components/Dropdown.vue +0 -1
- package/src/components/HTMLEditor.vue +9 -1
- package/src/components/List.vue +226 -58
- package/src/components/MarkdownEdit.vue +123 -4
- package/src/components/PresetSelectorFilterItem.vue +1 -0
- package/src/components/TextWithTag.vue +3 -3
- package/src/components/TreeView.vue +1 -1
- package/src/components/VirtualTable.vue +166 -75
- package/src/index.js +3 -55
- package/src/instructions/dashboard.js +203 -0
- package/src/utils/ai-chat-answer.mjs +240 -0
- package/src/utils/ai-chat.js +167 -0
- package/src/utils/ai-dashboard-chat.mjs +371 -0
- package/src/utils/ai-dashboard.js +321 -0
- package/src/utils/ai-list-chat.mjs +407 -0
- package/src/utils/dashboard.js +13 -0
- package/src/utils/list.mjs +146 -91
- package/src/utils/preset-selector.mjs +183 -27
- package/src/utils/wss.js +0 -2
- package/src/widgets/ColumnSelector.vue +22 -33
- package/src/widgets/LLMChat.vue +327 -0
- package/src/widgets/PresetBar.vue +31 -8
- package/src/widgets/PresetBarPivot.vue +147 -15
- package/src/widgets/PresetBarPivotColumnEdit.vue +8 -19
- package/src/widgets/PresetBarPivotValueEdit.vue +172 -0
- package/src/widgets/PresetSelector.vue +8 -4
- package/src/widgets/WebPageBuilder.vue +153 -352
- package/docs/components/ArrayList.md +0 -39
- package/docs/components/Box.md +0 -15
- package/docs/components/ChartBar.md +0 -34
- package/docs/components/DayTimeRange.md +0 -20
- package/docs/components/ErrorText.md +0 -15
- package/docs/components/FBLogin.md +0 -21
- package/docs/components/GHeatMaps.md +0 -16
- package/docs/components/GSignIn.md +0 -21
- package/docs/components/GmapsDirection.md +0 -20
- package/docs/components/IconMenu.md +0 -20
- package/src/components/ArrayList.vue +0 -49
- package/src/components/Box.vue +0 -34
- package/src/components/ChartBar.vue +0 -192
- package/src/components/DayTimeRange.vue +0 -126
- package/src/components/ErrorText.vue +0 -57
- package/src/components/FBLogin.vue +0 -194
- package/src/components/GHeatMaps.vue +0 -317
- package/src/components/GSignIn.vue +0 -166
- package/src/components/GmapsDirection.vue +0 -191
- package/src/components/IconMenu.vue +0 -95
- package/src/components/IconPlus.vue +0 -89
- package/src/components/Image360.vue +0 -140
- package/src/components/ImageFullScreen.vue +0 -101
- package/src/components/ImportModal.vue +0 -260
- package/src/components/ListContextMenu.vue +0 -88
- package/src/components/LogViewerItem.vue +0 -116
- package/src/components/MultilineText.vue +0 -174
- package/src/components/PageBuilder.vue +0 -449
- package/src/components/SplitPane.vue +0 -129
- package/src/components/TabView.vue +0 -105
- package/src/components/TableView.vue +0 -200
- package/src/components/TableViewHead.vue +0 -159
- package/src/components/Test.vue +0 -23
- package/src/components/TextEditor.vue +0 -85
- package/src/components/Tooltip.vue +0 -143
- package/src/components/TreeViewItem1.vue +0 -282
- package/src/components/VirtualScroll.vue +0 -282
- package/src/configs/dashboard/bar.js +0 -10
- package/src/configs/dashboard/collection-1.js +0 -5
- package/src/configs/dashboard/data-table.js +0 -9
- package/src/configs/dashboard/doughnut.js +0 -7
- package/src/configs/dashboard/gheatmaps.js +0 -9
- package/src/configs/dashboard/grid-2.js +0 -34
- package/src/configs/dashboard/grid-3.js +0 -34
- package/src/configs/dashboard/grid-4.js +0 -34
- package/src/configs/dashboard/grid.js +0 -15
- package/src/configs/dashboard/metric.js +0 -10
- package/src/configs/dashboard/pie.js +0 -7
- package/src/configs/dashboard/polar-area.js +0 -7
- package/src/configs/dashboard/virtual-table.js +0 -9
- package/src/configs/icons-fa.json +0 -12
- package/src/middleware/http/trim-string.js +0 -20
- package/src/mixin/ready-state.js +0 -37
- package/src/stores/components.js +0 -36
- package/src/stores/datasource.js +0 -11
- package/src/utils/event-bus.js +0 -8
- package/src/utils/helpers.cjs +0 -635
- package/src/utils/importer.js +0 -209
- package/src/utils/listview.js +0 -1287
- package/src/utils/preset-selector.cjs +0 -1455
- package/src/utils/preset-selector.js +0 -1452
- package/src/utils/queue.js +0 -63
- package/src/utils/web.js +0 -50
- package/src/utils/web.mjs +0 -120
- package/src/widgets/BackgroundSetting.vue +0 -132
- package/src/widgets/BorderSetting.vue +0 -201
- package/src/widgets/BotEditor/BotEditorActions.vue +0 -163
- package/src/widgets/BotEditor/BotEditorSettings.vue +0 -21
- package/src/widgets/BotEditor.vue +0 -248
- package/src/widgets/BoxSetting.vue +0 -53
- package/src/widgets/CheckoutSetting.vue +0 -46
- package/src/widgets/ComponentPropertyLabel.vue +0 -35
- package/src/widgets/ComponentPropertySelector.vue +0 -115
- package/src/widgets/ComponentSetting3.vue +0 -231
- package/src/widgets/EffectSetting.vue +0 -94
- package/src/widgets/FiltersSetting.vue +0 -88
- package/src/widgets/Header.vue +0 -15
- package/src/widgets/Header0.vue +0 -41
- package/src/widgets/Header0Setting.vue +0 -75
- package/src/widgets/HeaderSetting.vue +0 -102
- package/src/widgets/LayoutSetting.vue +0 -251
- package/src/widgets/LogViewer.vue +0 -85
- package/src/widgets/MarginPaddingSetting.vue +0 -58
- package/src/widgets/MarginSetting.vue +0 -142
- package/src/widgets/MenuEditor.vue +0 -251
- package/src/widgets/PaddingSetting.vue +0 -142
- package/src/widgets/SizingSetting.vue +0 -306
- package/src/widgets/SpacingSetting.vue +0 -77
- package/src/widgets/StyleSetting.vue +0 -543
- package/src/widgets/StyleSetting2.vue +0 -90
- package/src/widgets/TransitionSetting.vue +0 -64
- package/src/widgets/TypographySetting.vue +0 -334
- package/src/widgets/UserActionBuilder/UserActionCondition.vue +0 -99
- package/src/widgets/UserActionBuilder/UserActionConsole.vue +0 -97
- package/src/widgets/UserActionBuilder/UserActionItem.vue +0 -273
- package/src/widgets/UserActionBuilder/UserActionOutput.vue +0 -150
- package/src/widgets/UserActionBuilder/UserActionOutputDelay.vue +0 -27
- package/src/widgets/UserActionBuilder/UserActionOutputLog.vue +0 -28
- package/src/widgets/UserActionBuilder/UserActionOutputReply.vue +0 -112
- package/src/widgets/UserActionBuilder/UserActionProps.vue +0 -213
- package/src/widgets/UserActionBuilder.vue +0 -314
- package/src/widgets/WebPageBuilder4/BackgroundColorSetting.vue +0 -54
- package/src/widgets/WebPageBuilder4/BackgroundPositionSetting.vue +0 -75
- package/src/widgets/WebPageBuilder4/BackgroundRepeatSetting.vue +0 -72
- package/src/widgets/WebPageBuilder4/BackgroundSizeSetting.vue +0 -72
- package/src/widgets/WebPageBuilder4/BlurSetting.vue +0 -72
- package/src/widgets/WebPageBuilder4/BorderColorSetting.vue +0 -54
- package/src/widgets/WebPageBuilder4/BorderRadiusSetting.vue +0 -75
- package/src/widgets/WebPageBuilder4/BorderSizeSetting.vue +0 -69
- package/src/widgets/WebPageBuilder4/BorderStyleSetting.vue +0 -72
- package/src/widgets/WebPageBuilder4/BoxShadowSetting.vue +0 -73
- package/src/widgets/WebPageBuilder4/ButtonSetting.vue +0 -65
- package/src/widgets/WebPageBuilder4/CarouselSetting.vue +0 -178
- package/src/widgets/WebPageBuilder4/DisplaySetting.vue +0 -76
- package/src/widgets/WebPageBuilder4/FlexAlignSetting.vue +0 -71
- package/src/widgets/WebPageBuilder4/FlexDirectionSetting.vue +0 -70
- package/src/widgets/WebPageBuilder4/FlexJustifySetting.vue +0 -74
- package/src/widgets/WebPageBuilder4/FlexPropertySetting.vue +0 -71
- package/src/widgets/WebPageBuilder4/FlexSetting.vue +0 -96
- package/src/widgets/WebPageBuilder4/FlexWrapSetting.vue +0 -69
- package/src/widgets/WebPageBuilder4/GapSetting.vue +0 -75
- package/src/widgets/WebPageBuilder4/GrayscaleSetting.vue +0 -68
- package/src/widgets/WebPageBuilder4/GridSetting.vue +0 -216
- package/src/widgets/WebPageBuilder4/HeightSetting.vue +0 -98
- package/src/widgets/WebPageBuilder4/ImageSetting.vue +0 -102
- package/src/widgets/WebPageBuilder4/MarginSetting.vue +0 -73
- package/src/widgets/WebPageBuilder4/MaxHeightSetting.vue +0 -82
- package/src/widgets/WebPageBuilder4/MaxWidthSetting.vue +0 -90
- package/src/widgets/WebPageBuilder4/MinHeightSetting.vue +0 -81
- package/src/widgets/WebPageBuilder4/MinWidthSetting.vue +0 -101
- package/src/widgets/WebPageBuilder4/MultiValueSetting.vue +0 -163
- package/src/widgets/WebPageBuilder4/OpacitySetting.vue +0 -77
- package/src/widgets/WebPageBuilder4/OverflowSetting.vue +0 -81
- package/src/widgets/WebPageBuilder4/PaddingSetting.vue +0 -57
- package/src/widgets/WebPageBuilder4/PositionSetting.vue +0 -191
- package/src/widgets/WebPageBuilder4/PropertySetting.vue +0 -176
- package/src/widgets/WebPageBuilder4/TextSetting.vue +0 -72
- package/src/widgets/WebPageBuilder4/TreeView.vue +0 -46
- package/src/widgets/WebPageBuilder4/TreeViewItem.vue +0 -303
- package/src/widgets/WebPageBuilder4/WebPageComponentSelector.vue +0 -141
- package/src/widgets/WebPageBuilder4/WebPagePropertySelector.vue +0 -168
- package/src/widgets/WebPageBuilder4/WidthSetting.vue +0 -105
- package/src/widgets/WebPageBuilder4/ZIndexSetting.vue +0 -72
- package/src/widgets/WebPagePreview.vue +0 -295
- package/src/widgets/WebPageSelector.vue +0 -173
- package/src/widgets/WebTemplateCreator.vue +0 -156
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div :class="$style.comp">
|
|
3
|
-
|
|
4
|
-
<div class="p-5 flex flex-col gap-4">
|
|
5
|
-
<div class="flex flex-row gap-1 items-start cursor-pointer">
|
|
6
|
-
<div v-if="!item.props.name" class="flex-1">
|
|
7
|
-
<strong class="flex-1 text-text-400 line-clamp-1">{{ item.type }}</strong>
|
|
8
|
-
</div>
|
|
9
|
-
<div v-else class="flex-1 flex flex-col">
|
|
10
|
-
<small class="text-text-400 text-xs">{{ item.type }}</small>
|
|
11
|
-
<strong class="flex-1 text-text-400 line-clamp-1">{{ item.props.name }}</strong>
|
|
12
|
-
</div>
|
|
13
|
-
<button type="button" class="text-primary" @click="log(item)">Log</button>
|
|
14
|
-
</div>
|
|
15
|
-
|
|
16
|
-
<div class="flex flex-row gap-4">
|
|
17
|
-
<div>
|
|
18
|
-
<label class="text-text-400">Enabled</label>
|
|
19
|
-
<Switch v-model="item.props.enabled" class="mt-2" />
|
|
20
|
-
</div>
|
|
21
|
-
<div class="flex-1">
|
|
22
|
-
<label class="text-text-400">Name</label>
|
|
23
|
-
<Textbox v-model="item.props.name" class="mt-2" />
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
|
|
28
|
-
<component :is="`${item.type}Setting`"
|
|
29
|
-
:config="config"
|
|
30
|
-
:item="item"
|
|
31
|
-
class="p-5 flex flex-col gap-4"
|
|
32
|
-
@change="$emit('change')" />
|
|
33
|
-
|
|
34
|
-
<component v-for="itemType in additionalSettings"
|
|
35
|
-
:is="itemType"
|
|
36
|
-
:config="config"
|
|
37
|
-
:item="item"
|
|
38
|
-
:removable="true"
|
|
39
|
-
class="p-5 flex flex-col gap-4" />
|
|
40
|
-
|
|
41
|
-
<div class="text-center">
|
|
42
|
-
<ComponentPropertySelector :propertyGroups="propertyGroups"
|
|
43
|
-
ref="componentPropertySelector"
|
|
44
|
-
:excludes="Object.keys(item.props)"
|
|
45
|
-
@add="addProperty" />
|
|
46
|
-
|
|
47
|
-
<button type="button" class="text-primary p-3"
|
|
48
|
-
@click="$refs.componentPropertySelector.open">
|
|
49
|
-
<svg width="16" height="16" class="fill-primary inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M376 232H216V72c0-4.42-3.58-8-8-8h-32c-4.42 0-8 3.58-8 8v160H8c-4.42 0-8 3.58-8 8v32c0 4.42 3.58 8 8 8h160v160c0 4.42 3.58 8 8 8h32c4.42 0 8-3.58 8-8V280h160c4.42 0 8-3.58 8-8v-32c0-4.42-3.58-8-8-8z"/></svg>
|
|
50
|
-
Add Property
|
|
51
|
-
</button>
|
|
52
|
-
</div>
|
|
53
|
-
|
|
54
|
-
</div>
|
|
55
|
-
</template>
|
|
56
|
-
|
|
57
|
-
<script>
|
|
58
|
-
|
|
59
|
-
import ComponentPropertySelector from "./ComponentPropertySelector.vue";
|
|
60
|
-
|
|
61
|
-
export default{
|
|
62
|
-
|
|
63
|
-
components: {ComponentPropertySelector},
|
|
64
|
-
|
|
65
|
-
emits: [ 'change' ],
|
|
66
|
-
|
|
67
|
-
inject: [ 'imageSrc', 'uploadImage', 'viewTypes' ],
|
|
68
|
-
|
|
69
|
-
provide(){
|
|
70
|
-
return {
|
|
71
|
-
initPropValue: this.initPropValue
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
|
|
75
|
-
props: {
|
|
76
|
-
config: Object,
|
|
77
|
-
|
|
78
|
-
item: {
|
|
79
|
-
type: Object,
|
|
80
|
-
required: true
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
|
|
84
|
-
computed: {
|
|
85
|
-
|
|
86
|
-
additionalSettings(){
|
|
87
|
-
|
|
88
|
-
let additionalSettings = {}
|
|
89
|
-
for(let group in this.propertyGroups){
|
|
90
|
-
for(let key in this.propertyGroups[group]){
|
|
91
|
-
if(Array.isArray(this.item.props[key])){
|
|
92
|
-
group = group.replace(/\W/g, '')
|
|
93
|
-
additionalSettings[`${group}Setting`] = 1
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
if(additionalSettings[`${this.item.type}Setting`])
|
|
99
|
-
delete additionalSettings[`${this.item.type}Setting`]
|
|
100
|
-
|
|
101
|
-
return Object.keys(additionalSettings)
|
|
102
|
-
},
|
|
103
|
-
|
|
104
|
-
viewType(){
|
|
105
|
-
return this.config.viewType
|
|
106
|
-
},
|
|
107
|
-
|
|
108
|
-
},
|
|
109
|
-
|
|
110
|
-
data(){
|
|
111
|
-
return {
|
|
112
|
-
_config: {},
|
|
113
|
-
|
|
114
|
-
types: {
|
|
115
|
-
type: Array,
|
|
116
|
-
default: [ 1, 2, 4 ]
|
|
117
|
-
},
|
|
118
|
-
|
|
119
|
-
propertyGroups: {
|
|
120
|
-
'Layout': {
|
|
121
|
-
aspectRatio: { text:'Aspect Ratio' },
|
|
122
|
-
position: { text:'Position' },
|
|
123
|
-
display: { text:'Display' },
|
|
124
|
-
overflow: { text:'Overflow' },
|
|
125
|
-
top: { text:'Top' },
|
|
126
|
-
left: { text:'Left' },
|
|
127
|
-
right: { text:'Right' },
|
|
128
|
-
bottom: { text:'Bottom' },
|
|
129
|
-
zIndex: { text:'Z Index' },
|
|
130
|
-
},
|
|
131
|
-
'Flex': {
|
|
132
|
-
flex: { text:'Flex' },
|
|
133
|
-
flexAlign: { text:'Align' },
|
|
134
|
-
flexBasis: { text:'Basis' },
|
|
135
|
-
flexJustify: { text:'Justify' },
|
|
136
|
-
flexDirection: { text:'Direction' },
|
|
137
|
-
flexWrap: { text:'Wrap' },
|
|
138
|
-
flexGap: { text:'Gap' },
|
|
139
|
-
},
|
|
140
|
-
'Grid': {
|
|
141
|
-
colSpan: { text:'Col span' },
|
|
142
|
-
gridGap: { text:'Gap' },
|
|
143
|
-
rowSpan: { text:'Row span' },
|
|
144
|
-
},
|
|
145
|
-
'Background': {
|
|
146
|
-
bgColor: { text:'Background Color' },
|
|
147
|
-
bgPosition: { text:'Background Position' },
|
|
148
|
-
bgRepeat: { text:'Background Repeat' },
|
|
149
|
-
bgSize: { text:'Background Size' },
|
|
150
|
-
},
|
|
151
|
-
'Border': {
|
|
152
|
-
bdColor: { text:'Border Color' },
|
|
153
|
-
bdSize: { text:'Border Size' },
|
|
154
|
-
bdRadius: { text:'Border Radius' },
|
|
155
|
-
bdStyle: { text:'Border Style' },
|
|
156
|
-
outlineStyle: { text:'Outline Style' },
|
|
157
|
-
outlineWidth: { text:'Outline Width' },
|
|
158
|
-
},
|
|
159
|
-
'Transition': {
|
|
160
|
-
animate: { text:'Animation' },
|
|
161
|
-
},
|
|
162
|
-
'Effect': {
|
|
163
|
-
boxShadow: { text:'Box Shadow' },
|
|
164
|
-
opacity: { text:'Opacity' },
|
|
165
|
-
},
|
|
166
|
-
'Spacing': {
|
|
167
|
-
padding: { text:'Padding' },
|
|
168
|
-
margin: { text:'Margin' },
|
|
169
|
-
},
|
|
170
|
-
'Sizing': {
|
|
171
|
-
height: { text:'Height' },
|
|
172
|
-
width: { text:'Width' },
|
|
173
|
-
maxHeight: { text:'Max Height' },
|
|
174
|
-
maxWidth: { text:'Max Width' },
|
|
175
|
-
minHeight: { text:'Min Height' },
|
|
176
|
-
minWidth: { text:'Min Width' },
|
|
177
|
-
},
|
|
178
|
-
'Typography': {
|
|
179
|
-
fontFamily: { text:'Font Family' },
|
|
180
|
-
fontSize: { text:'Font Size' },
|
|
181
|
-
fontStyle: { text:'Font Style' },
|
|
182
|
-
fontWeight: { text:'Font Weight' },
|
|
183
|
-
letterSpacing: { text:'Letter Spacing' },
|
|
184
|
-
lineClamp: { text:'Line Clamp' },
|
|
185
|
-
lineHeight: { text:'Line Height' },
|
|
186
|
-
textAlign: { text:'Text Align' },
|
|
187
|
-
textDecoration: { text:'Text Decoration' },
|
|
188
|
-
textOverflow: { text:'Text Overflow' },
|
|
189
|
-
textTransform: { text:'Text Transform' },
|
|
190
|
-
whitespace: { text:'Whitespace' },
|
|
191
|
-
verticalAlign: { text:'Vertical Align' },
|
|
192
|
-
},
|
|
193
|
-
'Filters': {
|
|
194
|
-
blur: { text:'Blur' },
|
|
195
|
-
grayscale: { text:'Grayscale' },
|
|
196
|
-
},
|
|
197
|
-
'Svg': {
|
|
198
|
-
fill: { text:'Fill' },
|
|
199
|
-
stroke: { text:'Stroke' },
|
|
200
|
-
strokeWidth: { text:'Stroke Width' },
|
|
201
|
-
},
|
|
202
|
-
},
|
|
203
|
-
}
|
|
204
|
-
},
|
|
205
|
-
|
|
206
|
-
methods: {
|
|
207
|
-
|
|
208
|
-
addProperty(prop){
|
|
209
|
-
this.initPropValue(this.item.props, prop.name)
|
|
210
|
-
this.$refs.componentPropertySelector.close()
|
|
211
|
-
},
|
|
212
|
-
|
|
213
|
-
initPropValue(props, name, defaultValue = ''){
|
|
214
|
-
if(!Array.isArray(props[name]) ||
|
|
215
|
-
props[name].length !== Object.keys(this.viewTypes).length)
|
|
216
|
-
props[name] = Object.assign(Object.keys(this.viewTypes).map(_ => JSON.parse(JSON.stringify(defaultValue))), props[name] ?? [])
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
</script>
|
|
224
|
-
|
|
225
|
-
<style module>
|
|
226
|
-
|
|
227
|
-
.comp{
|
|
228
|
-
@apply flex-1 flex flex-col divide-y divide-border-50;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
</style>
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="grid grid-cols-2 gap-4">
|
|
3
|
-
|
|
4
|
-
<div v-if="'boxShadow' in item.props">
|
|
5
|
-
<ComponentPropertyLabel label="Box Shadow"
|
|
6
|
-
:removable="removable"
|
|
7
|
-
@remove="delete item.props.boxShadow" />
|
|
8
|
-
<Dropdown v-for="(_, idx) in viewTypes"
|
|
9
|
-
v-show="viewType === _.value"
|
|
10
|
-
v-model="boxShadow[idx]"
|
|
11
|
-
@change="$emit('change')">
|
|
12
|
-
<option value="">Default</option>
|
|
13
|
-
<option :value="`${viewType}shadow-none`">None</option>
|
|
14
|
-
<option :value="`${viewType}shadow-sm`">Small</option>
|
|
15
|
-
<option :value="`${viewType}shadow`">Medium</option>
|
|
16
|
-
<option :value="`${viewType}shadow-lg`">Large</option>
|
|
17
|
-
<option :value="`${viewType}shadow-xl`">Extra Large</option>
|
|
18
|
-
<option :value="`${viewType}shadow-2xl`">Extra Large 2</option>
|
|
19
|
-
<option :value="`${viewType}shadow-inner`">Inner</option>
|
|
20
|
-
</Dropdown>
|
|
21
|
-
</div>
|
|
22
|
-
|
|
23
|
-
<div v-if="'opacity' in item.props">
|
|
24
|
-
<ComponentPropertyLabel label="Opacity"
|
|
25
|
-
:removable="removable"
|
|
26
|
-
@remove="delete item.props.opacity" />
|
|
27
|
-
<Dropdown v-for="(_, idx) in viewTypes"
|
|
28
|
-
v-show="viewType === _.value"
|
|
29
|
-
v-model="opacity[idx]"
|
|
30
|
-
@change="$emit('change')">
|
|
31
|
-
<option value="">Default</option>
|
|
32
|
-
<option :value="`${viewType}opacity-0`">0</option>
|
|
33
|
-
<option :value="`${viewType}opacity-10`">10%</option>
|
|
34
|
-
<option :value="`${viewType}opacity-20`">20%</option>
|
|
35
|
-
<option :value="`${viewType}opacity-30`">30%</option>
|
|
36
|
-
<option :value="`${viewType}opacity-40`">40%</option>
|
|
37
|
-
<option :value="`${viewType}opacity-50`">50%</option>
|
|
38
|
-
<option :value="`${viewType}opacity-60`">60%</option>
|
|
39
|
-
<option :value="`${viewType}opacity-70`">70%</option>
|
|
40
|
-
<option :value="`${viewType}opacity-80`">80%</option>
|
|
41
|
-
<option :value="`${viewType}opacity-90`">90%</option>
|
|
42
|
-
<option :value="`${viewType}opacity-100`">100%</option>
|
|
43
|
-
</Dropdown>
|
|
44
|
-
</div>
|
|
45
|
-
|
|
46
|
-
</div>
|
|
47
|
-
</template>
|
|
48
|
-
|
|
49
|
-
<script>
|
|
50
|
-
|
|
51
|
-
export default{
|
|
52
|
-
|
|
53
|
-
emits: [ 'change' ],
|
|
54
|
-
|
|
55
|
-
inject: [ 'viewTypes', 'initPropValue' ],
|
|
56
|
-
|
|
57
|
-
props: {
|
|
58
|
-
config: Object,
|
|
59
|
-
|
|
60
|
-
item: {
|
|
61
|
-
type: Object,
|
|
62
|
-
required: true
|
|
63
|
-
},
|
|
64
|
-
|
|
65
|
-
removable: Boolean
|
|
66
|
-
},
|
|
67
|
-
|
|
68
|
-
computed: {
|
|
69
|
-
|
|
70
|
-
boxShadow(){
|
|
71
|
-
this.initPropValue(this.item.props, 'boxShadow')
|
|
72
|
-
return this.item.props.boxShadow
|
|
73
|
-
},
|
|
74
|
-
|
|
75
|
-
opacity(){
|
|
76
|
-
this.initPropValue(this.item.props, 'opacity')
|
|
77
|
-
return this.item.props.opacity
|
|
78
|
-
},
|
|
79
|
-
|
|
80
|
-
viewType(){
|
|
81
|
-
return this.config.viewType
|
|
82
|
-
},
|
|
83
|
-
|
|
84
|
-
},
|
|
85
|
-
|
|
86
|
-
data(){
|
|
87
|
-
return {
|
|
88
|
-
_config: {},
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
</script>
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="grid grid-cols-2 gap-4">
|
|
3
|
-
|
|
4
|
-
<div v-if="'blur' in item.props">
|
|
5
|
-
<ComponentPropertyLabel label="Blur"
|
|
6
|
-
:removable="removable"
|
|
7
|
-
@remove="delete item.props.blur" />
|
|
8
|
-
<Dropdown v-for="(_, idx) in viewTypes"
|
|
9
|
-
v-show="viewType === _.value"
|
|
10
|
-
v-model="blur[idx]"
|
|
11
|
-
@change="$emit('change')">
|
|
12
|
-
<option value="">Default</option>
|
|
13
|
-
<option :value="`${viewType}blur-none`">None</option>
|
|
14
|
-
<option :value="`${viewType}blur-sm`">Sm</option>
|
|
15
|
-
<option :value="`${viewType}blur`">Md</option>
|
|
16
|
-
<option :value="`${viewType}blur-lg`">Lg</option>
|
|
17
|
-
<option :value="`${viewType}blur-xl`">Xl</option>
|
|
18
|
-
<option :value="`${viewType}blur-2xl`">2xl</option>
|
|
19
|
-
</Dropdown>
|
|
20
|
-
</div>
|
|
21
|
-
|
|
22
|
-
<div v-if="'grayscale' in item.props">
|
|
23
|
-
<ComponentPropertyLabel label="Grayscale"
|
|
24
|
-
:removable="removable"
|
|
25
|
-
@remove="delete item.props.grayscale" />
|
|
26
|
-
<Dropdown v-for="(_, idx) in viewTypes"
|
|
27
|
-
v-show="viewType === _.value"
|
|
28
|
-
v-model="grayscale[idx]"
|
|
29
|
-
@change="$emit('change')">
|
|
30
|
-
<option value="">Default</option>
|
|
31
|
-
<option :value="`${viewType}grayscale-0`">Not Grayscale</option>
|
|
32
|
-
<option :value="`${viewType}grayscale`">Grayscale</option>
|
|
33
|
-
</Dropdown>
|
|
34
|
-
</div>
|
|
35
|
-
|
|
36
|
-
</div>
|
|
37
|
-
</template>
|
|
38
|
-
|
|
39
|
-
<script>
|
|
40
|
-
|
|
41
|
-
import ComponentPropertyLabel from "./ComponentPropertyLabel.vue";
|
|
42
|
-
import Dropdown from "../components/Dropdown.vue";
|
|
43
|
-
|
|
44
|
-
export default{
|
|
45
|
-
components: {Dropdown, ComponentPropertyLabel},
|
|
46
|
-
|
|
47
|
-
emits: [ 'change' ],
|
|
48
|
-
|
|
49
|
-
inject: [ 'viewTypes', 'initPropValue' ],
|
|
50
|
-
|
|
51
|
-
props: {
|
|
52
|
-
config: Object,
|
|
53
|
-
|
|
54
|
-
item: {
|
|
55
|
-
type: Object,
|
|
56
|
-
required: true
|
|
57
|
-
},
|
|
58
|
-
|
|
59
|
-
removable: Boolean
|
|
60
|
-
},
|
|
61
|
-
|
|
62
|
-
computed: {
|
|
63
|
-
|
|
64
|
-
blur(){
|
|
65
|
-
this.initPropValue(this.item.props, 'blur')
|
|
66
|
-
return this.item.props.blur
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
grayscale(){
|
|
70
|
-
this.initPropValue(this.item.props, 'grayscale')
|
|
71
|
-
return this.item.props.grayscale
|
|
72
|
-
},
|
|
73
|
-
|
|
74
|
-
viewType(){
|
|
75
|
-
return this.config.viewType
|
|
76
|
-
},
|
|
77
|
-
|
|
78
|
-
},
|
|
79
|
-
|
|
80
|
-
data(){
|
|
81
|
-
return {
|
|
82
|
-
_config: {},
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
</script>
|
package/src/widgets/Header.vue
DELETED
package/src/widgets/Header0.vue
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div :class="$style.comp">
|
|
3
|
-
<component v-for="(item, idx) in items"
|
|
4
|
-
:is="item.type"
|
|
5
|
-
:key="item.key"
|
|
6
|
-
:="item" />
|
|
7
|
-
</div>
|
|
8
|
-
</template>
|
|
9
|
-
|
|
10
|
-
<script>
|
|
11
|
-
|
|
12
|
-
import {componentMixin} from "../mixin/component";
|
|
13
|
-
|
|
14
|
-
export default{
|
|
15
|
-
|
|
16
|
-
mixins: [ componentMixin ],
|
|
17
|
-
|
|
18
|
-
props: {
|
|
19
|
-
images: Object,
|
|
20
|
-
items: Array,
|
|
21
|
-
},
|
|
22
|
-
|
|
23
|
-
computed: {
|
|
24
|
-
|
|
25
|
-
logoUrl(){
|
|
26
|
-
return import.meta.env.VITE_IMAGE_HOST + '/' + (this.images ?? {}).logo
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
</script>
|
|
34
|
-
|
|
35
|
-
<style module>
|
|
36
|
-
|
|
37
|
-
.comp{
|
|
38
|
-
@apply bg-white flex flex-row items-center;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
</style>
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="flex flex-col gap-6">
|
|
3
|
-
|
|
4
|
-
</div>
|
|
5
|
-
</template>
|
|
6
|
-
|
|
7
|
-
<script>
|
|
8
|
-
|
|
9
|
-
export default{
|
|
10
|
-
|
|
11
|
-
emits: [ 'change' ],
|
|
12
|
-
|
|
13
|
-
inject: [ 'alert', 'imageSrc', 'openComponentSelector', 'uploadImage' ],
|
|
14
|
-
|
|
15
|
-
props: {
|
|
16
|
-
|
|
17
|
-
item: {
|
|
18
|
-
type: Object,
|
|
19
|
-
required: true
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
viewType: String,
|
|
23
|
-
|
|
24
|
-
viewTypes: Array,
|
|
25
|
-
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
computed: {
|
|
29
|
-
|
|
30
|
-
logoSrc(){
|
|
31
|
-
if(!this.item.props.images){
|
|
32
|
-
this.item.props.images = {}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return typeof this.item.props.images .logo === 'string' ?
|
|
36
|
-
import.meta.env.VITE_IMAGE_HOST + '/' + this.item.props.images.logo :
|
|
37
|
-
this.item.props.images.logo
|
|
38
|
-
},
|
|
39
|
-
|
|
40
|
-
menu(){
|
|
41
|
-
if(!this.item.props.menu){
|
|
42
|
-
this.item.props.menu = []
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return this.item.props.menu
|
|
46
|
-
},
|
|
47
|
-
|
|
48
|
-
icons(){
|
|
49
|
-
if(!this.item.props.icons){
|
|
50
|
-
this.item.props.icons = []
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return this.item.props.icons
|
|
54
|
-
},
|
|
55
|
-
|
|
56
|
-
},
|
|
57
|
-
|
|
58
|
-
methods: {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
</script>
|
|
66
|
-
|
|
67
|
-
<style module>
|
|
68
|
-
|
|
69
|
-
.imageBg{
|
|
70
|
-
@apply p-2 bg-white;
|
|
71
|
-
background-image: radial-gradient(rgba(var(--primary-500)) 1px, transparent 1px);
|
|
72
|
-
background-size: calc(10 * 1px) calc(10 * 1px);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
</style>
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div :class="$style.comp">
|
|
3
|
-
|
|
4
|
-
<div class="flex flex-col gap-6 p-6">
|
|
5
|
-
|
|
6
|
-
<div class="flex flex-col gap-1">
|
|
7
|
-
<small class="flex-1 text-text-400">Model</small>
|
|
8
|
-
<Dropdown v-model="item.props.variant"
|
|
9
|
-
@change="$emit('change')">
|
|
10
|
-
<option value="Header1">Model 1</option>
|
|
11
|
-
<option value="Header2">Model 2</option>
|
|
12
|
-
</Dropdown>
|
|
13
|
-
</div>
|
|
14
|
-
|
|
15
|
-
<component :is="`${item.props.variant}Setting`"
|
|
16
|
-
:item="item"
|
|
17
|
-
:view-type="viewType"
|
|
18
|
-
:view-types="viewTypes"
|
|
19
|
-
:view-index="viewIndex"
|
|
20
|
-
@change="$emit('change')" />
|
|
21
|
-
|
|
22
|
-
</div>
|
|
23
|
-
|
|
24
|
-
<ComponentSetting2 :item="item"
|
|
25
|
-
:view-type="viewType"
|
|
26
|
-
:view-types="viewTypes"
|
|
27
|
-
:view-index="viewIndex"
|
|
28
|
-
defaultDisplay="block"
|
|
29
|
-
@change="$emit('change')" />
|
|
30
|
-
|
|
31
|
-
</div>
|
|
32
|
-
</template>
|
|
33
|
-
|
|
34
|
-
<script>
|
|
35
|
-
|
|
36
|
-
export default{
|
|
37
|
-
|
|
38
|
-
emits: [ 'change' ],
|
|
39
|
-
|
|
40
|
-
inject: [ 'alert', 'imageSrc', 'uploadImage' ],
|
|
41
|
-
|
|
42
|
-
props: {
|
|
43
|
-
|
|
44
|
-
item: {
|
|
45
|
-
type: Object,
|
|
46
|
-
required: true
|
|
47
|
-
},
|
|
48
|
-
|
|
49
|
-
viewType: String,
|
|
50
|
-
|
|
51
|
-
viewIndex: Number,
|
|
52
|
-
|
|
53
|
-
viewTypes: Array,
|
|
54
|
-
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
computed: {
|
|
58
|
-
|
|
59
|
-
logoSrc(){
|
|
60
|
-
if(!this.item.props.images){
|
|
61
|
-
this.item.props.images = {}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return typeof this.item.props.images .logo === 'string' ?
|
|
65
|
-
import.meta.env.VITE_IMAGE_HOST + '/' + this.item.props.images.logo :
|
|
66
|
-
this.item.props.images.logo
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
menu(){
|
|
70
|
-
if(!this.item.props.menu){
|
|
71
|
-
this.item.props.menu = []
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return this.item.props.menu
|
|
75
|
-
},
|
|
76
|
-
|
|
77
|
-
icons(){
|
|
78
|
-
if(!this.item.props.icons){
|
|
79
|
-
this.item.props.icons = []
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return this.item.props.icons
|
|
83
|
-
},
|
|
84
|
-
|
|
85
|
-
},
|
|
86
|
-
|
|
87
|
-
methods: {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
</script>
|
|
95
|
-
|
|
96
|
-
<style module>
|
|
97
|
-
|
|
98
|
-
.comp{
|
|
99
|
-
@apply flex flex-col divide-y divide-border-50;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
</style>
|