@phill-component/icons 1.10.2 → 1.10.5
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/mobile/uvue/icon-attachment/attachment.png +0 -0
- package/dist/mobile/uvue/{icon-edit/icon-edit.uvue → icon-attachment/icon-attachment.uvue} +2 -2
- package/dist/mobile/uvue/icon-brush/brush.png +0 -0
- package/dist/mobile/vue/{icon-filter.vue → icon-attachment.vue} +2 -2
- package/dist/web/vue/{Copy.vue → Attachment.vue} +1 -1
- package/dist/web/vue/index.js +2 -16
- package/package.json +23 -21
- package/scripts/build.js +1 -1
- package/dist/mobile/uvue/icon-calendar/calendar.png +0 -0
- package/dist/mobile/uvue/icon-calendar/icon-calendar.uvue +0 -75
- package/dist/mobile/uvue/icon-copy/copy.png +0 -0
- package/dist/mobile/uvue/icon-copy/icon-copy.uvue +0 -75
- package/dist/mobile/uvue/icon-edit/edit.png +0 -0
- package/dist/mobile/uvue/icon-file-fold/file_fold.png +0 -0
- package/dist/mobile/uvue/icon-file-fold/icon-file-fold.uvue +0 -75
- package/dist/mobile/uvue/icon-filter/filter.png +0 -0
- package/dist/mobile/uvue/icon-filter/icon-filter.uvue +0 -75
- package/dist/mobile/uvue/icon-find-replace/find-replace.png +0 -0
- package/dist/mobile/uvue/icon-find-replace/icon-find-replace.uvue +0 -75
- package/dist/mobile/uvue/icon-h6/h6.png +0 -0
- package/dist/mobile/uvue/icon-h6/icon-h6.uvue +0 -75
- package/dist/mobile/uvue/icon-highlight/highlight.png +0 -0
- package/dist/mobile/uvue/icon-highlight/icon-highlight.uvue +0 -75
- package/dist/mobile/uvue/icon-home/home.png +0 -0
- package/dist/mobile/uvue/icon-home/icon-home.uvue +0 -75
- package/dist/mobile/uvue/icon-oblique-line/icon-oblique-line.uvue +0 -75
- package/dist/mobile/uvue/icon-oblique-line/oblique-line.png +0 -0
- package/dist/mobile/uvue/icon-original-size/icon-original-size.uvue +0 -75
- package/dist/mobile/uvue/icon-original-size/original-size.png +0 -0
- package/dist/mobile/uvue/icon-setting/icon-setting.uvue +0 -75
- package/dist/mobile/uvue/icon-setting/setting.png +0 -0
- package/dist/mobile/uvue/icon-task/icon-task.uvue +0 -75
- package/dist/mobile/uvue/icon-task/task.png +0 -0
- package/dist/mobile/uvue/icon-to-landscape/icon-to-landscape.uvue +0 -75
- package/dist/mobile/uvue/icon-to-landscape/to_landscape.png +0 -0
- package/dist/mobile/uvue/icon-zoom-in/icon-zoom-in.uvue +0 -75
- package/dist/mobile/uvue/icon-zoom-in/zoom-in.png +0 -0
- package/dist/mobile/vue/icon-calendar.vue +0 -58
- package/dist/mobile/vue/icon-copy.vue +0 -58
- package/dist/mobile/vue/icon-edit.vue +0 -58
- package/dist/mobile/vue/icon-file-fold.vue +0 -58
- package/dist/mobile/vue/icon-find-replace.vue +0 -58
- package/dist/mobile/vue/icon-h6.vue +0 -58
- package/dist/mobile/vue/icon-highlight.vue +0 -58
- package/dist/mobile/vue/icon-home.vue +0 -58
- package/dist/mobile/vue/icon-oblique-line.vue +0 -58
- package/dist/mobile/vue/icon-original-size.vue +0 -58
- package/dist/mobile/vue/icon-setting.vue +0 -58
- package/dist/mobile/vue/icon-task.vue +0 -58
- package/dist/mobile/vue/icon-to-landscape.vue +0 -58
- package/dist/mobile/vue/icon-zoom-in.vue +0 -58
- package/dist/web/vue/Calendar.vue +0 -53
- package/dist/web/vue/Edit.vue +0 -53
- package/dist/web/vue/FileFold.vue +0 -53
- package/dist/web/vue/Filter.vue +0 -53
- package/dist/web/vue/FindReplace.vue +0 -53
- package/dist/web/vue/H6.vue +0 -53
- package/dist/web/vue/Highlight.vue +0 -53
- package/dist/web/vue/Home.vue +0 -53
- package/dist/web/vue/ObliqueLine.vue +0 -53
- package/dist/web/vue/OriginalSize.vue +0 -53
- package/dist/web/vue/Setting.vue +0 -53
- package/dist/web/vue/Task.vue +0 -53
- package/dist/web/vue/ToLandscape.vue +0 -53
- package/dist/web/vue/ZoomIn.vue +0 -53
- package/scripts/fetch.js +0 -47
- package/scripts/jenkins-server.js +0 -198
- package/scripts/publish.js +0 -155
- package/scripts/sync.js +0 -201
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="rootStyle">
|
|
3
|
-
<!-- #ifdef H5 -->
|
|
4
|
-
<svg v-bind="$attrs" :style="iconStyle" :width="iconW" :height="iconH" fill="none" viewBox="0 0 48 48"><path stroke="currentColor" stroke-width="2" d="M39 43V28a1 1 0 0 0-1-1h-4v-8a1 1 0 0 0-1-1H15a1 1 0 0 0-1 1v8h-4a1 1 0 0 0-1 1v15M19 9.28V17a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V7.28a1 1 0 0 0-1.242-.97l-8 2a1 1 0 0 0-.758.97z"/></svg>
|
|
5
|
-
<!-- #endif -->
|
|
6
|
-
<!-- #ifndef H5 -->
|
|
7
|
-
<image :src="imgSrc" :style="iconBoxStyle" />
|
|
8
|
-
<!-- #endif -->
|
|
9
|
-
<text v-if="label != ''" class="icon__label" :style="labelStyle">{{ label }}</text>
|
|
10
|
-
</view>
|
|
11
|
-
</template>
|
|
12
|
-
<script setup lang="uts">
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
import imgSrc from '@/uni_modules/@phill-component/icons/mobile/uvue/icon-highlight/highlight.png'
|
|
15
|
-
const props = defineProps({
|
|
16
|
-
size: { type: [String, Number], default: '1em' },
|
|
17
|
-
color: { type: String, default: 'var(--tsm-color-primary)' },
|
|
18
|
-
label: { type: [String, Number], default: '' },
|
|
19
|
-
labelPos: { type: String, default: 'right' },
|
|
20
|
-
labelSize: { type: [String, Number], default: '15px' },
|
|
21
|
-
labelColor: { type: String, default: '' },
|
|
22
|
-
space: { type: [String, Number], default: '3px' },
|
|
23
|
-
width: { type: [String, Number], default: '' },
|
|
24
|
-
height: { type: [String, Number], default: '' },
|
|
25
|
-
hoverClass: { type: String, default: '' },
|
|
26
|
-
index: { type: [String, Number], default: '' },
|
|
27
|
-
stop: { type: Boolean, default: false }
|
|
28
|
-
})
|
|
29
|
-
const emit = defineEmits(['click'])
|
|
30
|
-
function toPx(v: any): string {
|
|
31
|
-
if (typeof v === 'number') return (v as number).toString() + 'px'
|
|
32
|
-
const s = (v as string)
|
|
33
|
-
return s != '' ? s : ''
|
|
34
|
-
}
|
|
35
|
-
const iconW = computed((): string => (props.width != '' ? toPx(props.width) : toPx(props.size)))
|
|
36
|
-
const iconH = computed((): string => (props.height != '' ? toPx(props.height) : toPx(props.size)))
|
|
37
|
-
const iconStyle = computed((): UTSJSONObject => {
|
|
38
|
-
return { 'color': props.color != '' ? props.color : 'inherit' } as UTSJSONObject
|
|
39
|
-
})
|
|
40
|
-
const iconBoxStyle = computed((): UTSJSONObject => ({ width: iconW.value, height: iconH.value } as UTSJSONObject))
|
|
41
|
-
const wrapStyle = computed((): UTSJSONObject => {
|
|
42
|
-
const map = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' } as UTSJSONObject
|
|
43
|
-
let dir: string = 'row'
|
|
44
|
-
const cand = map[props.labelPos] as string | null
|
|
45
|
-
if (cand != null && cand.length > 0) {
|
|
46
|
-
dir = cand
|
|
47
|
-
}
|
|
48
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dir } as UTSJSONObject
|
|
49
|
-
})
|
|
50
|
-
const rootStyle = computed((): UTSJSONObject => {
|
|
51
|
-
const s = wrapStyle.value
|
|
52
|
-
const i = iconStyle.value
|
|
53
|
-
for (const key in i) {
|
|
54
|
-
s[key] = i[key]
|
|
55
|
-
}
|
|
56
|
-
return s
|
|
57
|
-
})
|
|
58
|
-
const labelStyle = computed((): UTSJSONObject => {
|
|
59
|
-
const out = {} as UTSJSONObject
|
|
60
|
-
if (props.labelColor != '') out['color'] = props.labelColor
|
|
61
|
-
out['fontSize'] = toPx(props.labelSize)
|
|
62
|
-
out['marginLeft'] = props.labelPos == 'right' ? toPx(props.space) : 0
|
|
63
|
-
out['marginTop'] = props.labelPos == 'bottom' ? toPx(props.space) : 0
|
|
64
|
-
out['marginRight'] = props.labelPos == 'left' ? toPx(props.space) : 0
|
|
65
|
-
out['marginBottom'] = props.labelPos == 'top' ? toPx(props.space) : 0
|
|
66
|
-
return out
|
|
67
|
-
})
|
|
68
|
-
function onTap(e: UniPointerEvent) {
|
|
69
|
-
emit('click', props.index)
|
|
70
|
-
if (props.stop) e.stopPropagation()
|
|
71
|
-
}
|
|
72
|
-
</script>
|
|
73
|
-
<style scoped>
|
|
74
|
-
.icon__label { line-height: 1; }
|
|
75
|
-
</style>
|
|
Binary file
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="rootStyle">
|
|
3
|
-
<!-- #ifdef H5 -->
|
|
4
|
-
<svg v-bind="$attrs" :style="iconStyle" :width="iconW" :height="iconH" fill="none" viewBox="0 0 48 48"><path stroke="currentColor" stroke-width="2" d="M6 19h10m0 0h26m-26 0V9m0 10v10m0 0v10m0-10H6m10 0h26M6 9h36v30H6z"/></svg>
|
|
5
|
-
<!-- #endif -->
|
|
6
|
-
<!-- #ifndef H5 -->
|
|
7
|
-
<image :src="imgSrc" :style="iconBoxStyle" />
|
|
8
|
-
<!-- #endif -->
|
|
9
|
-
<text v-if="label != ''" class="icon__label" :style="labelStyle">{{ label }}</text>
|
|
10
|
-
</view>
|
|
11
|
-
</template>
|
|
12
|
-
<script setup lang="uts">
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
import imgSrc from '@/uni_modules/@phill-component/icons/mobile/uvue/icon-home/home.png'
|
|
15
|
-
const props = defineProps({
|
|
16
|
-
size: { type: [String, Number], default: '1em' },
|
|
17
|
-
color: { type: String, default: 'var(--tsm-color-primary)' },
|
|
18
|
-
label: { type: [String, Number], default: '' },
|
|
19
|
-
labelPos: { type: String, default: 'right' },
|
|
20
|
-
labelSize: { type: [String, Number], default: '15px' },
|
|
21
|
-
labelColor: { type: String, default: '' },
|
|
22
|
-
space: { type: [String, Number], default: '3px' },
|
|
23
|
-
width: { type: [String, Number], default: '' },
|
|
24
|
-
height: { type: [String, Number], default: '' },
|
|
25
|
-
hoverClass: { type: String, default: '' },
|
|
26
|
-
index: { type: [String, Number], default: '' },
|
|
27
|
-
stop: { type: Boolean, default: false }
|
|
28
|
-
})
|
|
29
|
-
const emit = defineEmits(['click'])
|
|
30
|
-
function toPx(v: any): string {
|
|
31
|
-
if (typeof v === 'number') return (v as number).toString() + 'px'
|
|
32
|
-
const s = (v as string)
|
|
33
|
-
return s != '' ? s : ''
|
|
34
|
-
}
|
|
35
|
-
const iconW = computed((): string => (props.width != '' ? toPx(props.width) : toPx(props.size)))
|
|
36
|
-
const iconH = computed((): string => (props.height != '' ? toPx(props.height) : toPx(props.size)))
|
|
37
|
-
const iconStyle = computed((): UTSJSONObject => {
|
|
38
|
-
return { 'color': props.color != '' ? props.color : 'inherit' } as UTSJSONObject
|
|
39
|
-
})
|
|
40
|
-
const iconBoxStyle = computed((): UTSJSONObject => ({ width: iconW.value, height: iconH.value } as UTSJSONObject))
|
|
41
|
-
const wrapStyle = computed((): UTSJSONObject => {
|
|
42
|
-
const map = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' } as UTSJSONObject
|
|
43
|
-
let dir: string = 'row'
|
|
44
|
-
const cand = map[props.labelPos] as string | null
|
|
45
|
-
if (cand != null && cand.length > 0) {
|
|
46
|
-
dir = cand
|
|
47
|
-
}
|
|
48
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dir } as UTSJSONObject
|
|
49
|
-
})
|
|
50
|
-
const rootStyle = computed((): UTSJSONObject => {
|
|
51
|
-
const s = wrapStyle.value
|
|
52
|
-
const i = iconStyle.value
|
|
53
|
-
for (const key in i) {
|
|
54
|
-
s[key] = i[key]
|
|
55
|
-
}
|
|
56
|
-
return s
|
|
57
|
-
})
|
|
58
|
-
const labelStyle = computed((): UTSJSONObject => {
|
|
59
|
-
const out = {} as UTSJSONObject
|
|
60
|
-
if (props.labelColor != '') out['color'] = props.labelColor
|
|
61
|
-
out['fontSize'] = toPx(props.labelSize)
|
|
62
|
-
out['marginLeft'] = props.labelPos == 'right' ? toPx(props.space) : 0
|
|
63
|
-
out['marginTop'] = props.labelPos == 'bottom' ? toPx(props.space) : 0
|
|
64
|
-
out['marginRight'] = props.labelPos == 'left' ? toPx(props.space) : 0
|
|
65
|
-
out['marginBottom'] = props.labelPos == 'top' ? toPx(props.space) : 0
|
|
66
|
-
return out
|
|
67
|
-
})
|
|
68
|
-
function onTap(e: UniPointerEvent) {
|
|
69
|
-
emit('click', props.index)
|
|
70
|
-
if (props.stop) e.stopPropagation()
|
|
71
|
-
}
|
|
72
|
-
</script>
|
|
73
|
-
<style scoped>
|
|
74
|
-
.icon__label { line-height: 1; }
|
|
75
|
-
</style>
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="rootStyle">
|
|
3
|
-
<!-- #ifdef H5 -->
|
|
4
|
-
<svg v-bind="$attrs" :style="iconStyle" :width="iconW" :height="iconH" fill="none" viewBox="0 0 48 48"><path stroke="currentColor" stroke-width="2" d="M29.506 6.502 18.494 41.498"/></svg>
|
|
5
|
-
<!-- #endif -->
|
|
6
|
-
<!-- #ifndef H5 -->
|
|
7
|
-
<image :src="imgSrc" :style="iconBoxStyle" />
|
|
8
|
-
<!-- #endif -->
|
|
9
|
-
<text v-if="label != ''" class="icon__label" :style="labelStyle">{{ label }}</text>
|
|
10
|
-
</view>
|
|
11
|
-
</template>
|
|
12
|
-
<script setup lang="uts">
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
import imgSrc from '@/uni_modules/@phill-component/icons/mobile/uvue/icon-oblique-line/oblique-line.png'
|
|
15
|
-
const props = defineProps({
|
|
16
|
-
size: { type: [String, Number], default: '1em' },
|
|
17
|
-
color: { type: String, default: 'var(--tsm-color-primary)' },
|
|
18
|
-
label: { type: [String, Number], default: '' },
|
|
19
|
-
labelPos: { type: String, default: 'right' },
|
|
20
|
-
labelSize: { type: [String, Number], default: '15px' },
|
|
21
|
-
labelColor: { type: String, default: '' },
|
|
22
|
-
space: { type: [String, Number], default: '3px' },
|
|
23
|
-
width: { type: [String, Number], default: '' },
|
|
24
|
-
height: { type: [String, Number], default: '' },
|
|
25
|
-
hoverClass: { type: String, default: '' },
|
|
26
|
-
index: { type: [String, Number], default: '' },
|
|
27
|
-
stop: { type: Boolean, default: false }
|
|
28
|
-
})
|
|
29
|
-
const emit = defineEmits(['click'])
|
|
30
|
-
function toPx(v: any): string {
|
|
31
|
-
if (typeof v === 'number') return (v as number).toString() + 'px'
|
|
32
|
-
const s = (v as string)
|
|
33
|
-
return s != '' ? s : ''
|
|
34
|
-
}
|
|
35
|
-
const iconW = computed((): string => (props.width != '' ? toPx(props.width) : toPx(props.size)))
|
|
36
|
-
const iconH = computed((): string => (props.height != '' ? toPx(props.height) : toPx(props.size)))
|
|
37
|
-
const iconStyle = computed((): UTSJSONObject => {
|
|
38
|
-
return { 'color': props.color != '' ? props.color : 'inherit' } as UTSJSONObject
|
|
39
|
-
})
|
|
40
|
-
const iconBoxStyle = computed((): UTSJSONObject => ({ width: iconW.value, height: iconH.value } as UTSJSONObject))
|
|
41
|
-
const wrapStyle = computed((): UTSJSONObject => {
|
|
42
|
-
const map = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' } as UTSJSONObject
|
|
43
|
-
let dir: string = 'row'
|
|
44
|
-
const cand = map[props.labelPos] as string | null
|
|
45
|
-
if (cand != null && cand.length > 0) {
|
|
46
|
-
dir = cand
|
|
47
|
-
}
|
|
48
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dir } as UTSJSONObject
|
|
49
|
-
})
|
|
50
|
-
const rootStyle = computed((): UTSJSONObject => {
|
|
51
|
-
const s = wrapStyle.value
|
|
52
|
-
const i = iconStyle.value
|
|
53
|
-
for (const key in i) {
|
|
54
|
-
s[key] = i[key]
|
|
55
|
-
}
|
|
56
|
-
return s
|
|
57
|
-
})
|
|
58
|
-
const labelStyle = computed((): UTSJSONObject => {
|
|
59
|
-
const out = {} as UTSJSONObject
|
|
60
|
-
if (props.labelColor != '') out['color'] = props.labelColor
|
|
61
|
-
out['fontSize'] = toPx(props.labelSize)
|
|
62
|
-
out['marginLeft'] = props.labelPos == 'right' ? toPx(props.space) : 0
|
|
63
|
-
out['marginTop'] = props.labelPos == 'bottom' ? toPx(props.space) : 0
|
|
64
|
-
out['marginRight'] = props.labelPos == 'left' ? toPx(props.space) : 0
|
|
65
|
-
out['marginBottom'] = props.labelPos == 'top' ? toPx(props.space) : 0
|
|
66
|
-
return out
|
|
67
|
-
})
|
|
68
|
-
function onTap(e: UniPointerEvent) {
|
|
69
|
-
emit('click', props.index)
|
|
70
|
-
if (props.stop) e.stopPropagation()
|
|
71
|
-
}
|
|
72
|
-
</script>
|
|
73
|
-
<style scoped>
|
|
74
|
-
.icon__label { line-height: 1; }
|
|
75
|
-
</style>
|
|
Binary file
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="rootStyle">
|
|
3
|
-
<!-- #ifdef H5 -->
|
|
4
|
-
<svg v-bind="$attrs" :style="iconStyle" :width="iconW" :height="iconH" fill="none" viewBox="0 0 48 48"><path stroke="currentColor" stroke-width="2" d="M34 11.5 39 9h1v32"/><path fill="currentColor" d="M24 17h1v1h-1zm0 13h1v1h-1z"/><path stroke="currentColor" stroke-width="2" d="M24 17h1v1h-1zm0 13h1v1h-1zM5.5 11.5l5-2.5h1v32"/></svg>
|
|
5
|
-
<!-- #endif -->
|
|
6
|
-
<!-- #ifndef H5 -->
|
|
7
|
-
<image :src="imgSrc" :style="iconBoxStyle" />
|
|
8
|
-
<!-- #endif -->
|
|
9
|
-
<text v-if="label != ''" class="icon__label" :style="labelStyle">{{ label }}</text>
|
|
10
|
-
</view>
|
|
11
|
-
</template>
|
|
12
|
-
<script setup lang="uts">
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
import imgSrc from '@/uni_modules/@phill-component/icons/mobile/uvue/icon-original-size/original-size.png'
|
|
15
|
-
const props = defineProps({
|
|
16
|
-
size: { type: [String, Number], default: '1em' },
|
|
17
|
-
color: { type: String, default: 'var(--tsm-color-primary)' },
|
|
18
|
-
label: { type: [String, Number], default: '' },
|
|
19
|
-
labelPos: { type: String, default: 'right' },
|
|
20
|
-
labelSize: { type: [String, Number], default: '15px' },
|
|
21
|
-
labelColor: { type: String, default: '' },
|
|
22
|
-
space: { type: [String, Number], default: '3px' },
|
|
23
|
-
width: { type: [String, Number], default: '' },
|
|
24
|
-
height: { type: [String, Number], default: '' },
|
|
25
|
-
hoverClass: { type: String, default: '' },
|
|
26
|
-
index: { type: [String, Number], default: '' },
|
|
27
|
-
stop: { type: Boolean, default: false }
|
|
28
|
-
})
|
|
29
|
-
const emit = defineEmits(['click'])
|
|
30
|
-
function toPx(v: any): string {
|
|
31
|
-
if (typeof v === 'number') return (v as number).toString() + 'px'
|
|
32
|
-
const s = (v as string)
|
|
33
|
-
return s != '' ? s : ''
|
|
34
|
-
}
|
|
35
|
-
const iconW = computed((): string => (props.width != '' ? toPx(props.width) : toPx(props.size)))
|
|
36
|
-
const iconH = computed((): string => (props.height != '' ? toPx(props.height) : toPx(props.size)))
|
|
37
|
-
const iconStyle = computed((): UTSJSONObject => {
|
|
38
|
-
return { 'color': props.color != '' ? props.color : 'inherit' } as UTSJSONObject
|
|
39
|
-
})
|
|
40
|
-
const iconBoxStyle = computed((): UTSJSONObject => ({ width: iconW.value, height: iconH.value } as UTSJSONObject))
|
|
41
|
-
const wrapStyle = computed((): UTSJSONObject => {
|
|
42
|
-
const map = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' } as UTSJSONObject
|
|
43
|
-
let dir: string = 'row'
|
|
44
|
-
const cand = map[props.labelPos] as string | null
|
|
45
|
-
if (cand != null && cand.length > 0) {
|
|
46
|
-
dir = cand
|
|
47
|
-
}
|
|
48
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dir } as UTSJSONObject
|
|
49
|
-
})
|
|
50
|
-
const rootStyle = computed((): UTSJSONObject => {
|
|
51
|
-
const s = wrapStyle.value
|
|
52
|
-
const i = iconStyle.value
|
|
53
|
-
for (const key in i) {
|
|
54
|
-
s[key] = i[key]
|
|
55
|
-
}
|
|
56
|
-
return s
|
|
57
|
-
})
|
|
58
|
-
const labelStyle = computed((): UTSJSONObject => {
|
|
59
|
-
const out = {} as UTSJSONObject
|
|
60
|
-
if (props.labelColor != '') out['color'] = props.labelColor
|
|
61
|
-
out['fontSize'] = toPx(props.labelSize)
|
|
62
|
-
out['marginLeft'] = props.labelPos == 'right' ? toPx(props.space) : 0
|
|
63
|
-
out['marginTop'] = props.labelPos == 'bottom' ? toPx(props.space) : 0
|
|
64
|
-
out['marginRight'] = props.labelPos == 'left' ? toPx(props.space) : 0
|
|
65
|
-
out['marginBottom'] = props.labelPos == 'top' ? toPx(props.space) : 0
|
|
66
|
-
return out
|
|
67
|
-
})
|
|
68
|
-
function onTap(e: UniPointerEvent) {
|
|
69
|
-
emit('click', props.index)
|
|
70
|
-
if (props.stop) e.stopPropagation()
|
|
71
|
-
}
|
|
72
|
-
</script>
|
|
73
|
-
<style scoped>
|
|
74
|
-
.icon__label { line-height: 1; }
|
|
75
|
-
</style>
|
|
Binary file
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="rootStyle">
|
|
3
|
-
<!-- #ifdef H5 -->
|
|
4
|
-
<svg v-bind="$attrs" :style="iconStyle" :width="iconW" :height="iconH" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M12 8a4 4 0 1 1 0 8.001 4 4 0 0 1 0-8m0 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4" clip-rule="evenodd"/><path fill="currentColor" fill-rule="evenodd" d="M10.539 2.634a2 2 0 0 1 2.922 0l1.675 1.793 2.453-.083a2 2 0 0 1 2.066 2.067l-.082 2.453 1.792 1.675a2 2 0 0 1 0 2.922l-1.792 1.675.082 2.452a2 2 0 0 1-2.067 2.067l-2.452-.082-1.675 1.792a2 2 0 0 1-2.922 0l-1.675-1.792-2.453.082a2 2 0 0 1-2.067-2.066l.083-2.453-1.793-1.675a2 2 0 0 1 0-2.922l1.793-1.675-.083-2.453a2 2 0 0 1 2.067-2.067l2.453.083zm-.214 3.158a2 2 0 0 1-1.53.634l-2.452-.083.083 2.452a2 2 0 0 1-.634 1.53L4 12l1.792 1.675a2 2 0 0 1 .634 1.53l-.083 2.453 2.452-.084a2 2 0 0 1 1.53.633L12 20l1.675-1.793a2 2 0 0 1 1.53-.633l2.453.084-.084-2.454a2 2 0 0 1 .633-1.529L20 12l-1.793-1.675a2 2 0 0 1-.633-1.53l.084-2.452-2.454.083a2 2 0 0 1-1.529-.634L12 4z" clip-rule="evenodd"/></svg>
|
|
5
|
-
<!-- #endif -->
|
|
6
|
-
<!-- #ifndef H5 -->
|
|
7
|
-
<image :src="imgSrc" :style="iconBoxStyle" />
|
|
8
|
-
<!-- #endif -->
|
|
9
|
-
<text v-if="label != ''" class="icon__label" :style="labelStyle">{{ label }}</text>
|
|
10
|
-
</view>
|
|
11
|
-
</template>
|
|
12
|
-
<script setup lang="uts">
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
import imgSrc from '@/uni_modules/@phill-component/icons/mobile/uvue/icon-setting/setting.png'
|
|
15
|
-
const props = defineProps({
|
|
16
|
-
size: { type: [String, Number], default: '1em' },
|
|
17
|
-
color: { type: String, default: 'var(--tsm-color-primary)' },
|
|
18
|
-
label: { type: [String, Number], default: '' },
|
|
19
|
-
labelPos: { type: String, default: 'right' },
|
|
20
|
-
labelSize: { type: [String, Number], default: '15px' },
|
|
21
|
-
labelColor: { type: String, default: '' },
|
|
22
|
-
space: { type: [String, Number], default: '3px' },
|
|
23
|
-
width: { type: [String, Number], default: '' },
|
|
24
|
-
height: { type: [String, Number], default: '' },
|
|
25
|
-
hoverClass: { type: String, default: '' },
|
|
26
|
-
index: { type: [String, Number], default: '' },
|
|
27
|
-
stop: { type: Boolean, default: false }
|
|
28
|
-
})
|
|
29
|
-
const emit = defineEmits(['click'])
|
|
30
|
-
function toPx(v: any): string {
|
|
31
|
-
if (typeof v === 'number') return (v as number).toString() + 'px'
|
|
32
|
-
const s = (v as string)
|
|
33
|
-
return s != '' ? s : ''
|
|
34
|
-
}
|
|
35
|
-
const iconW = computed((): string => (props.width != '' ? toPx(props.width) : toPx(props.size)))
|
|
36
|
-
const iconH = computed((): string => (props.height != '' ? toPx(props.height) : toPx(props.size)))
|
|
37
|
-
const iconStyle = computed((): UTSJSONObject => {
|
|
38
|
-
return { 'color': props.color != '' ? props.color : 'inherit' } as UTSJSONObject
|
|
39
|
-
})
|
|
40
|
-
const iconBoxStyle = computed((): UTSJSONObject => ({ width: iconW.value, height: iconH.value } as UTSJSONObject))
|
|
41
|
-
const wrapStyle = computed((): UTSJSONObject => {
|
|
42
|
-
const map = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' } as UTSJSONObject
|
|
43
|
-
let dir: string = 'row'
|
|
44
|
-
const cand = map[props.labelPos] as string | null
|
|
45
|
-
if (cand != null && cand.length > 0) {
|
|
46
|
-
dir = cand
|
|
47
|
-
}
|
|
48
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dir } as UTSJSONObject
|
|
49
|
-
})
|
|
50
|
-
const rootStyle = computed((): UTSJSONObject => {
|
|
51
|
-
const s = wrapStyle.value
|
|
52
|
-
const i = iconStyle.value
|
|
53
|
-
for (const key in i) {
|
|
54
|
-
s[key] = i[key]
|
|
55
|
-
}
|
|
56
|
-
return s
|
|
57
|
-
})
|
|
58
|
-
const labelStyle = computed((): UTSJSONObject => {
|
|
59
|
-
const out = {} as UTSJSONObject
|
|
60
|
-
if (props.labelColor != '') out['color'] = props.labelColor
|
|
61
|
-
out['fontSize'] = toPx(props.labelSize)
|
|
62
|
-
out['marginLeft'] = props.labelPos == 'right' ? toPx(props.space) : 0
|
|
63
|
-
out['marginTop'] = props.labelPos == 'bottom' ? toPx(props.space) : 0
|
|
64
|
-
out['marginRight'] = props.labelPos == 'left' ? toPx(props.space) : 0
|
|
65
|
-
out['marginBottom'] = props.labelPos == 'top' ? toPx(props.space) : 0
|
|
66
|
-
return out
|
|
67
|
-
})
|
|
68
|
-
function onTap(e: UniPointerEvent) {
|
|
69
|
-
emit('click', props.index)
|
|
70
|
-
if (props.stop) e.stopPropagation()
|
|
71
|
-
}
|
|
72
|
-
</script>
|
|
73
|
-
<style scoped>
|
|
74
|
-
.icon__label { line-height: 1; }
|
|
75
|
-
</style>
|
|
Binary file
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="rootStyle">
|
|
3
|
-
<!-- #ifdef H5 -->
|
|
4
|
-
<svg v-bind="$attrs" :style="iconStyle" :width="iconW" :height="iconH" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="currentColor" d="M18.059 12.905a2 2 0 0 1 1.6 3.199h.001c-.01.014-.544.747-.595 1.514l-.003 1.258 1.712.383a1.645 1.645 0 0 1 1.287 1.605v.65a.275.275 0 0 1-.274.275h-7.45a.275.275 0 0 1-.274-.274v-.653c0-.77.534-1.437 1.285-1.605l1.714-.386.003-1.14h-.004a2.6 2.6 0 0 0-.5-1.501 2.001 2.001 0 0 1 1.498-3.324"/><path fill="currentColor" d="M6.96 3.387c0-.598.431-1.082.962-1.082h5.77c.53 0 .96.484.96 1.082 0 .597-.43 1.082-.96 1.082h-5.77c-.53 0-.961-.485-.961-1.082"/><path fill="currentColor" d="M6.157 3.062q-.019.132-.02.27c0 1.046.824 1.895 1.842 1.895h5.524c1.017 0 1.842-.849 1.842-1.895a2 2 0 0 0-.02-.27h1.222c1.205 0 2.182.976 2.183 2.181v6.197a3.363 3.363 0 0 0-3.235 5.47c.11.163.272.473.272.849v.24l-.87.195a2.99 2.99 0 0 0-2.332 2.724H4.932a2.18 2.18 0 0 1-2.182-2.182V5.243c0-1.205.977-2.181 2.182-2.181z"/><path fill="currentColor" d="M6.95 3.332c0-.598.424-1.082.947-1.082h5.688c.523 0 .948.484.948 1.082s-.425 1.082-.948 1.082H7.897c-.523 0-.948-.484-.948-1.082"/><path fill="currentColor" fill-rule="evenodd" d="M14.604 8.9a.77.77 0 0 1 .169 1.11l-3.103 3.975c-1.133 1.468-2.234 1.071-3.128.217l-1.487-1.42a.77.77 0 0 1 0-1.12.857.857 0 0 1 1.173 0l1.487 1.42c.178.17.474.15.625-.044l3.103-3.976a.855.855 0 0 1 1.16-.162" clip-rule="evenodd"/></svg>
|
|
5
|
-
<!-- #endif -->
|
|
6
|
-
<!-- #ifndef H5 -->
|
|
7
|
-
<image :src="imgSrc" :style="iconBoxStyle" />
|
|
8
|
-
<!-- #endif -->
|
|
9
|
-
<text v-if="label != ''" class="icon__label" :style="labelStyle">{{ label }}</text>
|
|
10
|
-
</view>
|
|
11
|
-
</template>
|
|
12
|
-
<script setup lang="uts">
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
import imgSrc from '@/uni_modules/@phill-component/icons/mobile/uvue/icon-task/task.png'
|
|
15
|
-
const props = defineProps({
|
|
16
|
-
size: { type: [String, Number], default: '1em' },
|
|
17
|
-
color: { type: String, default: 'var(--tsm-color-primary)' },
|
|
18
|
-
label: { type: [String, Number], default: '' },
|
|
19
|
-
labelPos: { type: String, default: 'right' },
|
|
20
|
-
labelSize: { type: [String, Number], default: '15px' },
|
|
21
|
-
labelColor: { type: String, default: '' },
|
|
22
|
-
space: { type: [String, Number], default: '3px' },
|
|
23
|
-
width: { type: [String, Number], default: '' },
|
|
24
|
-
height: { type: [String, Number], default: '' },
|
|
25
|
-
hoverClass: { type: String, default: '' },
|
|
26
|
-
index: { type: [String, Number], default: '' },
|
|
27
|
-
stop: { type: Boolean, default: false }
|
|
28
|
-
})
|
|
29
|
-
const emit = defineEmits(['click'])
|
|
30
|
-
function toPx(v: any): string {
|
|
31
|
-
if (typeof v === 'number') return (v as number).toString() + 'px'
|
|
32
|
-
const s = (v as string)
|
|
33
|
-
return s != '' ? s : ''
|
|
34
|
-
}
|
|
35
|
-
const iconW = computed((): string => (props.width != '' ? toPx(props.width) : toPx(props.size)))
|
|
36
|
-
const iconH = computed((): string => (props.height != '' ? toPx(props.height) : toPx(props.size)))
|
|
37
|
-
const iconStyle = computed((): UTSJSONObject => {
|
|
38
|
-
return { 'color': props.color != '' ? props.color : 'inherit' } as UTSJSONObject
|
|
39
|
-
})
|
|
40
|
-
const iconBoxStyle = computed((): UTSJSONObject => ({ width: iconW.value, height: iconH.value } as UTSJSONObject))
|
|
41
|
-
const wrapStyle = computed((): UTSJSONObject => {
|
|
42
|
-
const map = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' } as UTSJSONObject
|
|
43
|
-
let dir: string = 'row'
|
|
44
|
-
const cand = map[props.labelPos] as string | null
|
|
45
|
-
if (cand != null && cand.length > 0) {
|
|
46
|
-
dir = cand
|
|
47
|
-
}
|
|
48
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dir } as UTSJSONObject
|
|
49
|
-
})
|
|
50
|
-
const rootStyle = computed((): UTSJSONObject => {
|
|
51
|
-
const s = wrapStyle.value
|
|
52
|
-
const i = iconStyle.value
|
|
53
|
-
for (const key in i) {
|
|
54
|
-
s[key] = i[key]
|
|
55
|
-
}
|
|
56
|
-
return s
|
|
57
|
-
})
|
|
58
|
-
const labelStyle = computed((): UTSJSONObject => {
|
|
59
|
-
const out = {} as UTSJSONObject
|
|
60
|
-
if (props.labelColor != '') out['color'] = props.labelColor
|
|
61
|
-
out['fontSize'] = toPx(props.labelSize)
|
|
62
|
-
out['marginLeft'] = props.labelPos == 'right' ? toPx(props.space) : 0
|
|
63
|
-
out['marginTop'] = props.labelPos == 'bottom' ? toPx(props.space) : 0
|
|
64
|
-
out['marginRight'] = props.labelPos == 'left' ? toPx(props.space) : 0
|
|
65
|
-
out['marginBottom'] = props.labelPos == 'top' ? toPx(props.space) : 0
|
|
66
|
-
return out
|
|
67
|
-
})
|
|
68
|
-
function onTap(e: UniPointerEvent) {
|
|
69
|
-
emit('click', props.index)
|
|
70
|
-
if (props.stop) e.stopPropagation()
|
|
71
|
-
}
|
|
72
|
-
</script>
|
|
73
|
-
<style scoped>
|
|
74
|
-
.icon__label { line-height: 1; }
|
|
75
|
-
</style>
|
|
Binary file
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="rootStyle">
|
|
3
|
-
<!-- #ifdef H5 -->
|
|
4
|
-
<svg v-bind="$attrs" :style="iconStyle" :width="iconW" :height="iconH" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="currentColor" d="M20 11a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2zM4 20h16v-7H4zm6-18a2 2 0 0 1 2 2v5a1 1 0 1 1-2 0V4H4v5a1 1 0 0 1-2 0V4a2 2 0 0 1 2-2zm8 0a1 1 0 0 1 1 .998l.006 3.23.954-.953a1 1 0 0 1 1.414 1.415l-2.657 2.657a1 1 0 0 1-1.414 0L14.646 6.69a1.001 1.001 0 0 1 1.415-1.415l.945.946L17.002 4H14.5a1 1 0 1 1 0-2z"/></svg>
|
|
5
|
-
<!-- #endif -->
|
|
6
|
-
<!-- #ifndef H5 -->
|
|
7
|
-
<image :src="imgSrc" :style="iconBoxStyle" />
|
|
8
|
-
<!-- #endif -->
|
|
9
|
-
<text v-if="label != ''" class="icon__label" :style="labelStyle">{{ label }}</text>
|
|
10
|
-
</view>
|
|
11
|
-
</template>
|
|
12
|
-
<script setup lang="uts">
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
import imgSrc from '@/uni_modules/@phill-component/icons/mobile/uvue/icon-to-landscape/to_landscape.png'
|
|
15
|
-
const props = defineProps({
|
|
16
|
-
size: { type: [String, Number], default: '1em' },
|
|
17
|
-
color: { type: String, default: 'var(--tsm-color-primary)' },
|
|
18
|
-
label: { type: [String, Number], default: '' },
|
|
19
|
-
labelPos: { type: String, default: 'right' },
|
|
20
|
-
labelSize: { type: [String, Number], default: '15px' },
|
|
21
|
-
labelColor: { type: String, default: '' },
|
|
22
|
-
space: { type: [String, Number], default: '3px' },
|
|
23
|
-
width: { type: [String, Number], default: '' },
|
|
24
|
-
height: { type: [String, Number], default: '' },
|
|
25
|
-
hoverClass: { type: String, default: '' },
|
|
26
|
-
index: { type: [String, Number], default: '' },
|
|
27
|
-
stop: { type: Boolean, default: false }
|
|
28
|
-
})
|
|
29
|
-
const emit = defineEmits(['click'])
|
|
30
|
-
function toPx(v: any): string {
|
|
31
|
-
if (typeof v === 'number') return (v as number).toString() + 'px'
|
|
32
|
-
const s = (v as string)
|
|
33
|
-
return s != '' ? s : ''
|
|
34
|
-
}
|
|
35
|
-
const iconW = computed((): string => (props.width != '' ? toPx(props.width) : toPx(props.size)))
|
|
36
|
-
const iconH = computed((): string => (props.height != '' ? toPx(props.height) : toPx(props.size)))
|
|
37
|
-
const iconStyle = computed((): UTSJSONObject => {
|
|
38
|
-
return { 'color': props.color != '' ? props.color : 'inherit' } as UTSJSONObject
|
|
39
|
-
})
|
|
40
|
-
const iconBoxStyle = computed((): UTSJSONObject => ({ width: iconW.value, height: iconH.value } as UTSJSONObject))
|
|
41
|
-
const wrapStyle = computed((): UTSJSONObject => {
|
|
42
|
-
const map = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' } as UTSJSONObject
|
|
43
|
-
let dir: string = 'row'
|
|
44
|
-
const cand = map[props.labelPos] as string | null
|
|
45
|
-
if (cand != null && cand.length > 0) {
|
|
46
|
-
dir = cand
|
|
47
|
-
}
|
|
48
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dir } as UTSJSONObject
|
|
49
|
-
})
|
|
50
|
-
const rootStyle = computed((): UTSJSONObject => {
|
|
51
|
-
const s = wrapStyle.value
|
|
52
|
-
const i = iconStyle.value
|
|
53
|
-
for (const key in i) {
|
|
54
|
-
s[key] = i[key]
|
|
55
|
-
}
|
|
56
|
-
return s
|
|
57
|
-
})
|
|
58
|
-
const labelStyle = computed((): UTSJSONObject => {
|
|
59
|
-
const out = {} as UTSJSONObject
|
|
60
|
-
if (props.labelColor != '') out['color'] = props.labelColor
|
|
61
|
-
out['fontSize'] = toPx(props.labelSize)
|
|
62
|
-
out['marginLeft'] = props.labelPos == 'right' ? toPx(props.space) : 0
|
|
63
|
-
out['marginTop'] = props.labelPos == 'bottom' ? toPx(props.space) : 0
|
|
64
|
-
out['marginRight'] = props.labelPos == 'left' ? toPx(props.space) : 0
|
|
65
|
-
out['marginBottom'] = props.labelPos == 'top' ? toPx(props.space) : 0
|
|
66
|
-
return out
|
|
67
|
-
})
|
|
68
|
-
function onTap(e: UniPointerEvent) {
|
|
69
|
-
emit('click', props.index)
|
|
70
|
-
if (props.stop) e.stopPropagation()
|
|
71
|
-
}
|
|
72
|
-
</script>
|
|
73
|
-
<style scoped>
|
|
74
|
-
.icon__label { line-height: 1; }
|
|
75
|
-
</style>
|
|
Binary file
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="rootStyle">
|
|
3
|
-
<!-- #ifdef H5 -->
|
|
4
|
-
<svg v-bind="$attrs" :style="iconStyle" :width="iconW" :height="iconH" fill="none" viewBox="0 0 48 48"><path stroke="currentColor" stroke-width="2" d="M32.607 32.607A14.95 14.95 0 0 0 37 22c0-8.284-6.716-15-15-15S7 13.716 7 22s6.716 15 15 15c4.142 0 7.892-1.679 10.607-4.393zm0 0L41.5 41.5M29 22H15m7 7V15"/></svg>
|
|
5
|
-
<!-- #endif -->
|
|
6
|
-
<!-- #ifndef H5 -->
|
|
7
|
-
<image :src="imgSrc" :style="iconBoxStyle" />
|
|
8
|
-
<!-- #endif -->
|
|
9
|
-
<text v-if="label != ''" class="icon__label" :style="labelStyle">{{ label }}</text>
|
|
10
|
-
</view>
|
|
11
|
-
</template>
|
|
12
|
-
<script setup lang="uts">
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
import imgSrc from '@/uni_modules/@phill-component/icons/mobile/uvue/icon-zoom-in/zoom-in.png'
|
|
15
|
-
const props = defineProps({
|
|
16
|
-
size: { type: [String, Number], default: '1em' },
|
|
17
|
-
color: { type: String, default: 'var(--tsm-color-primary)' },
|
|
18
|
-
label: { type: [String, Number], default: '' },
|
|
19
|
-
labelPos: { type: String, default: 'right' },
|
|
20
|
-
labelSize: { type: [String, Number], default: '15px' },
|
|
21
|
-
labelColor: { type: String, default: '' },
|
|
22
|
-
space: { type: [String, Number], default: '3px' },
|
|
23
|
-
width: { type: [String, Number], default: '' },
|
|
24
|
-
height: { type: [String, Number], default: '' },
|
|
25
|
-
hoverClass: { type: String, default: '' },
|
|
26
|
-
index: { type: [String, Number], default: '' },
|
|
27
|
-
stop: { type: Boolean, default: false }
|
|
28
|
-
})
|
|
29
|
-
const emit = defineEmits(['click'])
|
|
30
|
-
function toPx(v: any): string {
|
|
31
|
-
if (typeof v === 'number') return (v as number).toString() + 'px'
|
|
32
|
-
const s = (v as string)
|
|
33
|
-
return s != '' ? s : ''
|
|
34
|
-
}
|
|
35
|
-
const iconW = computed((): string => (props.width != '' ? toPx(props.width) : toPx(props.size)))
|
|
36
|
-
const iconH = computed((): string => (props.height != '' ? toPx(props.height) : toPx(props.size)))
|
|
37
|
-
const iconStyle = computed((): UTSJSONObject => {
|
|
38
|
-
return { 'color': props.color != '' ? props.color : 'inherit' } as UTSJSONObject
|
|
39
|
-
})
|
|
40
|
-
const iconBoxStyle = computed((): UTSJSONObject => ({ width: iconW.value, height: iconH.value } as UTSJSONObject))
|
|
41
|
-
const wrapStyle = computed((): UTSJSONObject => {
|
|
42
|
-
const map = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' } as UTSJSONObject
|
|
43
|
-
let dir: string = 'row'
|
|
44
|
-
const cand = map[props.labelPos] as string | null
|
|
45
|
-
if (cand != null && cand.length > 0) {
|
|
46
|
-
dir = cand
|
|
47
|
-
}
|
|
48
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dir } as UTSJSONObject
|
|
49
|
-
})
|
|
50
|
-
const rootStyle = computed((): UTSJSONObject => {
|
|
51
|
-
const s = wrapStyle.value
|
|
52
|
-
const i = iconStyle.value
|
|
53
|
-
for (const key in i) {
|
|
54
|
-
s[key] = i[key]
|
|
55
|
-
}
|
|
56
|
-
return s
|
|
57
|
-
})
|
|
58
|
-
const labelStyle = computed((): UTSJSONObject => {
|
|
59
|
-
const out = {} as UTSJSONObject
|
|
60
|
-
if (props.labelColor != '') out['color'] = props.labelColor
|
|
61
|
-
out['fontSize'] = toPx(props.labelSize)
|
|
62
|
-
out['marginLeft'] = props.labelPos == 'right' ? toPx(props.space) : 0
|
|
63
|
-
out['marginTop'] = props.labelPos == 'bottom' ? toPx(props.space) : 0
|
|
64
|
-
out['marginRight'] = props.labelPos == 'left' ? toPx(props.space) : 0
|
|
65
|
-
out['marginBottom'] = props.labelPos == 'top' ? toPx(props.space) : 0
|
|
66
|
-
return out
|
|
67
|
-
})
|
|
68
|
-
function onTap(e: UniPointerEvent) {
|
|
69
|
-
emit('click', props.index)
|
|
70
|
-
if (props.stop) e.stopPropagation()
|
|
71
|
-
}
|
|
72
|
-
</script>
|
|
73
|
-
<style scoped>
|
|
74
|
-
.icon__label { line-height: 1; }
|
|
75
|
-
</style>
|
|
Binary file
|