@tplc/business 0.7.45 → 0.7.47

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/CHANGELOG.md CHANGED
@@ -2,6 +2,31 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.7.47](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/compare/v0.7.46...v0.7.47) (2026-01-05)
6
+
7
+
8
+ ### ✨ Features | 新功能
9
+
10
+ * **lcb-img-nav:** add multi-line horizontal card layout with icon border customization ([34d1f27](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/34d1f27d0d8073eefcf3867ef6cc608d297de84c))
11
+
12
+
13
+ ### ♻️ Code Refactoring | 代码重构
14
+
15
+ * **lcb-img-nav:** update item styling properties to use rowItemProps for better customization ([8709982](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/8709982e6e81f907bdabcc1c004d56ea31ff1645))
16
+
17
+ ### [0.7.46](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/compare/v0.7.44...v0.7.46) (2026-01-05)
18
+
19
+
20
+ ### 🚀 Chore | 构建/工程依赖/工具
21
+
22
+ * **release:** 0.7.45 ([eeda9cf](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/eeda9cfaa15ada437d7552b89611f99739592fb6))
23
+
24
+
25
+ ### ✨ Features | 新功能
26
+
27
+ * **lcb-button:** add fontFamily prop to customize button text styling ([9f4ccd4](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/9f4ccd497cbf49f0bf406da3f805f0662ed21cfe))
28
+ * **lcb-image:** add renderMode prop to control click behavior based on item.link ([0cd0b8b](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/0cd0b8b2fb6158f334b5ddc3171ae0cac6fc133c))
29
+
5
30
  ### [0.7.45](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/compare/v0.7.41...v0.7.45) (2026-01-04)
6
31
 
7
32
 
@@ -23,6 +23,7 @@
23
23
  2: 'mutil',
24
24
  3: 'cell',
25
25
  }[styleGroup!],
26
+ styleGroup === 2 && itemFlexMode === 'row' ? 'mutil-row' : '',
26
27
  ]"
27
28
  >
28
29
  <lcb-action-view
@@ -35,14 +36,14 @@
35
36
  <view
36
37
  class="!flex justify-center items-center item"
37
38
  :style="{
38
- backgroundColor: itemBgColor,
39
- borderRadius: transformValueUnit(itemRadius),
39
+ backgroundColor: rowItemProps?.backgroundColor,
40
+ borderRadius: rowItemProps?.borderRadius ? `${rowItemProps?.borderRadius}px` : '',
40
41
  padding: `${transformValueUnit(itemVerticalPadding)} ${transformValueUnit(itemHorizontalPadding)}`,
41
42
  flexDirection: styleGroup === 3 ? 'row' : itemFlexMode,
42
43
  gap: transformValueUnit(iconTextMargin),
43
44
  boxShadow:
44
- itemShadowColor && itemShadowSize
45
- ? `0px 0px ${itemBlurSize}px ${itemShadowSize}px ${itemShadowColor}`
45
+ rowItemProps?.shadowColor && rowItemProps?.shadowSize
46
+ ? `0px 0px ${rowItemProps?.blurSize}px ${rowItemProps?.shadowSize}px ${rowItemProps?.shadowColor}`
46
47
  : '',
47
48
  marginRight: styleGroup === 1 ? transformValueUnit(itemGap) : 0,
48
49
  }"
@@ -50,7 +51,23 @@
50
51
  divider: divider && index !== (items || []).length - 1 && styleGroup === 3,
51
52
  }"
52
53
  >
53
- <view class="overflow-hidden">
54
+ <view
55
+ class="overflow-hidden"
56
+ :style="{
57
+ width: iconSize + 'rpx',
58
+ height: iconSize + 'rpx',
59
+ borderRadius: iconRadius + 'px',
60
+ border:
61
+ iconBorderColor && iconBorderWidth
62
+ ? `${iconBorderWidth}px solid ${iconBorderColor}`
63
+ : '',
64
+ padding: iconPadding + 'px',
65
+ boxSizing: 'border-box',
66
+ display: 'flex',
67
+ alignItems: 'center',
68
+ justifyContent: 'center',
69
+ }"
70
+ >
54
71
  <wd-icon
55
72
  v-if="iconType === 0"
56
73
  class-prefix="lcb"
@@ -61,9 +78,9 @@
61
78
  <image
62
79
  v-else
63
80
  :style="{
64
- width: iconSize + 'rpx',
65
- height: iconSize + 'rpx',
66
- borderRadius: iconRadius + 'rpx',
81
+ width: '100%',
82
+ height: '100%',
83
+ borderRadius: transformValueUnit(iconRadius),
67
84
  }"
68
85
  :src="item[urlKey]"
69
86
  mode="aspectFit"
@@ -117,6 +134,8 @@ const props = withDefaults(defineProps<LcbImgNavProps>(), {
117
134
  textColor: '#212121',
118
135
  iconColor: '#212121',
119
136
  iconRadius: 0,
137
+ iconBorderColor: '',
138
+ iconBorderWidth: 0,
120
139
  paddingVertical: 36,
121
140
  iconSize: 80,
122
141
  paddingHorizontal: 0,
@@ -165,6 +184,12 @@ const renderItems = computed(() => {
165
184
  display: grid;
166
185
  row-gap: 36rpx;
167
186
  }
187
+
188
+ .mutil-row {
189
+ :deep(.title) {
190
+ flex: initial;
191
+ }
192
+ }
168
193
  .cell {
169
194
  display: flex;
170
195
  flex-direction: column;
@@ -173,7 +198,6 @@ const renderItems = computed(() => {
173
198
  flex-direction: row;
174
199
  }
175
200
  :deep(.title) {
176
- flex: 1;
177
201
  text-align: start;
178
202
  margin-left: 24rpx;
179
203
  }
@@ -29,6 +29,13 @@ export interface LcbImgNavProps extends LcbBlockProps {
29
29
  iconSize?: number
30
30
  /** 图标圆角 默认 0 */
31
31
  iconRadius?: number
32
+ /** 图标边框颜色(为空则不显示) */
33
+ iconBorderColor?: string
34
+ /** 图标边框宽度(单位:rpx) */
35
+ iconBorderWidth?: number
36
+ /** 图标边框圆角(单位:rpx) */
37
+ iconBorderRadius?: number
38
+ iconPadding?: number
32
39
  /** 文字与图标距离 */
33
40
  iconTextMargin?: number
34
41
  textFontWeight?: number
@@ -51,16 +58,18 @@ export interface LcbImgNavProps extends LcbBlockProps {
51
58
  titleKey?: string
52
59
  titleBottom?: number
53
60
 
54
- itemBgColor?: string
55
- itemRadius?: number
56
61
  itemVerticalPadding?: number
57
62
  itemHorizontalPadding?: number
58
63
  itemGap?: number
59
64
  itemFlexMode?: 'row' | 'column'
60
- /** 阴影颜色 */
61
- itemShadowColor?: string
62
- /** 阴影大小 */
63
- itemShadowSize?: number
64
- /** 模糊大小 */
65
- itemBlurSize?: number
65
+ rowItemProps?: {
66
+ /** 阴影颜色 */
67
+ shadowColor?: string
68
+ /** 阴影大小 */
69
+ shadowSize?: number
70
+ /** 模糊大小 */
71
+ blurSize?: number
72
+ backgroundColor?: string
73
+ borderRadius?: number
74
+ }
66
75
  }
@@ -7,6 +7,7 @@
7
7
  :direction="direction"
8
8
  :speed="speed"
9
9
  @click="handleClick"
10
+ :delay="delay"
10
11
  custom-class="!p-0 !rounded-none"
11
12
  >
12
13
  <template #prefix v-if="iconType !== -1 && icon">
@@ -12,4 +12,5 @@ export interface LcbNoticeBarProps extends LcbBlockProps {
12
12
  rightArrow?: boolean
13
13
  icon?: string
14
14
  iconSize?: number
15
+ delay?: number
15
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tplc/business",
3
- "version": "0.7.45",
3
+ "version": "0.7.47",
4
4
  "keywords": [
5
5
  "业务组件"
6
6
  ],
@@ -6,6 +6,8 @@ declare const _default: import('vue').DefineComponent<
6
6
  textColor: string
7
7
  iconColor: string
8
8
  iconRadius: number
9
+ iconBorderColor: string
10
+ iconBorderWidth: number
9
11
  paddingVertical: number
10
12
  iconSize: number
11
13
  paddingHorizontal: number
@@ -43,6 +45,8 @@ declare const _default: import('vue').DefineComponent<
43
45
  textColor: string
44
46
  iconColor: string
45
47
  iconRadius: number
48
+ iconBorderColor: string
49
+ iconBorderWidth: number
46
50
  paddingVertical: number
47
51
  iconSize: number
48
52
  paddingHorizontal: number
@@ -73,6 +77,8 @@ declare const _default: import('vue').DefineComponent<
73
77
  textColor: string
74
78
  pictureDistribution: 3 | 4 | 5
75
79
  iconRadius: number
80
+ iconBorderColor: string
81
+ iconBorderWidth: number
76
82
  iconTextMargin: number
77
83
  textFontWeight: number
78
84
  divider: boolean
@@ -28,6 +28,13 @@ export interface LcbImgNavProps extends LcbBlockProps {
28
28
  iconSize?: number
29
29
  /** 图标圆角 默认 0 */
30
30
  iconRadius?: number
31
+ /** 图标边框颜色(为空则不显示) */
32
+ iconBorderColor?: string
33
+ /** 图标边框宽度(单位:rpx) */
34
+ iconBorderWidth?: number
35
+ /** 图标边框圆角(单位:rpx) */
36
+ iconBorderRadius?: number
37
+ iconPadding?: number
31
38
  /** 文字与图标距离 */
32
39
  iconTextMargin?: number
33
40
  textFontWeight?: number
@@ -46,16 +53,18 @@ export interface LcbImgNavProps extends LcbBlockProps {
46
53
  urlKey?: string
47
54
  titleKey?: string
48
55
  titleBottom?: number
49
- itemBgColor?: string
50
- itemRadius?: number
51
56
  itemVerticalPadding?: number
52
57
  itemHorizontalPadding?: number
53
58
  itemGap?: number
54
59
  itemFlexMode?: 'row' | 'column'
55
- /** 阴影颜色 */
56
- itemShadowColor?: string
57
- /** 阴影大小 */
58
- itemShadowSize?: number
59
- /** 模糊大小 */
60
- itemBlurSize?: number
60
+ rowItemProps?: {
61
+ /** 阴影颜色 */
62
+ shadowColor?: string
63
+ /** 阴影大小 */
64
+ shadowSize?: number
65
+ /** 模糊大小 */
66
+ blurSize?: number
67
+ backgroundColor?: string
68
+ borderRadius?: number
69
+ }
61
70
  }
@@ -11,4 +11,5 @@ export interface LcbNoticeBarProps extends LcbBlockProps {
11
11
  rightArrow?: boolean
12
12
  icon?: string
13
13
  iconSize?: number
14
+ delay?: number
14
15
  }
@@ -39,12 +39,12 @@ declare const _default: import('vue').DefineComponent<
39
39
  >,
40
40
  {
41
41
  gap: number
42
- itemRadius: number
43
42
  itemVerticalPadding: number
44
43
  itemHorizontalPadding: number
45
44
  itemFontSize: number
46
45
  tagsMode: 'scroll' | 'tiled'
47
46
  itemBackgroundColor: string
47
+ itemRadius: number
48
48
  },
49
49
  {}
50
50
  >