@phill-component/icons 1.10.3 → 1.10.6
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,58 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="[wrapStyle, iconStyle]">
|
|
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="M6.5 6.25a1.625 1.625 0 0 0 3.25 0V4.125h4.625v2a1.625 1.625 0 1 0 3.25 0v-2H19.5a2 2 0 0 1 2 2v7.166a3.07 3.07 0 0 0-2.088-.818 3.097 3.097 0 0 0-3.092 3.102c0 .76.273 1.455.725 1.994-2.167.837-3.08 2.83-3.068 4.056H4.5a2 2 0 0 1-2-2v-13.5a2 2 0 0 1 2-2h2z"/><path fill="currentColor" d="M7.557 14.718c.394 0 .714.32.714.715v1.228c0 .395-.32.714-.714.714H6.34a.714.714 0 0 1-.715-.714v-1.228c0-.395.32-.715.715-.715zm5.054 0c.395 0 .715.32.715.715v1.228c0 .395-.32.714-.715.714h-1.216a.714.714 0 0 1-.715-.714v-1.228c0-.395.32-.715.715-.715zm-5.054-4.593c.394 0 .714.32.714.715v1.228c0 .395-.32.714-.714.714H6.34a.714.714 0 0 1-.715-.714V10.84c0-.395.32-.715.715-.715zm5.054 0c.395 0 .715.32.715.715v1.228c0 .395-.32.714-.715.714h-1.216a.714.714 0 0 1-.715-.714V10.84c0-.395.32-.715.715-.715zm5.047 0c.395 0 .715.32.715.715v1.228c0 .395-.32.714-.715.714h-1.217a.714.714 0 0 1-.714-.714V10.84c0-.395.32-.715.714-.715z"/><rect width="2" height="4.752" x="7.125" y="2.5" fill="currentColor" rx="1"/><rect width="2" height="4.752" x="15" y="2.375" fill="currentColor" rx="1"/><path fill="currentColor" d="M19.652 18.436c3.333 0 4 2.006 4 2.675 0 .668-.665.67-.667.67H16.32s-.666-.001-.667-.67c0-.669.667-2.675 4-2.675m0-4.683c.53 0 1.04.211 1.414.588a2.01 2.01 0 0 1 0 2.838 1.997 1.997 0 0 1-2.828 0 2.01 2.01 0 0 1 0-2.838 2 2 0 0 1 1.414-.588"/></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>
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
import imgSrc from '@/uni_modules/@phill-component/icons/mobile/uvue/icon-calendar/calendar.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
|
-
const toPx = (v) => typeof v === 'number' ? (v + 'px') : (String(v||''));
|
|
31
|
-
const iconW = computed(() => props.width ? toPx(props.width) : toPx(props.size))
|
|
32
|
-
const iconH = computed(() => props.height ? toPx(props.height) : toPx(props.size))
|
|
33
|
-
const iconBoxStyle = computed(() => ({ width: iconW.value, height: iconH.value }))
|
|
34
|
-
const iconStyle = computed(() => {
|
|
35
|
-
return { color: props.color || 'inherit' }
|
|
36
|
-
})
|
|
37
|
-
const wrapStyle = computed(() => {
|
|
38
|
-
const dirMap = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' }
|
|
39
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dirMap[props.labelPos] || 'row' }
|
|
40
|
-
})
|
|
41
|
-
const labelStyle = computed(() => {
|
|
42
|
-
return {
|
|
43
|
-
color: props.labelColor || '',
|
|
44
|
-
fontSize: toPx(props.labelSize),
|
|
45
|
-
marginLeft: props.labelPos === 'right' ? toPx(props.space) : 0,
|
|
46
|
-
marginTop: props.labelPos === 'bottom' ? toPx(props.space) : 0,
|
|
47
|
-
marginRight: props.labelPos === 'left' ? toPx(props.space) : 0,
|
|
48
|
-
marginBottom: props.labelPos === 'top' ? toPx(props.space) : 0
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
function onTap(e) {
|
|
52
|
-
emit('click', props.index)
|
|
53
|
-
if (props.stop && e && e.stopPropagation) e.stopPropagation()
|
|
54
|
-
}
|
|
55
|
-
</script>
|
|
56
|
-
<style scoped>
|
|
57
|
-
.icon__label { line-height: 1; }
|
|
58
|
-
</style>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="[wrapStyle, iconStyle]">
|
|
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="M20 6h18a2 2 0 0 1 2 2v22"/><path stroke="currentColor" stroke-width="2" d="M8 40V16a2 2 0 0 1 2-2h20c1.105 0 2 .892 2 1.997v24.011A1.99 1.99 0 0 1 30.003 42H9.996A1.996 1.996 0 0 1 8 40z"/></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>
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
import imgSrc from '@/uni_modules/@phill-component/icons/mobile/uvue/icon-copy/copy.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
|
-
const toPx = (v) => typeof v === 'number' ? (v + 'px') : (String(v||''));
|
|
31
|
-
const iconW = computed(() => props.width ? toPx(props.width) : toPx(props.size))
|
|
32
|
-
const iconH = computed(() => props.height ? toPx(props.height) : toPx(props.size))
|
|
33
|
-
const iconBoxStyle = computed(() => ({ width: iconW.value, height: iconH.value }))
|
|
34
|
-
const iconStyle = computed(() => {
|
|
35
|
-
return { color: props.color || 'inherit' }
|
|
36
|
-
})
|
|
37
|
-
const wrapStyle = computed(() => {
|
|
38
|
-
const dirMap = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' }
|
|
39
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dirMap[props.labelPos] || 'row' }
|
|
40
|
-
})
|
|
41
|
-
const labelStyle = computed(() => {
|
|
42
|
-
return {
|
|
43
|
-
color: props.labelColor || '',
|
|
44
|
-
fontSize: toPx(props.labelSize),
|
|
45
|
-
marginLeft: props.labelPos === 'right' ? toPx(props.space) : 0,
|
|
46
|
-
marginTop: props.labelPos === 'bottom' ? toPx(props.space) : 0,
|
|
47
|
-
marginRight: props.labelPos === 'left' ? toPx(props.space) : 0,
|
|
48
|
-
marginBottom: props.labelPos === 'top' ? toPx(props.space) : 0
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
function onTap(e) {
|
|
52
|
-
emit('click', props.index)
|
|
53
|
-
if (props.stop && e && e.stopPropagation) e.stopPropagation()
|
|
54
|
-
}
|
|
55
|
-
</script>
|
|
56
|
-
<style scoped>
|
|
57
|
-
.icon__label { line-height: 1; }
|
|
58
|
-
</style>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="[wrapStyle, iconStyle]">
|
|
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="m30.479 19.038 5.734-5.734a1 1 0 0 0 0-1.414l-5.586-5.586a1 1 0 0 0-1.414 0l-5.734 5.734m7 7L15.763 33.754a1 1 0 0 1-.591.286l-6.047.708a1 1 0 0 1-1.113-1.069l.477-6.31a1 1 0 0 1 .29-.631l14.7-14.7m7 7-7-7M5.999 42h36"/></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>
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
import imgSrc from '@/uni_modules/@phill-component/icons/mobile/uvue/icon-edit/edit.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
|
-
const toPx = (v) => typeof v === 'number' ? (v + 'px') : (String(v||''));
|
|
31
|
-
const iconW = computed(() => props.width ? toPx(props.width) : toPx(props.size))
|
|
32
|
-
const iconH = computed(() => props.height ? toPx(props.height) : toPx(props.size))
|
|
33
|
-
const iconBoxStyle = computed(() => ({ width: iconW.value, height: iconH.value }))
|
|
34
|
-
const iconStyle = computed(() => {
|
|
35
|
-
return { color: props.color || 'inherit' }
|
|
36
|
-
})
|
|
37
|
-
const wrapStyle = computed(() => {
|
|
38
|
-
const dirMap = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' }
|
|
39
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dirMap[props.labelPos] || 'row' }
|
|
40
|
-
})
|
|
41
|
-
const labelStyle = computed(() => {
|
|
42
|
-
return {
|
|
43
|
-
color: props.labelColor || '',
|
|
44
|
-
fontSize: toPx(props.labelSize),
|
|
45
|
-
marginLeft: props.labelPos === 'right' ? toPx(props.space) : 0,
|
|
46
|
-
marginTop: props.labelPos === 'bottom' ? toPx(props.space) : 0,
|
|
47
|
-
marginRight: props.labelPos === 'left' ? toPx(props.space) : 0,
|
|
48
|
-
marginBottom: props.labelPos === 'top' ? toPx(props.space) : 0
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
function onTap(e) {
|
|
52
|
-
emit('click', props.index)
|
|
53
|
-
if (props.stop && e && e.stopPropagation) e.stopPropagation()
|
|
54
|
-
}
|
|
55
|
-
</script>
|
|
56
|
-
<style scoped>
|
|
57
|
-
.icon__label { line-height: 1; }
|
|
58
|
-
</style>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="[wrapStyle, iconStyle]">
|
|
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"><g filter="url(#a)"><path fill="currentColor" d="M4.5 3.6a3 3 0 0 1 3-3h7.366a3 3 0 0 1 2.266 1.034l3.433 3.958a3 3 0 0 1 .734 1.966V20.4a3 3 0 0 1-3 3H7.5a3 3 0 0 1-3-3z"/><path fill="currentColor" fill-opacity=".4" d="M4.5 3.6a3 3 0 0 1 3-3h7.366a3 3 0 0 1 2.266 1.034l3.433 3.958a3 3 0 0 1 .734 1.966V20.4a3 3 0 0 1-3 3H7.5a3 3 0 0 1-3-3z"/><path fill="currentColor" fill-opacity=".96" d="M4.5 3.6a3 3 0 0 1 3-3h7.366a3 3 0 0 1 2.266 1.034l3.433 3.958a3 3 0 0 1 .734 1.966V20.4a3 3 0 0 1-3 3H7.5a3 3 0 0 1-3-3z"/></g><path fill="currentColor" fill-opacity=".129" fill-rule="evenodd" d="M18.3 22.56H7.5a2.16 2.16 0 0 1-2.16-2.16V3.6A2.16 2.16 0 0 1 7.5 1.44h7.366q.317 0 .614.09v1.776a2.82 2.82 0 0 0 1.83 2.64l3.103 1.164q.046.22.046.448V20.4a2.16 2.16 0 0 1-2.16 2.16m1.49-16.58-3.293-3.796a2 2 0 0 0-.177-.181v1.303a1.98 1.98 0 0 0 1.285 1.854zM4.5 3.6a3 3 0 0 1 3-3h7.366a3 3 0 0 1 2.266 1.034l3.433 3.958a3 3 0 0 1 .734 1.966V20.4a3 3 0 0 1-3 3H7.5a3 3 0 0 1-3-3z" clip-rule="evenodd"/><g filter="url(#e)"><path fill="currentColor" d="M2.7 9a3 3 0 0 1 3-3h8.4a3 3 0 0 1 3 3v8.4a3 3 0 0 1-3 3H5.7a3 3 0 0 1-3-3z"/></g><path fill="currentColor" fill-opacity=".129" fill-rule="evenodd" d="M14.1 6.72H5.7A2.28 2.28 0 0 0 3.42 9v8.4a2.28 2.28 0 0 0 2.28 2.28h8.4a2.28 2.28 0 0 0 2.28-2.28V9a2.28 2.28 0 0 0-2.28-2.28M5.7 6a3 3 0 0 0-3 3v8.4a3 3 0 0 0 3 3h8.4a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3z" clip-rule="evenodd"/><path fill="currentColor" d="M8.356 8.326h1.287c.142 0 .257-.103.257-.229V6.95c0-.127-.115-.229-.257-.229H8.356c-.142 0-.256.102-.256.229v1.148c0 .126.114.229.256.229m3.087 0h-1.287c-.142 0-.256.102-.256.229v1.148c0 .127.114.229.256.229h1.287c.142 0 .257-.103.257-.229V8.555c0-.127-.115-.23-.257-.23m-3.087 3.212h1.287c.142 0 .257-.103.257-.229v-1.148c0-.127-.115-.23-.257-.23H8.356c-.142 0-.256.103-.256.23v1.148c0 .126.114.229.256.229m3.087 0h-1.287c-.142 0-.256.102-.256.228v1.149c0 .126.114.229.256.229h1.287c.142 0 .257-.103.257-.229v-1.149c0-.126-.115-.228-.257-.228m-.373 2.492H8.656c-.307 0-.556.223-.556.497v2.497c0 .274.249.496.556.496h2.414c.308 0 .557-.222.557-.496v-2.497c0-.274-.25-.497-.557-.497m-.088 2.644c0 .22-.2.398-.447.398H9.192c-.247 0-.447-.178-.447-.398v-.44c0-.22.2-.399.447-.399h1.342c.247 0 .448.179.448.4z"/><defs><linearGradient id="b" x1="12.677" x2="12.677" y1=".6" y2="23.4" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor"/><stop offset="1" stop-color="currentColor" stop-opacity=".9"/><stop offset="1" stop-color="currentColor" stop-opacity=".9"/></linearGradient><linearGradient id="c" x1="12.677" x2="12.677" y1=".6" y2="23.4" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor" stop-opacity=".4"/><stop offset="1" stop-color="currentColor"/></linearGradient><linearGradient id="d" x1="12.677" x2="12.677" y1=".6" y2="23.4" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor"/><stop offset="1" stop-color="currentColor" stop-opacity=".9"/></linearGradient><filter id="a" width="16.8" height="23.28" x="4.5" y=".12" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="-.48"/><feGaussianBlur stdDeviation=".24"/><feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"/><feColorMatrix values="0 0 0 0 0.00784314 0 0 0 0 0.0235294 0 0 0 0 0.168627 0 0 0 0.04 0"/><feBlend in2="shape" result="effect1_innerShadow_16434_6563"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="-.72"/><feGaussianBlur stdDeviation=".06"/><feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"/><feColorMatrix values="0 0 0 0 0.00784314 0 0 0 0 0.0235294 0 0 0 0 0.168627 0 0 0 0.02 0"/><feBlend in2="effect1_innerShadow_16434_6563" result="effect2_innerShadow_16434_6563"/></filter><filter id="e" width="18" height="18" x="2.1" y="4.8" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dx="1.2" dy=".6"/><feGaussianBlur stdDeviation=".9"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix values="0 0 0 0 0.698039 0 0 0 0 0.388235 0 0 0 0 0.988235 0 0 0 0.1 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_16434_6563"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_16434_6563" result="shape"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dx="-.6" dy="-.6"/><feGaussianBlur stdDeviation="1.2"/><feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"/><feColorMatrix values="0 0 0 0 0.336198 0 0 0 0 0.336198 0 0 0 0 0.336198 0 0 0 0.25 0"/><feBlend in2="shape" result="effect2_innerShadow_16434_6563"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dx=".6" dy="1.2"/><feGaussianBlur stdDeviation="1.8"/><feComposite in2="hardAlpha" k2="-1" k3="1" operator="arithmetic"/><feColorMatrix values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.3 0"/><feBlend in2="effect2_innerShadow_16434_6563" result="effect3_innerShadow_16434_6563"/></filter></defs></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>
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
import imgSrc from '@/uni_modules/@phill-component/icons/mobile/uvue/icon-file-fold/file_fold.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
|
-
const toPx = (v) => typeof v === 'number' ? (v + 'px') : (String(v||''));
|
|
31
|
-
const iconW = computed(() => props.width ? toPx(props.width) : toPx(props.size))
|
|
32
|
-
const iconH = computed(() => props.height ? toPx(props.height) : toPx(props.size))
|
|
33
|
-
const iconBoxStyle = computed(() => ({ width: iconW.value, height: iconH.value }))
|
|
34
|
-
const iconStyle = computed(() => {
|
|
35
|
-
return { color: props.color || 'inherit' }
|
|
36
|
-
})
|
|
37
|
-
const wrapStyle = computed(() => {
|
|
38
|
-
const dirMap = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' }
|
|
39
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dirMap[props.labelPos] || 'row' }
|
|
40
|
-
})
|
|
41
|
-
const labelStyle = computed(() => {
|
|
42
|
-
return {
|
|
43
|
-
color: props.labelColor || '',
|
|
44
|
-
fontSize: toPx(props.labelSize),
|
|
45
|
-
marginLeft: props.labelPos === 'right' ? toPx(props.space) : 0,
|
|
46
|
-
marginTop: props.labelPos === 'bottom' ? toPx(props.space) : 0,
|
|
47
|
-
marginRight: props.labelPos === 'left' ? toPx(props.space) : 0,
|
|
48
|
-
marginBottom: props.labelPos === 'top' ? toPx(props.space) : 0
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
function onTap(e) {
|
|
52
|
-
emit('click', props.index)
|
|
53
|
-
if (props.stop && e && e.stopPropagation) e.stopPropagation()
|
|
54
|
-
}
|
|
55
|
-
</script>
|
|
56
|
-
<style scoped>
|
|
57
|
-
.icon__label { line-height: 1; }
|
|
58
|
-
</style>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="[wrapStyle, iconStyle]">
|
|
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="M42.354 40.854 36.01 34.51m0 0a9 9 0 0 1-15.364-6.364c0-5 4-9 9-9s9 4 9 9a8.97 8.97 0 0 1-2.636 6.364zm5.636-26.365h-36m10 16h-10m10 16h-10"/></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>
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
import imgSrc from '@/uni_modules/@phill-component/icons/mobile/uvue/icon-find-replace/find-replace.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
|
-
const toPx = (v) => typeof v === 'number' ? (v + 'px') : (String(v||''));
|
|
31
|
-
const iconW = computed(() => props.width ? toPx(props.width) : toPx(props.size))
|
|
32
|
-
const iconH = computed(() => props.height ? toPx(props.height) : toPx(props.size))
|
|
33
|
-
const iconBoxStyle = computed(() => ({ width: iconW.value, height: iconH.value }))
|
|
34
|
-
const iconStyle = computed(() => {
|
|
35
|
-
return { color: props.color || 'inherit' }
|
|
36
|
-
})
|
|
37
|
-
const wrapStyle = computed(() => {
|
|
38
|
-
const dirMap = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' }
|
|
39
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dirMap[props.labelPos] || 'row' }
|
|
40
|
-
})
|
|
41
|
-
const labelStyle = computed(() => {
|
|
42
|
-
return {
|
|
43
|
-
color: props.labelColor || '',
|
|
44
|
-
fontSize: toPx(props.labelSize),
|
|
45
|
-
marginLeft: props.labelPos === 'right' ? toPx(props.space) : 0,
|
|
46
|
-
marginTop: props.labelPos === 'bottom' ? toPx(props.space) : 0,
|
|
47
|
-
marginRight: props.labelPos === 'left' ? toPx(props.space) : 0,
|
|
48
|
-
marginBottom: props.labelPos === 'top' ? toPx(props.space) : 0
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
function onTap(e) {
|
|
52
|
-
emit('click', props.index)
|
|
53
|
-
if (props.stop && e && e.stopPropagation) e.stopPropagation()
|
|
54
|
-
}
|
|
55
|
-
</script>
|
|
56
|
-
<style scoped>
|
|
57
|
-
.icon__label { line-height: 1; }
|
|
58
|
-
</style>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="[wrapStyle, iconStyle]">
|
|
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 6v18m0 0v18m0-18h20m0 0V6m0 18v18m6-7.5c0 3.038 2.239 5.5 5 5.5s5-2.462 5-5.5-2.239-5.5-5-5.5-5 2.462-5 5.5zm0 0v-5.73c0-4.444 3.867-7.677 8-7.263.437.044.736.08.952.115"/></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>
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
import imgSrc from '@/uni_modules/@phill-component/icons/mobile/uvue/icon-h6/h6.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
|
-
const toPx = (v) => typeof v === 'number' ? (v + 'px') : (String(v||''));
|
|
31
|
-
const iconW = computed(() => props.width ? toPx(props.width) : toPx(props.size))
|
|
32
|
-
const iconH = computed(() => props.height ? toPx(props.height) : toPx(props.size))
|
|
33
|
-
const iconBoxStyle = computed(() => ({ width: iconW.value, height: iconH.value }))
|
|
34
|
-
const iconStyle = computed(() => {
|
|
35
|
-
return { color: props.color || 'inherit' }
|
|
36
|
-
})
|
|
37
|
-
const wrapStyle = computed(() => {
|
|
38
|
-
const dirMap = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' }
|
|
39
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dirMap[props.labelPos] || 'row' }
|
|
40
|
-
})
|
|
41
|
-
const labelStyle = computed(() => {
|
|
42
|
-
return {
|
|
43
|
-
color: props.labelColor || '',
|
|
44
|
-
fontSize: toPx(props.labelSize),
|
|
45
|
-
marginLeft: props.labelPos === 'right' ? toPx(props.space) : 0,
|
|
46
|
-
marginTop: props.labelPos === 'bottom' ? toPx(props.space) : 0,
|
|
47
|
-
marginRight: props.labelPos === 'left' ? toPx(props.space) : 0,
|
|
48
|
-
marginBottom: props.labelPos === 'top' ? toPx(props.space) : 0
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
function onTap(e) {
|
|
52
|
-
emit('click', props.index)
|
|
53
|
-
if (props.stop && e && e.stopPropagation) e.stopPropagation()
|
|
54
|
-
}
|
|
55
|
-
</script>
|
|
56
|
-
<style scoped>
|
|
57
|
-
.icon__label { line-height: 1; }
|
|
58
|
-
</style>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="[wrapStyle, iconStyle]">
|
|
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>
|
|
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
|
-
const toPx = (v) => typeof v === 'number' ? (v + 'px') : (String(v||''));
|
|
31
|
-
const iconW = computed(() => props.width ? toPx(props.width) : toPx(props.size))
|
|
32
|
-
const iconH = computed(() => props.height ? toPx(props.height) : toPx(props.size))
|
|
33
|
-
const iconBoxStyle = computed(() => ({ width: iconW.value, height: iconH.value }))
|
|
34
|
-
const iconStyle = computed(() => {
|
|
35
|
-
return { color: props.color || 'inherit' }
|
|
36
|
-
})
|
|
37
|
-
const wrapStyle = computed(() => {
|
|
38
|
-
const dirMap = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' }
|
|
39
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dirMap[props.labelPos] || 'row' }
|
|
40
|
-
})
|
|
41
|
-
const labelStyle = computed(() => {
|
|
42
|
-
return {
|
|
43
|
-
color: props.labelColor || '',
|
|
44
|
-
fontSize: toPx(props.labelSize),
|
|
45
|
-
marginLeft: props.labelPos === 'right' ? toPx(props.space) : 0,
|
|
46
|
-
marginTop: props.labelPos === 'bottom' ? toPx(props.space) : 0,
|
|
47
|
-
marginRight: props.labelPos === 'left' ? toPx(props.space) : 0,
|
|
48
|
-
marginBottom: props.labelPos === 'top' ? toPx(props.space) : 0
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
function onTap(e) {
|
|
52
|
-
emit('click', props.index)
|
|
53
|
-
if (props.stop && e && e.stopPropagation) e.stopPropagation()
|
|
54
|
-
}
|
|
55
|
-
</script>
|
|
56
|
-
<style scoped>
|
|
57
|
-
.icon__label { line-height: 1; }
|
|
58
|
-
</style>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="[wrapStyle, iconStyle]">
|
|
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>
|
|
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
|
-
const toPx = (v) => typeof v === 'number' ? (v + 'px') : (String(v||''));
|
|
31
|
-
const iconW = computed(() => props.width ? toPx(props.width) : toPx(props.size))
|
|
32
|
-
const iconH = computed(() => props.height ? toPx(props.height) : toPx(props.size))
|
|
33
|
-
const iconBoxStyle = computed(() => ({ width: iconW.value, height: iconH.value }))
|
|
34
|
-
const iconStyle = computed(() => {
|
|
35
|
-
return { color: props.color || 'inherit' }
|
|
36
|
-
})
|
|
37
|
-
const wrapStyle = computed(() => {
|
|
38
|
-
const dirMap = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' }
|
|
39
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dirMap[props.labelPos] || 'row' }
|
|
40
|
-
})
|
|
41
|
-
const labelStyle = computed(() => {
|
|
42
|
-
return {
|
|
43
|
-
color: props.labelColor || '',
|
|
44
|
-
fontSize: toPx(props.labelSize),
|
|
45
|
-
marginLeft: props.labelPos === 'right' ? toPx(props.space) : 0,
|
|
46
|
-
marginTop: props.labelPos === 'bottom' ? toPx(props.space) : 0,
|
|
47
|
-
marginRight: props.labelPos === 'left' ? toPx(props.space) : 0,
|
|
48
|
-
marginBottom: props.labelPos === 'top' ? toPx(props.space) : 0
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
function onTap(e) {
|
|
52
|
-
emit('click', props.index)
|
|
53
|
-
if (props.stop && e && e.stopPropagation) e.stopPropagation()
|
|
54
|
-
}
|
|
55
|
-
</script>
|
|
56
|
-
<style scoped>
|
|
57
|
-
.icon__label { line-height: 1; }
|
|
58
|
-
</style>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="[wrapStyle, iconStyle]">
|
|
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>
|
|
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
|
-
const toPx = (v) => typeof v === 'number' ? (v + 'px') : (String(v||''));
|
|
31
|
-
const iconW = computed(() => props.width ? toPx(props.width) : toPx(props.size))
|
|
32
|
-
const iconH = computed(() => props.height ? toPx(props.height) : toPx(props.size))
|
|
33
|
-
const iconBoxStyle = computed(() => ({ width: iconW.value, height: iconH.value }))
|
|
34
|
-
const iconStyle = computed(() => {
|
|
35
|
-
return { color: props.color || 'inherit' }
|
|
36
|
-
})
|
|
37
|
-
const wrapStyle = computed(() => {
|
|
38
|
-
const dirMap = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' }
|
|
39
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dirMap[props.labelPos] || 'row' }
|
|
40
|
-
})
|
|
41
|
-
const labelStyle = computed(() => {
|
|
42
|
-
return {
|
|
43
|
-
color: props.labelColor || '',
|
|
44
|
-
fontSize: toPx(props.labelSize),
|
|
45
|
-
marginLeft: props.labelPos === 'right' ? toPx(props.space) : 0,
|
|
46
|
-
marginTop: props.labelPos === 'bottom' ? toPx(props.space) : 0,
|
|
47
|
-
marginRight: props.labelPos === 'left' ? toPx(props.space) : 0,
|
|
48
|
-
marginBottom: props.labelPos === 'top' ? toPx(props.space) : 0
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
function onTap(e) {
|
|
52
|
-
emit('click', props.index)
|
|
53
|
-
if (props.stop && e && e.stopPropagation) e.stopPropagation()
|
|
54
|
-
}
|
|
55
|
-
</script>
|
|
56
|
-
<style scoped>
|
|
57
|
-
.icon__label { line-height: 1; }
|
|
58
|
-
</style>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="icon" @tap="onTap" :hover-class="hoverClass" :style="[wrapStyle, iconStyle]">
|
|
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>
|
|
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
|
-
const toPx = (v) => typeof v === 'number' ? (v + 'px') : (String(v||''));
|
|
31
|
-
const iconW = computed(() => props.width ? toPx(props.width) : toPx(props.size))
|
|
32
|
-
const iconH = computed(() => props.height ? toPx(props.height) : toPx(props.size))
|
|
33
|
-
const iconBoxStyle = computed(() => ({ width: iconW.value, height: iconH.value }))
|
|
34
|
-
const iconStyle = computed(() => {
|
|
35
|
-
return { color: props.color || 'inherit' }
|
|
36
|
-
})
|
|
37
|
-
const wrapStyle = computed(() => {
|
|
38
|
-
const dirMap = { right: 'row', left: 'row-reverse', top: 'column-reverse', bottom: 'column' }
|
|
39
|
-
return { display: 'flex', alignItems: 'center', flexDirection: dirMap[props.labelPos] || 'row' }
|
|
40
|
-
})
|
|
41
|
-
const labelStyle = computed(() => {
|
|
42
|
-
return {
|
|
43
|
-
color: props.labelColor || '',
|
|
44
|
-
fontSize: toPx(props.labelSize),
|
|
45
|
-
marginLeft: props.labelPos === 'right' ? toPx(props.space) : 0,
|
|
46
|
-
marginTop: props.labelPos === 'bottom' ? toPx(props.space) : 0,
|
|
47
|
-
marginRight: props.labelPos === 'left' ? toPx(props.space) : 0,
|
|
48
|
-
marginBottom: props.labelPos === 'top' ? toPx(props.space) : 0
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
function onTap(e) {
|
|
52
|
-
emit('click', props.index)
|
|
53
|
-
if (props.stop && e && e.stopPropagation) e.stopPropagation()
|
|
54
|
-
}
|
|
55
|
-
</script>
|
|
56
|
-
<style scoped>
|
|
57
|
-
.icon__label { line-height: 1; }
|
|
58
|
-
</style>
|