@tplc/business 0.2.3 → 0.2.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/CHANGELOG.md CHANGED
@@ -2,6 +2,37 @@
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.2.5](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.2.3...v0.2.5) (2024-12-02)
6
+
7
+
8
+ ### 🚀 Chore | 构建/工程依赖/工具
9
+
10
+ * **release:** 0.2.4 ([10b9b0f](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/10b9b0f905f3f29d13f4ebff43db68baeabc8ec1))
11
+
12
+
13
+ ### ✨ Features | 新功能
14
+
15
+ * 修改icon ([9fc14e0](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/9fc14e02d6a2ac3030ab86d1c5460e40929b51eb))
16
+ * 新增lcb-search params ([f80d853](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/f80d853bfb96c24f09ea16b054ee8e83cc18690e))
17
+ * 新增map ([4e97876](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/4e97876c4f74632bb3b2c7c106a21024d33d57bd))
18
+ * 订单跳转 ([3e89c5c](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/3e89c5c21b20c200e75037422ff3d9453b80225b))
19
+
20
+ ### [0.2.4](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.2.2...v0.2.4) (2024-11-28)
21
+
22
+
23
+ ### 🚀 Chore | 构建/工程依赖/工具
24
+
25
+ * **release:** 0.1.16 ([2c69e6f](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/2c69e6f2099187fa852420c52bca155c1b3a9368))
26
+ * **release:** 0.1.22 ([0b4e25d](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/0b4e25da273d86d8f014beb487d8d213504c6527))
27
+ * **release:** 0.2.1 ([bc2cd3d](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/bc2cd3dea73e5f07aac983749c7d19e1df477cbf))
28
+ * **release:** 0.2.3 ([75a3b55](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/75a3b55df8890b5fc914c79b4a200e1cf3a8d176))
29
+
30
+
31
+ ### ✨ Features | 新功能
32
+
33
+ * lcb-image 支持height ([1631e5f](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/1631e5fc1505748ed9db83aee52f27c4a80a29c2))
34
+ * 修改icon ([9fc14e0](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/9fc14e02d6a2ac3030ab86d1c5460e40929b51eb))
35
+
5
36
  ### [0.2.3](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.2.1...v0.2.3) (2024-11-28)
6
37
 
7
38
 
@@ -26,7 +26,14 @@
26
26
  <view class="text-#999999">{{ placeholder }}</view>
27
27
  </view>
28
28
  </view>
29
- <wd-icon name="search" size="36rpx" color="#333" custom-class="ml-4" />
29
+ <wd-icon
30
+ name="dianwei"
31
+ class-prefix="lcb"
32
+ size="36rpx"
33
+ color="#333"
34
+ custom-class="ml-4"
35
+ @click="toMap"
36
+ />
30
37
  </lcb-block>
31
38
  </template>
32
39
 
@@ -34,9 +41,10 @@
34
41
  import { useTranslate } from '@tplc/wot'
35
42
  import dayjs from 'dayjs/esm'
36
43
  import useLocation from '../../hooks/useLocation'
37
- import { ref } from 'vue'
44
+ import { inject, Ref, ref, watch } from 'vue'
38
45
  import { LcbCalendarSearchProps } from './types'
39
46
  import { ChildHotAddress } from '../lcb-city-select/api'
47
+ import { FORM_KEY } from '../../constants'
40
48
  defineOptions({
41
49
  name: 'LcbCalendarSearch',
42
50
  options: {
@@ -52,11 +60,33 @@ withDefaults(defineProps<LcbCalendarSearchProps>(), {
52
60
  icon: 'search',
53
61
  })
54
62
  const addressCity = ref<ChildHotAddress>()
55
-
63
+ const form = inject<Ref<Record<string, any>>>(FORM_KEY)
56
64
  const dayRange = ref([dayjs().valueOf(), dayjs().add(1, 'day').valueOf()])
57
65
  const { translate } = useTranslate()
58
66
  const { getLocation, userLocation } = useLocation()
67
+ watch(
68
+ () => addressCity.value,
69
+ (val) => {
70
+ form!.value = {
71
+ ...form!.value,
72
+ hotAddressId: val?.hotAddressId,
73
+ }
74
+ },
75
+ )
76
+ watch(
77
+ () => dayRange.value,
78
+ (val) => {
79
+ form!.value = {
80
+ ...form!.value,
81
+ checkInDate: dayjs(val[0]).format('YYYY-MM-DD'),
82
+ checkOutDate: dayjs(val[1]).format('YYYY-MM-DD'),
83
+ }
84
+ },
85
+ )
59
86
  getLocation()
87
+ const toMap = () => {
88
+ uni.$lcb.navigateTo(`/pages/map/index?form=${JSON.stringify(form?.value)}`)
89
+ }
60
90
  </script>
61
91
 
62
92
  <style lang="scss" scoped>
@@ -15,11 +15,12 @@
15
15
  </template>
16
16
 
17
17
  <script setup lang="ts">
18
- import { computed, getCurrentInstance, onMounted, ref, watch, watchEffect } from 'vue'
18
+ import { inject, Ref, ref, watch, watchEffect } from 'vue'
19
19
  import useZPaging from 'z-paging/components/z-paging/js/hooks/useZPaging'
20
- import { LcbFilterListProps } from './type'
20
+ import { FORM_KEY } from '../../../../constants'
21
21
  import { formatJson } from '../../../../utils/utils'
22
- import { getRect, isH5 } from '@tplc/wot/components/common/util'
22
+ import { LcbFilterListProps } from './type'
23
+ import useAutoHeight from '../../../../hooks/useAutoHeight'
23
24
 
24
25
  defineOptions({
25
26
  name: 'FilterList',
@@ -32,8 +33,8 @@ defineOptions({
32
33
  const props = defineProps<LcbFilterListProps>()
33
34
  const dataList = ref<unknown[]>([])
34
35
  const paging = ref()
35
- const viewPageHeight = uni.getSystemInfoSync().windowHeight
36
- const height = ref('')
36
+ const height = useAutoHeight()
37
+ const form = inject<Ref<Record<string, any>>>(FORM_KEY)
37
38
  useZPaging(paging)
38
39
  const modelValue = defineModel<unknown[]>({
39
40
  default: [],
@@ -83,7 +84,7 @@ const queryList = async (page: number, limit: number) => {
83
84
  try {
84
85
  const { data } = await uni.$lcb.http.post(props.url, {
85
86
  ...props.baseParam,
86
- ...props.filter,
87
+ ...form?.value,
87
88
  pageSearch: {
88
89
  limit,
89
90
  page,
@@ -94,17 +95,6 @@ const queryList = async (page: number, limit: number) => {
94
95
  paging.value.complete(false)
95
96
  }
96
97
  }
97
- const { proxy } = getCurrentInstance() as any
98
- const isTabBar = uni.$lcb.getIsTabbar()
99
- onMounted(() => {
100
- getRect(`#pagingTop`, false, proxy).then((res) => {
101
- if (!isTabBar || isH5) {
102
- height.value = `${viewPageHeight - (res.top || 0)}px`
103
- } else {
104
- height.value = `calc(${viewPageHeight - (res.top || 0)}px - var(--window-bottom) - env(safe-area-inset-bottom))`
105
- }
106
- })
107
- })
108
98
  </script>
109
99
  <style lang="scss" scoped>
110
100
  .action-view {
@@ -19,9 +19,10 @@
19
19
  />
20
20
 
21
21
  <FilterList
22
- v-bind="{ ...info.listInfo, listType, filter, ...attrs }"
22
+ v-bind="{ ...info.listInfo, listType, ...attrs }"
23
23
  :autoHeight="!isSticky"
24
24
  v-model="items"
25
+ v-if="mode === 'list'"
25
26
  >
26
27
  <slot name="list" :items="items" v-if="$slots.list" />
27
28
  <template v-else>
@@ -66,6 +67,7 @@ const props = withDefaults(defineProps<LcbListProps>(), {
66
67
  styleMode: 'default',
67
68
  listType: 'list',
68
69
  isSticky: true,
70
+ mode: 'list',
69
71
  // @ts-ignore
70
72
  pageListProps: () => ({
71
73
  productProps: {
@@ -8,6 +8,7 @@ export interface LcbListProps {
8
8
  styleMode?: 'default' | 'plain'
9
9
  listType?: LcbProductProps['listType']
10
10
  isSticky?: boolean
11
+ mode?: 'map' | 'list'
11
12
  }
12
13
  export interface Option {
13
14
  label: string
@@ -0,0 +1,203 @@
1
+ <template>
2
+ <view class="flex-col flex h-full w-full">
3
+ <view class="flex-1 h-0 relative">
4
+ <map
5
+ style="width: 100%; height: 100%"
6
+ :latitude="form.latitude"
7
+ :longitude="form.longitude"
8
+ :markers="info.covers"
9
+ show-location
10
+ show-compass
11
+ show-scale
12
+ @regionchange="onRegionChange"
13
+ @markertap="onMarkerTap"
14
+ />
15
+ <image
16
+ src="../../static/images/2.png"
17
+ class="w-36rpx h-66rpx absolute z-1 left-0 top-0 m-auto bottom-0 right-0"
18
+ />
19
+ <view class="absolute bottom-0 left-0 p-3 w-full box-border" v-if="data?.[current]">
20
+ <view class="card w-full !p-0">
21
+ <lcb-product-item :item="data?.[current]" />
22
+ </view>
23
+ </view>
24
+ </view>
25
+ </view>
26
+ </template>
27
+
28
+ <script lang="ts" setup>
29
+ import { FORM_KEY } from '@tplc/business/constants'
30
+ import { getJsonStrFirstUrl } from 'utils/transform'
31
+ import { reactive, inject, ref } from 'vue'
32
+ import { LcbMapProps } from './types'
33
+ export interface MapMarker {
34
+ id: number
35
+ name?: string
36
+ longitude: number
37
+ latitude: number
38
+ iconPath: string
39
+ width: number
40
+ height: number
41
+ poiId: string
42
+ anchor?: {
43
+ x: number
44
+ y: number
45
+ }
46
+ callout?: {
47
+ content: string
48
+ color: string
49
+ fontSize: number
50
+ borderRadius: number
51
+ bgColor: string
52
+ padding: number
53
+ display: 'ALWAYS' | 'BYCLICK'
54
+ }
55
+ zIndex?: number
56
+ }
57
+ defineOptions({
58
+ name: 'LcbMap',
59
+ options: {
60
+ addGlobalClass: true,
61
+ virtualHost: true,
62
+ styleIsolation: 'shared',
63
+ },
64
+ })
65
+ defineProps<LcbMapProps>()
66
+ const scaleRadius: Record<string, number> = {
67
+ 3: 1_000_000,
68
+ 4: 500_000,
69
+ 5: 200_000,
70
+ 6: 100_000,
71
+ 7: 50_000,
72
+ 8: 25_000,
73
+ 9: 20_000,
74
+ 10: 10_000,
75
+ 11: 5_000,
76
+ 12: 2_000,
77
+ 13: 1_000,
78
+ 14: 500,
79
+ 15: 200,
80
+ 16: 100,
81
+ 17: 50,
82
+ 18: 20,
83
+ 19: 10,
84
+ 20: 5,
85
+ }
86
+ const info = reactive({
87
+ covers: [] as MapMarker[],
88
+ })
89
+ const form = inject<Record<string, any>>(FORM_KEY, {})
90
+ const current = ref(0)
91
+ const data = ref<any[]>([])
92
+ const getData = async () => {
93
+ const { data: list } = await uni.$lcb.http.post<any[]>('/productInfo/map', form.value)
94
+ data.value = list
95
+ getCurrentData(list[0], list.slice(1, list.length))
96
+ }
97
+
98
+ const getLocation = () => {
99
+ uni.getLocation({
100
+ type: 'gcj02',
101
+ success: (res) => {
102
+ form.value.userLongitude = res.longitude
103
+ form.value.userLatitude = res.latitude
104
+ form.value.mapLatitude = res.latitude
105
+ form.value.mapLongitude = res.longitude
106
+ getData()
107
+ },
108
+ fail: () => {
109
+ uni.showToast({
110
+ title: '定位失败',
111
+ icon: 'none',
112
+ })
113
+ },
114
+ })
115
+ }
116
+ getLocation()
117
+ const onRegionChange = (e: {
118
+ type: string
119
+ detail: {
120
+ scale: number
121
+ centerLocation: {
122
+ latitude: number
123
+ longitude: number
124
+ }
125
+ }
126
+ }) => {
127
+ if (e.type === 'end') {
128
+ form.value.scale = e.detail.scale
129
+ form.value.mapLatitude = e.detail.centerLocation.latitude
130
+ form.value.mapLongitude = e.detail.centerLocation.longitude
131
+ form.value.mapViewRadius = scaleRadius[e.detail.scale]
132
+ getData()
133
+ }
134
+ }
135
+ const onMarkerTap = (e: { markerId: number }) => {
136
+ const marker = info.covers.find((item) => item?.id === e.markerId)
137
+ if (marker) {
138
+ const item = data.value?.find((item) => item?.poiId === marker.poiId)
139
+ const firstMarker = info.covers[0]!
140
+ getCurrentData(item, [
141
+ {
142
+ ...firstMarker,
143
+ id: e.markerId,
144
+ iconPath: '../../static/images/4.png',
145
+ width: 26,
146
+ height: 26,
147
+ },
148
+ ...info.covers.filter((item) => ![1, 2, e.markerId].includes(item.id)),
149
+ ])
150
+ }
151
+ }
152
+ const getCurrentData = (item: any, list: MapMarker[]) => {
153
+ uni.downloadFile({
154
+ url:
155
+ getJsonStrFirstUrl(item.coverImg) +
156
+ '?x-oss-process=image/resize,m_fixed,w_64,h_64/circle,r_100/format,png',
157
+ success: (res) => {
158
+ info.covers = [
159
+ {
160
+ id: 1,
161
+ iconPath: '../../static/images/3.png',
162
+ width: 42,
163
+ height: 49,
164
+ anchor: {
165
+ x: 0.5,
166
+ y: 0.78,
167
+ },
168
+ poiId: item.poiId,
169
+ latitude: item.latitude,
170
+ longitude: item.longitude,
171
+ },
172
+ {
173
+ zIndex: 2,
174
+ iconPath: res.tempFilePath,
175
+ width: 34,
176
+ height: 34,
177
+ id: 2,
178
+ poiId: item.poiId,
179
+ latitude: item.latitude,
180
+ longitude: item.longitude,
181
+ },
182
+ ...list.map((item: any, index: number) => ({
183
+ id: index + 3,
184
+ iconPath: '../../static/images/4.png',
185
+ width: 26,
186
+ height: 26,
187
+ poiId: item.poiId,
188
+ latitude: item.latitude,
189
+ longitude: item.longitude,
190
+ })),
191
+ ]
192
+ console.log(item.poiId, data.value)
193
+ current.value = data.value?.findIndex?.(({ poiId }) => item.poiId === poiId) || -1
194
+ },
195
+ })
196
+ }
197
+ </script>
198
+
199
+ <style>
200
+ page {
201
+ background-color: #f7f7f7;
202
+ }
203
+ </style>
@@ -0,0 +1,3 @@
1
+ export interface LcbMapProps {
2
+ // Define the component's prop types here
3
+ }
@@ -62,7 +62,7 @@ defineOptions({
62
62
  })
63
63
  const onClick = (item: IIconList) => {
64
64
  uni.navigateTo({
65
- url: `/pages/order/index?status=${item.status}`,
65
+ url: `/pages-sub/order/list?orderStatus=${item.status}`,
66
66
  })
67
67
  }
68
68
  const props = withDefaults(defineProps<LcbUserOrderProps>(), {
package/global.d.ts CHANGED
@@ -18,6 +18,7 @@ declare module 'vue' {
18
18
  'lcb-image': (typeof import('./types/components/lcb-image/lcb-image.vue'))['default']
19
19
  'lcb-img-nav': (typeof import('./types/components/lcb-img-nav/lcb-img-nav.vue'))['default']
20
20
  'lcb-list': (typeof import('./types/components/lcb-list/lcb-list.vue'))['default']
21
+ 'lcb-map': (typeof import('./types/components/lcb-map/lcb-map.vue'))['default']
21
22
  'lcb-nav': (typeof import('./types/components/lcb-nav/lcb-nav.vue'))['default']
22
23
  'lcb-notice': (typeof import('./types/components/lcb-notice/lcb-notice.vue'))['default']
23
24
  'lcb-product': (typeof import('./types/components/lcb-product/lcb-product.vue'))['default']
@@ -0,0 +1,20 @@
1
+ import { getRect, isH5 } from '@tplc/wot/components/common/util'
2
+ import { getCurrentInstance, onMounted, ref } from 'vue'
3
+
4
+ const useAutoHeight = () => {
5
+ const { proxy } = getCurrentInstance() as any
6
+ const isTabBar = uni.$lcb.getIsTabbar()
7
+ const viewPageHeight = uni.getSystemInfoSync().windowHeight
8
+ const height = ref('')
9
+ onMounted(() => {
10
+ getRect(`#pagingTop`, false, proxy).then((res) => {
11
+ if (!isTabBar || isH5) {
12
+ height.value = `${viewPageHeight - (res.top || 0)}px`
13
+ } else {
14
+ height.value = `calc(${viewPageHeight - (res.top || 0)}px - var(--window-bottom) - env(safe-area-inset-bottom))`
15
+ }
16
+ })
17
+ })
18
+ return height
19
+ }
20
+ export default useAutoHeight
@@ -1,9 +1,9 @@
1
1
  @font-face {
2
2
  font-family: 'lcb'; /* Project id 4710234 */
3
3
  src:
4
- url('//at.alicdn.com/t/c/font_4710234_0mlehmv59ri.woff2?t=1732780214312') format('woff2'),
5
- url('//at.alicdn.com/t/c/font_4710234_0mlehmv59ri.woff?t=1732780214312') format('woff'),
6
- url('//at.alicdn.com/t/c/font_4710234_0mlehmv59ri.ttf?t=1732780214312') format('truetype');
4
+ url('//at.alicdn.com/t/c/font_4710234_c6jvaimqgn5.woff2?t=1733119653266') format('woff2'),
5
+ url('//at.alicdn.com/t/c/font_4710234_c6jvaimqgn5.woff?t=1733119653266') format('woff'),
6
+ url('//at.alicdn.com/t/c/font_4710234_c6jvaimqgn5.ttf?t=1733119653266') format('truetype');
7
7
  }
8
8
 
9
9
  .lcb {
@@ -14,6 +14,26 @@
14
14
  -moz-osx-font-smoothing: grayscale;
15
15
  }
16
16
 
17
+ .lcb-dingwei:before {
18
+ content: '\e66c';
19
+ }
20
+
21
+ .lcb-you:before {
22
+ content: '\e66d';
23
+ }
24
+
25
+ .lcb-youbian:before {
26
+ content: '\e66e';
27
+ }
28
+
29
+ .lcb-zuobian:before {
30
+ content: '\e66f';
31
+ }
32
+
33
+ .lcb-zuo:before {
34
+ content: '\e670';
35
+ }
36
+
17
37
  .lcb-a-:before {
18
38
  content: '\e66b';
19
39
  }
package/package.json CHANGED
@@ -1,26 +1,17 @@
1
1
  {
2
2
  "name": "@tplc/business",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "keywords": [
5
5
  "业务组件"
6
6
  ],
7
7
  "type": "module",
8
- "scripts": {
9
- "pub": "pnpm dts && pnpm publish --no-git-checks",
10
- "dts": "rm -rf types && vue-tsc --project ./tsconfig.dts.json && pnpm prettier --write types",
11
- "release-major": "standard-version --release-as major ",
12
- "release-minor": "standard-version --release-as minor",
13
- "release-patch": "standard-version --release-as patch ",
14
- "generateComponent": "node ./scripts/createComponent.mjs",
15
- "generateGlobalDts": "node ./scripts/generateGlobalDts.mjs"
16
- },
17
8
  "publishConfig": {
18
9
  "access": "public",
19
10
  "registry": "https://registry.npmjs.org/"
20
11
  },
21
12
  "peerDependencies": {
22
- "@tplc/wot": "workspace:*",
23
- "vue": ">=3.2.47"
13
+ "vue": ">=3.2.47",
14
+ "@tplc/wot": "0.1.42"
24
15
  },
25
16
  "engines": {
26
17
  "node": ">=18",
@@ -33,5 +24,14 @@
33
24
  },
34
25
  "devDependencies": {
35
26
  "standard-version": "^9.5.0"
27
+ },
28
+ "scripts": {
29
+ "pub": "pnpm dts && pnpm publish --no-git-checks",
30
+ "dts": "rm -rf types && vue-tsc --project ./tsconfig.dts.json && pnpm prettier --write types",
31
+ "release-major": "standard-version --release-as major ",
32
+ "release-minor": "standard-version --release-as minor",
33
+ "release-patch": "standard-version --release-as patch ",
34
+ "generateComponent": "node ./scripts/createComponent.mjs",
35
+ "generateGlobalDts": "node ./scripts/generateGlobalDts.mjs"
36
36
  }
37
- }
37
+ }
@@ -22,6 +22,7 @@ declare const __VLS_component: import('vue').DefineComponent<
22
22
  import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<LcbListProps>, any>>
23
23
  >,
24
24
  {
25
+ mode: 'map' | 'list'
25
26
  listType: 'list' | 'horizontal' | 'grid' | 'waterfall'
26
27
  pageFilterType: string
27
28
  pageListProps: import('./components/FilterList/type').PageListProps
@@ -7,6 +7,7 @@ export interface LcbListProps {
7
7
  styleMode?: 'default' | 'plain'
8
8
  listType?: LcbProductProps['listType']
9
9
  isSticky?: boolean
10
+ mode?: 'map' | 'list'
10
11
  }
11
12
  export interface Option {
12
13
  label: string
@@ -0,0 +1,56 @@
1
+ export interface MapMarker {
2
+ id: number
3
+ name?: string
4
+ longitude: number
5
+ latitude: number
6
+ iconPath: string
7
+ width: number
8
+ height: number
9
+ poiId: string
10
+ anchor?: {
11
+ x: number
12
+ y: number
13
+ }
14
+ callout?: {
15
+ content: string
16
+ color: string
17
+ fontSize: number
18
+ borderRadius: number
19
+ bgColor: string
20
+ padding: number
21
+ display: 'ALWAYS' | 'BYCLICK'
22
+ }
23
+ zIndex?: number
24
+ }
25
+ declare const _default: import('vue').DefineComponent<
26
+ Readonly<
27
+ import('vue').ComponentPropsOptions<{
28
+ [x: string]: unknown
29
+ }>
30
+ >,
31
+ {},
32
+ unknown,
33
+ {},
34
+ {},
35
+ import('vue').ComponentOptionsMixin,
36
+ import('vue').ComponentOptionsMixin,
37
+ {},
38
+ string,
39
+ import('vue').PublicProps,
40
+ | readonly string[]
41
+ | Readonly<
42
+ import('vue').ExtractPropTypes<
43
+ Readonly<
44
+ import('vue').ComponentObjectPropsOptions<{
45
+ [x: string]: unknown
46
+ }>
47
+ >
48
+ >
49
+ >,
50
+ | {
51
+ readonly [x: number]: string
52
+ }
53
+ | {},
54
+ {}
55
+ >
56
+ export default _default
@@ -0,0 +1 @@
1
+ export interface LcbMapProps {}
@@ -0,0 +1,2 @@
1
+ declare const useAutoHeight: () => import('vue').Ref<string>
2
+ export default useAutoHeight