@mixd-id/web-scaffold 0.1.240411061 → 0.1.250801001
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/Button.vue +1 -1
- package/src/components/Confirm.vue +5 -5
- package/src/components/ContextMenu.vue +2 -2
- package/src/components/Dropdown.vue +1 -1
- package/src/components/List.vue +6 -3
- package/src/components/Modal.vue +1 -1
- package/src/components/MultilineText.vue +0 -3
- package/src/components/Textarea.vue +0 -3
- package/src/components/Textbox.vue +1 -1
- package/src/components/TreeMenu.vue +2 -2
- package/src/components/TreeView2.vue +36 -0
- package/src/components/TreeViewItem2.vue +48 -0
- package/src/components/Uploader.vue +3 -2
- package/src/components/VirtualTable.vue +4 -2
- package/src/index.js +2 -0
- package/src/themes/default/index.js +15 -23
- package/src/widgets/Dashboard/DataTableSetting.vue +0 -4
- package/src/widgets/Dashboard/VirtualTableSetting.vue +0 -4
- package/src/widgets/Dashboard.vue +0 -4
- package/src/widgets/PresetBar.vue +0 -4
- package/src/widgets/PresetBarPivot.vue +0 -4
package/package.json
CHANGED
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
</div>
|
|
19
19
|
|
|
20
20
|
<div class="mt-4 flex flex-row gap-2">
|
|
21
|
-
<Button ref="btnOK" @click="onConfirm" class="min-w-[88px]" tabindex="0">
|
|
21
|
+
<Button ref="btnOK" @click="onConfirm" class="min-w-[88px] text-lg" tabindex="0">
|
|
22
22
|
<strong class="px-4">
|
|
23
23
|
{{ buttonText[0] }}
|
|
24
24
|
</strong>
|
|
25
25
|
</Button>
|
|
26
|
-
<Button variant="minimal" @click="onDismiss" class="min-w-[88px] px-4 hover:text-primary">
|
|
26
|
+
<Button variant="minimal" @click="onDismiss" class="min-w-[88px] px-4 hover:text-primary text-lg">
|
|
27
27
|
{{ buttonText[1] }}
|
|
28
28
|
</Button>
|
|
29
29
|
</div>
|
|
@@ -122,7 +122,7 @@ export default{
|
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
.confirm>*{
|
|
125
|
-
@apply max-h-[60vh] overflow-y-auto bg-base-
|
|
125
|
+
@apply max-h-[60vh] overflow-y-auto bg-base-300 rounded-xl;
|
|
126
126
|
@apply border-[1px] border-text-50;
|
|
127
127
|
@apply min-w-[280px] max-w-[80vw] md:max-w-[480px];
|
|
128
128
|
}
|
|
@@ -132,7 +132,7 @@ export default{
|
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
.cont2{
|
|
135
|
-
@apply my-4 text-center flex-1 overflow-y-auto;
|
|
135
|
+
@apply my-4 text-center flex-1 overflow-y-auto px-6;
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
.title{
|
|
@@ -140,7 +140,7 @@ export default{
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
.description{
|
|
143
|
-
@apply overflow-y-auto whitespace-pre-line text-center;
|
|
143
|
+
@apply overflow-y-auto whitespace-pre-line text-center text-lg;
|
|
144
144
|
overflow-wrap: break-word;
|
|
145
145
|
word-wrap: break-word;
|
|
146
146
|
-ms-word-break: break-all;
|
|
@@ -241,7 +241,7 @@ export default {
|
|
|
241
241
|
<style module>
|
|
242
242
|
|
|
243
243
|
.contextMenu{
|
|
244
|
-
@apply fixed bg-base-
|
|
244
|
+
@apply fixed bg-base-400 min-w-[150px] overflow-y-auto;
|
|
245
245
|
@apply whitespace-nowrap shadow-2xl border-[1px] border-text-100 mt-[1px];
|
|
246
246
|
z-index: 180;
|
|
247
247
|
}
|
|
@@ -249,7 +249,7 @@ export default {
|
|
|
249
249
|
@media screen and (min-width: 640px){
|
|
250
250
|
|
|
251
251
|
.contextMenu{
|
|
252
|
-
@apply fixed min-w-[150px] overflow-y-auto
|
|
252
|
+
@apply fixed min-w-[150px] overflow-y-auto;
|
|
253
253
|
}
|
|
254
254
|
|
|
255
255
|
}
|
|
@@ -161,7 +161,7 @@ export default {
|
|
|
161
161
|
|
|
162
162
|
.dropdown{
|
|
163
163
|
@apply flex items-center rounded-lg overflow-hidden cursor-pointer relative;
|
|
164
|
-
@apply border-[1px] border-text-200 bg-base-
|
|
164
|
+
@apply border-[1px] border-text-200 bg-base-400;
|
|
165
165
|
}
|
|
166
166
|
.dropdown:not(.readonly){
|
|
167
167
|
@apply hover:border-text-300;
|
package/src/components/List.vue
CHANGED
|
@@ -133,14 +133,16 @@
|
|
|
133
133
|
<VirtualTable
|
|
134
134
|
ref="table"
|
|
135
135
|
:columns="columns"
|
|
136
|
-
class="flex-1 bg-base-
|
|
136
|
+
class="flex-1 bg-base-400"
|
|
137
137
|
:items="dataItems"
|
|
138
138
|
:enumCache="enumCache"
|
|
139
139
|
:freeze-left="freezeLeft"
|
|
140
|
+
:item-class="itemClass"
|
|
140
141
|
@freeze="freeze"
|
|
141
142
|
@unfreeze="unfreeze"
|
|
142
143
|
@scroll-end="loadNext"
|
|
143
|
-
@item-click="onTableItemClick"
|
|
144
|
+
@item-click="onTableItemClick"
|
|
145
|
+
@dragover="(...args) => $emit('dragover', ...args)">
|
|
144
146
|
|
|
145
147
|
<template v-for="(_, slot) in headerSlots" #[slot]="{ item, index }">
|
|
146
148
|
<div :class="getHeader(slot.replace('col-', ''))">
|
|
@@ -281,7 +283,7 @@ import {groupBy, invokeAfterIdle, queueForLater} from "../utils/helpers.mjs";
|
|
|
281
283
|
|
|
282
284
|
export default{
|
|
283
285
|
|
|
284
|
-
emits: [ 'after-load', 'open-preset', 'signal', 'pivot-item-click' ],
|
|
286
|
+
emits: [ 'dragover', 'after-load', 'open-preset', 'signal', 'pivot-item-click' ],
|
|
285
287
|
|
|
286
288
|
inject: [ 'socket', 'toast' ],
|
|
287
289
|
|
|
@@ -322,6 +324,7 @@ export default{
|
|
|
322
324
|
type: String,
|
|
323
325
|
default: "md:p-5 md:gap-3"
|
|
324
326
|
},
|
|
327
|
+
itemClass: String,
|
|
325
328
|
toolbar: {
|
|
326
329
|
type: [ String, Boolean ],
|
|
327
330
|
default: true
|
package/src/components/Modal.vue
CHANGED
|
@@ -358,7 +358,7 @@ export default{
|
|
|
358
358
|
|
|
359
359
|
.modal{
|
|
360
360
|
@apply fixed;
|
|
361
|
-
@apply bg-base-300
|
|
361
|
+
@apply bg-base-300 w-full;
|
|
362
362
|
@apply border-[1px] border-text-50 flex max-h-[90vh] max-w-full;
|
|
363
363
|
@apply rounded-xl overflow-hidden transition-all;
|
|
364
364
|
z-index: 101;
|
|
@@ -182,7 +182,7 @@ export default{
|
|
|
182
182
|
|
|
183
183
|
.textbox{
|
|
184
184
|
@apply flex items-center;
|
|
185
|
-
@apply border-[1px] border-text-200 bg-base-
|
|
185
|
+
@apply border-[1px] border-text-200 bg-base-400 hover:border-text-300 rounded-lg;
|
|
186
186
|
@apply overflow-hidden;
|
|
187
187
|
}
|
|
188
188
|
.textbox.active{
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
{{ menu.text }}
|
|
17
17
|
</router-link>
|
|
18
18
|
|
|
19
|
-
<ContextMenu class="rounded-none"
|
|
19
|
+
<ContextMenu class="rounded-none bg-base-300"
|
|
20
20
|
@dismiss="submenu1State = null"
|
|
21
21
|
:ref="`menu-${index}`">
|
|
22
22
|
<div class="divide-y divide-text-50 min-w-[200px] flex flex-col">
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
{{ submenu.text }}
|
|
42
42
|
</router-link>
|
|
43
43
|
|
|
44
|
-
<ContextMenu :ref="`menu-${index}-${submenuIndex}`" class="rounded-none" position="right">
|
|
44
|
+
<ContextMenu :ref="`menu-${index}-${submenuIndex}`" class="rounded-none bg-base-300" position="right">
|
|
45
45
|
<div class="divide-y divide-text-50 min-w-[200px] flex flex-col">
|
|
46
46
|
<div v-for="(submenu2, submenuIndex) in submenu.items" class="flex-1 flex flex-col">
|
|
47
47
|
<div v-if="submenu2.items" class="flex flex-col menu-item">
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div :class="$style.comp">
|
|
3
|
+
|
|
4
|
+
<TreeViewItem2 v-for="item in items"
|
|
5
|
+
:item="item"
|
|
6
|
+
:container-class="containerClass">
|
|
7
|
+
<template #default="{ item }">
|
|
8
|
+
<slot :item="item"></slot>
|
|
9
|
+
</template>
|
|
10
|
+
</TreeViewItem2>
|
|
11
|
+
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script setup>
|
|
16
|
+
|
|
17
|
+
import TreeViewItem2 from "./TreeViewItem2.vue";
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
const { } = defineProps({
|
|
21
|
+
|
|
22
|
+
containerClass: String,
|
|
23
|
+
|
|
24
|
+
items: Array
|
|
25
|
+
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<style module>
|
|
31
|
+
|
|
32
|
+
.comp {
|
|
33
|
+
@apply flex flex-col gap-1;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
</style>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div :class="$style.comp">
|
|
3
|
+
|
|
4
|
+
<slot name="default" :item="item">
|
|
5
|
+
<div :class="$style.item">
|
|
6
|
+
<label>{{ item.title }}</label>
|
|
7
|
+
</div>
|
|
8
|
+
</slot>
|
|
9
|
+
|
|
10
|
+
<div v-if="(item.items ?? []).length > 0" :class="containerClass ?? $style.subitems">
|
|
11
|
+
<TreeViewItem2 v-for="subItem in item.items"
|
|
12
|
+
:item="subItem"
|
|
13
|
+
:container-class="containerClass">
|
|
14
|
+
<template #default="{ item }">
|
|
15
|
+
<slot :item="item"></slot>
|
|
16
|
+
</template>
|
|
17
|
+
</TreeViewItem2>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
</div>
|
|
21
|
+
</template>
|
|
22
|
+
|
|
23
|
+
<script setup>
|
|
24
|
+
|
|
25
|
+
const { } = defineProps({
|
|
26
|
+
|
|
27
|
+
containerClass: String,
|
|
28
|
+
|
|
29
|
+
item: Object
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
<style module>
|
|
35
|
+
|
|
36
|
+
.comp{
|
|
37
|
+
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.item{
|
|
41
|
+
@apply bg-text-50 hover:bg-text-100;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.subitems {
|
|
45
|
+
@apply ml-4 flex flex-col gap-1 mt-1;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
</style>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div :class="$style.comp" @click="$refs.file.click()">
|
|
3
|
-
<input type="file" :multiple="Boolean(multiple)" ref="file" class="hidden" @change="onUpload"/>
|
|
3
|
+
<input type="file" :multiple="Boolean(multiple)" :accept="accept" ref="file" class="hidden" @change="onUpload"/>
|
|
4
4
|
<slot name="default"></slot>
|
|
5
5
|
</div>
|
|
6
6
|
</template>
|
|
@@ -13,7 +13,8 @@ export default{
|
|
|
13
13
|
|
|
14
14
|
props:{
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
accept: undefined,
|
|
17
|
+
multiple: undefined,
|
|
17
18
|
|
|
18
19
|
},
|
|
19
20
|
|
|
@@ -89,6 +89,7 @@
|
|
|
89
89
|
<tbody>
|
|
90
90
|
<tr v-for="(item, index) in visibleItems"
|
|
91
91
|
:key="item"
|
|
92
|
+
@dragover="(e) => $emit('dragover', e, item)"
|
|
92
93
|
@mouseover="hover(item, index)" @mouseout="hoverIndex = -1"
|
|
93
94
|
@click="select(item, index)"
|
|
94
95
|
:class="trClass(item, index)">
|
|
@@ -131,6 +132,7 @@
|
|
|
131
132
|
<tbody ref="tbody">
|
|
132
133
|
<tr v-for="(item, index) in visibleItems"
|
|
133
134
|
:key="item"
|
|
135
|
+
@dragover="(e) => $emit('dragover', e, item)"
|
|
134
136
|
@mouseover="hover(item, index)" @mouseout="hoverIndex = -1"
|
|
135
137
|
@click="select(item, index)"
|
|
136
138
|
:class="trClass(item, index)">
|
|
@@ -207,7 +209,7 @@ export default{
|
|
|
207
209
|
|
|
208
210
|
inject: [ 'emitRoot', 'listStyle' ],
|
|
209
211
|
|
|
210
|
-
emits: [ 'freeze', 'unfreeze', 'scroll-end', 'item-click' ],
|
|
212
|
+
emits: [ 'dragover', 'freeze', 'unfreeze', 'scroll-end', 'item-click' ],
|
|
211
213
|
|
|
212
214
|
props:{
|
|
213
215
|
|
|
@@ -846,7 +848,7 @@ export default{
|
|
|
846
848
|
<style module>
|
|
847
849
|
|
|
848
850
|
.comp{
|
|
849
|
-
@apply flex flex-col overflow-hidden
|
|
851
|
+
@apply flex flex-col overflow-hidden;
|
|
850
852
|
@apply border-[1px] border-text-50 rounded-lg;
|
|
851
853
|
}
|
|
852
854
|
|
package/src/index.js
CHANGED
|
@@ -494,6 +494,8 @@ export default{
|
|
|
494
494
|
app.component('Toast', defineAsyncComponent(() => import("./components/Toast.vue")))
|
|
495
495
|
app.component('TreeView', defineAsyncComponent(() => import("./components/TreeView.vue")))
|
|
496
496
|
app.component('TreeViewItem', defineAsyncComponent(() => import("./components/TreeViewItem.vue")))
|
|
497
|
+
app.component('TreeView2', defineAsyncComponent(() => import("./components/TreeView2.vue")))
|
|
498
|
+
app.component('TreeViewItem2', defineAsyncComponent(() => import("./components/TreeViewItem2.vue")))
|
|
497
499
|
app.component('Uploader', defineAsyncComponent(() => import("./components/Uploader.vue")))
|
|
498
500
|
app.component('VirtualGrid', defineAsyncComponent(() => import("./components/VirtualGrid.vue")))
|
|
499
501
|
app.component('VirtualScroll', defineAsyncComponent(() => import("./components/VirtualScroll.vue")))
|
|
@@ -17,12 +17,12 @@ const plugin = Plugin(function({ addBase, addUtilities, config, theme }) {
|
|
|
17
17
|
"--h-cp-lg": '3.6rem',
|
|
18
18
|
|
|
19
19
|
'--base-50': '235, 237, 240',
|
|
20
|
-
'--base-300': '
|
|
21
|
-
'--base-400': '
|
|
22
|
-
'--base-500': '
|
|
20
|
+
'--base-300': '239, 240, 241',
|
|
21
|
+
'--base-400': '249, 250, 251',
|
|
22
|
+
'--base-500': '255, 255, 255',
|
|
23
23
|
'--base': '255, 255, 255',
|
|
24
24
|
|
|
25
|
-
"--text-50": '
|
|
25
|
+
"--text-50": '232, 232, 232',
|
|
26
26
|
"--text-100": '223, 223, 223',
|
|
27
27
|
"--text-200": '217, 217, 217',
|
|
28
28
|
"--text-300": '176, 176, 176',
|
|
@@ -58,28 +58,20 @@ const plugin = Plugin(function({ addBase, addUtilities, config, theme }) {
|
|
|
58
58
|
'--whatsapp-500': '0, 93, 75',
|
|
59
59
|
|
|
60
60
|
'--facebook-100': '205, 215, 231',
|
|
61
|
-
'--facebook-500': '8, 102, 255'
|
|
62
|
-
|
|
63
|
-
'--panel-none': 'transparent',
|
|
64
|
-
'--panel-300': 'rgb(235, 237, 240)',
|
|
65
|
-
'--panel-400': 'rgb(245, 247, 250)',
|
|
66
|
-
'--panel-500': 'rgb(255, 255, 255)',
|
|
61
|
+
'--facebook-500': '8, 102, 255'
|
|
67
62
|
},
|
|
68
63
|
|
|
69
64
|
'html[data-theme="dark"], .html[data-theme="dark"]': {
|
|
70
65
|
|
|
71
|
-
"--base-
|
|
72
|
-
"--base-
|
|
73
|
-
"--base-
|
|
74
|
-
|
|
75
|
-
"--
|
|
76
|
-
|
|
77
|
-
"--text-
|
|
78
|
-
"--text-
|
|
79
|
-
"--text-
|
|
80
|
-
"--text-300": '87, 87, 87',
|
|
81
|
-
"--text-400": '191, 193, 197',
|
|
82
|
-
"--text-500": '191, 193, 197',
|
|
66
|
+
"--base-300": '12, 13, 14',
|
|
67
|
+
"--base-400": '33, 33, 33',
|
|
68
|
+
"--base-500": '48, 48, 48',
|
|
69
|
+
|
|
70
|
+
"--text-50": '56, 56, 56',
|
|
71
|
+
"--text-100": '67, 67, 67',
|
|
72
|
+
"--text-200": '78, 78, 78',
|
|
73
|
+
"--text-300": '89, 89, 89',
|
|
74
|
+
"--text-500": '234, 234, 236',
|
|
83
75
|
"--text": '234, 234, 236',
|
|
84
76
|
|
|
85
77
|
"--primary-50": '24, 34, 51',
|
|
@@ -109,7 +101,7 @@ const plugin = Plugin(function({ addBase, addUtilities, config, theme }) {
|
|
|
109
101
|
'text-rendering': 'optimizeLegibility',
|
|
110
102
|
'fontSize': '15px',
|
|
111
103
|
'touchAction': "pan-x pan-y",
|
|
112
|
-
'backgroundColor': 'rgb(var(--base-
|
|
104
|
+
'backgroundColor': 'rgb(var(--base-300))'
|
|
113
105
|
},
|
|
114
106
|
|
|
115
107
|
'@media screen and (orientation: portrait)': {
|
|
@@ -1843,10 +1843,6 @@ export default {
|
|
|
1843
1843
|
@apply hover:border-primary-300 hover:bg-primary-100;
|
|
1844
1844
|
}
|
|
1845
1845
|
|
|
1846
|
-
.columnTextbox input::placeholder {
|
|
1847
|
-
@apply text-text;
|
|
1848
|
-
}
|
|
1849
|
-
|
|
1850
1846
|
.listMenu{
|
|
1851
1847
|
@apply flex flex-row items-center gap-1 hover:bg-text-50 px-3 rounded-xl;
|
|
1852
1848
|
}
|