From 3e53beb7bbb6bd6bbcb0c53c2f20c2a0de24c0a5 Mon Sep 17 00:00:00 2001
From: zhengw <247276359@qq.com>
Date: Fri, 28 Nov 2025 16:49:36 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE,?=
=?UTF-8?q?=20=E6=B7=BB=E5=8A=A0TDesign=E7=AD=89=E5=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 1 +
miniprogram/app.json | 20 +
miniprogram/app.ts | 22 +
miniprogram/app.wxss | 3 +
miniprogram/miniprogram_npm/big.js/index.js | 1058 +
.../miniprogram_npm/big.js/index.js.map | 1 +
.../tdesign-miniprogram/.wechatide.ib.json | 1 +
.../action-sheet/action-sheet.d.ts | 88 +
.../action-sheet/action-sheet.js | 1 +
.../action-sheet/action-sheet.json | 1 +
.../action-sheet/action-sheet.wxml | 1 +
.../action-sheet/action-sheet.wxs | 19 +
.../action-sheet/action-sheet.wxss | 29 +
.../action-sheet/index.d.ts | 8 +
.../tdesign-miniprogram/action-sheet/index.js | 1 +
.../action-sheet/props.d.ts | 3 +
.../tdesign-miniprogram/action-sheet/props.js | 1 +
.../action-sheet/show.d.ts | 26 +
.../tdesign-miniprogram/action-sheet/show.js | 1 +
.../action-sheet/template/grid.wxml | 1 +
.../action-sheet/template/list.wxml | 1 +
.../action-sheet/type.d.ts | 59 +
.../tdesign-miniprogram/action-sheet/type.js | 1 +
.../avatar-group/avatar-group.d.ts | 28 +
.../avatar-group/avatar-group.js | 1 +
.../avatar-group/avatar-group.json | 1 +
.../avatar-group/avatar-group.wxml | 1 +
.../avatar-group/avatar-group.wxss | 59 +
.../avatar-group/props.d.ts | 3 +
.../tdesign-miniprogram/avatar-group/props.js | 1 +
.../avatar-group/type.d.ts | 24 +
.../tdesign-miniprogram/avatar-group/type.js | 1 +
.../tdesign-miniprogram/avatar/avatar.d.ts | 22 +
.../tdesign-miniprogram/avatar/avatar.js | 1 +
.../tdesign-miniprogram/avatar/avatar.json | 1 +
.../tdesign-miniprogram/avatar/avatar.wxml | 1 +
.../tdesign-miniprogram/avatar/avatar.wxs | 30 +
.../tdesign-miniprogram/avatar/avatar.wxss | 17 +
.../tdesign-miniprogram/avatar/props.d.ts | 3 +
.../tdesign-miniprogram/avatar/props.js | 1 +
.../tdesign-miniprogram/avatar/type.d.ts | 41 +
.../tdesign-miniprogram/avatar/type.js | 1 +
.../back-top/back-top.d.ts | 26 +
.../tdesign-miniprogram/back-top/back-top.js | 1 +
.../back-top/back-top.json | 1 +
.../back-top/back-top.wxml | 1 +
.../back-top/back-top.wxss | 10 +
.../tdesign-miniprogram/back-top/props.d.ts | 3 +
.../tdesign-miniprogram/back-top/props.js | 1 +
.../tdesign-miniprogram/back-top/type.d.ts | 26 +
.../tdesign-miniprogram/back-top/type.js | 1 +
.../tdesign-miniprogram/badge/badge.d.ts | 21 +
.../tdesign-miniprogram/badge/badge.js | 1 +
.../tdesign-miniprogram/badge/badge.json | 1 +
.../tdesign-miniprogram/badge/badge.wxml | 1 +
.../tdesign-miniprogram/badge/badge.wxs | 71 +
.../tdesign-miniprogram/badge/badge.wxss | 15 +
.../tdesign-miniprogram/badge/index.d.ts | 3 +
.../tdesign-miniprogram/badge/index.js | 1 +
.../tdesign-miniprogram/badge/props.d.ts | 3 +
.../tdesign-miniprogram/badge/props.js | 1 +
.../tdesign-miniprogram/badge/type.d.ts | 38 +
.../tdesign-miniprogram/badge/type.js | 1 +
.../tdesign-miniprogram/button/button.d.ts | 38 +
.../tdesign-miniprogram/button/button.js | 1 +
.../tdesign-miniprogram/button/button.json | 1 +
.../tdesign-miniprogram/button/button.wxml | 1 +
.../tdesign-miniprogram/button/button.wxss | 129 +
.../tdesign-miniprogram/button/index.d.ts | 3 +
.../tdesign-miniprogram/button/index.js | 1 +
.../tdesign-miniprogram/button/props.d.ts | 3 +
.../tdesign-miniprogram/button/props.js | 1 +
.../tdesign-miniprogram/button/type.d.ts | 111 +
.../tdesign-miniprogram/button/type.js | 1 +
.../calendar/calendar-header.wxml | 1 +
.../calendar/calendar.d.ts | 64 +
.../tdesign-miniprogram/calendar/calendar.js | 1 +
.../calendar/calendar.json | 1 +
.../calendar/calendar.wxml | 1 +
.../tdesign-miniprogram/calendar/calendar.wxs | 44 +
.../calendar/calendar.wxss | 39 +
.../tdesign-miniprogram/calendar/index.d.ts | 2 +
.../tdesign-miniprogram/calendar/index.js | 1 +
.../tdesign-miniprogram/calendar/props.d.ts | 3 +
.../tdesign-miniprogram/calendar/props.js | 1 +
.../calendar/template.wxml | 1 +
.../tdesign-miniprogram/calendar/type.d.ts | 88 +
.../tdesign-miniprogram/calendar/type.js | 1 +
.../tdesign-miniprogram/calendar/utils.d.ts | 6 +
.../tdesign-miniprogram/calendar/utils.js | 1 +
.../cascader/cascader.d.ts | 59 +
.../tdesign-miniprogram/cascader/cascader.js | 1 +
.../cascader/cascader.json | 1 +
.../cascader/cascader.wxml | 1 +
.../cascader/cascader.wxss | 17 +
.../tdesign-miniprogram/cascader/props.d.ts | 3 +
.../tdesign-miniprogram/cascader/props.js | 1 +
.../tdesign-miniprogram/cascader/type.d.ts | 48 +
.../tdesign-miniprogram/cascader/type.js | 1 +
.../cell-group/cell-group.d.ts | 13 +
.../cell-group/cell-group.js | 1 +
.../cell-group/cell-group.json | 1 +
.../cell-group/cell-group.wxml | 1 +
.../cell-group/cell-group.wxss | 5 +
.../tdesign-miniprogram/cell-group/props.d.ts | 3 +
.../tdesign-miniprogram/cell-group/props.js | 1 +
.../tdesign-miniprogram/cell-group/type.d.ts | 14 +
.../tdesign-miniprogram/cell-group/type.js | 1 +
.../tdesign-miniprogram/cell/cell.d.ts | 22 +
.../tdesign-miniprogram/cell/cell.js | 1 +
.../tdesign-miniprogram/cell/cell.json | 1 +
.../tdesign-miniprogram/cell/cell.wxml | 1 +
.../tdesign-miniprogram/cell/cell.wxss | 21 +
.../tdesign-miniprogram/cell/props.d.ts | 3 +
.../tdesign-miniprogram/cell/props.js | 1 +
.../tdesign-miniprogram/cell/type.d.ts | 54 +
.../tdesign-miniprogram/cell/type.js | 1 +
.../check-tag/check-tag.d.ts | 29 +
.../check-tag/check-tag.js | 1 +
.../check-tag/check-tag.json | 1 +
.../check-tag/check-tag.wxml | 1 +
.../check-tag/check-tag.wxss | 45 +
.../tdesign-miniprogram/check-tag/props.d.ts | 3 +
.../tdesign-miniprogram/check-tag/props.js | 1 +
.../tdesign-miniprogram/check-tag/type.d.ts | 39 +
.../tdesign-miniprogram/check-tag/type.js | 1 +
.../checkbox-group/checkbox-group.d.ts | 39 +
.../checkbox-group/checkbox-group.js | 1 +
.../checkbox-group/checkbox-group.json | 1 +
.../checkbox-group/checkbox-group.wxml | 1 +
.../checkbox-group/checkbox-group.wxss | 1 +
.../checkbox-group/props.d.ts | 3 +
.../checkbox-group/props.js | 1 +
.../checkbox-group/type.d.ts | 47 +
.../checkbox-group/type.js | 1 +
.../checkbox/checkbox.d.ts | 100 +
.../tdesign-miniprogram/checkbox/checkbox.js | 1 +
.../checkbox/checkbox.json | 1 +
.../checkbox/checkbox.wxml | 1 +
.../checkbox/checkbox.wxss | 34 +
.../tdesign-miniprogram/checkbox/props.d.ts | 3 +
.../tdesign-miniprogram/checkbox/props.js | 1 +
.../tdesign-miniprogram/checkbox/type.d.ts | 70 +
.../tdesign-miniprogram/checkbox/type.js | 1 +
.../tdesign-miniprogram/col/col.d.ts | 10 +
.../tdesign-miniprogram/col/col.js | 1 +
.../tdesign-miniprogram/col/col.json | 1 +
.../tdesign-miniprogram/col/col.wxml | 1 +
.../tdesign-miniprogram/col/col.wxs | 17 +
.../tdesign-miniprogram/col/col.wxss | 49 +
.../tdesign-miniprogram/col/props.d.ts | 3 +
.../tdesign-miniprogram/col/props.js | 1 +
.../tdesign-miniprogram/col/type.d.ts | 10 +
.../tdesign-miniprogram/col/type.js | 1 +
.../collapse-panel/collapse-panel.d.ts | 28 +
.../collapse-panel/collapse-panel.js | 1 +
.../collapse-panel/collapse-panel.json | 1 +
.../collapse-panel/collapse-panel.wxml | 1 +
.../collapse-panel/collapse-panel.wxss | 32 +
.../collapse-panel/props.d.ts | 3 +
.../collapse-panel/props.js | 1 +
.../collapse-panel/type.d.ts | 34 +
.../collapse-panel/type.js | 1 +
.../collapse/collapse.d.ts | 24 +
.../tdesign-miniprogram/collapse/collapse.js | 1 +
.../collapse/collapse.json | 1 +
.../collapse/collapse.wxml | 1 +
.../collapse/collapse.wxss | 1 +
.../tdesign-miniprogram/collapse/index.d.ts | 4 +
.../tdesign-miniprogram/collapse/index.js | 1 +
.../tdesign-miniprogram/collapse/props.d.ts | 3 +
.../tdesign-miniprogram/collapse/props.js | 1 +
.../tdesign-miniprogram/collapse/type.d.ts | 31 +
.../tdesign-miniprogram/collapse/type.js | 1 +
.../color-picker/color-picker.d.ts | 104 +
.../color-picker/color-picker.js | 1 +
.../color-picker/color-picker.json | 1 +
.../color-picker/color-picker.wxml | 1 +
.../color-picker/color-picker.wxss | 42 +
.../color-picker/constants.d.ts | 7 +
.../color-picker/constants.js | 1 +
.../color-picker/interfaces.d.ts | 5 +
.../color-picker/interfaces.js | 1 +
.../color-picker/props.d.ts | 3 +
.../tdesign-miniprogram/color-picker/props.js | 1 +
.../color-picker/template.wxml | 1 +
.../color-picker/type.d.ts | 57 +
.../tdesign-miniprogram/color-picker/type.js | 1 +
.../color-picker/utils.d.ts | 1 +
.../tdesign-miniprogram/color-picker/utils.js | 1 +
.../tdesign-miniprogram/common/bus.d.ts | 7 +
.../tdesign-miniprogram/common/bus.js | 1 +
.../tdesign-miniprogram/common/common.d.ts | 56 +
.../tdesign-miniprogram/common/common.js | 1 +
.../tdesign-miniprogram/common/component.d.ts | 3 +
.../tdesign-miniprogram/common/component.js | 1 +
.../tdesign-miniprogram/common/config.d.ts | 5 +
.../tdesign-miniprogram/common/config.js | 1 +
.../common/shared/calendar/index.d.ts | 20 +
.../common/shared/calendar/index.js | 1 +
.../common/shared/calendar/type.d.ts | 11 +
.../common/shared/calendar/type.js | 1 +
.../common/shared/color-picker/cmyk.d.ts | 7 +
.../common/shared/color-picker/cmyk.js | 1 +
.../common/shared/color-picker/color.d.ts | 107 +
.../common/shared/color-picker/color.js | 1 +
.../common/shared/color-picker/gradient.d.ts | 12 +
.../common/shared/color-picker/gradient.js | 1 +
.../common/shared/color-picker/index.d.ts | 3 +
.../common/shared/color-picker/index.js | 1 +
.../common/shared/date.d.ts | 21 +
.../tdesign-miniprogram/common/shared/date.js | 1 +
.../common/shared/qrcode/qrcodegen.d.ts | 80 +
.../common/shared/qrcode/qrcodegen.js | 1 +
.../common/shared/qrcode/types.d.ts | 23 +
.../common/shared/qrcode/types.js | 1 +
.../common/shared/qrcode/utils.d.ts | 24 +
.../common/shared/qrcode/utils.js | 1 +
.../common/src/control.d.ts | 15 +
.../tdesign-miniprogram/common/src/control.js | 1 +
.../common/src/flatTool.d.ts | 13 +
.../common/src/flatTool.js | 1 +
.../tdesign-miniprogram/common/src/index.d.ts | 4 +
.../tdesign-miniprogram/common/src/index.js | 1 +
.../common/src/instantiationDecorator.d.ts | 3 +
.../common/src/instantiationDecorator.js | 1 +
.../common/src/superComponent.d.ts | 19 +
.../common/src/superComponent.js | 1 +
.../common/style/_variables.wxss | 0
.../common/style/base.wxss | 0
.../common/style/icons.wxss | 0
.../common/style/index.wxss | 2 +
.../common/style/mixins/_border.wxss | 0
.../common/style/mixins/_clearfix.wxss | 0
.../common/style/mixins/_cursor.wxss | 0
.../common/style/mixins/_ellipsis.wxss | 0
.../common/style/mixins/_hairline.wxss | 0
.../common/style/mixins/_index.wxss | 0
.../common/style/mixins/_other.wxss | 0
.../common/style/theme/_components.wxss | 4 +
.../common/style/theme/_dark.wxss | 2 +
.../common/style/theme/_font.wxss | 1 +
.../common/style/theme/_index.wxss | 11 +
.../common/style/theme/_light.wxss | 2 +
.../common/style/theme/_radius.wxss | 1 +
.../common/style/theme/_spacer.wxss | 1 +
.../common/style/utilities/_index.wxss | 2 +
.../common/template/badge.wxml | 1 +
.../common/template/button.wxml | 1 +
.../common/template/icon.wxml | 1 +
.../common/template/image.wxml | 1 +
.../tdesign-miniprogram/common/utils.d.ts | 38 +
.../tdesign-miniprogram/common/utils.js | 1 +
.../tdesign-miniprogram/common/utils.wxs | 149 +
.../tdesign-miniprogram/common/validator.d.ts | 9 +
.../tdesign-miniprogram/common/validator.js | 1 +
.../tdesign-miniprogram/common/version.d.ts | 4 +
.../tdesign-miniprogram/common/version.js | 1 +
.../tdesign-miniprogram/common/wechat.d.ts | 4 +
.../tdesign-miniprogram/common/wechat.js | 1 +
.../count-down/count-down.d.ts | 34 +
.../count-down/count-down.js | 1 +
.../count-down/count-down.json | 1 +
.../count-down/count-down.wxml | 1 +
.../count-down/count-down.wxs | 3 +
.../count-down/count-down.wxss | 27 +
.../tdesign-miniprogram/count-down/props.d.ts | 3 +
.../tdesign-miniprogram/count-down/props.js | 1 +
.../tdesign-miniprogram/count-down/type.d.ts | 35 +
.../tdesign-miniprogram/count-down/type.js | 1 +
.../tdesign-miniprogram/count-down/utils.d.ts | 25 +
.../tdesign-miniprogram/count-down/utils.js | 1 +
.../date-time-picker/date-time-picker.d.ts | 80 +
.../date-time-picker/date-time-picker.js | 1 +
.../date-time-picker/date-time-picker.json | 1 +
.../date-time-picker/date-time-picker.wxml | 1 +
.../date-time-picker/date-time-picker.wxss | 1 +
.../date-time-picker/locale/dayjs.d.ts | 174 +
.../date-time-picker/locale/dayjs.js | 1 +
.../date-time-picker/locale/en.d.ts | 13 +
.../date-time-picker/locale/en.js | 1 +
.../date-time-picker/locale/ja.d.ts | 13 +
.../date-time-picker/locale/ja.js | 1 +
.../date-time-picker/locale/ko.d.ts | 13 +
.../date-time-picker/locale/ko.js | 1 +
.../date-time-picker/locale/ru.d.ts | 13 +
.../date-time-picker/locale/ru.js | 1 +
.../date-time-picker/locale/tc.d.ts | 13 +
.../date-time-picker/locale/tc.js | 1 +
.../date-time-picker/locale/zh.d.ts | 13 +
.../date-time-picker/locale/zh.js | 1 +
.../date-time-picker/props.d.ts | 3 +
.../date-time-picker/props.js | 1 +
.../date-time-picker/type.d.ts | 89 +
.../date-time-picker/type.js | 1 +
.../tdesign-miniprogram/dialog/dialog.d.ts | 28 +
.../tdesign-miniprogram/dialog/dialog.js | 1 +
.../tdesign-miniprogram/dialog/dialog.json | 1 +
.../tdesign-miniprogram/dialog/dialog.wxml | 1 +
.../tdesign-miniprogram/dialog/dialog.wxs | 13 +
.../tdesign-miniprogram/dialog/dialog.wxss | 20 +
.../tdesign-miniprogram/dialog/index.d.ts | 44 +
.../tdesign-miniprogram/dialog/index.js | 1 +
.../tdesign-miniprogram/dialog/props.d.ts | 3 +
.../tdesign-miniprogram/dialog/props.js | 1 +
.../tdesign-miniprogram/dialog/type.d.ts | 60 +
.../tdesign-miniprogram/dialog/type.js | 1 +
.../tdesign-miniprogram/divider/divider.d.ts | 18 +
.../tdesign-miniprogram/divider/divider.js | 1 +
.../tdesign-miniprogram/divider/divider.json | 1 +
.../tdesign-miniprogram/divider/divider.wxml | 1 +
.../tdesign-miniprogram/divider/divider.wxss | 11 +
.../tdesign-miniprogram/divider/props.d.ts | 3 +
.../tdesign-miniprogram/divider/props.js | 1 +
.../tdesign-miniprogram/divider/type.d.ts | 18 +
.../tdesign-miniprogram/divider/type.js | 1 +
.../tdesign-miniprogram/drawer/drawer.d.ts | 16 +
.../tdesign-miniprogram/drawer/drawer.js | 1 +
.../tdesign-miniprogram/drawer/drawer.json | 1 +
.../tdesign-miniprogram/drawer/drawer.wxml | 1 +
.../tdesign-miniprogram/drawer/drawer.wxss | 11 +
.../tdesign-miniprogram/drawer/props.d.ts | 3 +
.../tdesign-miniprogram/drawer/props.js | 1 +
.../tdesign-miniprogram/drawer/type.d.ts | 47 +
.../tdesign-miniprogram/drawer/type.js | 1 +
.../dropdown-item/dropdown-item.d.ts | 48 +
.../dropdown-item/dropdown-item.js | 1 +
.../dropdown-item/dropdown-item.json | 1 +
.../dropdown-item/dropdown-item.wxml | 1 +
.../dropdown-item/dropdown-item.wxss | 20 +
.../dropdown-item/index.wxs | 9 +
.../dropdown-item/props.d.ts | 3 +
.../dropdown-item/props.js | 1 +
.../dropdown-item/type.d.ts | 45 +
.../tdesign-miniprogram/dropdown-item/type.js | 1 +
.../dropdown-menu/dropdown-menu.d.ts | 33 +
.../dropdown-menu/dropdown-menu.js | 1 +
.../dropdown-menu/dropdown-menu.json | 1 +
.../dropdown-menu/dropdown-menu.wxml | 1 +
.../dropdown-menu/dropdown-menu.wxss | 11 +
.../dropdown-menu/index.d.ts | 3 +
.../dropdown-menu/index.js | 1 +
.../dropdown-menu/props.d.ts | 3 +
.../dropdown-menu/props.js | 1 +
.../dropdown-menu/type.d.ts | 22 +
.../tdesign-miniprogram/dropdown-menu/type.js | 1 +
.../tdesign-miniprogram/empty/empty.d.ts | 15 +
.../tdesign-miniprogram/empty/empty.js | 1 +
.../tdesign-miniprogram/empty/empty.json | 1 +
.../tdesign-miniprogram/empty/empty.wxml | 1 +
.../tdesign-miniprogram/empty/empty.wxss | 5 +
.../tdesign-miniprogram/empty/props.d.ts | 3 +
.../tdesign-miniprogram/empty/props.js | 1 +
.../tdesign-miniprogram/empty/type.d.ts | 14 +
.../tdesign-miniprogram/empty/type.js | 1 +
.../fab/draggable/draggable.d.ts | 21 +
.../fab/draggable/draggable.js | 1 +
.../fab/draggable/draggable.json | 1 +
.../fab/draggable/draggable.wxml | 1 +
.../fab/draggable/draggable.wxss | 3 +
.../fab/draggable/index.d.ts | 3 +
.../fab/draggable/index.js | 1 +
.../fab/draggable/props.d.ts | 3 +
.../fab/draggable/props.js | 1 +
.../fab/draggable/type.d.ts | 6 +
.../tdesign-miniprogram/fab/draggable/type.js | 1 +
.../tdesign-miniprogram/fab/fab.d.ts | 27 +
.../tdesign-miniprogram/fab/fab.js | 1 +
.../tdesign-miniprogram/fab/fab.json | 1 +
.../tdesign-miniprogram/fab/fab.wxml | 1 +
.../tdesign-miniprogram/fab/fab.wxss | 3 +
.../tdesign-miniprogram/fab/props.d.ts | 3 +
.../tdesign-miniprogram/fab/props.js | 1 +
.../fab/template/draggable.wxml | 1 +
.../fab/template/view.wxml | 1 +
.../tdesign-miniprogram/fab/type.d.ts | 32 +
.../tdesign-miniprogram/fab/type.js | 1 +
.../tdesign-miniprogram/footer/footer.d.ts | 9 +
.../tdesign-miniprogram/footer/footer.js | 1 +
.../tdesign-miniprogram/footer/footer.json | 1 +
.../tdesign-miniprogram/footer/footer.wxml | 1 +
.../tdesign-miniprogram/footer/footer.wxss | 10 +
.../tdesign-miniprogram/footer/props.d.ts | 3 +
.../tdesign-miniprogram/footer/props.js | 1 +
.../tdesign-miniprogram/footer/type.d.ts | 24 +
.../tdesign-miniprogram/footer/type.js | 1 +
.../grid-item/grid-item.d.ts | 31 +
.../grid-item/grid-item.js | 1 +
.../grid-item/grid-item.json | 1 +
.../grid-item/grid-item.wxml | 1 +
.../grid-item/grid-item.wxss | 22 +
.../tdesign-miniprogram/grid-item/props.d.ts | 3 +
.../tdesign-miniprogram/grid-item/props.js | 1 +
.../tdesign-miniprogram/grid-item/type.d.ts | 40 +
.../tdesign-miniprogram/grid-item/type.js | 1 +
.../tdesign-miniprogram/grid/grid.d.ts | 22 +
.../tdesign-miniprogram/grid/grid.js | 1 +
.../tdesign-miniprogram/grid/grid.json | 1 +
.../tdesign-miniprogram/grid/grid.wxml | 1 +
.../tdesign-miniprogram/grid/grid.wxss | 3 +
.../tdesign-miniprogram/grid/props.d.ts | 3 +
.../tdesign-miniprogram/grid/props.js | 1 +
.../tdesign-miniprogram/grid/type.d.ts | 30 +
.../tdesign-miniprogram/grid/type.js | 1 +
.../tdesign-miniprogram/guide/content.wxml | 1 +
.../tdesign-miniprogram/guide/guide.d.ts | 103 +
.../tdesign-miniprogram/guide/guide.js | 1 +
.../tdesign-miniprogram/guide/guide.json | 1 +
.../tdesign-miniprogram/guide/guide.wxml | 1 +
.../tdesign-miniprogram/guide/guide.wxss | 13 +
.../tdesign-miniprogram/guide/props.d.ts | 3 +
.../tdesign-miniprogram/guide/props.js | 1 +
.../tdesign-miniprogram/guide/type.d.ts | 87 +
.../tdesign-miniprogram/guide/type.js | 1 +
.../tdesign-miniprogram/icon/icon.d.ts | 18 +
.../tdesign-miniprogram/icon/icon.js | 1 +
.../tdesign-miniprogram/icon/icon.json | 1 +
.../tdesign-miniprogram/icon/icon.wxml | 1 +
.../tdesign-miniprogram/icon/icon.wxss | 2135 ++
.../tdesign-miniprogram/icon/props.d.ts | 3 +
.../tdesign-miniprogram/icon/props.js | 1 +
.../tdesign-miniprogram/icon/type.d.ts | 19 +
.../tdesign-miniprogram/icon/type.js | 1 +
.../image-viewer/image-viewer.d.ts | 93 +
.../image-viewer/image-viewer.js | 1 +
.../image-viewer/image-viewer.json | 1 +
.../image-viewer/image-viewer.wxml | 1 +
.../image-viewer/image-viewer.wxs | 7 +
.../image-viewer/image-viewer.wxss | 13 +
.../image-viewer/props.d.ts | 3 +
.../tdesign-miniprogram/image-viewer/props.js | 1 +
.../image-viewer/type.d.ts | 42 +
.../tdesign-miniprogram/image-viewer/type.js | 1 +
.../tdesign-miniprogram/image/image-info.json | 1 +
.../tdesign-miniprogram/image/image.d.ts | 26 +
.../tdesign-miniprogram/image/image.js | 1 +
.../tdesign-miniprogram/image/image.json | 1 +
.../tdesign-miniprogram/image/image.wxml | 1 +
.../tdesign-miniprogram/image/image.wxss | 9 +
.../tdesign-miniprogram/image/index.d.ts | 4 +
.../tdesign-miniprogram/image/index.js | 1 +
.../tdesign-miniprogram/image/props.d.ts | 3 +
.../tdesign-miniprogram/image/props.js | 1 +
.../tdesign-miniprogram/image/type.d.ts | 46 +
.../tdesign-miniprogram/image/type.js | 1 +
.../tdesign-miniprogram/index.d.ts | 4 +
.../tdesign-miniprogram/index.js | 1 +
.../indexes-anchor/indexes-anchor.d.ts | 13 +
.../indexes-anchor/indexes-anchor.js | 1 +
.../indexes-anchor/indexes-anchor.json | 1 +
.../indexes-anchor/indexes-anchor.wxml | 1 +
.../indexes-anchor/indexes-anchor.wxss | 10 +
.../indexes-anchor/props.d.ts | 3 +
.../indexes-anchor/props.js | 1 +
.../indexes-anchor/type.d.ts | 6 +
.../indexes-anchor/type.js | 1 +
.../tdesign-miniprogram/indexes/indexes.d.ts | 49 +
.../tdesign-miniprogram/indexes/indexes.js | 1 +
.../tdesign-miniprogram/indexes/indexes.json | 1 +
.../tdesign-miniprogram/indexes/indexes.wxml | 1 +
.../tdesign-miniprogram/indexes/indexes.wxs | 7 +
.../tdesign-miniprogram/indexes/indexes.wxss | 6 +
.../tdesign-miniprogram/indexes/props.d.ts | 3 +
.../tdesign-miniprogram/indexes/props.js | 1 +
.../tdesign-miniprogram/indexes/type.d.ts | 22 +
.../tdesign-miniprogram/indexes/type.js | 1 +
.../tdesign-miniprogram/input/input.d.ts | 38 +
.../tdesign-miniprogram/input/input.js | 1 +
.../tdesign-miniprogram/input/input.json | 1 +
.../tdesign-miniprogram/input/input.wxml | 1 +
.../tdesign-miniprogram/input/input.wxs | 16 +
.../tdesign-miniprogram/input/input.wxss | 33 +
.../tdesign-miniprogram/input/props.d.ts | 3 +
.../tdesign-miniprogram/input/props.js | 1 +
.../tdesign-miniprogram/input/type.d.ts | 166 +
.../tdesign-miniprogram/input/type.js | 1 +
.../tdesign-miniprogram/link/link.d.ts | 26 +
.../tdesign-miniprogram/link/link.js | 1 +
.../tdesign-miniprogram/link/link.json | 1 +
.../tdesign-miniprogram/link/link.wxml | 1 +
.../tdesign-miniprogram/link/link.wxss | 35 +
.../tdesign-miniprogram/link/props.d.ts | 3 +
.../tdesign-miniprogram/link/props.js | 1 +
.../tdesign-miniprogram/link/type.d.ts | 39 +
.../tdesign-miniprogram/link/type.js | 1 +
.../tdesign-miniprogram/loading/index.d.ts | 3 +
.../tdesign-miniprogram/loading/index.js | 1 +
.../tdesign-miniprogram/loading/loading.d.ts | 77 +
.../tdesign-miniprogram/loading/loading.js | 1 +
.../tdesign-miniprogram/loading/loading.json | 1 +
.../tdesign-miniprogram/loading/loading.wxml | 1 +
.../tdesign-miniprogram/loading/loading.wxss | 47 +
.../tdesign-miniprogram/loading/props.d.ts | 3 +
.../tdesign-miniprogram/loading/props.js | 1 +
.../tdesign-miniprogram/loading/type.d.ts | 54 +
.../tdesign-miniprogram/loading/type.js | 1 +
.../message-item/index.d.ts | 17 +
.../tdesign-miniprogram/message-item/index.js | 1 +
.../message-item/message-item.d.ts | 39 +
.../message-item/message-item.js | 1 +
.../message-item/message-item.json | 1 +
.../message-item/message-item.wxml | 1 +
.../message-item/message-item.wxs | 29 +
.../message-item/message-item.wxss | 13 +
.../tdesign-miniprogram/message/index.d.ts | 17 +
.../tdesign-miniprogram/message/index.js | 1 +
.../tdesign-miniprogram/message/message.d.ts | 37 +
.../message/message.interface.d.ts | 28 +
.../message/message.interface.js | 1 +
.../tdesign-miniprogram/message/message.js | 1 +
.../tdesign-miniprogram/message/message.json | 1 +
.../tdesign-miniprogram/message/message.wxml | 1 +
.../tdesign-miniprogram/message/message.wxss | 1 +
.../tdesign-miniprogram/message/props.d.ts | 3 +
.../tdesign-miniprogram/message/props.js | 1 +
.../tdesign-miniprogram/message/type.d.ts | 65 +
.../tdesign-miniprogram/message/type.js | 1 +
.../miniprogram_npm/dayjs/index.js | 1 +
.../miniprogram_npm/dayjs/locale/en.js | 1 +
.../miniprogram_npm/dayjs/locale/ja.js | 1 +
.../miniprogram_npm/dayjs/locale/ko.js | 1 +
.../miniprogram_npm/dayjs/locale/ru.js | 1 +
.../miniprogram_npm/dayjs/locale/zh-cn.js | 1 +
.../miniprogram_npm/dayjs/locale/zh-tw.js | 1 +
.../dayjs/plugin/localeData.js | 1 +
.../tinycolor2/esm/tinycolor.js | 1 +
.../miniprogram_npm/tslib/index.js | 1 +
.../mixins/page-scroll.d.ts | 2 +
.../tdesign-miniprogram/mixins/page-scroll.js | 1 +
.../mixins/theme-change.d.ts | 2 +
.../mixins/theme-change.js | 1 +
.../tdesign-miniprogram/mixins/touch.d.ts | 2 +
.../tdesign-miniprogram/mixins/touch.js | 1 +
.../mixins/transition.d.ts | 1 +
.../tdesign-miniprogram/mixins/transition.js | 1 +
.../mixins/using-custom-navbar.d.ts | 2 +
.../mixins/using-custom-navbar.js | 1 +
.../tdesign-miniprogram/navbar/navbar.d.ts | 36 +
.../tdesign-miniprogram/navbar/navbar.js | 1 +
.../tdesign-miniprogram/navbar/navbar.json | 1 +
.../tdesign-miniprogram/navbar/navbar.wxml | 1 +
.../tdesign-miniprogram/navbar/navbar.wxss | 17 +
.../tdesign-miniprogram/navbar/props.d.ts | 3 +
.../tdesign-miniprogram/navbar/props.js | 1 +
.../tdesign-miniprogram/navbar/type.d.ts | 34 +
.../tdesign-miniprogram/navbar/type.js | 1 +
.../notice-bar/notice-bar.d.ts | 36 +
.../notice-bar/notice-bar.js | 1 +
.../notice-bar/notice-bar.json | 1 +
.../notice-bar/notice-bar.wxml | 1 +
.../notice-bar/notice-bar.wxss | 18 +
.../tdesign-miniprogram/notice-bar/props.d.ts | 3 +
.../tdesign-miniprogram/notice-bar/props.js | 1 +
.../tdesign-miniprogram/notice-bar/type.d.ts | 47 +
.../tdesign-miniprogram/notice-bar/type.js | 1 +
.../tdesign-miniprogram/overlay/index.d.ts | 3 +
.../tdesign-miniprogram/overlay/index.js | 1 +
.../tdesign-miniprogram/overlay/overlay.d.ts | 22 +
.../tdesign-miniprogram/overlay/overlay.js | 1 +
.../tdesign-miniprogram/overlay/overlay.json | 1 +
.../tdesign-miniprogram/overlay/overlay.wxml | 1 +
.../tdesign-miniprogram/overlay/overlay.wxss | 3 +
.../tdesign-miniprogram/overlay/props.d.ts | 3 +
.../tdesign-miniprogram/overlay/props.js | 1 +
.../tdesign-miniprogram/overlay/type.d.ts | 26 +
.../tdesign-miniprogram/overlay/type.js | 1 +
.../picker-item/picker-item.d.ts | 58 +
.../picker-item/picker-item.js | 1 +
.../picker-item/picker-item.json | 1 +
.../picker-item/picker-item.wxml | 1 +
.../picker-item/picker-item.wxss | 7 +
.../picker-item/props.d.ts | 3 +
.../tdesign-miniprogram/picker-item/props.js | 1 +
.../tdesign-miniprogram/picker-item/type.d.ts | 15 +
.../tdesign-miniprogram/picker-item/type.js | 1 +
.../tdesign-miniprogram/picker/picker.d.ts | 36 +
.../tdesign-miniprogram/picker/picker.js | 1 +
.../tdesign-miniprogram/picker/picker.json | 1 +
.../tdesign-miniprogram/picker/picker.wxml | 1 +
.../tdesign-miniprogram/picker/picker.wxss | 11 +
.../tdesign-miniprogram/picker/props.d.ts | 3 +
.../tdesign-miniprogram/picker/props.js | 1 +
.../tdesign-miniprogram/picker/template.wxml | 1 +
.../tdesign-miniprogram/picker/type.d.ts | 61 +
.../tdesign-miniprogram/picker/type.js | 1 +
.../tdesign-miniprogram/popup/index.d.ts | 3 +
.../tdesign-miniprogram/popup/index.js | 1 +
.../tdesign-miniprogram/popup/popup.d.ts | 19 +
.../tdesign-miniprogram/popup/popup.js | 1 +
.../tdesign-miniprogram/popup/popup.json | 1 +
.../tdesign-miniprogram/popup/popup.wxml | 1 +
.../tdesign-miniprogram/popup/popup.wxs | 18 +
.../tdesign-miniprogram/popup/popup.wxss | 14 +
.../tdesign-miniprogram/popup/props.d.ts | 3 +
.../tdesign-miniprogram/popup/props.js | 1 +
.../tdesign-miniprogram/popup/type.d.ts | 51 +
.../tdesign-miniprogram/popup/type.js | 1 +
.../progress/progress.d.ts | 24 +
.../tdesign-miniprogram/progress/progress.js | 1 +
.../progress/progress.json | 1 +
.../progress/progress.wxml | 1 +
.../tdesign-miniprogram/progress/progress.wxs | 80 +
.../progress/progress.wxss | 26 +
.../tdesign-miniprogram/progress/props.d.ts | 3 +
.../tdesign-miniprogram/progress/props.js | 1 +
.../tdesign-miniprogram/progress/type.d.ts | 36 +
.../tdesign-miniprogram/progress/type.js | 1 +
.../tdesign-miniprogram/progress/utils.d.ts | 11 +
.../tdesign-miniprogram/progress/utils.js | 1 +
.../pull-down-refresh/props.d.ts | 3 +
.../pull-down-refresh/props.js | 1 +
.../pull-down-refresh/pull-down-refresh.d.ts | 60 +
.../pull-down-refresh/pull-down-refresh.js | 1 +
.../pull-down-refresh/pull-down-refresh.json | 1 +
.../pull-down-refresh/pull-down-refresh.wxml | 1 +
.../pull-down-refresh/pull-down-refresh.wxss | 6 +
.../pull-down-refresh/type.d.ts | 67 +
.../pull-down-refresh/type.js | 1 +
.../components/qrcode-canvas/props.d.ts | 39 +
.../qrcode/components/qrcode-canvas/props.js | 1 +
.../qrcode-canvas/qrcode-canvas.d.ts | 60 +
.../components/qrcode-canvas/qrcode-canvas.js | 1 +
.../qrcode-canvas/qrcode-canvas.json | 1 +
.../qrcode-canvas/qrcode-canvas.wxml | 1 +
.../qrcode-canvas/qrcode-canvas.wxss | 1 +
.../qrcode/components/qrcode-canvas/type.d.ts | 12 +
.../qrcode/components/qrcode-canvas/type.js | 1 +
.../components/qrcode-status/props.d.ts | 19 +
.../qrcode/components/qrcode-status/props.js | 1 +
.../qrcode-status/qrcode-status.d.ts | 35 +
.../components/qrcode-status/qrcode-status.js | 1 +
.../qrcode-status/qrcode-status.json | 1 +
.../qrcode-status/qrcode-status.wxml | 1 +
.../qrcode-status/qrcode-status.wxss | 5 +
.../qrcode/components/qrcode-status/type.d.ts | 9 +
.../qrcode/components/qrcode-status/type.js | 1 +
.../qrcode/hooks/useQRCode.d.ts | 27 +
.../qrcode/hooks/useQRCode.js | 1 +
.../tdesign-miniprogram/qrcode/props.d.ts | 3 +
.../tdesign-miniprogram/qrcode/props.js | 1 +
.../tdesign-miniprogram/qrcode/qrcode.d.ts | 80 +
.../tdesign-miniprogram/qrcode/qrcode.js | 1 +
.../tdesign-miniprogram/qrcode/qrcode.json | 1 +
.../tdesign-miniprogram/qrcode/qrcode.wxml | 1 +
.../tdesign-miniprogram/qrcode/qrcode.wxss | 3 +
.../tdesign-miniprogram/qrcode/type.d.ts | 46 +
.../tdesign-miniprogram/qrcode/type.js | 1 +
.../radio-group/props.d.ts | 3 +
.../tdesign-miniprogram/radio-group/props.js | 1 +
.../radio-group/radio-group.d.ts | 27 +
.../radio-group/radio-group.js | 1 +
.../radio-group/radio-group.json | 1 +
.../radio-group/radio-group.wxml | 1 +
.../radio-group/radio-group.wxss | 1 +
.../tdesign-miniprogram/radio-group/type.d.ts | 56 +
.../tdesign-miniprogram/radio-group/type.js | 1 +
.../tdesign-miniprogram/radio/props.d.ts | 3 +
.../tdesign-miniprogram/radio/props.js | 1 +
.../tdesign-miniprogram/radio/radio.d.ts | 107 +
.../tdesign-miniprogram/radio/radio.js | 1 +
.../tdesign-miniprogram/radio/radio.json | 1 +
.../tdesign-miniprogram/radio/radio.wxml | 1 +
.../tdesign-miniprogram/radio/radio.wxss | 35 +
.../tdesign-miniprogram/radio/type.d.ts | 63 +
.../tdesign-miniprogram/radio/type.js | 1 +
.../tdesign-miniprogram/rate/props.d.ts | 3 +
.../tdesign-miniprogram/rate/props.js | 1 +
.../tdesign-miniprogram/rate/rate.d.ts | 29 +
.../tdesign-miniprogram/rate/rate.js | 1 +
.../tdesign-miniprogram/rate/rate.json | 1 +
.../tdesign-miniprogram/rate/rate.wxml | 1 +
.../tdesign-miniprogram/rate/rate.wxs | 65 +
.../tdesign-miniprogram/rate/rate.wxss | 15 +
.../tdesign-miniprogram/rate/type.d.ts | 58 +
.../tdesign-miniprogram/rate/type.js | 1 +
.../tdesign-miniprogram/result/index.d.ts | 3 +
.../tdesign-miniprogram/result/index.js | 1 +
.../tdesign-miniprogram/result/props.d.ts | 3 +
.../tdesign-miniprogram/result/props.js | 1 +
.../tdesign-miniprogram/result/result.d.ts | 21 +
.../tdesign-miniprogram/result/result.js | 1 +
.../tdesign-miniprogram/result/result.json | 1 +
.../tdesign-miniprogram/result/result.wxml | 1 +
.../tdesign-miniprogram/result/result.wxss | 10 +
.../tdesign-miniprogram/result/type.d.ts | 22 +
.../tdesign-miniprogram/result/type.js | 1 +
.../tdesign-miniprogram/row/props.d.ts | 3 +
.../tdesign-miniprogram/row/props.js | 1 +
.../tdesign-miniprogram/row/row.d.ts | 15 +
.../tdesign-miniprogram/row/row.js | 1 +
.../tdesign-miniprogram/row/row.json | 1 +
.../tdesign-miniprogram/row/row.wxml | 1 +
.../tdesign-miniprogram/row/row.wxs | 17 +
.../tdesign-miniprogram/row/row.wxss | 1 +
.../tdesign-miniprogram/row/type.d.ts | 6 +
.../tdesign-miniprogram/row/type.js | 1 +
.../scroll-view/scroll-view.d.ts | 10 +
.../scroll-view/scroll-view.js | 1 +
.../scroll-view/scroll-view.json | 1 +
.../scroll-view/scroll-view.wxml | 1 +
.../scroll-view/scroll-view.wxss | 1 +
.../tdesign-miniprogram/search/props.d.ts | 3 +
.../tdesign-miniprogram/search/props.js | 1 +
.../tdesign-miniprogram/search/search.d.ts | 27 +
.../tdesign-miniprogram/search/search.js | 1 +
.../tdesign-miniprogram/search/search.json | 1 +
.../tdesign-miniprogram/search/search.wxml | 1 +
.../tdesign-miniprogram/search/search.wxs | 6 +
.../tdesign-miniprogram/search/search.wxss | 17 +
.../tdesign-miniprogram/search/type.d.ts | 108 +
.../tdesign-miniprogram/search/type.js | 1 +
.../side-bar-item/props.d.ts | 3 +
.../side-bar-item/props.js | 1 +
.../side-bar-item/side-bar-item.d.ts | 45 +
.../side-bar-item/side-bar-item.js | 1 +
.../side-bar-item/side-bar-item.json | 1 +
.../side-bar-item/side-bar-item.wxml | 1 +
.../side-bar-item/side-bar-item.wxss | 11 +
.../side-bar-item/type.d.ts | 23 +
.../tdesign-miniprogram/side-bar-item/type.js | 1 +
.../tdesign-miniprogram/side-bar/props.d.ts | 3 +
.../tdesign-miniprogram/side-bar/props.js | 1 +
.../side-bar/side-bar.d.ts | 24 +
.../tdesign-miniprogram/side-bar/side-bar.js | 1 +
.../side-bar/side-bar.json | 1 +
.../side-bar/side-bar.wxml | 1 +
.../side-bar/side-bar.wxss | 3 +
.../tdesign-miniprogram/side-bar/type.d.ts | 10 +
.../tdesign-miniprogram/side-bar/type.js | 1 +
.../tdesign-miniprogram/skeleton/props.d.ts | 3 +
.../tdesign-miniprogram/skeleton/props.js | 1 +
.../skeleton/skeleton.d.ts | 28 +
.../tdesign-miniprogram/skeleton/skeleton.js | 1 +
.../skeleton/skeleton.json | 1 +
.../skeleton/skeleton.wxml | 1 +
.../skeleton/skeleton.wxss | 18 +
.../tdesign-miniprogram/skeleton/type.d.ts | 32 +
.../tdesign-miniprogram/skeleton/type.js | 1 +
.../tdesign-miniprogram/slider/props.d.ts | 3 +
.../tdesign-miniprogram/slider/props.js | 1 +
.../tdesign-miniprogram/slider/slider.d.ts | 73 +
.../tdesign-miniprogram/slider/slider.js | 1 +
.../tdesign-miniprogram/slider/slider.json | 1 +
.../tdesign-miniprogram/slider/slider.wxml | 1 +
.../tdesign-miniprogram/slider/slider.wxs | 10 +
.../tdesign-miniprogram/slider/slider.wxss | 46 +
.../tdesign-miniprogram/slider/tool.d.ts | 2 +
.../tdesign-miniprogram/slider/tool.js | 1 +
.../tdesign-miniprogram/slider/type.d.ts | 51 +
.../tdesign-miniprogram/slider/type.js | 1 +
.../tdesign-miniprogram/step-item/props.d.ts | 3 +
.../tdesign-miniprogram/step-item/props.js | 1 +
.../step-item/step-item.d.ts | 34 +
.../step-item/step-item.js | 1 +
.../step-item/step-item.json | 1 +
.../step-item/step-item.wxml | 1 +
.../step-item/step-item.wxs | 7 +
.../step-item/step-item.wxss | 42 +
.../tdesign-miniprogram/step-item/type.d.ts | 23 +
.../tdesign-miniprogram/step-item/type.js | 1 +
.../tdesign-miniprogram/stepper/props.d.ts | 3 +
.../tdesign-miniprogram/stepper/props.js | 1 +
.../tdesign-miniprogram/stepper/stepper.d.ts | 79 +
.../tdesign-miniprogram/stepper/stepper.js | 1 +
.../tdesign-miniprogram/stepper/stepper.json | 1 +
.../tdesign-miniprogram/stepper/stepper.wxml | 1 +
.../tdesign-miniprogram/stepper/stepper.wxss | 23 +
.../tdesign-miniprogram/stepper/type.d.ts | 47 +
.../tdesign-miniprogram/stepper/type.js | 1 +
.../tdesign-miniprogram/steps/props.d.ts | 3 +
.../tdesign-miniprogram/steps/props.js | 1 +
.../tdesign-miniprogram/steps/steps.d.ts | 22 +
.../tdesign-miniprogram/steps/steps.js | 1 +
.../tdesign-miniprogram/steps/steps.json | 1 +
.../tdesign-miniprogram/steps/steps.wxml | 1 +
.../tdesign-miniprogram/steps/steps.wxss | 6 +
.../tdesign-miniprogram/steps/type.d.ts | 30 +
.../tdesign-miniprogram/steps/type.js | 1 +
.../tdesign-miniprogram/sticky/index.d.ts | 3 +
.../tdesign-miniprogram/sticky/index.js | 1 +
.../tdesign-miniprogram/sticky/props.d.ts | 3 +
.../tdesign-miniprogram/sticky/props.js | 1 +
.../tdesign-miniprogram/sticky/sticky.d.ts | 30 +
.../tdesign-miniprogram/sticky/sticky.js | 1 +
.../tdesign-miniprogram/sticky/sticky.json | 1 +
.../tdesign-miniprogram/sticky/sticky.wxml | 1 +
.../tdesign-miniprogram/sticky/sticky.wxss | 1 +
.../tdesign-miniprogram/sticky/type.d.ts | 18 +
.../tdesign-miniprogram/sticky/type.js | 1 +
.../tdesign-miniprogram/swipe-cell/props.d.ts | 3 +
.../tdesign-miniprogram/swipe-cell/props.js | 1 +
.../swipe-cell/swipe-cell.d.ts | 31 +
.../swipe-cell/swipe-cell.js | 1 +
.../swipe-cell/swipe-cell.json | 1 +
.../swipe-cell/swipe-cell.wxml | 1 +
.../swipe-cell/swipe-cell.wxs | 185 +
.../swipe-cell/swipe-cell.wxss | 7 +
.../tdesign-miniprogram/swipe-cell/type.d.ts | 26 +
.../tdesign-miniprogram/swipe-cell/type.js | 1 +
.../tdesign-miniprogram/swiper-nav/index.d.ts | 3 +
.../tdesign-miniprogram/swiper-nav/index.js | 1 +
.../tdesign-miniprogram/swiper-nav/props.d.ts | 3 +
.../tdesign-miniprogram/swiper-nav/props.js | 1 +
.../swiper-nav/swiper-nav.d.ts | 45 +
.../swiper-nav/swiper-nav.js | 1 +
.../swiper-nav/swiper-nav.json | 1 +
.../swiper-nav/swiper-nav.wxml | 1 +
.../swiper-nav/swiper-nav.wxss | 23 +
.../tdesign-miniprogram/swiper-nav/type.d.ts | 31 +
.../tdesign-miniprogram/swiper-nav/type.js | 1 +
.../tdesign-miniprogram/swiper/index.wxs | 25 +
.../tdesign-miniprogram/swiper/props.d.ts | 3 +
.../tdesign-miniprogram/swiper/props.js | 1 +
.../tdesign-miniprogram/swiper/swiper.d.ts | 31 +
.../tdesign-miniprogram/swiper/swiper.js | 1 +
.../tdesign-miniprogram/swiper/swiper.json | 1 +
.../tdesign-miniprogram/swiper/swiper.wxml | 1 +
.../tdesign-miniprogram/swiper/swiper.wxss | 5 +
.../tdesign-miniprogram/swiper/type.d.ts | 71 +
.../tdesign-miniprogram/swiper/type.js | 1 +
.../tdesign-miniprogram/switch/props.d.ts | 3 +
.../tdesign-miniprogram/switch/props.js | 1 +
.../tdesign-miniprogram/switch/switch.d.ts | 21 +
.../tdesign-miniprogram/switch/switch.js | 1 +
.../tdesign-miniprogram/switch/switch.json | 1 +
.../tdesign-miniprogram/switch/switch.wxml | 1 +
.../tdesign-miniprogram/switch/switch.wxss | 28 +
.../tdesign-miniprogram/switch/type.d.ts | 35 +
.../tdesign-miniprogram/switch/type.js | 1 +
.../tab-bar-item/props.d.ts | 3 +
.../tdesign-miniprogram/tab-bar-item/props.js | 1 +
.../tab-bar-item/tab-bar-item.d.ts | 37 +
.../tab-bar-item/tab-bar-item.js | 1 +
.../tab-bar-item/tab-bar-item.json | 1 +
.../tab-bar-item/tab-bar-item.wxml | 1 +
.../tab-bar-item/tab-bar-item.wxss | 21 +
.../tab-bar-item/type.d.ts | 23 +
.../tdesign-miniprogram/tab-bar-item/type.js | 1 +
.../tdesign-miniprogram/tab-bar/props.d.ts | 3 +
.../tdesign-miniprogram/tab-bar/props.js | 1 +
.../tdesign-miniprogram/tab-bar/tab-bar.d.ts | 28 +
.../tdesign-miniprogram/tab-bar/tab-bar.js | 1 +
.../tdesign-miniprogram/tab-bar/tab-bar.json | 1 +
.../tdesign-miniprogram/tab-bar/tab-bar.wxml | 1 +
.../tdesign-miniprogram/tab-bar/tab-bar.wxss | 6 +
.../tdesign-miniprogram/tab-bar/type.d.ts | 34 +
.../tdesign-miniprogram/tab-bar/type.js | 1 +
.../tdesign-miniprogram/tab-panel/props.d.ts | 3 +
.../tdesign-miniprogram/tab-panel/props.js | 1 +
.../tab-panel/tab-panel.d.ts | 25 +
.../tab-panel/tab-panel.js | 1 +
.../tab-panel/tab-panel.json | 1 +
.../tab-panel/tab-panel.wxml | 1 +
.../tab-panel/tab-panel.wxss | 3 +
.../tdesign-miniprogram/tab-panel/type.d.ts | 31 +
.../tdesign-miniprogram/tab-panel/type.js | 1 +
.../tdesign-miniprogram/tabs/index.d.ts | 3 +
.../tdesign-miniprogram/tabs/index.js | 1 +
.../tdesign-miniprogram/tabs/props.d.ts | 3 +
.../tdesign-miniprogram/tabs/props.js | 1 +
.../tdesign-miniprogram/tabs/tabs.d.ts | 59 +
.../tdesign-miniprogram/tabs/tabs.js | 1 +
.../tdesign-miniprogram/tabs/tabs.json | 1 +
.../tdesign-miniprogram/tabs/tabs.wxml | 1 +
.../tdesign-miniprogram/tabs/tabs.wxs | 30 +
.../tdesign-miniprogram/tabs/tabs.wxss | 39 +
.../tdesign-miniprogram/tabs/type.d.ts | 51 +
.../tdesign-miniprogram/tabs/type.js | 1 +
.../tdesign-miniprogram/tag/props.d.ts | 3 +
.../tdesign-miniprogram/tag/props.js | 1 +
.../tdesign-miniprogram/tag/tag.d.ts | 28 +
.../tdesign-miniprogram/tag/tag.js | 1 +
.../tdesign-miniprogram/tag/tag.json | 1 +
.../tdesign-miniprogram/tag/tag.wxml | 1 +
.../tdesign-miniprogram/tag/tag.wxss | 47 +
.../tdesign-miniprogram/tag/type.d.ts | 34 +
.../tdesign-miniprogram/tag/type.js | 1 +
.../tdesign-miniprogram/textarea/props.d.ts | 3 +
.../tdesign-miniprogram/textarea/props.js | 1 +
.../textarea/textarea.d.ts | 34 +
.../tdesign-miniprogram/textarea/textarea.js | 1 +
.../textarea/textarea.json | 1 +
.../textarea/textarea.wxml | 1 +
.../tdesign-miniprogram/textarea/textarea.wxs | 15 +
.../textarea/textarea.wxss | 9 +
.../tdesign-miniprogram/textarea/type.d.ts | 118 +
.../tdesign-miniprogram/textarea/type.js | 1 +
.../tdesign-miniprogram/toast/index.d.ts | 22 +
.../tdesign-miniprogram/toast/index.js | 1 +
.../tdesign-miniprogram/toast/props.d.ts | 3 +
.../tdesign-miniprogram/toast/props.js | 1 +
.../tdesign-miniprogram/toast/toast.d.ts | 31 +
.../tdesign-miniprogram/toast/toast.js | 1 +
.../tdesign-miniprogram/toast/toast.json | 1 +
.../tdesign-miniprogram/toast/toast.wxml | 1 +
.../tdesign-miniprogram/toast/toast.wxss | 12 +
.../tdesign-miniprogram/toast/type.d.ts | 43 +
.../tdesign-miniprogram/toast/type.js | 1 +
.../tdesign-miniprogram/transition/index.d.ts | 2 +
.../tdesign-miniprogram/transition/index.js | 1 +
.../tdesign-miniprogram/transition/props.d.ts | 3 +
.../tdesign-miniprogram/transition/props.js | 1 +
.../transition/transition.d.ts | 8 +
.../transition/transition.js | 1 +
.../transition/transition.json | 1 +
.../transition/transition.wxml | 1 +
.../transition/transition.wxss | 4 +
.../tdesign-miniprogram/transition/type.d.ts | 22 +
.../tdesign-miniprogram/transition/type.js | 1 +
.../tdesign-miniprogram/tree-select/index.wxs | 7 +
.../tree-select/props.d.ts | 3 +
.../tdesign-miniprogram/tree-select/props.js | 1 +
.../tree-select/tree-select.d.ts | 31 +
.../tree-select/tree-select.js | 1 +
.../tree-select/tree-select.json | 1 +
.../tree-select/tree-select.wxml | 1 +
.../tree-select/tree-select.wxss | 9 +
.../tdesign-miniprogram/tree-select/type.d.ts | 32 +
.../tdesign-miniprogram/tree-select/type.js | 1 +
.../tdesign-miniprogram/upload/drag.wxs | 238 +
.../tdesign-miniprogram/upload/props.d.ts | 3 +
.../tdesign-miniprogram/upload/props.js | 1 +
.../tdesign-miniprogram/upload/type.d.ts | 121 +
.../tdesign-miniprogram/upload/type.js | 1 +
.../upload/upload-info.json | 1 +
.../tdesign-miniprogram/upload/upload.d.ts | 65 +
.../tdesign-miniprogram/upload/upload.js | 1 +
.../tdesign-miniprogram/upload/upload.json | 1 +
.../tdesign-miniprogram/upload/upload.wxml | 1 +
.../tdesign-miniprogram/upload/upload.wxs | 15 +
.../tdesign-miniprogram/upload/upload.wxss | 21 +
.../tdesign-miniprogram/watermark/props.d.ts | 3 +
.../tdesign-miniprogram/watermark/props.js | 1 +
.../tdesign-miniprogram/watermark/type.d.ts | 77 +
.../tdesign-miniprogram/watermark/type.js | 1 +
.../watermark/utils/generateBase64Url.d.ts | 14 +
.../watermark/utils/generateBase64Url.js | 1 +
.../watermark/utils/randomMovingStyle.d.ts | 10 +
.../watermark/utils/randomMovingStyle.js | 1 +
.../watermark/watermark.d.ts | 19 +
.../watermark/watermark.js | 1 +
.../watermark/watermark.json | 1 +
.../watermark/watermark.wxml | 1 +
.../watermark/watermark.wxss | 7 +
miniprogram/pages/agreement/agreement.js | 61 +
miniprogram/pages/agreement/agreement.json | 4 +
miniprogram/pages/agreement/agreement.wxml | 151 +
miniprogram/pages/agreement/agreement.wxss | 32 +
.../pages/components/page-plugin/index.json | 9 +
.../pages/components/page-plugin/index.ts | 115 +
.../pages/components/page-plugin/index.wxml | 37 +
.../pages/components/page-plugin/index.wxss | 1 +
miniprogram/pages/index/index.json | 6 +
miniprogram/pages/index/index.ts | 59 +
miniprogram/pages/index/index.wxml | 6 +
miniprogram/pages/index/index.wxss | 1 +
miniprogram/pages/my/my.json | 5 +
miniprogram/pages/my/my.ts | 50 +
miniprogram/pages/my/my.wxml | 5 +
miniprogram/pages/my/my.wxss | 1 +
miniprogram/utils/config.ts | 29 +
miniprogram/utils/https.js | 273 +
miniprogram/utils/menuConfig.js | 54 +
miniprogram/utils/subscribe.ts | 72 +
miniprogram/utils/util.ts | 347 +
package-lock.json | 53 +
package.json | 17 +
project.config.json | 55 +
project.private.config.json | 22 +
tsconfig.json | 33 +
typings/index.d.ts | 8 +
typings/types/index.d.ts | 1 +
typings/types/wx/index.d.ts | 74 +
typings/types/wx/lib.wx.api.d.ts | 19671 ++++++++++++++++
typings/types/wx/lib.wx.app.d.ts | 270 +
typings/types/wx/lib.wx.behavior.d.ts | 68 +
typings/types/wx/lib.wx.cloud.d.ts | 924 +
typings/types/wx/lib.wx.component.d.ts | 636 +
typings/types/wx/lib.wx.event.d.ts | 1435 ++
typings/types/wx/lib.wx.page.d.ts | 259 +
980 files changed, 39201 insertions(+)
create mode 100644 .gitignore
create mode 100644 miniprogram/app.json
create mode 100644 miniprogram/app.ts
create mode 100644 miniprogram/app.wxss
create mode 100644 miniprogram/miniprogram_npm/big.js/index.js
create mode 100644 miniprogram/miniprogram_npm/big.js/index.js.map
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/.wechatide.ib.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/show.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/show.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/template/grid.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/template/list.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/back-top.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/back-top.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/back-top.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/badge/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/badge/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/badge/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/badge/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/badge/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/badge/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/button/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/button/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/button/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/button/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/button/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/button/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar-header.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/template.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/utils.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/utils.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/cell/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/col/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/col/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/col/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/col/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/constants.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/constants.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/interfaces.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/interfaces.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/template.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/utils.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/utils.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/bus.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/bus.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/common.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/common.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/component.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/component.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/config.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/config.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/cmyk.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/cmyk.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/color.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/color.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/gradient.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/gradient.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/date.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/date.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/qrcodegen.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/qrcodegen.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/types.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/types.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/utils.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/utils.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/control.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/control.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/flatTool.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/flatTool.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/instantiationDecorator.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/instantiationDecorator.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/superComponent.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/superComponent.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/_variables.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/base.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/icons.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/index.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_border.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_clearfix.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_cursor.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_ellipsis.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_hairline.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_index.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_other.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_components.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_dark.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_font.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_index.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_light.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_radius.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_spacer.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/utilities/_index.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/badge.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/button.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/icon.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/image.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/utils.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/utils.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/utils.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/validator.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/validator.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/version.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/version.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/wechat.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/common/wechat.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/utils.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/utils.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/dayjs.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/dayjs.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/en.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/en.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ja.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ja.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ko.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ko.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ru.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ru.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/tc.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/tc.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/zh.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/zh.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/divider/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/divider/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/divider/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/divider/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/index.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/empty/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/empty/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/empty/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/empty/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/template/draggable.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/template/view.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/fab/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/footer/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/footer/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/footer/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/footer/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/grid/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/guide/content.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/guide/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/guide/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/guide/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/guide/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/icon/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/icon/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/icon/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/icon/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image/image-info.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/image/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/input/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/input/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/input/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/input/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/link/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/link/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/link/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/link/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/loading/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/loading/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/loading/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/loading/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/loading/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/loading/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.interface.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.interface.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/message/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/en.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/ja.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/ko.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/ru.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/zh-cn.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/zh-tw.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/plugin/localeData.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/tinycolor2/esm/tinycolor.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/tslib/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/page-scroll.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/page-scroll.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/theme-change.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/theme-change.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/touch.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/touch.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/transition.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/transition.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/using-custom-navbar.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/using-custom-navbar.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker/template.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/picker/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/popup/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/popup/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/popup/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/popup/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/popup/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/popup/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/progress/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/progress/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/progress/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/progress/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/progress/utils.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/progress/utils.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/hooks/useQRCode.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/hooks/useQRCode.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/radio/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/rate/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/rate/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/rate/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/rate/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/result/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/result/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/result/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/result/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/result/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/result/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/row/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/row/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/row/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/row/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/search/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/search/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/search/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/search/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/slider/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/slider/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/slider/tool.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/slider/tool.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/slider/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/slider/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/steps/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/steps/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/steps/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/steps/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/index.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/switch/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/switch/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/switch/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/switch/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tag/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tag/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tag/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tag/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/toast/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/toast/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/toast/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/toast/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/toast/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/toast/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/transition/index.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/transition/index.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/transition/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/transition/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/transition/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/transition/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/index.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/upload/drag.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/upload/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/upload/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/upload/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/upload/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload-info.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.wxs
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.wxss
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/props.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/props.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/type.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/type.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/generateBase64Url.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/generateBase64Url.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/randomMovingStyle.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/randomMovingStyle.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.d.ts
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.js
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.json
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.wxml
create mode 100644 miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.wxss
create mode 100644 miniprogram/pages/agreement/agreement.js
create mode 100644 miniprogram/pages/agreement/agreement.json
create mode 100644 miniprogram/pages/agreement/agreement.wxml
create mode 100644 miniprogram/pages/agreement/agreement.wxss
create mode 100644 miniprogram/pages/components/page-plugin/index.json
create mode 100644 miniprogram/pages/components/page-plugin/index.ts
create mode 100644 miniprogram/pages/components/page-plugin/index.wxml
create mode 100644 miniprogram/pages/components/page-plugin/index.wxss
create mode 100644 miniprogram/pages/index/index.json
create mode 100644 miniprogram/pages/index/index.ts
create mode 100644 miniprogram/pages/index/index.wxml
create mode 100644 miniprogram/pages/index/index.wxss
create mode 100644 miniprogram/pages/my/my.json
create mode 100644 miniprogram/pages/my/my.ts
create mode 100644 miniprogram/pages/my/my.wxml
create mode 100644 miniprogram/pages/my/my.wxss
create mode 100644 miniprogram/utils/config.ts
create mode 100644 miniprogram/utils/https.js
create mode 100644 miniprogram/utils/menuConfig.js
create mode 100644 miniprogram/utils/subscribe.ts
create mode 100644 miniprogram/utils/util.ts
create mode 100644 package-lock.json
create mode 100644 package.json
create mode 100644 project.config.json
create mode 100644 project.private.config.json
create mode 100644 tsconfig.json
create mode 100644 typings/index.d.ts
create mode 100644 typings/types/index.d.ts
create mode 100644 typings/types/wx/index.d.ts
create mode 100644 typings/types/wx/lib.wx.api.d.ts
create mode 100644 typings/types/wx/lib.wx.app.d.ts
create mode 100644 typings/types/wx/lib.wx.behavior.d.ts
create mode 100644 typings/types/wx/lib.wx.cloud.d.ts
create mode 100644 typings/types/wx/lib.wx.component.d.ts
create mode 100644 typings/types/wx/lib.wx.event.d.ts
create mode 100644 typings/types/wx/lib.wx.page.d.ts
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b512c09
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules
\ No newline at end of file
diff --git a/miniprogram/app.json b/miniprogram/app.json
new file mode 100644
index 0000000..8f350fe
--- /dev/null
+++ b/miniprogram/app.json
@@ -0,0 +1,20 @@
+{
+ "pages": [
+ "pages/index/index",
+ "pages/agreement/agreement",
+ "pages/my/my"
+ ],
+ "window": {
+ "navigationBarTextStyle": "black",
+ "navigationBarTitleText": "Weixin",
+ "navigationBarBackgroundColor": "#ffffff"
+ },
+ "componentFramework": "glass-easel",
+ "lazyCodeLoading": "requiredComponents",
+ "usingComponents": {
+ "page-plugin": "pages/components/page-plugin"
+ },
+ "resolveAlias": {
+ "@/*": "/*"
+ }
+}
\ No newline at end of file
diff --git a/miniprogram/app.ts b/miniprogram/app.ts
new file mode 100644
index 0000000..a45a357
--- /dev/null
+++ b/miniprogram/app.ts
@@ -0,0 +1,22 @@
+// app.ts
+App<
+ IAppOption & {
+ // Storage: IStorage
+ }
+>({
+ globalData: {},
+ onLaunch() {
+ // 展示本地存储能力
+ // const logs = wx.getStorageSync("logs") || [];
+ // logs.unshift(Date.now());
+ // setStorage("logs", logs);
+ // // 登录
+ // wx.login({
+ // success: (res) => {
+ // console.log(res.code);
+ // // 发送 res.code 到后台换取 openId, sessionKey, unionId
+ // },
+ // });
+ },
+ // Storage: Storage, // 将 Storage 挂载到 App 实例上
+});
diff --git a/miniprogram/app.wxss b/miniprogram/app.wxss
new file mode 100644
index 0000000..dcc9241
--- /dev/null
+++ b/miniprogram/app.wxss
@@ -0,0 +1,3 @@
+button.t-button {
+ font-weight: normal;
+}
diff --git a/miniprogram/miniprogram_npm/big.js/index.js b/miniprogram/miniprogram_npm/big.js/index.js
new file mode 100644
index 0000000..6513b12
--- /dev/null
+++ b/miniprogram/miniprogram_npm/big.js/index.js
@@ -0,0 +1,1058 @@
+module.exports = (function() {
+var __MODS__ = {};
+var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexports: {} }; __MODS__[modId] = { status: 0, func: func, req: req, m: m }; };
+var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
+var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
+var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
+__DEFINE__(1764126506373, function(require, module, exports) {
+/*
+ * big.js v7.0.1
+ * A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic.
+ * Copyright (c) 2025 Michael Mclaughlin
+ * https://github.com/MikeMcl/big.js/LICENCE.md
+ */
+;(function (GLOBAL) {
+
+ var Big,
+
+
+/************************************** EDITABLE DEFAULTS *****************************************/
+
+
+ // The default values below must be integers within the stated ranges.
+
+ /*
+ * The maximum number of decimal places (DP) of the results of operations involving division:
+ * div and sqrt, and pow with negative exponents.
+ */
+ DP = 20, // 0 to MAX_DP
+
+ /*
+ * The rounding mode (RM) used when rounding to the above decimal places.
+ *
+ * 0 Towards zero (i.e. truncate, no rounding). (ROUND_DOWN)
+ * 1 To nearest neighbour. If equidistant, round up. (ROUND_HALF_UP)
+ * 2 To nearest neighbour. If equidistant, to even. (ROUND_HALF_EVEN)
+ * 3 Away from zero. (ROUND_UP)
+ */
+ RM = 1, // 0, 1, 2 or 3
+
+ // The maximum value of DP and Big.DP.
+ MAX_DP = 1E6, // 0 to 1000000
+
+ // The maximum magnitude of the exponent argument to the pow method.
+ MAX_POWER = 1E6, // 1 to 1000000
+
+ /*
+ * The negative exponent (NE) at and beneath which toString returns exponential notation.
+ * (JavaScript numbers: -7)
+ * -1000000 is the minimum recommended exponent value of a Big.
+ */
+ NE = -7, // 0 to -1000000
+
+ /*
+ * The positive exponent (PE) at and above which toString returns exponential notation.
+ * (JavaScript numbers: 21)
+ * 1000000 is the maximum recommended exponent value of a Big, but this limit is not enforced.
+ */
+ PE = 21, // 0 to 1000000
+
+ /*
+ * When true, an error will be thrown if a primitive number is passed to the Big constructor,
+ * or if valueOf is called, or if toNumber is called on a Big which cannot be converted to a
+ * primitive number without a loss of precision.
+ */
+ STRICT = false, // true or false
+
+
+/**************************************************************************************************/
+
+
+ // Error messages.
+ NAME = '[big.js] ',
+ INVALID = NAME + 'Invalid ',
+ INVALID_DP = INVALID + 'decimal places',
+ INVALID_RM = INVALID + 'rounding mode',
+ DIV_BY_ZERO = NAME + 'Division by zero',
+
+ // The shared prototype object.
+ P = {},
+ UNDEFINED = void 0,
+ NUMERIC = /^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;
+
+
+ /*
+ * Create and return a Big constructor.
+ */
+ function _Big_() {
+
+ /*
+ * The Big constructor and exported function.
+ * Create and return a new instance of a Big number object.
+ *
+ * n {number|string|Big} A numeric value.
+ */
+ function Big(n) {
+ var x = this;
+
+ // Enable constructor usage without new.
+ if (!(x instanceof Big)) {
+ return n === UNDEFINED && arguments.length === 0 ? _Big_() : new Big(n);
+ }
+
+ // Duplicate.
+ if (n instanceof Big) {
+ x.s = n.s;
+ x.e = n.e;
+ x.c = n.c.slice();
+ } else {
+ if (typeof n !== 'string') {
+ if (Big.strict === true && typeof n !== 'bigint') {
+ throw TypeError(INVALID + 'value');
+ }
+
+ // Minus zero?
+ n = n === 0 && 1 / n < 0 ? '-0' : String(n);
+ }
+
+ parse(x, n);
+ }
+
+ // Retain a reference to this Big constructor.
+ // Shadow Big.prototype.constructor which points to Object.
+ x.constructor = Big;
+ }
+
+ Big.prototype = P;
+ Big.DP = DP;
+ Big.RM = RM;
+ Big.NE = NE;
+ Big.PE = PE;
+ Big.strict = STRICT;
+ Big.roundDown = 0;
+ Big.roundHalfUp = 1;
+ Big.roundHalfEven = 2;
+ Big.roundUp = 3;
+
+ return Big;
+ }
+
+
+ /*
+ * Parse the number or string value passed to a Big constructor.
+ *
+ * x {Big} A Big number instance.
+ * n {number|string} A numeric value.
+ */
+ function parse(x, n) {
+ var e, i, nl;
+
+ if (!NUMERIC.test(n)) {
+ throw Error(INVALID + 'number');
+ }
+
+ // Determine sign.
+ x.s = n.charAt(0) == '-' ? (n = n.slice(1), -1) : 1;
+
+ // Decimal point?
+ if ((e = n.indexOf('.')) > -1) n = n.replace('.', '');
+
+ // Exponential form?
+ if ((i = n.search(/e/i)) > 0) {
+
+ // Determine exponent.
+ if (e < 0) e = i;
+ e += +n.slice(i + 1);
+ n = n.substring(0, i);
+ } else if (e < 0) {
+
+ // Integer.
+ e = n.length;
+ }
+
+ nl = n.length;
+
+ // Determine leading zeros.
+ for (i = 0; i < nl && n.charAt(i) == '0';) ++i;
+
+ if (i == nl) {
+
+ // Zero.
+ x.c = [x.e = 0];
+ } else {
+
+ // Determine trailing zeros.
+ for (; nl > 0 && n.charAt(--nl) == '0';);
+ x.e = e - i - 1;
+ x.c = [];
+
+ // Convert string to array of digits without leading/trailing zeros.
+ for (e = 0; i <= nl;) x.c[e++] = +n.charAt(i++);
+ }
+
+ return x;
+ }
+
+
+ /*
+ * Round Big x to a maximum of sd significant digits using rounding mode rm.
+ *
+ * x {Big} The Big to round.
+ * sd {number} Significant digits: integer, 0 to MAX_DP inclusive.
+ * rm {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
+ * [more] {boolean} Whether the result of division was truncated.
+ */
+ function round(x, sd, rm, more) {
+ var xc = x.c;
+
+ if (rm === UNDEFINED) rm = x.constructor.RM;
+ if (rm !== 0 && rm !== 1 && rm !== 2 && rm !== 3) {
+ throw Error(INVALID_RM);
+ }
+
+ if (sd < 1) {
+ more =
+ rm === 3 && (more || !!xc[0]) || sd === 0 && (
+ rm === 1 && xc[0] >= 5 ||
+ rm === 2 && (xc[0] > 5 || xc[0] === 5 && (more || xc[1] !== UNDEFINED))
+ );
+
+ xc.length = 1;
+
+ if (more) {
+
+ // 1, 0.1, 0.01, 0.001, 0.0001 etc.
+ x.e = x.e - sd + 1;
+ xc[0] = 1;
+ } else {
+
+ // Zero.
+ xc[0] = x.e = 0;
+ }
+ } else if (sd < xc.length) {
+
+ // xc[sd] is the digit after the digit that may be rounded up.
+ more =
+ rm === 1 && xc[sd] >= 5 ||
+ rm === 2 && (xc[sd] > 5 || xc[sd] === 5 &&
+ (more || xc[sd + 1] !== UNDEFINED || xc[sd - 1] & 1)) ||
+ rm === 3 && (more || !!xc[0]);
+
+ // Remove any digits after the required precision.
+ xc.length = sd;
+
+ // Round up?
+ if (more) {
+
+ // Rounding up may mean the previous digit has to be rounded up.
+ for (; ++xc[--sd] > 9;) {
+ xc[sd] = 0;
+ if (sd === 0) {
+ ++x.e;
+ xc.unshift(1);
+ break;
+ }
+ }
+ }
+
+ // Remove trailing zeros.
+ for (sd = xc.length; !xc[--sd];) xc.pop();
+ }
+
+ return x;
+ }
+
+
+ /*
+ * Return a string representing the value of Big x in normal or exponential notation.
+ * Handles P.toExponential, P.toFixed, P.toJSON, P.toPrecision, P.toString and P.valueOf.
+ */
+ function stringify(x, doExponential, isNonzero) {
+ var e = x.e,
+ s = x.c.join(''),
+ n = s.length;
+
+ // Exponential notation?
+ if (doExponential) {
+ s = s.charAt(0) + (n > 1 ? '.' + s.slice(1) : '') + (e < 0 ? 'e' : 'e+') + e;
+
+ // Normal notation.
+ } else if (e < 0) {
+ for (; ++e;) s = '0' + s;
+ s = '0.' + s;
+ } else if (e > 0) {
+ if (++e > n) {
+ for (e -= n; e--;) s += '0';
+ } else if (e < n) {
+ s = s.slice(0, e) + '.' + s.slice(e);
+ }
+ } else if (n > 1) {
+ s = s.charAt(0) + '.' + s.slice(1);
+ }
+
+ return x.s < 0 && isNonzero ? '-' + s : s;
+ }
+
+
+ // Prototype/instance methods
+
+
+ /*
+ * Return a new Big whose value is the absolute value of this Big.
+ */
+ P.abs = function () {
+ var x = new this.constructor(this);
+ x.s = 1;
+ return x;
+ };
+
+
+ /*
+ * Return 1 if the value of this Big is greater than the value of Big y,
+ * -1 if the value of this Big is less than the value of Big y, or
+ * 0 if they have the same value.
+ */
+ P.cmp = function (y) {
+ var isneg,
+ x = this,
+ xc = x.c,
+ yc = (y = new x.constructor(y)).c,
+ i = x.s,
+ j = y.s,
+ k = x.e,
+ l = y.e;
+
+ // Either zero?
+ if (!xc[0] || !yc[0]) return !xc[0] ? !yc[0] ? 0 : -j : i;
+
+ // Signs differ?
+ if (i != j) return i;
+
+ isneg = i < 0;
+
+ // Compare exponents.
+ if (k != l) return k > l ^ isneg ? 1 : -1;
+
+ j = (k = xc.length) < (l = yc.length) ? k : l;
+
+ // Compare digit by digit.
+ for (i = -1; ++i < j;) {
+ if (xc[i] != yc[i]) return xc[i] > yc[i] ^ isneg ? 1 : -1;
+ }
+
+ // Compare lengths.
+ return k == l ? 0 : k > l ^ isneg ? 1 : -1;
+ };
+
+
+ /*
+ * Return a new Big whose value is the value of this Big divided by the value of Big y, rounded,
+ * if necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.
+ */
+ P.div = function (y) {
+ var x = this,
+ Big = x.constructor,
+ a = x.c, // dividend
+ b = (y = new Big(y)).c, // divisor
+ k = x.s == y.s ? 1 : -1,
+ dp = Big.DP;
+
+ if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {
+ throw Error(INVALID_DP);
+ }
+
+ // Divisor is zero?
+ if (!b[0]) {
+ throw Error(DIV_BY_ZERO);
+ }
+
+ // Dividend is 0? Return +-0.
+ if (!a[0]) {
+ y.s = k;
+ y.c = [y.e = 0];
+ return y;
+ }
+
+ var bl, bt, n, cmp, ri,
+ bz = b.slice(),
+ ai = bl = b.length,
+ al = a.length,
+ r = a.slice(0, bl), // remainder
+ rl = r.length,
+ q = y, // quotient
+ qc = q.c = [],
+ qi = 0,
+ p = dp + (q.e = x.e - y.e) + 1; // precision of the result
+
+ q.s = k;
+ k = p < 0 ? 0 : p;
+
+ // Create version of divisor with leading zero.
+ bz.unshift(0);
+
+ // Add zeros to make remainder as long as divisor.
+ for (; rl++ < bl;) r.push(0);
+
+ do {
+
+ // n is how many times the divisor goes into current remainder.
+ for (n = 0; n < 10; n++) {
+
+ // Compare divisor and remainder.
+ if (bl != (rl = r.length)) {
+ cmp = bl > rl ? 1 : -1;
+ } else {
+ for (ri = -1, cmp = 0; ++ri < bl;) {
+ if (b[ri] != r[ri]) {
+ cmp = b[ri] > r[ri] ? 1 : -1;
+ break;
+ }
+ }
+ }
+
+ // If divisor < remainder, subtract divisor from remainder.
+ if (cmp < 0) {
+
+ // Remainder can't be more than 1 digit longer than divisor.
+ // Equalise lengths using divisor with extra leading zero?
+ for (bt = rl == bl ? b : bz; rl;) {
+ if (r[--rl] < bt[rl]) {
+ ri = rl;
+ for (; ri && !r[--ri];) r[ri] = 9;
+ --r[ri];
+ r[rl] += 10;
+ }
+ r[rl] -= bt[rl];
+ }
+
+ for (; !r[0];) r.shift();
+ } else {
+ break;
+ }
+ }
+
+ // Add the digit n to the result array.
+ qc[qi++] = cmp ? n : ++n;
+
+ // Update the remainder.
+ if (r[0] && cmp) r[rl] = a[ai] || 0;
+ else r = [a[ai]];
+
+ } while ((ai++ < al || r[0] !== UNDEFINED) && k--);
+
+ // Leading zero? Do not remove if result is simply zero (qi == 1).
+ if (!qc[0] && qi != 1) {
+
+ // There can't be more than one zero.
+ qc.shift();
+ q.e--;
+ p--;
+ }
+
+ // Round?
+ if (qi > p) round(q, p, Big.RM, r[0] !== UNDEFINED);
+
+ return q;
+ };
+
+
+ /*
+ * Return true if the value of this Big is equal to the value of Big y, otherwise return false.
+ */
+ P.eq = function (y) {
+ return this.cmp(y) === 0;
+ };
+
+
+ /*
+ * Return true if the value of this Big is greater than the value of Big y, otherwise return
+ * false.
+ */
+ P.gt = function (y) {
+ return this.cmp(y) > 0;
+ };
+
+
+ /*
+ * Return true if the value of this Big is greater than or equal to the value of Big y, otherwise
+ * return false.
+ */
+ P.gte = function (y) {
+ return this.cmp(y) > -1;
+ };
+
+
+ /*
+ * Return true if the value of this Big is less than the value of Big y, otherwise return false.
+ */
+ P.lt = function (y) {
+ return this.cmp(y) < 0;
+ };
+
+
+ /*
+ * Return true if the value of this Big is less than or equal to the value of Big y, otherwise
+ * return false.
+ */
+ P.lte = function (y) {
+ return this.cmp(y) < 1;
+ };
+
+
+ /*
+ * Return a new Big whose value is the value of this Big minus the value of Big y.
+ */
+ P.minus = P.sub = function (y) {
+ var i, j, t, xlty,
+ x = this,
+ Big = x.constructor,
+ a = x.s,
+ b = (y = new Big(y)).s;
+
+ // Signs differ?
+ if (a != b) {
+ y.s = -b;
+ return x.plus(y);
+ }
+
+ var xc = x.c.slice(),
+ xe = x.e,
+ yc = y.c,
+ ye = y.e;
+
+ // Either zero?
+ if (!xc[0] || !yc[0]) {
+ if (yc[0]) {
+ y.s = -b;
+ } else if (xc[0]) {
+ y = new Big(x);
+ } else {
+ y.s = 1;
+ }
+ return y;
+ }
+
+ // Determine which is the bigger number. Prepend zeros to equalise exponents.
+ if (a = xe - ye) {
+
+ if (xlty = a < 0) {
+ a = -a;
+ t = xc;
+ } else {
+ ye = xe;
+ t = yc;
+ }
+
+ t.reverse();
+ for (b = a; b--;) t.push(0);
+ t.reverse();
+ } else {
+
+ // Exponents equal. Check digit by digit.
+ j = ((xlty = xc.length < yc.length) ? xc : yc).length;
+
+ for (a = b = 0; b < j; b++) {
+ if (xc[b] != yc[b]) {
+ xlty = xc[b] < yc[b];
+ break;
+ }
+ }
+ }
+
+ // x < y? Point xc to the array of the bigger number.
+ if (xlty) {
+ t = xc;
+ xc = yc;
+ yc = t;
+ y.s = -y.s;
+ }
+
+ /*
+ * Append zeros to xc if shorter. No need to add zeros to yc if shorter as subtraction only
+ * needs to start at yc.length.
+ */
+ if ((b = (j = yc.length) - (i = xc.length)) > 0) for (; b--;) xc[i++] = 0;
+
+ // Subtract yc from xc.
+ for (b = i; j > a;) {
+ if (xc[--j] < yc[j]) {
+ for (i = j; i && !xc[--i];) xc[i] = 9;
+ --xc[i];
+ xc[j] += 10;
+ }
+
+ xc[j] -= yc[j];
+ }
+
+ // Remove trailing zeros.
+ for (; xc[--b] === 0;) xc.pop();
+
+ // Remove leading zeros and adjust exponent accordingly.
+ for (; xc[0] === 0;) {
+ xc.shift();
+ --ye;
+ }
+
+ if (!xc[0]) {
+
+ // n - n = +0
+ y.s = 1;
+
+ // Result must be zero.
+ xc = [ye = 0];
+ }
+
+ y.c = xc;
+ y.e = ye;
+
+ return y;
+ };
+
+
+ /*
+ * Return a new Big whose value is the value of this Big modulo the value of Big y.
+ */
+ P.mod = function (y) {
+ var ygtx,
+ x = this,
+ Big = x.constructor,
+ a = x.s,
+ b = (y = new Big(y)).s;
+
+ if (!y.c[0]) {
+ throw Error(DIV_BY_ZERO);
+ }
+
+ x.s = y.s = 1;
+ ygtx = y.cmp(x) == 1;
+ x.s = a;
+ y.s = b;
+
+ if (ygtx) return new Big(x);
+
+ a = Big.DP;
+ b = Big.RM;
+ Big.DP = Big.RM = 0;
+ x = x.div(y);
+ Big.DP = a;
+ Big.RM = b;
+
+ return this.minus(x.times(y));
+ };
+
+
+ /*
+ * Return a new Big whose value is the value of this Big negated.
+ */
+ P.neg = function () {
+ var x = new this.constructor(this);
+ x.s = -x.s;
+ return x;
+ };
+
+
+ /*
+ * Return a new Big whose value is the value of this Big plus the value of Big y.
+ */
+ P.plus = P.add = function (y) {
+ var e, k, t,
+ x = this,
+ Big = x.constructor;
+
+ y = new Big(y);
+
+ // Signs differ?
+ if (x.s != y.s) {
+ y.s = -y.s;
+ return x.minus(y);
+ }
+
+ var xe = x.e,
+ xc = x.c,
+ ye = y.e,
+ yc = y.c;
+
+ // Either zero?
+ if (!xc[0] || !yc[0]) {
+ if (!yc[0]) {
+ if (xc[0]) {
+ y = new Big(x);
+ } else {
+ y.s = x.s;
+ }
+ }
+ return y;
+ }
+
+ xc = xc.slice();
+
+ // Prepend zeros to equalise exponents.
+ // Note: reverse faster than unshifts.
+ if (e = xe - ye) {
+ if (e > 0) {
+ ye = xe;
+ t = yc;
+ } else {
+ e = -e;
+ t = xc;
+ }
+
+ t.reverse();
+ for (; e--;) t.push(0);
+ t.reverse();
+ }
+
+ // Point xc to the longer array.
+ if (xc.length - yc.length < 0) {
+ t = yc;
+ yc = xc;
+ xc = t;
+ }
+
+ e = yc.length;
+
+ // Only start adding at yc.length - 1 as the further digits of xc can be left as they are.
+ for (k = 0; e; xc[e] %= 10) k = (xc[--e] = xc[e] + yc[e] + k) / 10 | 0;
+
+ // No need to check for zero, as +x + +y != 0 && -x + -y != 0
+
+ if (k) {
+ xc.unshift(k);
+ ++ye;
+ }
+
+ // Remove trailing zeros.
+ for (e = xc.length; xc[--e] === 0;) xc.pop();
+
+ y.c = xc;
+ y.e = ye;
+
+ return y;
+ };
+
+
+ /*
+ * Return a Big whose value is the value of this Big raised to the power n.
+ * If n is negative, round to a maximum of Big.DP decimal places using rounding
+ * mode Big.RM.
+ *
+ * n {number} Integer, -MAX_POWER to MAX_POWER inclusive.
+ */
+ P.pow = function (n) {
+ var x = this,
+ one = new x.constructor('1'),
+ y = one,
+ isneg = n < 0;
+
+ if (n !== ~~n || n < -MAX_POWER || n > MAX_POWER) {
+ throw Error(INVALID + 'exponent');
+ }
+
+ if (isneg) n = -n;
+
+ for (;;) {
+ if (n & 1) y = y.times(x);
+ n >>= 1;
+ if (!n) break;
+ x = x.times(x);
+ }
+
+ return isneg ? one.div(y) : y;
+ };
+
+
+ /*
+ * Return a new Big whose value is the value of this Big rounded to a maximum precision of sd
+ * significant digits using rounding mode rm, or Big.RM if rm is not specified.
+ *
+ * sd {number} Significant digits: integer, 1 to MAX_DP inclusive.
+ * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
+ */
+ P.prec = function (sd, rm) {
+ if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {
+ throw Error(INVALID + 'precision');
+ }
+ return round(new this.constructor(this), sd, rm);
+ };
+
+
+ /*
+ * Return a new Big whose value is the value of this Big rounded to a maximum of dp decimal places
+ * using rounding mode rm, or Big.RM if rm is not specified.
+ * If dp is negative, round to an integer which is a multiple of 10**-dp.
+ * If dp is not specified, round to 0 decimal places.
+ *
+ * dp? {number} Integer, -MAX_DP to MAX_DP inclusive.
+ * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
+ */
+ P.round = function (dp, rm) {
+ if (dp === UNDEFINED) dp = 0;
+ else if (dp !== ~~dp || dp < -MAX_DP || dp > MAX_DP) {
+ throw Error(INVALID_DP);
+ }
+ return round(new this.constructor(this), dp + this.e + 1, rm);
+ };
+
+
+ /*
+ * Return a new Big whose value is the square root of the value of this Big, rounded, if
+ * necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.
+ */
+ P.sqrt = function () {
+ var r, c, t,
+ x = this,
+ Big = x.constructor,
+ s = x.s,
+ e = x.e,
+ half = new Big('0.5');
+
+ // Zero?
+ if (!x.c[0]) return new Big(x);
+
+ // Negative?
+ if (s < 0) {
+ throw Error(NAME + 'No square root');
+ }
+
+ // Estimate.
+ s = Math.sqrt(+stringify(x, true, true));
+
+ // Math.sqrt underflow/overflow?
+ // Re-estimate: pass x coefficient to Math.sqrt as integer, then adjust the result exponent.
+ if (s === 0 || s === 1 / 0) {
+ c = x.c.join('');
+ if (!(c.length + e & 1)) c += '0';
+ s = Math.sqrt(c);
+ e = ((e + 1) / 2 | 0) - (e < 0 || e & 1);
+ r = new Big((s == 1 / 0 ? '5e' : (s = s.toExponential()).slice(0, s.indexOf('e') + 1)) + e);
+ } else {
+ r = new Big(s + '');
+ }
+
+ e = r.e + (Big.DP += 4);
+
+ // Newton-Raphson iteration.
+ do {
+ t = r;
+ r = half.times(t.plus(x.div(t)));
+ } while (t.c.slice(0, e).join('') !== r.c.slice(0, e).join(''));
+
+ return round(r, (Big.DP -= 4) + r.e + 1, Big.RM);
+ };
+
+
+ /*
+ * Return a new Big whose value is the value of this Big times the value of Big y.
+ */
+ P.times = P.mul = function (y) {
+ var c,
+ x = this,
+ Big = x.constructor,
+ xc = x.c,
+ yc = (y = new Big(y)).c,
+ a = xc.length,
+ b = yc.length,
+ i = x.e,
+ j = y.e;
+
+ // Determine sign of result.
+ y.s = x.s == y.s ? 1 : -1;
+
+ // Return signed 0 if either 0.
+ if (!xc[0] || !yc[0]) {
+ y.c = [y.e = 0];
+ return y;
+ }
+
+ // Initialise exponent of result as x.e + y.e.
+ y.e = i + j;
+
+ // If array xc has fewer digits than yc, swap xc and yc, and lengths.
+ if (a < b) {
+ c = xc;
+ xc = yc;
+ yc = c;
+ j = a;
+ a = b;
+ b = j;
+ }
+
+ // Initialise coefficient array of result with zeros.
+ for (c = new Array(j = a + b); j--;) c[j] = 0;
+
+ // Multiply.
+
+ // i is initially xc.length.
+ for (i = b; i--;) {
+ b = 0;
+
+ // a is yc.length.
+ for (j = a + i; j > i;) {
+
+ // Current sum of products at this digit position, plus carry.
+ b = c[j] + yc[i] * xc[j - i - 1] + b;
+ c[j--] = b % 10;
+
+ // carry
+ b = b / 10 | 0;
+ }
+
+ c[j] = b;
+ }
+
+ // Increment result exponent if there is a final carry, otherwise remove leading zero.
+ if (b) ++y.e;
+ else c.shift();
+
+ // Remove trailing zeros.
+ for (i = c.length; !c[--i];) c.pop();
+ y.c = c;
+
+ return y;
+ };
+
+
+ /*
+ * Return a string representing the value of this Big in exponential notation rounded to dp fixed
+ * decimal places using rounding mode rm, or Big.RM if rm is not specified.
+ *
+ * dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.
+ * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
+ */
+ P.toExponential = function (dp, rm) {
+ var x = this,
+ n = x.c[0];
+
+ if (dp !== UNDEFINED) {
+ if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {
+ throw Error(INVALID_DP);
+ }
+ x = round(new x.constructor(x), ++dp, rm);
+ for (; x.c.length < dp;) x.c.push(0);
+ }
+
+ return stringify(x, true, !!n);
+ };
+
+
+ /*
+ * Return a string representing the value of this Big in normal notation rounded to dp fixed
+ * decimal places using rounding mode rm, or Big.RM if rm is not specified.
+ *
+ * dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.
+ * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
+ *
+ * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.
+ * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.
+ */
+ P.toFixed = function (dp, rm) {
+ var x = this,
+ n = x.c[0];
+
+ if (dp !== UNDEFINED) {
+ if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {
+ throw Error(INVALID_DP);
+ }
+ x = round(new x.constructor(x), dp + x.e + 1, rm);
+
+ // x.e may have changed if the value is rounded up.
+ for (dp = dp + x.e + 1; x.c.length < dp;) x.c.push(0);
+ }
+
+ return stringify(x, false, !!n);
+ };
+
+
+ /*
+ * Return a string representing the value of this Big.
+ * Return exponential notation if this Big has a positive exponent equal to or greater than
+ * Big.PE, or a negative exponent equal to or less than Big.NE.
+ * Omit the sign for negative zero.
+ */
+ P.toJSON = P.toString = function () {
+ var x = this,
+ Big = x.constructor;
+ return stringify(x, x.e <= Big.NE || x.e >= Big.PE, !!x.c[0]);
+ };
+
+
+ /*
+ * Return the value of this Big as a primitve number.
+ */
+ P.toNumber = function () {
+ var n = +stringify(this, true, true);
+ if (this.constructor.strict === true && !this.eq(n.toString())) {
+ throw Error(NAME + 'Imprecise conversion');
+ }
+ return n;
+ };
+
+
+ /*
+ * Return a string representing the value of this Big rounded to sd significant digits using
+ * rounding mode rm, or Big.RM if rm is not specified.
+ * Use exponential notation if sd is less than the number of digits necessary to represent
+ * the integer part of the value in normal notation.
+ *
+ * sd {number} Significant digits: integer, 1 to MAX_DP inclusive.
+ * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
+ */
+ P.toPrecision = function (sd, rm) {
+ var x = this,
+ Big = x.constructor,
+ n = x.c[0];
+
+ if (sd !== UNDEFINED) {
+ if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {
+ throw Error(INVALID + 'precision');
+ }
+ x = round(new Big(x), sd, rm);
+ for (; x.c.length < sd;) x.c.push(0);
+ }
+
+ return stringify(x, sd <= x.e || x.e <= Big.NE || x.e >= Big.PE, !!n);
+ };
+
+
+ /*
+ * Return a string representing the value of this Big.
+ * Return exponential notation if this Big has a positive exponent equal to or greater than
+ * Big.PE, or a negative exponent equal to or less than Big.NE.
+ * Include the sign for negative zero.
+ */
+ P.valueOf = function () {
+ var x = this,
+ Big = x.constructor;
+ if (Big.strict === true) {
+ throw Error(NAME + 'valueOf disallowed');
+ }
+ return stringify(x, x.e <= Big.NE || x.e >= Big.PE, true);
+ };
+
+
+ // Export
+
+
+ Big = _Big_();
+
+ Big['default'] = Big.Big = Big;
+
+ //AMD.
+ if (typeof define === 'function' && define.amd) {
+ define(function () { return Big; });
+
+ // Node and other CommonJS-like environments that support module.exports.
+ } else if (typeof module !== 'undefined' && module.exports) {
+ module.exports = Big;
+
+ //Browser.
+ } else {
+ GLOBAL.Big = Big;
+ }
+})(this);
+
+}, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
+return __REQUIRE__(1764126506373);
+})()
+//miniprogram-npm-outsideDeps=[]
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/big.js/index.js.map b/miniprogram/miniprogram_npm/big.js/index.js.map
new file mode 100644
index 0000000..95311c8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/big.js/index.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["big.js"],"names":[],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.js","sourcesContent":["/*\r\n * big.js v7.0.1\r\n * A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic.\r\n * Copyright (c) 2025 Michael Mclaughlin\r\n * https://github.com/MikeMcl/big.js/LICENCE.md\r\n */\r\n;(function (GLOBAL) {\r\n \r\n var Big,\r\n\r\n\r\n/************************************** EDITABLE DEFAULTS *****************************************/\r\n\r\n\r\n // The default values below must be integers within the stated ranges.\r\n\r\n /*\r\n * The maximum number of decimal places (DP) of the results of operations involving division:\r\n * div and sqrt, and pow with negative exponents.\r\n */\r\n DP = 20, // 0 to MAX_DP\r\n\r\n /*\r\n * The rounding mode (RM) used when rounding to the above decimal places.\r\n *\r\n * 0 Towards zero (i.e. truncate, no rounding). (ROUND_DOWN)\r\n * 1 To nearest neighbour. If equidistant, round up. (ROUND_HALF_UP)\r\n * 2 To nearest neighbour. If equidistant, to even. (ROUND_HALF_EVEN)\r\n * 3 Away from zero. (ROUND_UP)\r\n */\r\n RM = 1, // 0, 1, 2 or 3\r\n\r\n // The maximum value of DP and Big.DP.\r\n MAX_DP = 1E6, // 0 to 1000000\r\n\r\n // The maximum magnitude of the exponent argument to the pow method.\r\n MAX_POWER = 1E6, // 1 to 1000000\r\n\r\n /*\r\n * The negative exponent (NE) at and beneath which toString returns exponential notation.\r\n * (JavaScript numbers: -7)\r\n * -1000000 is the minimum recommended exponent value of a Big.\r\n */\r\n NE = -7, // 0 to -1000000\r\n\r\n /*\r\n * The positive exponent (PE) at and above which toString returns exponential notation.\r\n * (JavaScript numbers: 21)\r\n * 1000000 is the maximum recommended exponent value of a Big, but this limit is not enforced.\r\n */\r\n PE = 21, // 0 to 1000000\r\n\r\n /*\r\n * When true, an error will be thrown if a primitive number is passed to the Big constructor,\r\n * or if valueOf is called, or if toNumber is called on a Big which cannot be converted to a\r\n * primitive number without a loss of precision.\r\n */\r\n STRICT = false, // true or false\r\n\r\n\r\n/**************************************************************************************************/\r\n\r\n\r\n // Error messages.\r\n NAME = '[big.js] ',\r\n INVALID = NAME + 'Invalid ',\r\n INVALID_DP = INVALID + 'decimal places',\r\n INVALID_RM = INVALID + 'rounding mode',\r\n DIV_BY_ZERO = NAME + 'Division by zero',\r\n\r\n // The shared prototype object.\r\n P = {},\r\n UNDEFINED = void 0,\r\n NUMERIC = /^-?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i;\r\n\r\n\r\n /*\r\n * Create and return a Big constructor.\r\n */\r\n function _Big_() {\r\n\r\n /*\r\n * The Big constructor and exported function.\r\n * Create and return a new instance of a Big number object.\r\n *\r\n * n {number|string|Big} A numeric value.\r\n */\r\n function Big(n) {\r\n var x = this;\r\n\r\n // Enable constructor usage without new.\r\n if (!(x instanceof Big)) {\r\n return n === UNDEFINED && arguments.length === 0 ? _Big_() : new Big(n);\r\n }\r\n\r\n // Duplicate.\r\n if (n instanceof Big) {\r\n x.s = n.s;\r\n x.e = n.e;\r\n x.c = n.c.slice();\r\n } else {\r\n if (typeof n !== 'string') {\r\n if (Big.strict === true && typeof n !== 'bigint') {\r\n throw TypeError(INVALID + 'value');\r\n }\r\n\r\n // Minus zero?\r\n n = n === 0 && 1 / n < 0 ? '-0' : String(n);\r\n }\r\n\r\n parse(x, n);\r\n }\r\n\r\n // Retain a reference to this Big constructor.\r\n // Shadow Big.prototype.constructor which points to Object.\r\n x.constructor = Big;\r\n }\r\n\r\n Big.prototype = P;\r\n Big.DP = DP;\r\n Big.RM = RM;\r\n Big.NE = NE;\r\n Big.PE = PE;\r\n Big.strict = STRICT;\r\n Big.roundDown = 0;\r\n Big.roundHalfUp = 1;\r\n Big.roundHalfEven = 2;\r\n Big.roundUp = 3;\r\n\r\n return Big;\r\n }\r\n\r\n\r\n /*\r\n * Parse the number or string value passed to a Big constructor.\r\n *\r\n * x {Big} A Big number instance.\r\n * n {number|string} A numeric value.\r\n */\r\n function parse(x, n) {\r\n var e, i, nl;\r\n\r\n if (!NUMERIC.test(n)) {\r\n throw Error(INVALID + 'number');\r\n }\r\n\r\n // Determine sign.\r\n x.s = n.charAt(0) == '-' ? (n = n.slice(1), -1) : 1;\r\n\r\n // Decimal point?\r\n if ((e = n.indexOf('.')) > -1) n = n.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = n.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +n.slice(i + 1);\r\n n = n.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = n.length;\r\n }\r\n\r\n nl = n.length;\r\n\r\n // Determine leading zeros.\r\n for (i = 0; i < nl && n.charAt(i) == '0';) ++i;\r\n\r\n if (i == nl) {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n } else {\r\n\r\n // Determine trailing zeros.\r\n for (; nl > 0 && n.charAt(--nl) == '0';);\r\n x.e = e - i - 1;\r\n x.c = [];\r\n\r\n // Convert string to array of digits without leading/trailing zeros.\r\n for (e = 0; i <= nl;) x.c[e++] = +n.charAt(i++);\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Round Big x to a maximum of sd significant digits using rounding mode rm.\r\n *\r\n * x {Big} The Big to round.\r\n * sd {number} Significant digits: integer, 0 to MAX_DP inclusive.\r\n * rm {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n * [more] {boolean} Whether the result of division was truncated.\r\n */\r\n function round(x, sd, rm, more) {\r\n var xc = x.c;\r\n\r\n if (rm === UNDEFINED) rm = x.constructor.RM;\r\n if (rm !== 0 && rm !== 1 && rm !== 2 && rm !== 3) {\r\n throw Error(INVALID_RM);\r\n }\r\n\r\n if (sd < 1) {\r\n more =\r\n rm === 3 && (more || !!xc[0]) || sd === 0 && (\r\n rm === 1 && xc[0] >= 5 ||\r\n rm === 2 && (xc[0] > 5 || xc[0] === 5 && (more || xc[1] !== UNDEFINED))\r\n );\r\n\r\n xc.length = 1;\r\n\r\n if (more) {\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n x.e = x.e - sd + 1;\r\n xc[0] = 1;\r\n } else {\r\n\r\n // Zero.\r\n xc[0] = x.e = 0;\r\n }\r\n } else if (sd < xc.length) {\r\n\r\n // xc[sd] is the digit after the digit that may be rounded up.\r\n more =\r\n rm === 1 && xc[sd] >= 5 ||\r\n rm === 2 && (xc[sd] > 5 || xc[sd] === 5 &&\r\n (more || xc[sd + 1] !== UNDEFINED || xc[sd - 1] & 1)) ||\r\n rm === 3 && (more || !!xc[0]);\r\n\r\n // Remove any digits after the required precision.\r\n xc.length = sd;\r\n\r\n // Round up?\r\n if (more) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up.\r\n for (; ++xc[--sd] > 9;) {\r\n xc[sd] = 0;\r\n if (sd === 0) {\r\n ++x.e;\r\n xc.unshift(1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (sd = xc.length; !xc[--sd];) xc.pop();\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Return a string representing the value of Big x in normal or exponential notation.\r\n * Handles P.toExponential, P.toFixed, P.toJSON, P.toPrecision, P.toString and P.valueOf.\r\n */\r\n function stringify(x, doExponential, isNonzero) {\r\n var e = x.e,\r\n s = x.c.join(''),\r\n n = s.length;\r\n\r\n // Exponential notation?\r\n if (doExponential) {\r\n s = s.charAt(0) + (n > 1 ? '.' + s.slice(1) : '') + (e < 0 ? 'e' : 'e+') + e;\r\n\r\n // Normal notation.\r\n } else if (e < 0) {\r\n for (; ++e;) s = '0' + s;\r\n s = '0.' + s;\r\n } else if (e > 0) {\r\n if (++e > n) {\r\n for (e -= n; e--;) s += '0';\r\n } else if (e < n) {\r\n s = s.slice(0, e) + '.' + s.slice(e);\r\n }\r\n } else if (n > 1) {\r\n s = s.charAt(0) + '.' + s.slice(1);\r\n }\r\n\r\n return x.s < 0 && isNonzero ? '-' + s : s;\r\n }\r\n\r\n\r\n // Prototype/instance methods\r\n\r\n\r\n /*\r\n * Return a new Big whose value is the absolute value of this Big.\r\n */\r\n P.abs = function () {\r\n var x = new this.constructor(this);\r\n x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return 1 if the value of this Big is greater than the value of Big y,\r\n * -1 if the value of this Big is less than the value of Big y, or\r\n * 0 if they have the same value.\r\n */\r\n P.cmp = function (y) {\r\n var isneg,\r\n x = this,\r\n xc = x.c,\r\n yc = (y = new x.constructor(y)).c,\r\n i = x.s,\r\n j = y.s,\r\n k = x.e,\r\n l = y.e;\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) return !xc[0] ? !yc[0] ? 0 : -j : i;\r\n\r\n // Signs differ?\r\n if (i != j) return i;\r\n\r\n isneg = i < 0;\r\n\r\n // Compare exponents.\r\n if (k != l) return k > l ^ isneg ? 1 : -1;\r\n\r\n j = (k = xc.length) < (l = yc.length) ? k : l;\r\n\r\n // Compare digit by digit.\r\n for (i = -1; ++i < j;) {\r\n if (xc[i] != yc[i]) return xc[i] > yc[i] ^ isneg ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return k == l ? 0 : k > l ^ isneg ? 1 : -1;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Big whose value is the value of this Big divided by the value of Big y, rounded,\r\n * if necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.\r\n */\r\n P.div = function (y) {\r\n var x = this,\r\n Big = x.constructor,\r\n a = x.c, // dividend\r\n b = (y = new Big(y)).c, // divisor\r\n k = x.s == y.s ? 1 : -1,\r\n dp = Big.DP;\r\n\r\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n\r\n // Divisor is zero?\r\n if (!b[0]) {\r\n throw Error(DIV_BY_ZERO);\r\n }\r\n\r\n // Dividend is 0? Return +-0.\r\n if (!a[0]) {\r\n y.s = k;\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n var bl, bt, n, cmp, ri,\r\n bz = b.slice(),\r\n ai = bl = b.length,\r\n al = a.length,\r\n r = a.slice(0, bl), // remainder\r\n rl = r.length,\r\n q = y, // quotient\r\n qc = q.c = [],\r\n qi = 0,\r\n p = dp + (q.e = x.e - y.e) + 1; // precision of the result\r\n\r\n q.s = k;\r\n k = p < 0 ? 0 : p;\r\n\r\n // Create version of divisor with leading zero.\r\n bz.unshift(0);\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; rl++ < bl;) r.push(0);\r\n\r\n do {\r\n\r\n // n is how many times the divisor goes into current remainder.\r\n for (n = 0; n < 10; n++) {\r\n\r\n // Compare divisor and remainder.\r\n if (bl != (rl = r.length)) {\r\n cmp = bl > rl ? 1 : -1;\r\n } else {\r\n for (ri = -1, cmp = 0; ++ri < bl;) {\r\n if (b[ri] != r[ri]) {\r\n cmp = b[ri] > r[ri] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // If divisor < remainder, subtract divisor from remainder.\r\n if (cmp < 0) {\r\n\r\n // Remainder can't be more than 1 digit longer than divisor.\r\n // Equalise lengths using divisor with extra leading zero?\r\n for (bt = rl == bl ? b : bz; rl;) {\r\n if (r[--rl] < bt[rl]) {\r\n ri = rl;\r\n for (; ri && !r[--ri];) r[ri] = 9;\r\n --r[ri];\r\n r[rl] += 10;\r\n }\r\n r[rl] -= bt[rl];\r\n }\r\n\r\n for (; !r[0];) r.shift();\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n // Add the digit n to the result array.\r\n qc[qi++] = cmp ? n : ++n;\r\n\r\n // Update the remainder.\r\n if (r[0] && cmp) r[rl] = a[ai] || 0;\r\n else r = [a[ai]];\r\n\r\n } while ((ai++ < al || r[0] !== UNDEFINED) && k--);\r\n\r\n // Leading zero? Do not remove if result is simply zero (qi == 1).\r\n if (!qc[0] && qi != 1) {\r\n\r\n // There can't be more than one zero.\r\n qc.shift();\r\n q.e--;\r\n p--;\r\n }\r\n\r\n // Round?\r\n if (qi > p) round(q, p, Big.RM, r[0] !== UNDEFINED);\r\n\r\n return q;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Big is equal to the value of Big y, otherwise return false.\r\n */\r\n P.eq = function (y) {\r\n return this.cmp(y) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Big is greater than the value of Big y, otherwise return\r\n * false.\r\n */\r\n P.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Big is greater than or equal to the value of Big y, otherwise\r\n * return false.\r\n */\r\n P.gte = function (y) {\r\n return this.cmp(y) > -1;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Big is less than the value of Big y, otherwise return false.\r\n */\r\n P.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Big is less than or equal to the value of Big y, otherwise\r\n * return false.\r\n */\r\n P.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Big whose value is the value of this Big minus the value of Big y.\r\n */\r\n P.minus = P.sub = function (y) {\r\n var i, j, t, xlty,\r\n x = this,\r\n Big = x.constructor,\r\n a = x.s,\r\n b = (y = new Big(y)).s;\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.plus(y);\r\n }\r\n\r\n var xc = x.c.slice(),\r\n xe = x.e,\r\n yc = y.c,\r\n ye = y.e;\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n if (yc[0]) {\r\n y.s = -b;\r\n } else if (xc[0]) {\r\n y = new Big(x);\r\n } else {\r\n y.s = 1;\r\n }\r\n return y;\r\n }\r\n\r\n // Determine which is the bigger number. Prepend zeros to equalise exponents.\r\n if (a = xe - ye) {\r\n\r\n if (xlty = a < 0) {\r\n a = -a;\r\n t = xc;\r\n } else {\r\n ye = xe;\r\n t = yc;\r\n }\r\n\r\n t.reverse();\r\n for (b = a; b--;) t.push(0);\r\n t.reverse();\r\n } else {\r\n\r\n // Exponents equal. Check digit by digit.\r\n j = ((xlty = xc.length < yc.length) ? xc : yc).length;\r\n\r\n for (a = b = 0; b < j; b++) {\r\n if (xc[b] != yc[b]) {\r\n xlty = xc[b] < yc[b];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // x < y? Point xc to the array of the bigger number.\r\n if (xlty) {\r\n t = xc;\r\n xc = yc;\r\n yc = t;\r\n y.s = -y.s;\r\n }\r\n\r\n /*\r\n * Append zeros to xc if shorter. No need to add zeros to yc if shorter as subtraction only\r\n * needs to start at yc.length.\r\n */\r\n if ((b = (j = yc.length) - (i = xc.length)) > 0) for (; b--;) xc[i++] = 0;\r\n\r\n // Subtract yc from xc.\r\n for (b = i; j > a;) {\r\n if (xc[--j] < yc[j]) {\r\n for (i = j; i && !xc[--i];) xc[i] = 9;\r\n --xc[i];\r\n xc[j] += 10;\r\n }\r\n\r\n xc[j] -= yc[j];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xc[--b] === 0;) xc.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xc[0] === 0;) {\r\n xc.shift();\r\n --ye;\r\n }\r\n\r\n if (!xc[0]) {\r\n\r\n // n - n = +0\r\n y.s = 1;\r\n\r\n // Result must be zero.\r\n xc = [ye = 0];\r\n }\r\n\r\n y.c = xc;\r\n y.e = ye;\r\n\r\n return y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Big whose value is the value of this Big modulo the value of Big y.\r\n */\r\n P.mod = function (y) {\r\n var ygtx,\r\n x = this,\r\n Big = x.constructor,\r\n a = x.s,\r\n b = (y = new Big(y)).s;\r\n\r\n if (!y.c[0]) {\r\n throw Error(DIV_BY_ZERO);\r\n }\r\n\r\n x.s = y.s = 1;\r\n ygtx = y.cmp(x) == 1;\r\n x.s = a;\r\n y.s = b;\r\n\r\n if (ygtx) return new Big(x);\r\n\r\n a = Big.DP;\r\n b = Big.RM;\r\n Big.DP = Big.RM = 0;\r\n x = x.div(y);\r\n Big.DP = a;\r\n Big.RM = b;\r\n\r\n return this.minus(x.times(y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Big whose value is the value of this Big negated.\r\n */\r\n P.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Big whose value is the value of this Big plus the value of Big y.\r\n */\r\n P.plus = P.add = function (y) {\r\n var e, k, t,\r\n x = this,\r\n Big = x.constructor;\r\n\r\n y = new Big(y);\r\n\r\n // Signs differ?\r\n if (x.s != y.s) {\r\n y.s = -y.s;\r\n return x.minus(y);\r\n }\r\n\r\n var xe = x.e,\r\n xc = x.c,\r\n ye = y.e,\r\n yc = y.c;\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n if (!yc[0]) {\r\n if (xc[0]) {\r\n y = new Big(x);\r\n } else {\r\n y.s = x.s;\r\n }\r\n }\r\n return y;\r\n }\r\n\r\n xc = xc.slice();\r\n\r\n // Prepend zeros to equalise exponents.\r\n // Note: reverse faster than unshifts.\r\n if (e = xe - ye) {\r\n if (e > 0) {\r\n ye = xe;\r\n t = yc;\r\n } else {\r\n e = -e;\r\n t = xc;\r\n }\r\n\r\n t.reverse();\r\n for (; e--;) t.push(0);\r\n t.reverse();\r\n }\r\n\r\n // Point xc to the longer array.\r\n if (xc.length - yc.length < 0) {\r\n t = yc;\r\n yc = xc;\r\n xc = t;\r\n }\r\n\r\n e = yc.length;\r\n\r\n // Only start adding at yc.length - 1 as the further digits of xc can be left as they are.\r\n for (k = 0; e; xc[e] %= 10) k = (xc[--e] = xc[e] + yc[e] + k) / 10 | 0;\r\n\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n\r\n if (k) {\r\n xc.unshift(k);\r\n ++ye;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (e = xc.length; xc[--e] === 0;) xc.pop();\r\n\r\n y.c = xc;\r\n y.e = ye;\r\n\r\n return y;\r\n };\r\n\r\n\r\n /*\r\n * Return a Big whose value is the value of this Big raised to the power n.\r\n * If n is negative, round to a maximum of Big.DP decimal places using rounding\r\n * mode Big.RM.\r\n *\r\n * n {number} Integer, -MAX_POWER to MAX_POWER inclusive.\r\n */\r\n P.pow = function (n) {\r\n var x = this,\r\n one = new x.constructor('1'),\r\n y = one,\r\n isneg = n < 0;\r\n\r\n if (n !== ~~n || n < -MAX_POWER || n > MAX_POWER) {\r\n throw Error(INVALID + 'exponent');\r\n }\r\n\r\n if (isneg) n = -n;\r\n\r\n for (;;) {\r\n if (n & 1) y = y.times(x);\r\n n >>= 1;\r\n if (!n) break;\r\n x = x.times(x);\r\n }\r\n\r\n return isneg ? one.div(y) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Big whose value is the value of this Big rounded to a maximum precision of sd\r\n * significant digits using rounding mode rm, or Big.RM if rm is not specified.\r\n *\r\n * sd {number} Significant digits: integer, 1 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\n P.prec = function (sd, rm) {\r\n if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {\r\n throw Error(INVALID + 'precision');\r\n }\r\n return round(new this.constructor(this), sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Big whose value is the value of this Big rounded to a maximum of dp decimal places\r\n * using rounding mode rm, or Big.RM if rm is not specified.\r\n * If dp is negative, round to an integer which is a multiple of 10**-dp.\r\n * If dp is not specified, round to 0 decimal places.\r\n *\r\n * dp? {number} Integer, -MAX_DP to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\n P.round = function (dp, rm) {\r\n if (dp === UNDEFINED) dp = 0;\r\n else if (dp !== ~~dp || dp < -MAX_DP || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n return round(new this.constructor(this), dp + this.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Big whose value is the square root of the value of this Big, rounded, if\r\n * necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.\r\n */\r\n P.sqrt = function () {\r\n var r, c, t,\r\n x = this,\r\n Big = x.constructor,\r\n s = x.s,\r\n e = x.e,\r\n half = new Big('0.5');\r\n\r\n // Zero?\r\n if (!x.c[0]) return new Big(x);\r\n\r\n // Negative?\r\n if (s < 0) {\r\n throw Error(NAME + 'No square root');\r\n }\r\n\r\n // Estimate.\r\n s = Math.sqrt(+stringify(x, true, true));\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Re-estimate: pass x coefficient to Math.sqrt as integer, then adjust the result exponent.\r\n if (s === 0 || s === 1 / 0) {\r\n c = x.c.join('');\r\n if (!(c.length + e & 1)) c += '0';\r\n s = Math.sqrt(c);\r\n e = ((e + 1) / 2 | 0) - (e < 0 || e & 1);\r\n r = new Big((s == 1 / 0 ? '5e' : (s = s.toExponential()).slice(0, s.indexOf('e') + 1)) + e);\r\n } else {\r\n r = new Big(s + '');\r\n }\r\n\r\n e = r.e + (Big.DP += 4);\r\n\r\n // Newton-Raphson iteration.\r\n do {\r\n t = r;\r\n r = half.times(t.plus(x.div(t)));\r\n } while (t.c.slice(0, e).join('') !== r.c.slice(0, e).join(''));\r\n\r\n return round(r, (Big.DP -= 4) + r.e + 1, Big.RM);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Big whose value is the value of this Big times the value of Big y.\r\n */\r\n P.times = P.mul = function (y) {\r\n var c,\r\n x = this,\r\n Big = x.constructor,\r\n xc = x.c,\r\n yc = (y = new Big(y)).c,\r\n a = xc.length,\r\n b = yc.length,\r\n i = x.e,\r\n j = y.e;\r\n\r\n // Determine sign of result.\r\n y.s = x.s == y.s ? 1 : -1;\r\n\r\n // Return signed 0 if either 0.\r\n if (!xc[0] || !yc[0]) {\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n // Initialise exponent of result as x.e + y.e.\r\n y.e = i + j;\r\n\r\n // If array xc has fewer digits than yc, swap xc and yc, and lengths.\r\n if (a < b) {\r\n c = xc;\r\n xc = yc;\r\n yc = c;\r\n j = a;\r\n a = b;\r\n b = j;\r\n }\r\n\r\n // Initialise coefficient array of result with zeros.\r\n for (c = new Array(j = a + b); j--;) c[j] = 0;\r\n\r\n // Multiply.\r\n\r\n // i is initially xc.length.\r\n for (i = b; i--;) {\r\n b = 0;\r\n\r\n // a is yc.length.\r\n for (j = a + i; j > i;) {\r\n\r\n // Current sum of products at this digit position, plus carry.\r\n b = c[j] + yc[i] * xc[j - i - 1] + b;\r\n c[j--] = b % 10;\r\n\r\n // carry\r\n b = b / 10 | 0;\r\n }\r\n\r\n c[j] = b;\r\n }\r\n\r\n // Increment result exponent if there is a final carry, otherwise remove leading zero.\r\n if (b) ++y.e;\r\n else c.shift();\r\n\r\n // Remove trailing zeros.\r\n for (i = c.length; !c[--i];) c.pop();\r\n y.c = c;\r\n\r\n return y;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Big in exponential notation rounded to dp fixed\r\n * decimal places using rounding mode rm, or Big.RM if rm is not specified.\r\n *\r\n * dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\n P.toExponential = function (dp, rm) {\r\n var x = this,\r\n n = x.c[0];\r\n\r\n if (dp !== UNDEFINED) {\r\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n x = round(new x.constructor(x), ++dp, rm);\r\n for (; x.c.length < dp;) x.c.push(0);\r\n }\r\n\r\n return stringify(x, true, !!n);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Big in normal notation rounded to dp fixed\r\n * decimal places using rounding mode rm, or Big.RM if rm is not specified.\r\n *\r\n * dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n */\r\n P.toFixed = function (dp, rm) {\r\n var x = this,\r\n n = x.c[0];\r\n\r\n if (dp !== UNDEFINED) {\r\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n x = round(new x.constructor(x), dp + x.e + 1, rm);\r\n\r\n // x.e may have changed if the value is rounded up.\r\n for (dp = dp + x.e + 1; x.c.length < dp;) x.c.push(0);\r\n }\r\n\r\n return stringify(x, false, !!n);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Big.\r\n * Return exponential notation if this Big has a positive exponent equal to or greater than\r\n * Big.PE, or a negative exponent equal to or less than Big.NE.\r\n * Omit the sign for negative zero.\r\n */\r\n P.toJSON = P.toString = function () {\r\n var x = this,\r\n Big = x.constructor;\r\n return stringify(x, x.e <= Big.NE || x.e >= Big.PE, !!x.c[0]);\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this Big as a primitve number.\r\n */\r\n P.toNumber = function () {\r\n var n = +stringify(this, true, true);\r\n if (this.constructor.strict === true && !this.eq(n.toString())) {\r\n throw Error(NAME + 'Imprecise conversion');\r\n }\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Big rounded to sd significant digits using\r\n * rounding mode rm, or Big.RM if rm is not specified.\r\n * Use exponential notation if sd is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * sd {number} Significant digits: integer, 1 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n var x = this,\r\n Big = x.constructor,\r\n n = x.c[0];\r\n\r\n if (sd !== UNDEFINED) {\r\n if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {\r\n throw Error(INVALID + 'precision');\r\n }\r\n x = round(new Big(x), sd, rm);\r\n for (; x.c.length < sd;) x.c.push(0);\r\n }\r\n\r\n return stringify(x, sd <= x.e || x.e <= Big.NE || x.e >= Big.PE, !!n);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Big.\r\n * Return exponential notation if this Big has a positive exponent equal to or greater than\r\n * Big.PE, or a negative exponent equal to or less than Big.NE.\r\n * Include the sign for negative zero.\r\n */\r\n P.valueOf = function () {\r\n var x = this,\r\n Big = x.constructor;\r\n if (Big.strict === true) {\r\n throw Error(NAME + 'valueOf disallowed');\r\n }\r\n return stringify(x, x.e <= Big.NE || x.e >= Big.PE, true);\r\n };\r\n\r\n\r\n // Export\r\n\r\n\r\n Big = _Big_();\r\n\r\n Big['default'] = Big.Big = Big;\r\n\r\n //AMD.\r\n if (typeof define === 'function' && define.amd) {\r\n define(function () { return Big; });\r\n\r\n // Node and other CommonJS-like environments that support module.exports.\r\n } else if (typeof module !== 'undefined' && module.exports) {\r\n module.exports = Big;\r\n\r\n //Browser.\r\n } else {\r\n GLOBAL.Big = Big;\r\n }\r\n})(this);\r\n"]}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/.wechatide.ib.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/.wechatide.ib.json
new file mode 100644
index 0000000..4bdac29
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/.wechatide.ib.json
@@ -0,0 +1 @@
+{"key":"TDesign","label":"Tdesign","components":{"t-action-sheet":{"key":"t-action-sheet","label":"动作面板","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-actionsheet.png","properties":[{"key":"cancelText","type":["String"],"desc":"设置取消按钮的文本","label":""},{"key":"count","type":["Number"],"desc":"设置每页展示菜单的数量,仅当 type=grid 时有效","label":""},{"key":"items","type":["Array"],"desc":"菜单项","label":""},{"key":"showCancel","type":["Boolean"],"desc":"是否显示取消按钮","label":""},{"key":"theme","type":["String"],"desc":"展示类型,列表和表格形式展示","label":""},{"key":"visible","type":["Boolean"],"desc":"显示与隐藏","label":""}],"events":[{"key":"bind:cancel","desc":"点击取消按钮时触发","label":""},{"key":"bind:close","desc":"关闭时触发","label":""},{"key":"bind:selected","desc":"选择菜单项时触发","label":""}],"tpl":"","path":"./action-sheet/action-sheet"},"t-avatar-group":{"key":"t-avatar-group","label":"头像组","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-avatar.png","properties":[{"key":"cascading","type":["String"],"desc":"图片之间的层叠关系,可选值:左侧图片在上和右侧图片在上","label":""},{"key":"collapseAvatar","type":["String"],"desc":"头像数量超出时,会出现一个头像折叠元素。该元素内容可自定义。默认为 `+N`。示例:`+5`,`...`, `更多`","label":""},{"key":"max","type":["Number"],"desc":"能够同时显示的最多头像数量","label":""},{"key":"size","type":["String"],"desc":"尺寸,示例值:small/medium/large/24px/38px 等。优先级低于 Avatar.size","label":""}],"externalClasses":["t-class","t-class-image","t-class-content"],"tpl":"","require":{"t-avatar":"./avatar/avatar"},"path":"./avatar/avatar-group"},"t-avatar":{"key":"t-avatar","label":"头像","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-avatar.png","properties":[{"key":"alt","type":["String"],"desc":"头像替换文本,仅当图片加载失败时有效","label":""},{"key":"badgeProps","type":["Object"],"desc":"头像右上角提示信息,继承 Badge 组件的全部特性。如:小红点,或者数字","label":""},{"key":"hideOnLoadFailed","type":["Boolean"],"desc":"加载失败时隐藏图片","label":""},{"key":"icon","type":["String"],"desc":"图标","label":""},{"key":"image","type":["String"],"desc":"图片地址","label":""},{"key":"shape","type":["String"],"desc":"形状","label":""},{"key":"size","type":["String"],"desc":"尺寸,示例值:small/medium/large/24px/38px 等,默认为 large","label":""}],"externalClasses":["t-class"],"events":[{"key":"bind:error","desc":"图片加载失败时触发","label":""}],"tpl":"","path":"./avatar/avatar"},"t-back-top":{"key":"t-back-top","label":"回到顶部","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-backtop.png","properties":[{"key":"fixed","type":["Boolean"],"desc":"是否绝对定位固定到屏幕右下方","label":""},{"key":"icon","type":["String"],"desc":"图标","label":""},{"key":"text","type":["String"],"desc":"文案","label":""},{"key":"theme","type":["String"],"desc":"预设的样式类型","label":""}],"externalClasses":["t-class","t-class-icon","t-class-text"],"events":[{"key":"bind:to-top","desc":"点击触发","label":""}],"tpl":"","path":"./back-top/back-top"},"t-badge":{"key":"t-badge","label":"徽标数","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-badge.png","properties":[{"key":"color","type":["String"],"desc":"颜色","label":""},{"key":"content","type":["String"],"desc":"徽标内容,示例:`content='自定义内容'`。也可以使用默认插槽定义","label":""},{"key":"count","type":["String","Number"],"desc":"徽标右上角内容。可以是数字,也可以是文字。如:'new'/3/99+。特殊:值为空表示使用插槽渲染","label":""},{"key":"dot","type":["Boolean"],"desc":"是否为红点","label":""},{"key":"maxCount","type":["Number"],"desc":"封顶的数字值","label":""},{"key":"offset","type":["Array"],"desc":"设置状态点的位置偏移,示例:[-10, 20] 或 ['10em', '8rem']","label":""},{"key":"shape","type":["String"],"desc":"形状","label":""},{"key":"showZero","type":["Boolean"],"desc":"当数值为 0 时,是否展示徽标","label":""},{"key":"size","type":["String"],"desc":"尺寸","label":""}],"externalClasses":["t-class","t-class-content","t-class-count"],"tpl":"","path":"./badge/badge"},"t-button":{"key":"t-button","label":"按钮","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-button.png","properties":[{"key":"block","type":["Boolean"],"desc":"是否为块级元素","label":""},{"key":"content","type":["String"],"desc":"按钮内容","label":""},{"key":"customDataset","type":["Object"],"desc":"自定义 dataset,可通过 event.currentTarget.dataset.custom 获取","label":""},{"key":"disabled","type":["Boolean"],"desc":"是否禁用按钮","label":""},{"key":"ghost","type":["Boolean"],"desc":"是否为幽灵按钮(镂空按钮)","label":""},{"key":"icon","type":["String"],"desc":"图标名称","label":""},{"key":"loading","type":["Boolean"],"desc":"是否显示为加载状态","label":""},{"key":"shape","type":["String"],"desc":"按钮形状,有 4 种:长方形、正方形、圆角长方形、圆形","label":""},{"key":"size","type":["String"],"desc":"组件尺寸","label":""},{"key":"theme","type":["String"],"desc":"组件风格,依次为品牌色、危险色","label":""},{"key":"type","type":["String"],"desc":"同小程序的 formType","label":""},{"key":"variant","type":["String"],"desc":"按钮形式,基础、线框、文字","label":""}],"externalClasses":["t-class","t-class-icon"],"events":[{"key":"bind:click","desc":"点击时触发","label":""}],"tpl":"","path":"./button/button"},"t-cell-group":{"key":"t-cell-group","label":"单元格组","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-cell.png","properties":[{"key":"bordered","type":["Boolean"],"desc":"是否显示组边框","label":""},{"key":"title","type":["String"],"desc":"单元格组标题","label":""}],"externalClasses":["t-class"],"tpl":"","require":{"t-cell":"./cell/cell"},"path":"./cell-group/cell-group"},"t-cell":{"key":"t-cell","label":"单元格","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-cell.png","properties":[{"key":"align","type":["String"],"desc":"内容的对齐方式,默认居中对齐","label":""},{"key":"arrow","type":["Boolean"],"desc":"是否显示右侧箭头","label":""},{"key":"bordered","type":["Boolean"],"desc":"是否显示下边框","label":""},{"key":"description","type":["String"],"desc":"下方内容描述","label":""},{"key":"hover","type":["Boolean"],"desc":"是否开启点击反馈","label":""},{"key":"image","type":["String"],"desc":"主图","label":""},{"key":"jumpType","type":["String"],"desc":"链接跳转类型","label":""},{"key":"leftIcon","type":["String"],"desc":"左侧图标,出现在单元格标题的左侧","label":""},{"key":"note","type":["String"],"desc":"和标题同行的说明文字","label":""},{"key":"required","type":["Boolean"],"desc":"是否显示表单必填星号","label":""},{"key":"rightIcon","type":["String"],"desc":"最右侧图标","label":""},{"key":"title","type":["String"],"desc":"标题","label":""},{"key":"url","type":["String"],"desc":"点击后跳转链接地址。如果值为空,则表示不需要跳转","label":""}],"externalClasses":["t-class","t-class-title","t-class-note","t-class-description","t-class-thumb","t-class-hover","t-class-left","t-class-right"],"events":[{"key":"bind:click","desc":"右侧内容","label":""}],"tpl":"","path":"./cell/cell"},"t-check-tag":{"key":"t-check-tag","label":"可选标签","icon":"","properties":[{"key":"checked","type":["Boolean"],"desc":"标签选中的状态,默认风格(theme=default)才有选中态","label":""},{"key":"closable","type":["Boolean"],"desc":"标签是否可关闭","label":""},{"key":"content","type":["String","Number"],"desc":"组件子元素","label":""},{"key":"disabled","type":["Boolean"],"desc":"标签禁用态,失效标签不能触发事件。默认风格(theme=default)才有禁用态","label":""},{"key":"icon","type":["String"],"desc":"标签中的图标,可自定义图标呈现","label":""},{"key":"shape","type":["String"],"desc":"标签类型,有三种:方形、圆角方形、标记型","label":""},{"key":"size","type":["String"],"desc":"标签尺寸","label":""}],"events":[{"key":"bind:change","desc":"组件子元素","label":""},{"key":"bind:click","desc":"点击标签时触发","label":""}],"tpl":"check tag","path":"./check-tag/check-tag"},"t-checkbox-group":{"key":"t-checkbox-group","label":"多选框组","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-checkbox.png","properties":[{"key":"disabled","type":["Boolean"],"desc":"是否禁用组件","label":""},{"key":"max","type":["Number"],"desc":"支持最多选中的数量","label":""},{"key":"name","type":["String"],"desc":"统一设置内部复选框 HTML 属性","label":""},{"key":"options","type":["Array"],"desc":"以配置形式设置子元素。示例1:`['北京', '上海']` ,示例2: `[{ label: '全选', checkAll: true }, { label: '上海', value: 'shanghai' }]`。checkAll 值为 true 表示当前选项为「全选选项」","label":""},{"key":"value","type":["Array"],"desc":"选中值","label":""}],"events":[{"key":"bind:change","desc":"值变化时触发。`context.current` 表示当前变化的数据项,如果是全选则为空;`context.type` 表示引起选中数据变化的是选中或是取消选中,`context.option` 表示当前变化的数据项","label":""}],"tpl":"","require":{"t-checkbox":"./checkbox/checkbox"},"path":"./checkbox-group/checkbox-group"},"t-checkbox":{"key":"t-checkbox","label":"多选框","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-checkbox.png","properties":[{"key":"align","type":["String"],"desc":"多选框和内容相对位置","label":""},{"key":"checkAll","type":["Boolean"],"desc":"用于标识是否为「全选选项」。单独使用无效,需在 CheckboxGroup 中使用","label":""},{"key":"checked","type":["Boolean"],"desc":"是否选中","label":""},{"key":"color","type":["String"],"desc":"多选框颜色","label":""},{"key":"content","type":["String"],"desc":"多选框内容","label":""},{"key":"contentDisabled","type":["Boolean"],"desc":"是否禁用组件内容(content)触发选中","label":""},{"key":"disabled","type":["Boolean"],"desc":"是否禁用组件","label":""},{"key":"icon","type":["Array"],"desc":"自定义选中图标和非选中图标。示例:[选中态图标地址,非选中态图标地址]","label":""},{"key":"indeterminate","type":["Boolean"],"desc":"是否为半选","label":""},{"key":"label","type":["String"],"desc":"主文案","label":""},{"key":"maxContentRow","type":["Number"],"desc":"内容最大行数限制","label":""},{"key":"maxLabelRow","type":["Number"],"desc":"主文案最大行数限制","label":""},{"key":"name","type":["String"],"desc":"HTML 元素原生属性","label":""},{"key":"readonly","type":["Boolean"],"desc":"只读状态","label":""},{"key":"value","type":["String","Number"],"desc":"多选框的值","label":""}],"externalClasses":["t-class","t-class-icon","t-class-label","t-class-content","t-class-border"],"events":[{"key":"bind:change","desc":"值变化时触发","label":""}],"tpl":"","path":"./checkbox/checkbox"},"t-collapse-panel":{"key":"t-collapse-panel","label":"折叠面板","icon":"","properties":[{"key":"content","type":["String"],"desc":"折叠面板内容","label":""},{"key":"disabled","type":["Boolean"],"desc":"禁止当前面板展开,优先级大于 Collapse 的同名属性","label":""},{"key":"expandIcon","type":["Boolean"],"desc":"当前折叠面板展开图标,优先级大于 Collapse 的同名属性","label":""},{"key":"header","type":["String"],"desc":"面板头内容","label":""},{"key":"headerRightContent","type":["String"],"desc":"面板头的右侧区域,一般用于呈现面板操作","label":""},{"key":"value","type":["String","Number"],"desc":"当前面板唯一标识,如果值为空则取当前面下标兜底作为唯一标识","label":""}],"tpl":"此处可自定义内容","path":"./collapse/collapse-panel"},"t-collapse":{"key":"t-collapse","label":"折叠","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-collapse.png","properties":[{"key":"defaultExpandAll","type":["Boolean"],"desc":"默认是否展开全部","label":""},{"key":"disabled","type":["Boolean"],"desc":"是否禁用面板展开/收起操作","label":""},{"key":"expandIcon","type":["Boolean"],"desc":"展开图标。值为 undefined 或 false 则不显示展开图标;值为 true 显示默认图标;值类型为函数,则表示完全自定义展开图标","label":""},{"key":"expandMutex","type":["Boolean"],"desc":"每个面板互斥展开,每次只展开一个面板","label":""},{"key":"value","type":["Array"],"desc":"展开的面板集合","label":""}],"events":[{"key":"bind:change","desc":"切换面板时触发,返回变化的值","label":""}],"tpl":"此处可自定义内容","require":{"t-collapse-panel":"./collapse/collapse-panel"},"path":"./collapse/collapse"},"t-date-time-picker":{"key":"t-date-time-picker","label":"日期时间选择器","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-datetimepicker.png","properties":[{"key":"cancelBtn","type":["String"],"desc":"取消按钮文字","label":""},{"key":"confirmBtn","type":["String"],"desc":"确定按钮文字","label":""},{"key":"end","type":["String","Number"],"desc":"选择器的结束时间","label":""},{"key":"footer","type":["String"],"desc":"底部内容","label":""},{"key":"format","type":["String"],"desc":"用于格式化日期,[详细文档](https://day.js.org/docs/en/display/format)","label":""},{"key":"header","type":["Boolean"],"desc":"头部内容。值为 true 显示空白头部,值为 false 不显示任何内容,值类型为 TNode 表示自定义头部内容","label":""},{"key":"mode","type":["String","Array"],"desc":"选择器模式,用于表示可以选择到哪一个层级。【示例一】year 或者 ['year'] 表示纯日期选择器,只能选择到年份,只显示年份。【示例二】'hour' 或 ['hour'] 表示纯时间选择器,只能选择到小时维度。【示例三】['year', 'month', 'date', 'hour', 'minute'] 表示,日期和时间 混合选择器,可以选择到具体哪一分钟,显示全部时间:年/月/日/时/分","label":""},{"key":"showWeek","type":["Boolean"],"desc":"【开发中】是否在日期旁边显示周几(如周一,周二,周日等)","label":""},{"key":"start","type":["String","Number"],"desc":"选择器的开始时间","label":""},{"key":"title","type":["String"],"desc":"标题","label":""},{"key":"value","type":["String","Number"],"desc":"选中值","label":""},{"key":"visible","type":["Boolean"],"desc":"是否显示","label":""}],"externalClasses":["t-class","t-class-confirm","t-class-cancel","t-class-title"],"events":[{"key":"bind:cancel","desc":"取消按钮点击时触发","label":""},{"key":"bind:change","desc":"选中值发生变化时触发","label":""},{"key":"bind:column-change","desc":"每一列选中数据变化时触发","label":""},{"key":"bind:confirm","desc":"确认按钮点击时触发","label":""}],"tpl":"","path":"./date-time-picker/date-time-picker"},"t-dialog":{"key":"t-dialog","label":"对话框","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-dialog.png","properties":[{"key":"actions","type":["Array"],"desc":"操作栏","label":""},{"key":"buttonLayout","type":["String"],"desc":"多按钮排列方式","label":""},{"key":"cancelBtn","type":["String","Object"],"desc":"取消按钮,可自定义。值为 null 则不显示取消按钮。值类型为字符串,则表示自定义按钮文本,值类型为 Object 则表示透传 Button 组件属性。使用 TNode 自定义按钮时,需自行控制取消事件","label":""},{"key":"closeOnOverlayClick","type":["Boolean"],"desc":"点击蒙层时是否触发关闭事件","label":""},{"key":"confirmBtn","type":["String","Object"],"desc":"确认按钮。值为 null 则不显示确认按钮。值类型为字符串,则表示自定义按钮文本,值类型为 Object 则表示透传 Button 组件属性。使用 TNode 自定义按钮时,需自行控制确认事件","label":""},{"key":"content","type":["String"],"desc":"内容","label":""},{"key":"preventScrollThrough","type":["Boolean"],"desc":"防止滚动穿透","label":""},{"key":"showInAttachedElement","type":["Boolean"],"desc":"【开发中】仅在挂载元素中显示抽屉,默认在浏览器可视区域显示。父元素需要有定位属性,如:position: relative","label":""},{"key":"showOverlay","type":["Boolean"],"desc":"是否显示遮罩层","label":""},{"key":"title","type":["String"],"desc":"标题","label":""},{"key":"visible","type":["Boolean"],"desc":"控制对话框是否显示","label":""},{"key":"zIndex","type":["Number"],"desc":"对话框层级,Web 侧样式默认为 2500,移动端和小程序样式默认为 1500","label":""}],"externalClasses":["t-class","t-class-content","t-class-confirm","t-class-cancel"],"events":[{"key":"bind:cancel","desc":"如果“取消”按钮存在,则点击“取消”按钮时触发,同时触发关闭事件","label":""},{"key":"bind:close","desc":"关闭事件,点击 取消按钮 或 点击蒙层 时触发","label":""},{"key":"bind:overlay-click","desc":"如果蒙层存在,点击蒙层时触发","label":""}],"tpl":"","path":"./dialog/dialog"},"t-divider":{"key":"t-divider","label":"分割线","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-divider.png","properties":[{"key":"align","type":["String"],"desc":"文本位置(仅在水平分割线有效)","label":""},{"key":"content","type":["String"],"desc":"子元素","label":""},{"key":"dashed","type":["Boolean"],"desc":"是否虚线(仅在水平分割线有效)","label":""},{"key":"layout","type":["String"],"desc":"分隔线类型有两种:水平和垂直","label":""},{"key":"lineColor","type":["String"],"desc":"分隔线颜色","label":""}],"externalClasses":["t-class","t-class-line","t-class-content"],"tpl":"","path":"./divider/divider"},"t-drawer":{"key":"t-drawer","label":"模态抽屉","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-drawer.png","properties":[{"key":"closeOnOverlayClick","type":["Boolean"],"desc":"点击蒙层时是否触发抽屉关闭事件","label":""},{"key":"destroyOnClose","type":["Boolean"],"desc":"抽屉关闭时是否销毁节点","label":""},{"key":"items","type":["Array"],"desc":"抽屉里的列表项","label":""},{"key":"placement","type":["String"],"desc":"抽屉方向","label":""},{"key":"showOverlay","type":["Boolean"],"desc":"是否显示遮罩层","label":""},{"key":"visible","type":["Boolean"],"desc":"组件是否可见","label":""},{"key":"zIndex","type":["Number"],"desc":"抽屉层级,样式默认为 1500","label":""}],"events":[{"key":"bind:close","desc":"关闭事件,取消按钮点击时、关闭按钮点击时、点击蒙层时均会触发","label":""},{"key":"bind:item-click","desc":"点击抽屉里的列表项","label":""},{"key":"bind:overlay-click","desc":"如果蒙层存在,点击蒙层时触发","label":""}],"tpl":"","path":"./drawer/drawer"},"t-dropdown-item":{"key":"t-dropdown-item","label":"下拉菜单子项","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-dropdownmenu.png","properties":[{"key":"disabled","type":["Boolean"],"desc":"是否禁用","label":""},{"key":"label","type":["String"],"desc":"标题","label":""},{"key":"multiple","type":["Boolean"],"desc":"是否多选","label":""},{"key":"options","type":["Array"],"desc":"选项数据","label":""}],"tpl":"","path":"./dropdown-menu/dropdown-item"},"t-dropdown-menu":{"key":"t-dropdown-menu","label":"下拉菜单","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-dropdownmenu.png","properties":[{"key":"activeColor","type":["String"],"desc":"【讨论中】菜单标题和选项的选中态颜色","label":""},{"key":"closeOnClickOverlay","type":["Boolean"],"desc":"是否在点击遮罩层后关闭菜单","label":""},{"key":"duration","type":["String","Number"],"desc":"动画时长","label":""},{"key":"showOverlay","type":["Boolean"],"desc":"是否显示遮罩层","label":""},{"key":"zIndex","type":["Number"],"desc":"菜单栏 z-index 层级","label":""}],"tpl":"","require":{"t-dropdown-item":"./dropdown-menu/dropdown-item"},"path":"./dropdown-menu/dropdown-menu"},"t-empty":{"key":"t-empty","label":"空状态","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-empty.png","properties":[{"key":"action","type":["String"],"desc":"操作按钮","label":""},{"key":"description","type":["String"],"desc":"描述文字","label":""},{"key":"icon","type":["String"],"desc":"图标名称","label":""},{"key":"image","type":["String"],"desc":"图片地址","label":""}],"externalClasses":["t-class","t-class-description","t-class-image","t-class-actions"],"tpl":"","path":"./empty/empty"},"t-fab":{"key":"t-fab","label":"悬浮按钮","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-fab.png","properties":[{"key":"buttonProps","type":["Object"],"desc":"透传至 Button 组件","label":""},{"key":"icon","type":["String"],"desc":"图标","label":""},{"key":"style","type":["String"],"desc":"悬浮按钮的样式,常用于调整位置","label":""},{"key":"text","type":["String"],"desc":"文本内容","label":""}],"events":[{"key":"bind:click","desc":"悬浮按钮点击事件","label":""}],"tpl":"","path":"./fab/fab"},"t-footer":{"key":"t-footer","label":"布局-底部内容","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-footer.png","properties":[{"key":"copyright","type":["String"],"desc":"版权信息,type 为`text`生效","label":""},{"key":"logo","type":["Object"],"desc":"图标配置,type 为`logo`生效。`logo.icon` 表示图标链接地址,`logo.title` 表示标题文本,`logo.url` 表示链接跳转地址","label":""},{"key":"textLinkList","type":["Array"],"desc":"链接列表,type 为`text`生效。name 表示链接名称, url 表示链接 page 路径,目前只支持小程序内部跳转,openType 表示跳转方式","label":""},{"key":"theme","type":["String"],"desc":"页脚展示类型","label":""}],"tpl":"","path":"./footer/footer"},"t-grid-item":{"key":"t-grid-item","label":"宫格子项","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-grid.png","properties":[{"key":"badgeProps","type":["Object"],"desc":"头像右上角提示信息,继承 Badge 组件的全部特性。如:小红点,或者数字","label":""},{"key":"description","type":["String"],"desc":"文本以外的更多描述,辅助信息。可以通过 Props 传入文本,也可以自定义标题节点","label":""},{"key":"image","type":["String"],"desc":"图片,可以是图片地址,也可以自定义图片节点","label":""},{"key":"jumpType","type":["String"],"desc":"链接跳转类型","label":""},{"key":"layout","type":["String"],"desc":"内容布局方式","label":""},{"key":"text","type":["String"],"desc":"文本,可以通过 Props 传入文本,也可以自定义标题节点","label":""},{"key":"url","type":["String"],"desc":"点击后的跳转链接","label":""}],"externalClasses":["t-class","t-class-image","t-class-text","t-class-description"],"tpl":"","path":"./grid-item/grid-item"},"t-grid":{"key":"t-grid","label":"栅格","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-grid.png","properties":[{"key":"align","type":["String"],"desc":"内容对齐方式","label":""},{"key":"border","type":["Boolean","Object"],"desc":"边框,默认不显示。值为 true 则显示默认边框,值类型为 object 则表示自定义边框样式","label":""},{"key":"column","type":["Number"],"desc":"每一行的列数量","label":""},{"key":"gutter","type":["Number"],"desc":"间隔大小","label":""},{"key":"hover","type":["Boolean"],"desc":"是否开启点击反馈","label":""}],"externalClasses":["t-class"],"tpl":"","require":{"t-grid-item":"./grid-item/grid-item"},"path":"./grid/grid"},"t-icon":{"key":"t-icon","label":"图标","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-icon.png","properties":[{"key":"classPrefix","type":["String"],"desc":"自定义icon前缀","label":""},{"key":"color","type":["String"],"desc":"图标颜色","label":""},{"key":"style","type":["String"],"desc":"自定义样式","label":""},{"key":"name","type":["String"],"desc":"图标名称","label":""},{"key":"size","type":["String","Number"],"desc":"图标名称","label":""}],"tpl":"","path":"./icon/icon"},"t-image":{"key":"t-image","label":"图片","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-image.png","properties":[{"key":"error","type":["String"],"desc":"加载失败时显示的内容。值为 `default` 则表示使用默认加载失败风格;值为空或者 `slot` 表示使用插槽渲染,插槽名称为 `error`;值为其他则表示普通文本内容,如“加载失败”","label":""},{"key":"lazy","type":["Boolean"],"desc":"是否开启图片懒加载","label":""},{"key":"loading","type":["String"],"desc":"加载态内容。值为 `default` 则表示使用默认加载中风格;值为空或者 `slot` 表示使用插槽渲染,插槽名称为 `loading`;值为其他则表示普通文本内容,如“加载中”","label":""},{"key":"shape","type":["String"],"desc":"图片圆角类型","label":""},{"key":"src","type":["String"],"desc":"图片链接","label":""}],"externalClasses":["t-class","t-class-load"],"events":[{"key":"bind:error","desc":"图片加载失败时触发","label":""},{"key":"bind:load","desc":"图片加载完成时触发","label":""}],"tpl":"","path":"./image/image"},"t-indexes":{"key":"t-indexes","label":"索引","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-indexes.png","properties":[{"key":"height","type":["Number"],"desc":"列表高度,未设置默认占满设备高度","label":""},{"key":"list","type":["Array"],"desc":"索引列表的列表数据。每个元素包含三个子元素,index(string):索引值,例如1,2,3,...或A,B,C等;title(string): 索引标题,可不填将默认设为索引值;children(Array<{title: string}>): 子元素列表,title为子元素的展示文案。","label":""},{"key":"sticky","type":["Boolean"],"desc":"索引是否吸顶,默认为true","label":""}],"events":[{"key":"bind:select","desc":"点击行元素时触发事件","label":""}],"tpl":"","path":"./indexes/indexes"},"t-input":{"key":"t-input","label":"输入框","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-input.png","properties":[{"key":"align","type":["String"],"desc":"文本内容位置,居左/居中/居右","label":""},{"key":"borderless","type":["Boolean"],"desc":"【讨论中】是否开启无边框模式","label":""},{"key":"clearable","type":["Boolean"],"desc":"是否可清空","label":""},{"key":"disabled","type":["Boolean"],"desc":"是否禁用输入框","label":""},{"key":"errorMessage","type":["String"],"desc":"错误提示文本,值为空不显示(废弃属性,如果需要,请更为使用 status 和 tips)","label":""},{"key":"format","type":["String"],"desc":"【开发中】指定输入框展示值的格式","label":""},{"key":"label","type":["String"],"desc":"左侧文本","label":""},{"key":"maxcharacter","type":["Number"],"desc":"用户最多可以输入的字符个数,一个中文汉字表示两个字符长度。`maxcharacter` 和 `maxlength` 二选一使用","label":""},{"key":"maxlength","type":["Number"],"desc":"用户最多可以输入的文本长度,一个中文等于一个计数长度。值小于等于 0 的时候,则表示不限制输入长度。`maxcharacter` 和 `maxlength` 二选一使用","label":""},{"key":"placeholder","type":["String"],"desc":"占位符","label":""},{"key":"prefixIcon","type":["String"],"desc":"组件前置图标,值为字符串则表示图标名称","label":""},{"key":"readonly","type":["Boolean"],"desc":"只读状态","label":""},{"key":"size","type":["String"],"desc":"输入框尺寸","label":""},{"key":"status","type":["String"],"desc":"输入框状态","label":""},{"key":"suffix","type":["String"],"desc":"后置图标前的后置内容","label":""},{"key":"suffixIcon","type":["String"],"desc":"后置文本内容,值为字符串则表示图标名称","label":""},{"key":"tips","type":["String"],"desc":"输入框下方提示文本,会根据不同的 `status` 呈现不同的样式","label":""},{"key":"value","type":["String","Number"],"desc":"输入框的值","label":""}],"externalClasses":["t-class","t-class-input","t-class-placeholder","t-class-error-msg"],"events":[{"key":"bind:blur","desc":"失去焦点时触发","label":""},{"key":"bind:change","desc":"输入框值发生变化时触发","label":""},{"key":"bind:clear","desc":"清空按钮点击时触发","label":""},{"key":"bind:enter","desc":"回车键按下时触发","label":""},{"key":"bind:focus","desc":"获得焦点时触发","label":""}],"tpl":"","path":"./input/input"},"t-loading":{"key":"t-loading","label":"加载中","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-loading.png","properties":[{"key":"delay","type":["Number"],"desc":"延迟显示加载效果的时间,用于防止请求速度过快引起的加载闪烁,单位:毫秒","label":""},{"key":"duration","type":["Number"],"desc":"加载动画执行完成一次的时间,单位:毫秒","label":""},{"key":"indicator","type":["Boolean"],"desc":"是否显示加载指示符","label":""},{"key":"inheritColor","type":["Boolean"],"desc":"是否继承父元素颜色","label":""},{"key":"layout","type":["String"],"desc":"对齐方式","label":""},{"key":"loading","type":["Boolean"],"desc":"是否处于加载状态","label":""},{"key":"pause","type":["Boolean"],"desc":"是否暂停动画","label":""},{"key":"progress","type":["Number"],"desc":"加载进度","label":""},{"key":"reverse","type":["Boolean"],"desc":"加载动画是否反向","label":""},{"key":"size","type":["String"],"desc":"尺寸,示例:40rpx/20px","label":""},{"key":"text","type":["String"],"desc":"加载提示文案","label":""},{"key":"theme","type":["String"],"desc":"加载组件类型","label":""}],"externalClasses":["t-class","t-class-text","t-class-indicator"],"tpl":"","path":"./loading/loading"},"t-message":{"key":"t-message","label":"全局提醒","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-message.png","properties":[{"key":"action","type":["String"],"desc":"操作","label":""},{"key":"align","type":["String"],"desc":"文本对齐方式","label":""},{"key":"closeBtn","type":["String","Boolean"],"desc":"关闭按钮,可以自定义。值为 true 显示默认关闭按钮,值为 false 不显示关闭按钮。值类型为 string 则直接显示值,如:“关闭”。也可以完全自定义按钮","label":""},{"key":"content","type":["String"],"desc":"用于自定义消息弹出内容","label":""},{"key":"duration","type":["Number"],"desc":"消息内置计时器,计时到达时会触发 duration-end 事件。单位:毫秒。值为 0 则表示没有计时器。","label":""},{"key":"icon","type":["String","Boolean"],"desc":"消息提醒前面的图标。值为 true 则根据 theme 显示对应的图标,值为 false 则不显示图标。值为 'info' 或 'bell' 则显示组件内置图标。也可以完全自定义图标节点","label":""},{"key":"marquee","type":["Boolean","Object"],"desc":"跑马灯效果。speed 指速度控制;loop 指循环播放次数,值为 -1 表示循环播放,值为 0 表示不循环播放;delay 表示延迟多久开始播放","label":""},{"key":"offset","type":["Array"],"desc":"相对于 placement 的偏移量,示例:[-10, 20] 或 ['10rpx', '8rpx']","label":""},{"key":"theme","type":["String"],"desc":"消息组件风格","label":""},{"key":"visible","type":["Boolean"],"desc":"是否显示,隐藏时默认销毁组件","label":""},{"key":"zIndex","type":["Number"],"desc":"元素层级,样式默认为 5000","label":""}],"externalClasses":["t-class","t-class-content","t-class-icon","t-class-action","t-class-close-btn"],"events":[{"key":"bind:action-btn-click","desc":"当操作按钮存在时,用户点击操作按钮时触发","label":""},{"key":"bind:close-btn-click","desc":"当关闭按钮存在时,用户点击关闭按钮触发","label":""},{"key":"bind:duration-end","desc":"计时结束后触发","label":""}],"tpl":"","path":"./message/message"},"t-navbar":{"key":"t-navbar","label":"导航条","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-navbar.png","properties":[{"key":"animation","type":["Boolean"],"desc":"是否添加动画效果","label":""},{"key":"background","type":["String"],"desc":"背景","label":""},{"key":"delta","type":["Number"],"desc":"后退按钮后退层数,含义参考 [wx.navigateBack](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateBack.html),特殊的,传入 0 不会发生执行 wx.navigateBack,只会触发一个 goback 事件供自行处理。","label":""},{"key":"fixed","type":["Boolean"],"desc":"是否固定在顶部","label":""},{"key":"homeIcon","type":["String"],"desc":"首页图标地址。值为 '' 或者 undefiend 则表示不显示返回图标,值为 'circle' 表示显示默认图标,值为 'slot' 表示使用插槽渲染,值为其他则表示图标地址","label":""},{"key":"leftIcon","type":["String"],"desc":"左侧图标地址,值为 '' 或者 undefiend 则表示不显示返回图标,值为 'arrow-left' 表示显示返回图标,值为 'slot' 表示使用插槽渲染,值为其他则表示图标地址","label":""},{"key":"title","type":["String"],"desc":"页面标题","label":""},{"key":"titleMaxLength","type":["Number"],"desc":"标题文字最大长度,超出的范围使用 `...` 表示","label":""},{"key":"visible","type":["Boolean"],"desc":"是否显示","label":""}],"externalClasses":["t-class","t-class-title","t-class-left-icon","t-class-home-icon","t-class-capsule"],"events":[{"key":"bind:complete","desc":"navigateBack 执行完成后触发(失败或成功均会触发)","label":""},{"key":"bind:fail","desc":"navigateBack 执行失败后触发","label":""},{"key":"bind:go-back","desc":"delta 值为 0 时,点击返回,触发该事件","label":""},{"key":"bind:go-home","desc":"点击 Home 触发","label":""},{"key":"bind:success","desc":"navigateBack 执行成功后触发","label":""}],"tpl":"","path":"./navbar/navbar"},"t-picker-item":{"key":"t-picker-item","label":"选择器子项","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-picker.png","properties":[{"key":"format","type":["String"],"desc":"格式化标签","label":""},{"key":"options","type":["Array"],"desc":"数据源","label":""}],"tpl":"","path":"./picker-item/picker-item"},"t-picker":{"key":"t-picker","label":"选择器","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-picker.png","properties":[{"key":"cancelBtn","type":["String","Object"],"desc":"取消按钮文字","label":""},{"key":"confirmBtn","type":["String","Object"],"desc":"确定按钮文字","label":""},{"key":"footer","type":["String"],"desc":"底部内容","label":""},{"key":"header","type":["Boolean"],"desc":"头部内容。值为 true 显示空白头部,值为 false 不显示任何内容,值类型为 TNode 表示自定义头部内容","label":""},{"key":"title","type":["String"],"desc":"标题","label":""},{"key":"value","type":["Array"],"desc":"选中值","label":""},{"key":"visible","type":["Boolean"],"desc":"是否显示","label":""}],"events":[{"key":"bind:cancel","desc":"点击取消按钮时触发","label":""},{"key":"bind:change","desc":"选中变化时候触发","label":""},{"key":"bind:pick","desc":"任何一列选中都会触发,不同的列参数不同。`context.column` 表示第几列变化,`context.index` 表示变化那一列的选中项下标","label":""}],"tpl":"","require":{"t-picker-item":"./picker-item/picker-item"},"path":"./picker/picker"},"t-popup":{"key":"t-popup","label":"气泡框","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-popup.png","properties":[{"key":"closeBtn","type":["Boolean"],"desc":"关闭按钮,值类型为 Boolean 时表示是否显示关闭按钮。也可以自定义关闭按钮","label":""},{"key":"closeOnOverlayClick","type":["Boolean"],"desc":"点击遮罩层是否关闭","label":""},{"key":"content","type":["String"],"desc":"浮层里面的内容","label":""},{"key":"placement","type":["String"],"desc":"浮层出现位置","label":""},{"key":"preventScrollThrough","type":["Boolean"],"desc":"防止滚动穿透","label":""},{"key":"showOverlay","type":["Boolean"],"desc":"是否显示遮罩层","label":""},{"key":"transitionProps","type":["Object"],"desc":"动画效果定义","label":""},{"key":"visible","type":["Boolean"],"desc":"是否显示浮层","label":""},{"key":"zIndex","type":["Number"],"desc":"组件层级,Web 侧样式默认为 5500,移动端和小程序样式默认为 1500","label":""}],"externalClasses":["t-class","t-class-overlay","t-class-content"],"events":[{"key":"bind:visible-change","desc":"当浮层隐藏或显示时触发","label":""}],"tpl":"","path":"./popup/popup"},"t-progress":{"key":"t-progress","label":"进度条","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-progress.png","properties":[{"key":"color","type":["String","Object","Array"],"desc":"进度条颜色。示例:'#ED7B2F' 或 'orange' 或 `['#f00', '#0ff', '#f0f']` 或 `{ '0%': '#f00', '100%': '#0ff' }` 或 `{ from: '#000', to: '#000' }` 等","label":""},{"key":"label","type":["String","Boolean"],"desc":"进度百分比,可自定义","label":""},{"key":"percentage","type":["Number"],"desc":"进度条百分比","label":""},{"key":"size","type":["String","Number"],"desc":"进度条尺寸,示例:small/medium/large/240。small 值为 72; medium 值为 112;large 值为 160","label":""},{"key":"status","type":["String"],"desc":"进度条状态","label":""},{"key":"strokeWidth","type":["String","Number"],"desc":"进度条线宽。宽度数值不能超过 size 的一半,否则不能输出环形进度","label":""},{"key":"theme","type":["String"],"desc":"进度条风格。值为 line,标签(label)显示在进度条右侧;值为 plump,标签(label)显示在进度条里面;值为 circle,标签(label)显示在进度条正中间","label":""},{"key":"trackColor","type":["String"],"desc":"进度条未完成部分颜色","label":""}],"tpl":"","path":"./progress/progress"},"t-pull-down-refresh":{"key":"t-pull-down-refresh","label":"下拉刷新","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-pulldownrefresh.png","properties":[{"key":"loadingBarHeight","type":["String","Number"],"desc":"加载中下拉高度,如果值为数字则单位是:'px'","label":""},{"key":"loadingProps","type":["Object"],"desc":"加载loading样式","label":""},{"key":"loadingTexts","type":["Array"],"desc":"提示语,组件内部默认值为 ['下拉刷新', '松手刷新', '正在刷新', '刷新完成']","label":""},{"key":"maxBarHeight","type":["String","Number"],"desc":"最大下拉高度,如果值为数字则单位是:'px'","label":""},{"key":"refreshTimeout","type":["Number"],"desc":"刷新超时时间","label":""},{"key":"value","type":["Boolean"],"desc":"组件状态,值为 `true` 表示下拉状态,值为 `false` 表示收起状态","label":""}],"externalClasses":["t-class","t-class-loading","t-class-text","t-class-indicator"],"events":[{"key":"bind:change","desc":"下拉或收起时触发,用户手势往下滑动触发下拉状态,手势松开触发收起状态","label":""},{"key":"bind:refresh","desc":"结束下拉时触发","label":""},{"key":"bind:timeout","desc":"刷新超时触发","label":""}],"tpl":"拖拽该区域演示 中间下拉刷新","path":"./pull-down-refresh/pull-down-refresh"},"t-radio-group":{"key":"t-radio-group","label":"单选框组","icon":"","properties":[{"key":"disabled","type":["Boolean"],"desc":"是否禁用全部子单选框","label":""},{"key":"name","type":["String"],"desc":"HTML 元素原生属性","label":""},{"key":"options","type":["Array"],"desc":"单选组件按钮形式。RadioOption 数据类型为 string 或 number 时,表示 label 和 value 值相同","label":""},{"key":"value","type":["String","Number","Boolean"],"desc":"选中的值","label":""}],"events":[{"key":"bind:change","desc":"选中值发生变化时触发","label":""}],"tpl":"","require":{"t-radio":"./radio/radio"},"path":"./radio-group/radio-group"},"t-radio":{"key":"t-radio","label":"单选框","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-radio.png","properties":[{"key":"align","type":["String"],"desc":"复选框和内容相对位置","label":""},{"key":"allowUncheck","type":["Boolean"],"desc":"是否允许取消选中","label":""},{"key":"checked","type":["Boolean"],"desc":"是否选中","label":""},{"key":"color","type":["String"],"desc":"单选按钮颜色","label":""},{"key":"content","type":["String"],"desc":"单选内容","label":""},{"key":"contentDisabled","type":["Boolean"],"desc":"是否禁用组件内容(content)触发选中","label":""},{"key":"disabled","type":["Boolean"],"desc":"是否为禁用态","label":""},{"key":"icon","type":["String","Array"],"desc":"自定义选中图标和非选中图标。示例:[选中态图标,非选中态图标]。值为 fill-circle 表示图标为填充型图标,值为 stroke-line 表示图标为描边型图标","label":""},{"key":"label","type":["String"],"desc":"主文案","label":""},{"key":"maxContentRow","type":["Number"],"desc":"内容最大行数限制","label":""},{"key":"maxLabelRow","type":["Number"],"desc":"主文案最大行数限制","label":""},{"key":"name","type":["String"],"desc":"HTML 元素原生属性","label":""},{"key":"value","type":["String","Number","Boolean"],"desc":"单选按钮的值","label":""}],"externalClasses":["t-class","t-class-icon","t-class-label","t-class-content","t-class-border"],"events":[{"key":"bind:change","desc":"值变化时触发","label":""}],"tpl":"","path":"./radio/radio"},"t-rate":{"key":"t-rate","label":"评分","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-rate.png","properties":[{"key":"allowHalf","type":["Boolean"],"desc":"是否允许半选","label":""},{"key":"color","type":["String","Array"],"desc":"评分图标的颜色,样式中默认为 #ED7B2F。一个值表示设置选中高亮的五角星颜色,示例:[选中颜色]。数组则表示分别设置 选中高亮的五角星颜色 和 未选中暗灰的五角星颜色,[选中颜色,未选中颜色]。示例:['#ED7B2F', '#E3E6EB']","label":""},{"key":"count","type":["Number"],"desc":"评分的数量","label":""},{"key":"disabled","type":["Boolean"],"desc":"是否禁用评分","label":""},{"key":"gap","type":["Number"],"desc":"评分图标的间距","label":""},{"key":"showText","type":["Boolean"],"desc":"是否显示对应的辅助文字","label":""},{"key":"size","type":["String"],"desc":"评分图标的大小,示例:`20`","label":""},{"key":"texts","type":["Array"],"desc":"评分等级对应的辅助文字。组件内置默认值为:['极差', '失望', '一般', '满意', '惊喜']。自定义值示例:['1分', '2分', '3分', '4分', '5分']","label":""},{"key":"value","type":["Number"],"desc":"选择评分的值","label":""},{"key":"variant","type":["String"],"desc":"形状类型,有描边类型和填充类型两种","label":""}],"events":[{"key":"bind:change","desc":"评分数改变时触发","label":""}],"tpl":"","path":"./rate/rate"},"t-search":{"key":"t-search","label":"搜索","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-search.png","properties":[{"key":"action","type":["String"],"desc":"自定义右侧操作按钮文字","label":""},{"key":"center","type":["Boolean"],"desc":"是否居中","label":""},{"key":"disabled","type":["Boolean"],"desc":"是否禁用","label":""},{"key":"focus","type":["Boolean"],"desc":"是否聚焦","label":""},{"key":"label","type":["String"],"desc":"左侧文本","label":""},{"key":"leftIcon","type":["String"],"desc":"左侧图标","label":""},{"key":"placeholder","type":["String"],"desc":"占位符","label":""},{"key":"rightIcon","type":["String"],"desc":"右侧图标","label":""},{"key":"shape","type":["String"],"desc":"搜索框形状","label":""},{"key":"value","type":["String"],"desc":"值","label":""}],"externalClasses":["t-class","t-class-input","t-class-input-container","t-class-cancel","t-class-left","t-class-right"],"events":[{"key":"bind:action-click","desc":"点击右侧操作按钮文字时触发","label":""},{"key":"bind:blur","desc":"失去焦点时触发","label":""},{"key":"bind:change","desc":"值发生变化时触发","label":""},{"key":"bind:clear","desc":"点击清除时触发","label":""},{"key":"bind:focus","desc":"聚焦时触发","label":""},{"key":"bind:submit","desc":"提交时触发","label":""}],"tpl":"","path":"./search/search"},"t-skeleton":{"key":"t-skeleton","label":"骨架屏","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-skeleton.png","properties":[{"key":"animation","type":["String"],"desc":"动画效果,有「渐变加载动画」和「闪烁加载动画」两种。值为 'none' 则表示没有动画","label":""},{"key":"delay","type":["Number"],"desc":"【开发中】延迟显示加载效果的时间,用于防止请求速度过快引起的加载闪烁,单位:毫秒","label":""},{"key":"loading","type":["Boolean"],"desc":"是否为加载状态,如果是则显示骨架图,如果不是则显示加载完成的内容","label":""},{"key":"rowCol","type":["Array"],"desc":"用于设置行列数量、宽度高度、间距等。【示例一】,`[1, 1, 2]` 表示输出三行骨架图,第一行一列,第二行一列,第三行两列。【示例二】,`[1, 1, { width: '100px' }]` 表示自定义第三行的宽度为 `100px`。【示例三】,`[1, 2, [{ width, height }, { width, height, marginLeft }]]` 表示第三行有两列,且自定义宽度、高度和间距","label":""},{"key":"theme","type":["String"],"desc":"骨架图风格,有基础、头像组合等两大类","label":""}],"externalClasses":["t-class","t-class-avatar","t-class-image","t-class-text"],"tpl":"","path":"./skeleton/skeleton"},"t-slider":{"key":"t-slider","label":"滑块","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-slider.png","properties":[{"key":"colors","type":["Array"],"desc":"颜色,[已选择, 未选择]","label":""},{"key":"disabled","type":["Boolean"],"desc":"是否禁用组件","label":""},{"key":"disabledColor","type":["Array"],"desc":"禁用状态滑动条的颜色,[已选, 未选]","label":""},{"key":"label","type":["String","Boolean"],"desc":"滑块当前值文本。
值为 true 显示默认文案;值为 false 不显示滑块当前值文本;
值为 `${value}%` 则表示组件会根据占位符渲染文案;
值类型为函数时,参数 `value` 标识滑块值,参数 `position=start` 表示范围滑块的起始值,参数 `position=end` 表示范围滑块的终点值","label":""},{"key":"marks","type":["Object","Array"],"desc":"刻度标记,示例:`[0, 10, 40, 200]` 或者 `{ 5: '5¥', 10: '10%' }`","label":""},{"key":"max","type":["Number"],"desc":"滑块范围最大值","label":""},{"key":"min","type":["Number"],"desc":"滑块范围最小值","label":""},{"key":"range","type":["Boolean"],"desc":"双游标滑块","label":""},{"key":"showExtremeValue","type":["Boolean"],"desc":"是否边界值","label":""},{"key":"step","type":["Number"],"desc":"步长","label":""},{"key":"value","type":["Number","Array"],"desc":"滑块值","label":""}],"externalClasses":["t-class","t-class-bar","t-class-bar-active","t-class-bar-disabled","t-class-cursor"],"events":[{"key":"bind:change","desc":"滑块值变化时触发","label":""},{"key":"bind:dragend","desc":"结束拖动时触发","label":""},{"key":"bind:dragstart","desc":"开始拖动时触发","label":""}],"tpl":"","path":"./slider/slider"},"t-step-item":{"key":"t-step-item","label":"步骤","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-steps.png","properties":[{"key":"content","type":["String"],"desc":"步骤描述","label":""},{"key":"icon","type":["String"],"desc":"图标。传入 slot 代表使用插槽,其他字符串代表使用内置图标","label":""},{"key":"status","type":["String"],"desc":"当前步骤的状态","label":""},{"key":"subStepItems","type":["Array"],"desc":"子步骤条,仅支持 layout = 'vertical' 时","label":""},{"key":"title","type":["String"],"desc":"标题","label":""}],"externalClasses":["t-class","t-class-content","t-class-title","t-class-description","t-class-extra"],"tpl":"","path":"./step-item/step-item"},"t-stepper":{"key":"t-stepper","label":"步进器","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-stepper.png","properties":[{"key":"disabled","type":["Boolean"],"desc":"禁用全部操作","label":""},{"key":"disableInput","type":["Boolean"],"desc":"禁用输入框","label":""},{"key":"inputWidth","type":["Number"],"desc":"输入框宽度","label":""},{"key":"max","type":["Number"],"desc":"最大值","label":""},{"key":"min","type":["Number"],"desc":"最小值","label":""},{"key":"step","type":["Number"],"desc":"步长","label":""},{"key":"theme","type":["String"],"desc":"组件风格","label":""},{"key":"value","type":["String","Number"],"desc":"值","label":""}],"externalClasses":["t-class","t-class-input","t-class-add","t-class-minus"],"events":[{"key":"bind:blur","desc":"输入框失去焦点时触发","label":""},{"key":"bind:change","desc":"数值发生变更时触发","label":""},{"key":"bind:overlimit","desc":"数值超出限制时触发","label":""}],"tpl":"","path":"./stepper/stepper"},"t-steps":{"key":"t-steps","label":"步骤条","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-steps.png","properties":[{"key":"current","type":["String","Number"],"desc":"当前步骤,即整个步骤条进度。默认根据步骤下标判断步骤的完成状态,当前步骤为进行中,当前步骤之前的步骤为已完成,当前步骤之后的步骤为未开始。如果每个步骤没有设置 value,current 值为步骤长度则表示所有步骤已完成。如果每个步骤设置了自定义 value,则 current = 'FINISH' 表示所有状态完成","label":""},{"key":"currentStatus","type":["String"],"desc":"用于控制 current 指向的步骤条的状态","label":""},{"key":"layout","type":["String"],"desc":"步骤条方向,有两种:横向和纵向","label":""},{"key":"readonly","type":["Boolean"],"desc":"只读状态","label":""},{"key":"separator","type":["String"],"desc":"步骤条分割符","label":""},{"key":"theme","type":["String"],"desc":"步骤条风格","label":""}],"externalClasses":["t-class"],"events":[{"key":"bind:change","desc":"当前步骤发生变化时触发","label":""}],"tpl":"","require":{"t-step-item":"./step-item/step-item"},"path":"./steps/steps"},"t-sticky":{"key":"t-sticky","label":"吸顶容器","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-sticky.png","properties":[{"key":"container","type":["String"],"desc":"函数返回容器对应的 NodesRef 节点,将对应节点指定为组件的外部容器,滚动时组件会始终保持在容器范围内,当组件即将超出容器底部时,会返回原位置。","label":""},{"key":"disabled","type":["Boolean"],"desc":"是否禁用组件","label":""},{"key":"offsetTop","type":["String","Number"],"desc":"吸顶时与顶部的距离,单位`px`","label":""},{"key":"zIndex","type":["Number"],"desc":"吸顶时的 z-index","label":""}],"externalClasses":["t-class"],"events":[{"key":"bind:scroll","desc":"滚动时触发,scrollTop: 距离顶部位置,isFixed: 是否吸顶","label":""}],"tpl":"","path":"./sticky/sticky"},"t-swipe-cell":{"key":"t-swipe-cell","label":"滑动操作","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-swipecell.png","properties":[{"key":"disabled","type":["Boolean"],"desc":"是否禁用滑动","label":""},{"key":"expanded","type":["String"],"desc":"操作项是否呈现为打开态","label":""},{"key":"left","type":["Array"],"desc":"左侧滑动操作项。所有行为同 `right`","label":""},{"key":"right","type":["Array"],"desc":"右侧滑动操作项。有两种定义方式,一种是使用数组,二种是使用插槽。`right.text` 表示操作文本,`right.className` 表示操作项类名,`right.style` 表示操作项样式,`right.onClick` 表示点击操作项后执行的回调函数。示例:`[{ text: '删除', style: 'background-color: red', onClick: () => {} }]`","label":""}],"events":[{"key":"bind:click","desc":"操作项点击时触发(插槽写法组件不触发,业务侧自定义内容和事件)","label":""}],"tpl":"删除","require":{"t-cell":"./cell/cell"},"path":"./swipe-cell/swipe-cell"},"t-swiper":{"key":"t-swiper","label":"轮播","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-swiper.png","properties":[{"key":"animation","type":["String"],"desc":"轮播切换动画效果类型","label":""},{"key":"autoplay","type":["Boolean"],"desc":"是否自动播放","label":""},{"key":"current","type":["Number"],"desc":"当前轮播在哪一项(下标)","label":""},{"key":"direction","type":["String"],"desc":"轮播滑动方向,包括横向滑动和纵向滑动两个方向","label":""},{"key":"duration","type":["Number"],"desc":"滑动动画时长","label":""},{"key":"height","type":["Number"],"desc":"当使用垂直方向滚动时的高度","label":""},{"key":"interval","type":["Number"],"desc":"轮播间隔时间","label":""},{"key":"loop","type":["Boolean"],"desc":"是否循环播放","label":""},{"key":"navigation","type":["Object"],"desc":"导航器全部配置","label":""}],"events":[{"key":"bind:change","desc":"轮播切换时触发","label":""}],"tpl":"","require":{"t-swiper-item":"./swiper/swiper-item"},"path":"./swiper/swiper"},"t-switch":{"key":"t-switch","label":"开关","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-switch.png","properties":[{"key":"colors","type":["Array"],"desc":"自定义颜色,[打开时的颜色,关闭时的颜色]。组件默认颜色为 ['#0052d9', 'rgba(0, 0, 0, .26']。示例:[blue, gray]","label":""},{"key":"customValue","type":["Array"],"desc":"开关内容,[打开时的值,关闭时的值]。默认为 [true, false]。示例:[1, 0]","label":""},{"key":"disabled","type":["Boolean"],"desc":"是否禁用组件","label":""},{"key":"label","type":["String"],"desc":"开关的标签","label":""},{"key":"loading","type":["Boolean"],"desc":"是否处于加载中状态","label":""},{"key":"size","type":["String"],"desc":"开关尺寸","label":""},{"key":"value","type":["String","Number","Boolean"],"desc":"开关值","label":""}],"events":[{"key":"bind:change","desc":"数据发生变化时触发","label":""}],"tpl":"","path":"./switch/switch"},"t-tab-bar-item":{"key":"t-tab-bar-item","label":"标签栏选项","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-tabbar.png","properties":[{"key":"badgeProps","type":["Object"],"desc":"图标右上角提示信息","label":""},{"key":"icon","type":["String"],"desc":"图标名称","label":""},{"key":"subTabBar","type":["Array"],"desc":"二级菜单","label":""},{"key":"value","type":["String","Number"],"desc":"标识符","label":""}],"tpl":"{{item.label}}","path":"./tab-bar-item/tab-bar-item"},"t-tab-bar":{"key":"t-tab-bar","label":"标签栏","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-tabbar.png","properties":[{"key":"bordered","type":["Boolean"],"desc":"是否显示外边框","label":""},{"key":"color","type":["Array"],"desc":"标签颜色设置。示例:[选中标签的颜色, 未选中的标签颜色]","label":""},{"key":"fixed","type":["Boolean"],"desc":"是否固定在底部","label":""},{"key":"safeAreaInsetBottom","type":["Boolean"],"desc":"是否为 iPhoneX 留出底部安全距离","label":""},{"key":"split","type":["Boolean"],"desc":"是否需要分割线","label":""},{"key":"value","type":["String","Number","Array"],"desc":"当前选中标签的索引","label":""}],"externalClasses":["t-class"],"events":[{"key":"bind:change","desc":"选中标签切换时触发","label":""}],"tpl":"{{item.label}}","require":{"t-tab-bar-item":"./tab-bar-item/tab-bar-item"},"path":"./tab-bar/tab-bar"},"t-tab-panel":{"key":"t-tab-panel","label":"选项卡面板","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-tabs.png","properties":[{"key":"destroyOnHide","type":["Boolean"],"desc":"选项卡内容隐藏时是否销毁","label":""},{"key":"disabled","type":["Boolean"],"desc":"是否禁用当前选项卡","label":""},{"key":"label","type":["String"],"desc":"选项卡名称","label":""},{"key":"panel","type":["String"],"desc":"用于自定义选项卡面板内容","label":""},{"key":"value","type":["String","Number"],"desc":"选项卡的值,唯一标识","label":""}],"tpl":"标签一内容","path":"./tab-panel/tab-panel"},"t-tabs":{"key":"t-tabs","label":"选项卡","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-tabs.png","properties":[{"key":"animation","type":["Object"],"desc":"动画效果设置。其中 duration 表示动画时长","label":""},{"key":"placement","type":["String"],"desc":"选项卡位置","label":""},{"key":"showBottomLine","type":["Boolean"],"desc":"是否展示底部激活线条","label":""},{"key":"stickyProps","type":["Object"],"desc":"是否支持吸顶","label":""},{"key":"value","type":["String","Number"],"desc":"激活的选项卡值","label":""}],"externalClasses":["t-class","t-class-item","t-class-active","t-class-track"],"events":[{"key":"bind:change","desc":"激活的选项卡发生变化时触发","label":""}],"tpl":"标签一内容标签二内容","require":{"t-tab-panel":"./tab-panel/tab-panel"},"path":"./tabs/tabs"},"t-tag":{"key":"t-tag","label":"标签","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-tag.png","properties":[{"key":"closable","type":["Boolean"],"desc":"标签是否可关闭","label":""},{"key":"disabled","type":["Boolean"],"desc":"标签禁用态,失效标签不能触发事件。默认风格(theme=default)才有禁用态","label":""},{"key":"icon","type":["String"],"desc":"标签中的图标,可自定义图标呈现","label":""},{"key":"maxWidth","type":["String","Number"],"desc":"标签最大宽度,宽度超出后会出现省略号。示例:'50px' / 80","label":""},{"key":"shape","type":["String"],"desc":"标签类型,有三种:方形、圆角方形、标记型","label":""},{"key":"size","type":["String"],"desc":"标签尺寸","label":""},{"key":"theme","type":["String"],"desc":"组件风格,用于描述组件不同的应用场景","label":""},{"key":"variant","type":["String"],"desc":"标签风格变体","label":""}],"externalClasses":["t-class"],"events":[{"key":"bind:click","desc":"点击时触发","label":""},{"key":"bind:close","desc":"如果关闭按钮存在,点击关闭按钮时触发","label":""}],"tpl":"重要","path":"./tag/tag"},"t-textarea":{"key":"t-textarea","label":"文本输入框","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-textarea.png","properties":[{"key":"adjustPosition","type":["Boolean"],"desc":"键盘弹起时,是否自动上推页面","label":""},{"key":"autofocus","type":["Boolean"],"desc":"自动聚焦,拉起键盘","label":""},{"key":"autosize","type":["Boolean"],"desc":"是否自动增高,值为 autosize 时,style.height 不生效","label":""},{"key":"confirmHold","type":["Boolean"],"desc":"点击键盘右下角按钮时是否保持键盘不收起点","label":""},{"key":"confirmType","type":["String"],"desc":"设置键盘右下角按钮的文字,仅在 type='text'时生效","label":""},{"key":"disabled","type":["Boolean"],"desc":"是否禁用文本框","label":""},{"key":"focus","type":["Boolean"],"desc":"自动聚焦","label":""},{"key":"label","type":["String"],"desc":"左侧文本","label":""},{"key":"maxcharacter","type":["Number"],"desc":"用户最多可以输入的字符个数,一个中文汉字表示两个字符长度","label":""},{"key":"maxlength","type":["Number"],"desc":"用户最多可以输入的字符个数","label":""},{"key":"placeholder","type":["String"],"desc":"占位符","label":""},{"key":"value","type":["String"],"desc":"文本框值","label":""}],"externalClasses":["t-class","t-class-textarea","t-class-placeholder","t-class-name"],"events":[{"key":"bind:blur","desc":"失去焦点时触发","label":""},{"key":"bind:change","desc":"输入内容变化时触发","label":""},{"key":"bind:enter","desc":"点击完成时触发","label":""},{"key":"bind:focus","desc":"获得焦点时触发","label":""},{"key":"bind:line-change","desc":"行高发生变化时触发","label":""}],"tpl":"","path":"./textarea/textarea"},"t-toast":{"key":"t-toast","label":"轻提示","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-toast.png","properties":[{"key":"direction","type":["String"],"desc":"图标排列方式","label":""},{"key":"duration","type":["Number"],"desc":"弹窗显示毫秒数","label":""},{"key":"icon","type":["String"],"desc":"自定义图标","label":""},{"key":"message","type":["String"],"desc":"弹窗显示文字","label":""},{"key":"overlayProps","type":["Object"],"desc":"遮罩层属性,透传至 Overlay","label":""},{"key":"placement","type":["String"],"desc":"弹窗展示位置","label":""},{"key":"preventScrollThrough","type":["Boolean"],"desc":"防止滚动穿透,即不允许点击和滚动","label":""},{"key":"showOverlay","type":["Boolean"],"desc":"是否显示遮罩层","label":""},{"key":"theme","type":["String"],"desc":"提示类型","label":""}],"externalClasses":["t-class"],"tpl":"","path":"./toast/toast"},"t-transition":{"key":"t-transition","label":"动画","icon":"","properties":[{"key":"appear","type":["Boolean"],"desc":"首次出现是否展示动画","label":""},{"key":"customClass","type":["String"],"desc":"自定义容器类名","label":""},{"key":"destoryOnClose","type":["Boolean"],"desc":"隐藏时是否销毁内容","label":""},{"key":"duration","type":["Number"],"desc":"指定过渡时间","label":""},{"key":"name","type":["String"],"desc":"过渡类名","label":""},{"key":"visible","type":["Boolean"],"desc":"是否显示","label":""}],"tpl":"","path":"./transition/transition"},"t-upload":{"key":"t-upload","label":"上传","icon":"https://tdesign.gtimg.com/site/miniprogram-doc/doc-upload.png","properties":[{"key":"addContent","type":["String"],"desc":"添加按钮内容。值为空,使用默认图标渲染;值为 slot 则表示使用插槽渲染;其他值无效。","label":""},{"key":"allowUploadDuplicateFile","type":["Boolean"],"desc":"是否允许重复上传相同文件名的文件","label":""},{"key":"config","type":["Object"],"desc":"图片上传配置,视频上传配置,文件上传配置等,包含图片尺寸、图片来源、视频来源、视频拍摄最长时间等。更多细节查看小程序官网。[图片上传](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseImage.html)。[视频上传](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseVideo.html)","label":""},{"key":"deleteBtn","type":["String"],"desc":"删除图标。值为空,使用默认图标渲染;值为 slot 则表示使用插槽渲染;其他值无效。","label":""},{"key":"fileListDisplay","type":["String"],"desc":"用于完全自定义文件列表内容","label":""},{"key":"files","type":["Array"],"desc":"已上传文件列表","label":""},{"key":"gridConfig","type":["Object"],"desc":"upload组件每行上传图片列数以及图片的宽度和高度","label":""},{"key":"gutter","type":["Number"],"desc":"预览窗格的 `gutter` 大小,单位 rpx","label":""},{"key":"imageProps","type":["Object"],"desc":"透传 Image 组件全部属性","label":""},{"key":"max","type":["Number"],"desc":"用于控制文件上传数量,值为 0 则不限制","label":""},{"key":"mediaType","type":["Array"],"desc":"支持上传的文件类型,图片或视频","label":""},{"key":"requestMethod","type":["String"],"desc":"自定义上传方法","label":""},{"key":"sizeLimit","type":["Number","Object"],"desc":"图片文件大小限制,单位 KB。可选单位有:`'B' | 'KB' | 'MB' | 'GB'`。示例一:`1000`。示例二:`{ size: 2, unit: 'MB', message: '图片大小不超过 {sizeLimit} MB' }`","label":""}],"events":[{"key":"bind:add","desc":"上传成功后触发,仅包含本次选择的照片;`url` 表示选定视频的临时文件路径 (本地路径)。`duration` 表示选定视频的时间长度。`size`选定视频的数据量大小。更多描述参考 wx.chooseMedia 小程序官网描述","label":""},{"key":"bind:complete","desc":"上传成功或失败后触发","label":""},{"key":"bind:fail","desc":"上传失败后触发","label":""},{"key":"bind:remove","desc":"移除文件时触发","label":""},{"key":"bind:select-change","desc":"选择文件或图片之后,上传之前,触发该事件。
`files` 表示之前已经上传完成的文件列表。
`currentSelectedFiles` 表示本次上传选中的文件列表","label":""},{"key":"bind:success","desc":"上传成功后触发,包含所有上传的文件;`url` 表示选定视频的临时文件路径 (本地路径)。`duration` 表示选定视频的时间长度。`size`选定视频的数据量大小。更多描述参考 wx.chooseMedia 小程序官网描述","label":""}],"tpl":"","path":"./upload/upload"}},"common":{"properties":{},"events":{}},"menu":[{"key":"menu-basic","label":"基础","submenu":[{"key":"subMenu-button","label":"Button 按钮","components":["t-button"]},{"key":"subMenu-divider","label":"Divider 分割线","components":["t-divider"]},{"key":"subMenu-fab","label":"Fab 悬浮按钮","components":["t-fab"]},{"key":"subMenu-icon","label":"Icon 图标","components":["t-icon"]}]},{"key":"menu-nav","label":"导航","submenu":[{"key":"subMenu-drawer","label":"Drawer 抽屉","components":["t-drawer"]},{"key":"subMenu-indexes","label":"Indexes 索引","components":["t-indexes"]},{"key":"subMenu-navbar","label":"Navbar 导航条","components":["t-navbar"]},{"key":"subMenu-steps","label":"Steps 步骤条","components":["t-steps"]},{"key":"subMenu-tabbar","label":"TabBar 标签栏","components":["t-tab-bar"]},{"key":"subMenu-tabs","label":"Tabs 选项卡","components":["t-tabs"]}]},{"key":"menu-input","label":"输入","submenu":[{"key":"subMenu-checkbox","label":"CheckBox 复选框","components":["t-checkbox"]},{"key":"subMenu-dateTimePicker","label":"DateTimePicker 时间选择器","components":["t-date-time-picker"]},{"key":"subMenu-input","label":"Input 输入框","components":["t-input"]},{"key":"subMenu-picker","label":"Picker 选择器","components":["t-picker"]},{"key":"subMenu-radio","label":"Radio 单选框","components":["t-radio"]},{"key":"subMenu-rate","label":"Rate 评分","components":["t-rate"]},{"key":"subMenu-search","label":"Search 搜索框","components":["t-search"]},{"key":"subMenu-slider","label":"Slider 滑动选择器","components":["t-slider"]},{"key":"subMenu-stepper","label":"Stepper 步进器","components":["t-stepper"]},{"key":"subMenu-switch","label":"Switch 开关","components":["t-switch"]},{"key":"subMenu-textarea","label":"Textarea 多行文本框","components":["t-textarea"]},{"key":"subMenu-upload","label":"UpLoad 上传","components":["t-upload"]}]},{"key":"menu-data","label":"数据展示","submenu":[{"key":"subMenu-avatar","label":"Avatar 头像","components":["t-avatar"]},{"key":"subMenu-badge","label":"Badge 徽标","components":["t-badge"]},{"key":"subMenu-cell","label":"Cell 单元格","components":["t-cell"]},{"key":"subMenu-collapse","label":"Collapse 折叠面板","components":["t-collapse"]},{"key":"subMenu-dropdown-menu","label":"DropdownMenu 下拉菜单","components":["t-dropdown-menu"]},{"key":"subMenu-empty","label":"Empty 空状态","components":["t-empty"]},{"key":"subMenu-footer","label":"Footer 页脚","components":["t-footer"]},{"key":"subMenu-grid","label":"Grid 宫格","components":["t-grid"]},{"key":"subMenu-image","label":"Image 图片","components":["t-image"]},{"key":"subMenu-skeleton","label":"Skeleton 骨架屏","components":["t-skeleton"]},{"key":"subMenu-sticky","label":"Sticky 吸顶容器","components":["t-sticky"]},{"key":"subMenu-swiper","label":"Swiper 轮播图","components":["t-swiper"]},{"key":"subMenu-tag","label":"Tag 标签","components":["t-tag"]}]},{"key":"menu-info","label":"消息提醒","submenu":[{"key":"subMenu-actionsheet","label":"ActionSheet 动作面板","components":["t-action-sheet"]},{"key":"subMenu-back-top","label":"BackTop 返回顶部","components":["t-back-top"]},{"key":"subMenu-dialog","label":"Dialog 弹出框","components":["t-dialog"]},{"key":"subMenu-loading","label":"Loading 加载","components":["t-loading"]},{"key":"subMenu-message","label":"Message 消息通知","components":["t-message"]},{"key":"subMenu-popup","label":"Popup 弹出层","components":["t-popup"]},{"key":"subMenu-progress","label":"Progress 进度条","components":["t-progress"]},{"key":"subMenu-pullDownRefresh","label":"PullDownRefresh 下拉刷新","components":["t-pull-down-refresh"]},{"key":"subMenu-swipeCell","label":"SwipeCell 滑动操作","components":["t-swipe-cell"]},{"key":"subMenu-toast","label":"Toast 轻提示","components":["t-toast"]}]}]}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.d.ts
new file mode 100644
index 0000000..d3c2b76
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.d.ts
@@ -0,0 +1,88 @@
+import { SuperComponent } from '../common/src/index';
+export default class ActionSheet extends SuperComponent {
+ static show: (options: import("./show").ActionSheetShowOption) => WechatMiniprogram.Component.TrivialInstance;
+ behaviors: string[];
+ externalClasses: string[];
+ properties: {
+ align?: {
+ type: StringConstructor;
+ value?: "left" | "center";
+ };
+ cancelText?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ count?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ description?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ items: {
+ type: ArrayConstructor;
+ value?: (string | import("./type").ActionSheetItem)[];
+ required?: boolean;
+ };
+ popupProps?: {
+ type: ObjectConstructor;
+ value?: import("../popup").TdPopupProps;
+ };
+ showCancel?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ showOverlay?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: "list" | "grid";
+ };
+ usingCustomNavbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ defaultVisible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ };
+ data: {
+ prefix: string;
+ classPrefix: string;
+ gridThemeItems: any[];
+ currentSwiperIndex: number;
+ defaultPopUpProps: {};
+ defaultPopUpzIndex: number;
+ };
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ observers: {
+ items(): void;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ methods: {
+ init(): void;
+ memoInitialData(): void;
+ splitGridThemeActions(): void;
+ show(options: any): void;
+ close(): void;
+ onPopupVisibleChange({ detail }: {
+ detail: any;
+ }): void;
+ onSwiperChange(e: WechatMiniprogram.TouchEvent): void;
+ onSelect(event: WechatMiniprogram.TouchEvent): void;
+ onCancel(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.js
new file mode 100644
index 0000000..176dfdc
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{chunk}from"../common/utils";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import{ActionSheetTheme,show}from"./show";import props from"./props";import useCustomNavbar from"../mixins/using-custom-navbar";const{prefix:prefix}=config,name=`${prefix}-action-sheet`;let ActionSheet=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[useCustomNavbar],this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-cancel`],this.properties=Object.assign({},props),this.data={prefix:prefix,classPrefix:name,gridThemeItems:[],currentSwiperIndex:0,defaultPopUpProps:{},defaultPopUpzIndex:11500},this.controlledProps=[{key:"visible",event:"visible-change"}],this.observers={items(){this.splitGridThemeActions()}},this.lifetimes={ready(){this.init()}},this.methods={init(){this.memoInitialData(),this.splitGridThemeActions()},memoInitialData(){this.initialData=Object.assign(Object.assign({},this.properties),this.data)},splitGridThemeActions(){this.data.theme===ActionSheetTheme.Grid&&this.setData({gridThemeItems:chunk(this.data.items,this.data.count)})},show(e){this.setData(Object.assign(Object.assign(Object.assign({},this.initialData),e),{visible:!0})),this.splitGridThemeActions(),this.autoClose=!0,this._trigger("visible-change",{visible:!0})},close(){this.triggerEvent("close",{trigger:"command"}),this._trigger("visible-change",{visible:!1})},onPopupVisibleChange({detail:e}){e.visible||(this.triggerEvent("close",{trigger:"overlay"}),this._trigger("visible-change",{visible:!1})),this.autoClose&&(this.setData({visible:!1}),this.autoClose=!1)},onSwiperChange(e){const{current:t}=e.detail;this.setData({currentSwiperIndex:t})},onSelect(e){const{currentSwiperIndex:t,items:i,gridThemeItems:s,count:o,theme:r}=this.data,{index:n}=e.currentTarget.dataset,a=r===ActionSheetTheme.Grid,h=a?s[t][n]:i[n],c=a?n+t*o:n;h&&(this.triggerEvent("selected",{selected:h,index:c}),h.disabled||(this.triggerEvent("close",{trigger:"select"}),this._trigger("visible-change",{visible:!1})))},onCancel(){this.triggerEvent("cancel"),this.autoClose&&(this.setData({visible:!1}),this.autoClose=!1)}}}};ActionSheet.show=show,ActionSheet=__decorate([wxComponent()],ActionSheet);export default ActionSheet;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.json
new file mode 100644
index 0000000..ca2efb1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-popup":"../popup/popup","t-grid":"../grid/grid","t-grid-item":"../grid-item/grid-item"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxml
new file mode 100644
index 0000000..cabb001
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxml
@@ -0,0 +1 @@
+{{description}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxs
new file mode 100644
index 0000000..af7a695
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxs
@@ -0,0 +1,19 @@
+var getListThemeItemClass = function (props) {
+ var classPrefix = props.classPrefix;
+ var item = props.item;
+ var prefix = props.prefix;
+ var classList = [classPrefix + '__list-item'];
+ if (item.disabled) {
+ classList.push(prefix + '-is-disabled');
+ }
+ return classList.join(' ');
+};
+
+var isImage = function (name) {
+ return name.indexOf('/') !== -1;
+};
+
+module.exports = {
+ getListThemeItemClass: getListThemeItemClass,
+ isImage: isImage,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxss
new file mode 100644
index 0000000..0fd9a1b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxss
@@ -0,0 +1,29 @@
+@import '../common/style/index.wxss';.t-action-sheet__content{color:var(--td-action-sheet-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));border-top-left-radius:var(--td-action-sheet-border-radius,var(--td-radius-extraLarge,24rpx));border-top-right-radius:var(--td-action-sheet-border-radius,var(--td-radius-extraLarge,24rpx));background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));overflow:hidden;}
+.t-action-sheet__content--grid{padding-top:16rpx;}
+.t-action-sheet__content:focus{outline:0;}
+.t-action-sheet__grid{padding-bottom:16rpx;}
+.t-action-sheet__grid--swiper{padding-bottom:48rpx;}
+.t-action-sheet__description{color:var(--td-action-sheet-description-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));line-height:44rpx;font-size:28rpx;text-align:var(--td-action-sheet-text-align,center);padding:24rpx 32rpx;position:relative;}
+.t-action-sheet__description:focus{outline:0;}
+.t-action-sheet__description::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-action-sheet-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
+.t-action-sheet__description::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-action-sheet__description--left{text-align:left;}
+.t-action-sheet__description--left::after{left:32rpx;}
+.t-action-sheet__list-item{display:flex;align-items:center;justify-content:center;position:relative;height:var(--td-action-sheet-list-item-height,112rpx);padding:0 32rpx;}
+.t-action-sheet__list-item::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-action-sheet-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
+.t-action-sheet__list-item::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-action-sheet__list-item:focus{outline:0;}
+.t-action-sheet__list-item--left{justify-content:start;}
+.t-action-sheet__list-item--left::after{left:32rpx;}
+.t-action-sheet__list-item--disabled{color:var(--td-action-sheet-list-item-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-action-sheet__list-item-text{font-size:var(--td-font-size-m,32rpx);word-wrap:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
+.t-action-sheet__list-item-icon{margin-right:16rpx;}
+.t-action-sheet__list-item-icon--suffix{margin-left:auto;}
+.t-action-sheet__swiper-wrap{margin-top:8rpx;position:relative;}
+.t-action-sheet__footer{background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));}
+.t-action-sheet__gap-list{height:16rpx;background-color:var(--td-action-sheet-gap-color,var(--td-bg-color-page,var(--td-gray-color-1,#f3f3f3)));}
+.t-action-sheet__gap-grid{height:1rpx;background-color:var(--td-action-sheet-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
+.t-action-sheet__cancel{display:flex;align-items:center;justify-content:center;color:var(--td-action-sheet-cancel-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));height:var(--td-action-sheet-cancel-height,96rpx);}
+.t-action-sheet__dots{position:absolute;left:50%;bottom:32rpx;transform:translateX(-50%);display:flex;flex-direction:row;}
+.t-action-sheet__dots-item{width:16rpx;height:16rpx;background-color:#dcdcdc;border-radius:50%;margin:0 16rpx;transition:all .4s ease-in;}
+.t-action-sheet__dots-item.t-is-active{background-color:#0052d9;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/index.d.ts
new file mode 100644
index 0000000..5c41389
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/index.d.ts
@@ -0,0 +1,8 @@
+///
+import { ActionSheetItem, ActionSheetTheme, ActionSheetShowOption } from './show';
+export { ActionSheetItem, ActionSheetTheme, ActionSheetShowOption };
+declare const _default: {
+ show(options: ActionSheetShowOption): WechatMiniprogram.Component.TrivialInstance;
+ close(options: ActionSheetShowOption): void;
+};
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/index.js
new file mode 100644
index 0000000..61d7ee7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/index.js
@@ -0,0 +1 @@
+import{show,close,ActionSheetTheme}from"./show";export{ActionSheetTheme};export default{show:e=>show(e),close:e=>close(e)};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/props.d.ts
new file mode 100644
index 0000000..0fff787
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/props.d.ts
@@ -0,0 +1,3 @@
+import { TdActionSheetProps } from './type';
+declare const props: TdActionSheetProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/props.js
new file mode 100644
index 0000000..25c1215
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/props.js
@@ -0,0 +1 @@
+const props={align:{type:String,value:"center"},cancelText:{type:String,value:""},count:{type:Number,value:8},description:{type:String,value:""},items:{type:Array,required:!0},popupProps:{type:Object,value:{}},showCancel:{type:Boolean,value:!0},showOverlay:{type:Boolean,value:!0},theme:{type:String,value:"list"},usingCustomNavbar:{type:Boolean,value:!1},visible:{type:Boolean,value:null},defaultVisible:{type:Boolean,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/show.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/show.d.ts
new file mode 100644
index 0000000..7076439
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/show.d.ts
@@ -0,0 +1,26 @@
+///
+///
+import { ActionSheetItem } from './type';
+export { ActionSheetItem };
+declare type Context = WechatMiniprogram.Page.TrivialInstance | WechatMiniprogram.Component.TrivialInstance;
+export declare enum ActionSheetTheme {
+ List = "list",
+ Grid = "grid"
+}
+interface ActionSheetProps {
+ align: 'center' | 'left';
+ cancelText?: string;
+ count?: number;
+ description: string;
+ items: Array;
+ showCancel?: boolean;
+ theme?: ActionSheetTheme;
+ visible: boolean;
+ defaultVisible?: boolean;
+}
+export interface ActionSheetShowOption extends Omit {
+ context?: Context;
+ selector?: string;
+}
+export declare const show: (options: ActionSheetShowOption) => WechatMiniprogram.Component.TrivialInstance;
+export declare const close: (options: ActionSheetShowOption) => void;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/show.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/show.js
new file mode 100644
index 0000000..36f15fb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/show.js
@@ -0,0 +1 @@
+import{__rest}from"tslib";import{getInstance}from"../common/utils";export var ActionSheetTheme;!function(t){t.List="list",t.Grid="grid"}(ActionSheetTheme||(ActionSheetTheme={}));export const show=function(t){const e=Object.assign({},t),{context:o,selector:n="#t-action-sheet"}=e,c=__rest(e,["context","selector"]),s=getInstance(o,n);if(s)return s.show(Object.assign({},c)),s;console.error("未找到组件,请确认 selector && context 是否正确")};export const close=function(t){const{context:e,selector:o="#t-action-sheet"}=Object.assign({},t),n=getInstance(e,o);n&&n.close()};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/template/grid.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/template/grid.wxml
new file mode 100644
index 0000000..29334a5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/template/grid.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/template/list.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/template/list.wxml
new file mode 100644
index 0000000..a1e8bc9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/template/list.wxml
@@ -0,0 +1 @@
+{{item.label || item}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/type.d.ts
new file mode 100644
index 0000000..8eb7822
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/type.d.ts
@@ -0,0 +1,59 @@
+import { PopupProps } from '../popup/index';
+export interface TdActionSheetProps {
+ align?: {
+ type: StringConstructor;
+ value?: 'center' | 'left';
+ };
+ cancelText?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ count?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ description?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ items: {
+ type: ArrayConstructor;
+ value?: Array;
+ required?: boolean;
+ };
+ popupProps?: {
+ type: ObjectConstructor;
+ value?: PopupProps;
+ };
+ showCancel?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ showOverlay?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'list' | 'grid';
+ };
+ usingCustomNavbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ defaultVisible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}
+export interface ActionSheetItem {
+ label: string;
+ color?: string;
+ disabled?: boolean;
+ icon?: string;
+ suffixIcon?: string;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/action-sheet/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.d.ts
new file mode 100644
index 0000000..e131442
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.d.ts
@@ -0,0 +1,28 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class AvatarGroup extends SuperComponent {
+ externalClasses: string[];
+ properties: import("./type").TdAvatarGroupProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ hasChild: boolean;
+ length: number;
+ className: string;
+ };
+ options: {
+ multipleSlots: boolean;
+ };
+ relations: RelationsOptions;
+ lifetimes: {
+ attached(): void;
+ ready(): void;
+ };
+ observers: {
+ 'cascading, size'(): void;
+ };
+ methods: {
+ setClass(): void;
+ handleMax(): void;
+ onCollapsedItemClick(e: WechatMiniprogram.CustomEvent): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.js
new file mode 100644
index 0000000..ecd764c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import avatarGroupProps from"./props";const{prefix:prefix}=config,name=`${prefix}-avatar-group`;let AvatarGroup=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-image`],this.properties=avatarGroupProps,this.data={prefix:prefix,classPrefix:name,hasChild:!0,length:0,className:""},this.options={multipleSlots:!0},this.relations={"../avatar/avatar":{type:"descendant"}},this.lifetimes={attached(){this.setClass()},ready(){this.setData({length:this.$children.length}),this.handleMax()}},this.observers={"cascading, size"(){this.setClass()}},this.methods={setClass(){const{cascading:e,size:t}=this.properties,s=e.split("-")[0],a=[name,`${prefix}-class`,`${name}-offset-${s}`,`${name}-offset-${s}-${t.indexOf("px")>-1?"medium":t||"medium"}`];this.setData({className:a.join(" ")})},handleMax(){const{max:e}=this.data,t=this.$children.length;if(!e||e>t)return;this.$children.splice(e,t-e).forEach(e=>{e.hide()})},onCollapsedItemClick(e){this.triggerEvent("collapsed-item-click",e.detail)}}}};AvatarGroup=__decorate([wxComponent()],AvatarGroup);export default AvatarGroup;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.json
new file mode 100644
index 0000000..a51c00f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"shared","usingComponents":{"t-avatar":"../avatar/avatar"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.wxml
new file mode 100644
index 0000000..95519ff
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.wxml
@@ -0,0 +1 @@
+{{collapseAvatar}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.wxss
new file mode 100644
index 0000000..7227d07
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/avatar-group.wxss
@@ -0,0 +1,59 @@
+@import '../common/style/index.wxss';.t-avatar-group{display:inline-flex;flex-wrap:wrap;align-items:center;}
+.t-avatar-group-offset-left .t-avatar__wrapper,.t-avatar-group-offset-right .t-avatar__wrapper{padding:var(--td-avatar-group-line-spacing,4rpx) 0;}
+.t-avatar-group-offset-left-small,.t-avatar-group-offset-right-small{--td-avatar-margin-left:var(--td-avatar-group-margin-left-small, -16rpx);}
+.t-avatar-group-offset-left-medium,.t-avatar-group-offset-right-medium{--td-avatar-margin-left:var(--td-avatar-group-margin-left-medium, -16rpx);}
+.t-avatar-group-offset-left-large,.t-avatar-group-offset-right-large{--td-avatar-margin-left:var(--td-avatar-group-margin-left-large, -16rpx);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(1){z-index:calc(var(--td-avatar-group-init-z-index,50) - 1);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(2){z-index:calc(var(--td-avatar-group-init-z-index,50) - 2);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(3){z-index:calc(var(--td-avatar-group-init-z-index,50) - 3);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(4){z-index:calc(var(--td-avatar-group-init-z-index,50) - 4);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(5){z-index:calc(var(--td-avatar-group-init-z-index,50) - 5);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(6){z-index:calc(var(--td-avatar-group-init-z-index,50) - 6);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(7){z-index:calc(var(--td-avatar-group-init-z-index,50) - 7);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(8){z-index:calc(var(--td-avatar-group-init-z-index,50) - 8);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(9){z-index:calc(var(--td-avatar-group-init-z-index,50) - 9);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(10){z-index:calc(var(--td-avatar-group-init-z-index,50) - 10);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(11){z-index:calc(var(--td-avatar-group-init-z-index,50) - 11);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(12){z-index:calc(var(--td-avatar-group-init-z-index,50) - 12);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(13){z-index:calc(var(--td-avatar-group-init-z-index,50) - 13);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(14){z-index:calc(var(--td-avatar-group-init-z-index,50) - 14);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(15){z-index:calc(var(--td-avatar-group-init-z-index,50) - 15);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(16){z-index:calc(var(--td-avatar-group-init-z-index,50) - 16);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(17){z-index:calc(var(--td-avatar-group-init-z-index,50) - 17);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(18){z-index:calc(var(--td-avatar-group-init-z-index,50) - 18);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(19){z-index:calc(var(--td-avatar-group-init-z-index,50) - 19);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(20){z-index:calc(var(--td-avatar-group-init-z-index,50) - 20);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(21){z-index:calc(var(--td-avatar-group-init-z-index,50) - 21);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(22){z-index:calc(var(--td-avatar-group-init-z-index,50) - 22);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(23){z-index:calc(var(--td-avatar-group-init-z-index,50) - 23);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(24){z-index:calc(var(--td-avatar-group-init-z-index,50) - 24);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(25){z-index:calc(var(--td-avatar-group-init-z-index,50) - 25);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(26){z-index:calc(var(--td-avatar-group-init-z-index,50) - 26);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(27){z-index:calc(var(--td-avatar-group-init-z-index,50) - 27);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(28){z-index:calc(var(--td-avatar-group-init-z-index,50) - 28);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(29){z-index:calc(var(--td-avatar-group-init-z-index,50) - 29);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(30){z-index:calc(var(--td-avatar-group-init-z-index,50) - 30);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(31){z-index:calc(var(--td-avatar-group-init-z-index,50) - 31);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(32){z-index:calc(var(--td-avatar-group-init-z-index,50) - 32);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(33){z-index:calc(var(--td-avatar-group-init-z-index,50) - 33);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(34){z-index:calc(var(--td-avatar-group-init-z-index,50) - 34);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(35){z-index:calc(var(--td-avatar-group-init-z-index,50) - 35);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(36){z-index:calc(var(--td-avatar-group-init-z-index,50) - 36);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(37){z-index:calc(var(--td-avatar-group-init-z-index,50) - 37);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(38){z-index:calc(var(--td-avatar-group-init-z-index,50) - 38);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(39){z-index:calc(var(--td-avatar-group-init-z-index,50) - 39);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(40){z-index:calc(var(--td-avatar-group-init-z-index,50) - 40);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(41){z-index:calc(var(--td-avatar-group-init-z-index,50) - 41);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(42){z-index:calc(var(--td-avatar-group-init-z-index,50) - 42);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(43){z-index:calc(var(--td-avatar-group-init-z-index,50) - 43);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(44){z-index:calc(var(--td-avatar-group-init-z-index,50) - 44);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(45){z-index:calc(var(--td-avatar-group-init-z-index,50) - 45);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(46){z-index:calc(var(--td-avatar-group-init-z-index,50) - 46);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(47){z-index:calc(var(--td-avatar-group-init-z-index,50) - 47);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(48){z-index:calc(var(--td-avatar-group-init-z-index,50) - 48);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(49){z-index:calc(var(--td-avatar-group-init-z-index,50) - 49);}
+.t-avatar-group-offset-left .t-avatar__wrapper:nth-child(50){z-index:calc(var(--td-avatar-group-init-z-index,50) - 50);}
+.t-avatar-group__collapse--default,.t-avatar-group__collapse--slot{z-index:0;font-weight:600;}
+.t-avatar-group__collapse--slot{float:left;}
+.t-avatar-group__collapse--slot:not(:empty)+.t-avatar-group__collapse--default{display:none;float:left;}
+.t-avatar-group__collapse--slot:empty+.t-avatar-group__collapse--default{display:block;float:left;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/props.d.ts
new file mode 100644
index 0000000..892b866
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/props.d.ts
@@ -0,0 +1,3 @@
+import { TdAvatarGroupProps } from './type';
+declare const props: TdAvatarGroupProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/props.js
new file mode 100644
index 0000000..b7a3a48
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/props.js
@@ -0,0 +1 @@
+const props={cascading:{type:String,value:"left-up"},collapseAvatar:{type:String},max:{type:Number},shape:{type:String},size:{type:String,value:""}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/type.d.ts
new file mode 100644
index 0000000..7f233f4
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/type.d.ts
@@ -0,0 +1,24 @@
+import { ShapeEnum } from '../common/common';
+export interface TdAvatarGroupProps {
+ cascading?: {
+ type: StringConstructor;
+ value?: CascadingValue;
+ };
+ collapseAvatar?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ max?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ shape?: {
+ type: StringConstructor;
+ value?: ShapeEnum;
+ };
+ size?: {
+ type: StringConstructor;
+ value?: string;
+ };
+}
+export declare type CascadingValue = 'left-up' | 'right-up';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar-group/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.d.ts
new file mode 100644
index 0000000..4ecd9f6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.d.ts
@@ -0,0 +1,22 @@
+///
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class Avatar extends SuperComponent {
+ options: WechatMiniprogram.Component.ComponentOptions;
+ externalClasses: string[];
+ properties: import("./type").TdAvatarProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ isShow: boolean;
+ zIndex: number;
+ systemInfo: WechatMiniprogram.WindowInfo | WechatMiniprogram.SystemInfo;
+ };
+ relations: RelationsOptions;
+ observers: {
+ icon(icon: any): void;
+ };
+ methods: {
+ hide(): void;
+ onLoadError(e: WechatMiniprogram.CustomEvent): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.js
new file mode 100644
index 0000000..44d3c60
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import avatarProps from"./props";import{setIcon,systemInfo}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-avatar`;let Avatar=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.externalClasses=[`${prefix}-class`,`${prefix}-class-image`,`${prefix}-class-icon`,`${prefix}-class-alt`,`${prefix}-class-content`],this.properties=avatarProps,this.data={prefix:prefix,classPrefix:name,isShow:!0,zIndex:0,systemInfo:systemInfo},this.relations={"../avatar-group/avatar-group":{type:"ancestor",linked(t){this.parent=t,this.setData({shape:this.data.shape||t.data.shape||"circle",size:this.data.size||t.data.size,bordered:!0})}}},this.observers={icon(t){const s=setIcon("icon",t,"");this.setData(Object.assign({},s))}},this.methods={hide(){this.setData({isShow:!1})},onLoadError(t){this.properties.hideOnLoadFailed&&this.setData({isShow:!1}),this.triggerEvent("error",t.detail)}}}};Avatar=__decorate([wxComponent()],Avatar);export default Avatar;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.json
new file mode 100644
index 0000000..0bc94ec
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"shared","usingComponents":{"t-icon":"../icon/icon","t-badge":"../badge/badge","t-image":"../image/image"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxml
new file mode 100644
index 0000000..38f77b0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxs
new file mode 100644
index 0000000..240a956
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxs
@@ -0,0 +1,30 @@
+module.exports = {
+ getClass: function (classPrefix, size, shape, bordered) {
+ var hasPx = (size || '').indexOf('px') > -1;
+ var borderSize = hasPx ? 'medium' : size;
+ var classNames = [
+ classPrefix,
+ classPrefix + (shape === 'round' ? '--round' : '--circle'),
+ bordered ? classPrefix + '--border' + ' ' + classPrefix + '--border-' + borderSize : '',
+ hasPx ? '' : classPrefix + '--' + size,
+ ];
+ return classNames.join(' ');
+ },
+
+ getSize: function (size = 'medium', systemInfo) {
+ var res = getRegExp('^([0-9]+)(px|rpx)$').exec(size);
+
+ if (res && res.length >= 3) {
+ var px = res[1];
+ if (res[2] === 'rpx') {
+ px = Math.floor((systemInfo.windowWidth * res[1]) / 750);
+ }
+
+ return 'width:' + size + ';height:' + size + ';font-size:' + ((px / 8) * 3 + 2) + 'px';
+ }
+ },
+
+ getStyles: function (isShow) {
+ return isShow ? '' : 'display: none;';
+ },
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxss
new file mode 100644
index 0000000..15d6f56
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxss
@@ -0,0 +1,17 @@
+@import '../common/style/index.wxss';.t-avatar{display:flex;align-items:center;justify-content:center;box-sizing:border-box;background-color:var(--td-avatar-bg-color,var(--td-brand-color-light-active,var(--td-primary-color-2,#d9e1ff)));color:var(--td-avatar-content-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-avatar__wrapper{display:inline-flex;position:relative;vertical-align:top;margin-left:var(--td-avatar-margin-left,0);}
+.t-avatar--large{width:var(--td-avatar-large-width,128rpx);height:var(--td-avatar-large-width,128rpx);font-size:var(--td-avatar-text-large-font-size,var(--td-font-size-xl,40rpx));}
+.t-avatar--large .t-avatar__icon{font-size:var(--td-avatar-icon-large-font-size,64rpx);}
+.t-avatar--medium{width:var(--td-avatar-medium-width,96rpx);height:var(--td-avatar-medium-width,96rpx);font-size:var(--td-avatar-text-medium-font-size,var(--td-font-size-m,32rpx));}
+.t-avatar--medium .t-avatar__icon{font-size:var(--td-avatar-icon-medium-font-size,48rpx);}
+.t-avatar--small{width:var(--td-avatar-small-width,80rpx);height:var(--td-avatar-small-width,80rpx);font-size:var(--td-avatar-text-small-font-size,var(--td-font-size-base,28rpx));}
+.t-avatar--small .t-avatar__icon{font-size:var(--td-avatar-icon-small-font-size,40rpx);}
+.t-avatar .t-image,.t-avatar__image{width:100%;height:100%;}
+.t-avatar--circle{border-radius:var(--td-avatar-circle-border-radius,var(--td-radius-circle,50%));overflow:hidden;}
+.t-avatar--round{border-radius:var(--td-avatar-round-border-radius,var(--td-radius-default,12rpx));overflow:hidden;}
+.t-avatar__icon,.t-avatar__text{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
+.t-avatar__icon:empty,.t-avatar__text:empty{width:0;height:0;}
+.t-avatar--border{border-color:var(--td-avatar-border-color,#fff);border-style:solid;}
+.t-avatar--border-small{border-width:var(--td-avatar-border-width-small,2rpx);}
+.t-avatar--border-medium{border-width:var(--td-avatar-border-width-medium,4rpx);}
+.t-avatar--border-large{border-width:var(--td-avatar-border-width-large,6rpx);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/props.d.ts
new file mode 100644
index 0000000..f3e7907
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/props.d.ts
@@ -0,0 +1,3 @@
+import { TdAvatarProps } from './type';
+declare const props: TdAvatarProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/props.js
new file mode 100644
index 0000000..e586fb3
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/props.js
@@ -0,0 +1 @@
+const props={alt:{type:String,value:""},badgeProps:{type:Object},bordered:{type:Boolean,value:!1},hideOnLoadFailed:{type:Boolean,value:!1},icon:{type:null},image:{type:String,value:""},imageProps:{type:Object},shape:{type:String},size:{type:String,value:""}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/type.d.ts
new file mode 100644
index 0000000..79cac9d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/type.d.ts
@@ -0,0 +1,41 @@
+import { BadgeProps } from '../badge/index';
+import { ImageProps } from '../image/index';
+import { ShapeEnum } from '../common/common';
+export interface TdAvatarProps {
+ alt?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ badgeProps?: {
+ type: ObjectConstructor;
+ value?: BadgeProps;
+ };
+ bordered?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ hideOnLoadFailed?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ icon?: {
+ type: null;
+ value?: string | object;
+ };
+ image?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ imageProps?: {
+ type: ObjectConstructor;
+ value?: ImageProps;
+ };
+ shape?: {
+ type: StringConstructor;
+ value?: ShapeEnum;
+ };
+ size?: {
+ type: StringConstructor;
+ value?: string;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/avatar/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/back-top.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/back-top.d.ts
new file mode 100644
index 0000000..ced948c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/back-top.d.ts
@@ -0,0 +1,26 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class BackTop extends SuperComponent {
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ properties: import("./type").TdBackTopProps;
+ relations: RelationsOptions;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ _icon: any;
+ hidden: boolean;
+ };
+ observers: {
+ icon(): void;
+ scrollTop(value: number): void;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ methods: {
+ setIcon(v: any): void;
+ toTop(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/back-top.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/back-top.js
new file mode 100644
index 0000000..9a9becb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/back-top.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{calcIcon}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-back-top`;let BackTop=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-icon`,`${prefix}-class-text`],this.options={multipleSlots:!0},this.properties=props,this.relations={"../pull-down-refresh/pull-down-refresh":{type:"ancestor"}},this.data={prefix:prefix,classPrefix:name,_icon:null,hidden:!0},this.observers={icon(){this.setIcon()},scrollTop(o){const{visibilityHeight:t}=this.properties;this.setData({hidden:o{{text}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxss
new file mode 100644
index 0000000..590956d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxss
@@ -0,0 +1,10 @@
+@import '../common/style/index.wxss';.t-back-top{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:transparent;overflow:hidden;box-sizing:border-box;transition:height .2s;height:auto;}
+.t-back-top--fixed{position:fixed;right:var(--td-spacer,16rpx);bottom:calc(var(--td-spacer-2,32rpx) + env(safe-area-inset-bottom));}
+.t-back-top--round,.t-back-top--round-dark{width:96rpx;height:96rpx;border-radius:var(--td-back-top-round-border-radius,var(--td-radius-circle,50%));}
+.t-back-top--half-round,.t-back-top--round{color:var(--td-back-top-round-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));border:1rpx solid var(--td-back-top-round-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));background-color:var(--td-back-top-round-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-back-top--half-round-dark,.t-back-top--round-dark{color:var(--td-back-top-round-dark-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));background-color:var(--td-back-top-round-dark-bg-color,var(--td-gray-color-13,#242424));}
+.t-back-top--half-round,.t-back-top--half-round-dark{width:120rpx;height:80rpx;border-radius:0;border-top-left-radius:var(--td-back-top-half-round-border-radius,var(--td-radius-round,999px));border-bottom-left-radius:var(--td-back-top-half-round-border-radius,var(--td-radius-round,999px));flex-direction:row;right:0;}
+.t-back-top__text--half-round,.t-back-top__text--half-round-dark,.t-back-top__text--round,.t-back-top__text--round-dark{font-size:var(--td-font-size,20rpx);line-height:24rpx;}
+.t-back-top__text--half-round,.t-back-top__text--half-round-dark{width:48rpx;}
+.t-back-top__icon:not(:empty)+.t-back-top__text--half-round,.t-back-top__icon:not(:empty)+.t-back-top__text--half-round-dark{margin-left:8rpx;}
+.t-back-top__icon{display:flex;justify-content:center;align-items:center;font-size:44rpx;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/props.d.ts
new file mode 100644
index 0000000..5ac1e9f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/props.d.ts
@@ -0,0 +1,3 @@
+import { TdBackTopProps } from './type';
+declare const props: TdBackTopProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/props.js
new file mode 100644
index 0000000..533c00f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/props.js
@@ -0,0 +1 @@
+const props={fixed:{type:Boolean,value:!0},icon:{type:null,value:!0},scrollTop:{type:Number,value:0},text:{type:String,value:""},theme:{type:String,value:"round"},visibilityHeight:{type:Number,value:200}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/type.d.ts
new file mode 100644
index 0000000..7fb6a14
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/type.d.ts
@@ -0,0 +1,26 @@
+export interface TdBackTopProps {
+ fixed?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ icon?: {
+ type: null;
+ value?: string | boolean | object;
+ };
+ scrollTop?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ text?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'round' | 'half-round' | 'round-dark' | 'half-round-dark';
+ };
+ visibilityHeight?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/back-top/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.d.ts
new file mode 100644
index 0000000..2680a17
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.d.ts
@@ -0,0 +1,21 @@
+import { SuperComponent } from '../common/src/index';
+import type { TdBadgeProps } from './type';
+export interface BadgeProps extends TdBadgeProps {
+}
+export default class Badge extends SuperComponent {
+ options: {
+ multipleSlots: boolean;
+ };
+ externalClasses: string[];
+ properties: TdBadgeProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ value: string;
+ labelID: string;
+ descriptionID: string;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.js
new file mode 100644
index 0000000..90075aa
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{uniqueFactory}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-badge`,getUniqueID=uniqueFactory("badge");let Badge=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.externalClasses=[`${prefix}-class`,`${prefix}-class-count`,`${prefix}-class-content`],this.properties=props,this.data={prefix:prefix,classPrefix:name,value:"",labelID:"",descriptionID:""},this.lifetimes={ready(){const e=getUniqueID();this.setData({labelID:`${e}_label`,descriptionID:`${e}_description`})}}}};Badge=__decorate([wxComponent()],Badge);export default Badge;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.wxml
new file mode 100644
index 0000000..81e7b25
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.wxml
@@ -0,0 +1 @@
+{{content}}{{ _this.getBadgeValue({dot, count, maxCount}) }}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.wxs
new file mode 100644
index 0000000..613263c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.wxs
@@ -0,0 +1,71 @@
+var getBadgeValue = function (props) {
+ if (props.dot) {
+ return '';
+ }
+ if (isNaN(props.count) || isNaN(props.maxCount)) {
+ return props.count;
+ }
+ return parseInt(props.count) > props.maxCount ? props.maxCount + '+' : props.count;
+};
+
+var hasUnit = function (unit) {
+ return (
+ unit.indexOf('px') > 0 ||
+ unit.indexOf('rpx') > 0 ||
+ unit.indexOf('em') > 0 ||
+ unit.indexOf('rem') > 0 ||
+ unit.indexOf('%') > 0 ||
+ unit.indexOf('vh') > 0 ||
+ unit.indexOf('vm') > 0
+ );
+};
+
+var getBadgeStyles = function (props) {
+ var styleStr = '';
+ if (props.color) {
+ styleStr += 'background:' + props.color + ';';
+ }
+ if (props.offset[0]) {
+ styleStr +=
+ 'left: calc(100% + ' + (hasUnit(props.offset[0].toString()) ? props.offset[0] : props.offset[0] + 'px') + ');';
+ }
+ if (props.offset[1]) {
+ styleStr += 'top:' + (hasUnit(props.offset[1].toString()) ? props.offset[1] : props.offset[1] + 'px') + ';';
+ }
+ return styleStr;
+};
+
+var getBadgeOuterClass = function (props) {
+ var baseClass = 't-badge';
+ var classNames = [baseClass, props.shape === 'ribbon' ? baseClass + '__ribbon-outer' : ''];
+ return classNames.join(' ');
+};
+
+var getBadgeInnerClass = function (props) {
+ var baseClass = 't-badge';
+ var classNames = [
+ baseClass + '--basic',
+ props.dot ? baseClass + '--dot' : '',
+ baseClass + '--' + props.size,
+ baseClass + '--' + props.shape,
+ !props.dot && props.count ? baseClass + '--count' : '',
+ ];
+ return classNames.join(' ');
+};
+
+var isShowBadge = function (props) {
+ if (props.dot) {
+ return true;
+ }
+ if (!props.showZero && !isNaN(props.count) && parseInt(props.count) === 0) {
+ return false;
+ }
+ if (props.count == null) return false;
+ return true;
+};
+
+module.exports.getBadgeValue = getBadgeValue;
+module.exports.getBadgeStyles = getBadgeStyles;
+module.exports.getBadgeOuterClass = getBadgeOuterClass;
+module.exports.getBadgeInnerClass = getBadgeInnerClass;
+module.exports.isShowBadge = isShowBadge;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.wxss
new file mode 100644
index 0000000..2362913
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/badge.wxss
@@ -0,0 +1,15 @@
+@import '../common/style/index.wxss';.t-badge{position:relative;display:inline-flex;align-items:start;}
+.t-badge--basic{z-index:100;padding:0 var(--td-badge-basic-padding,8rpx);font-size:var(--td-badge-font-size,var(--td-font-size-xs,var(--td-font-size,20rpx)));color:var(--td-badge-text-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));background-color:var(--td-badge-bg-color,var(--td-error-color,var(--td-error-color-6,#d54941)));text-align:center;height:var(--td-badge-basic-height,32rpx);line-height:var(--td-badge-basic-height,32rpx);font-weight:var(--td-badge-font-weight,600);border-radius:var(--td-badge-border-radius,4rpx);}
+.t-badge--dot{height:var(--td-badge-dot-size,16rpx);border-radius:50%;min-width:var(--td-badge-dot-size,16rpx);padding:0;}
+.t-badge--count{min-width:var(--td-badge-basic-width,32rpx);white-space:nowrap;box-sizing:border-box;}
+.t-badge--circle{border-radius:calc(var(--td-badge-basic-height,32rpx)/ 2);}
+.t-badge__ribbon-outer{position:absolute;top:0;right:0;}
+.t-badge--ribbon{position:relative;display:inline-block;transform-origin:center center;transform:translate(calc(50% - var(--td-badge-basic-height,32rpx) + 1rpx),calc(-50% + var(--td-badge-basic-height,32rpx) - 1rpx)) rotate(45deg);border-radius:0;}
+.t-badge--ribbon::after,.t-badge--ribbon::before{content:'';position:absolute;width:0;height:0;bottom:0;border-bottom:var(--td-badge-basic-height,32rpx) solid var(--td-badge-bg-color,var(--td-error-color,var(--td-error-color-6,#d54941)));font-size:0;}
+.t-badge--ribbon::before{left:calc(-1 * var(--td-badge-basic-height,32rpx) + 1rpx);border-left:var(--td-badge-basic-height,32rpx) solid transparent;}
+.t-badge--ribbon::after{right:calc(-1 * var(--td-badge-basic-height,32rpx) + 1rpx);border-right:var(--td-badge-basic-height,32rpx) solid transparent;}
+.t-badge--bubble{border-radius:var(--td-badge-bubble-border-radius,20rpx 20rpx 20rpx 1px);}
+.t-badge--large{font-size:var(--td-badge-large-font-size,var(--td-font-size-s,24rpx));height:var(--td-badge-large-height,40rpx);min-width:var(--td-badge-large-height,40rpx);line-height:var(--td-badge-large-height,40rpx);padding:0 var(--td-badge-large-padding,10rpx);}
+.t-badge--large.t-badge--circle{border-radius:calc(var(--td-badge-large-height,40rpx)/ 2);}
+.t-badge__content:not(:empty)+.t-has-count{transform-origin:center center;transform:translate(-50%,-50%);position:absolute;left:100%;top:0;}
+.t-badge__content-text{display:block;line-height:48rpx;color:var(--td-badge-content-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/index.d.ts
new file mode 100644
index 0000000..85b119a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/index.d.ts
@@ -0,0 +1,3 @@
+export * from './type';
+export * from './props';
+export * from './badge';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/index.js
new file mode 100644
index 0000000..0ab74dd
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/index.js
@@ -0,0 +1 @@
+export*from"./type";export*from"./props";export*from"./badge";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/props.d.ts
new file mode 100644
index 0000000..e1702ff
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/props.d.ts
@@ -0,0 +1,3 @@
+import { TdBadgeProps } from './type';
+declare const props: TdBadgeProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/props.js
new file mode 100644
index 0000000..fe50aa1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/props.js
@@ -0,0 +1 @@
+const props={color:{type:String,value:""},content:{type:String,value:""},count:{type:null,value:0},dot:{type:Boolean,value:!1},maxCount:{type:Number,value:99},offset:{type:Array},shape:{type:String,value:"circle"},showZero:{type:Boolean,value:!1},size:{type:String,value:"medium"}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/type.d.ts
new file mode 100644
index 0000000..5a09876
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/type.d.ts
@@ -0,0 +1,38 @@
+export interface TdBadgeProps {
+ color?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ count?: {
+ type: null;
+ value?: string | number;
+ };
+ dot?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ maxCount?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ offset?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ shape?: {
+ type: StringConstructor;
+ value?: 'circle' | 'square' | 'bubble' | 'ribbon';
+ };
+ showZero?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ size?: {
+ type: StringConstructor;
+ value?: 'medium' | 'large';
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/badge/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.d.ts
new file mode 100644
index 0000000..a0239e5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.d.ts
@@ -0,0 +1,38 @@
+import { SuperComponent } from '../common/src/index';
+import type { TdButtonProps } from './type';
+export interface ButtonProps extends TdButtonProps {
+}
+export default class Button extends SuperComponent {
+ externalClasses: string[];
+ behaviors: string[];
+ properties: TdButtonProps;
+ options: {
+ multipleSlots: boolean;
+ };
+ data: {
+ prefix: string;
+ className: string;
+ classPrefix: string;
+ };
+ observers: {
+ 'theme, size, plain, block, shape, disabled, loading, variant'(): void;
+ icon(icon: any): void;
+ };
+ lifetimes: {
+ attached(): void;
+ };
+ methods: {
+ setClass(): void;
+ getuserinfo(e: any): void;
+ contact(e: any): void;
+ createliveactivity(e: any): void;
+ getphonenumber(e: any): void;
+ getrealtimephonenumber(e: any): void;
+ error(e: any): void;
+ opensetting(e: any): void;
+ launchapp(e: any): void;
+ chooseavatar(e: any): void;
+ agreeprivacyauthorization(e: any): void;
+ handleTap(e: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.js
new file mode 100644
index 0000000..54b4e66
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{canIUseFormFieldButton}from"../common/version";import{calcIcon}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-button`;let Button=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-icon`,`${prefix}-class-loading`],this.behaviors=canIUseFormFieldButton()?["wx://form-field-button"]:[],this.properties=props,this.options={multipleSlots:!0},this.data={prefix:prefix,className:"",classPrefix:name},this.observers={"theme, size, plain, block, shape, disabled, loading, variant"(){this.setClass()},icon(t){this.setData({_icon:calcIcon(t,"")})}},this.lifetimes={attached(){this.setClass()}},this.methods={setClass(){const t=[name,`${prefix}-class`,`${name}--${this.data.variant||"base"}`,`${name}--${this.data.theme||"default"}`,`${name}--${this.data.shape||"rectangle"}`,`${name}--size-${this.data.size||"medium"}`];this.data.block&&t.push(`${name}--block`),this.data.disabled&&t.push(`${name}--disabled`),this.data.ghost&&t.push(`${name}--ghost`),this.setData({className:t.join(" ")})},getuserinfo(t){this.triggerEvent("getuserinfo",t.detail)},contact(t){this.triggerEvent("contact",t.detail)},createliveactivity(t){this.triggerEvent("createliveactivity",t.detail)},getphonenumber(t){this.triggerEvent("getphonenumber",t.detail)},getrealtimephonenumber(t){this.triggerEvent("getrealtimephonenumber",t.detail)},error(t){this.triggerEvent("error",t.detail)},opensetting(t){this.triggerEvent("opensetting",t.detail)},launchapp(t){this.triggerEvent("launchapp",t.detail)},chooseavatar(t){this.triggerEvent("chooseavatar",t.detail)},agreeprivacyauthorization(t){this.triggerEvent("agreeprivacyauthorization",t.detail)},handleTap(t){this.data.disabled||this.data.loading||this.triggerEvent("tap",t)}}}};Button=__decorate([wxComponent()],Button);export default Button;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.json
new file mode 100644
index 0000000..18ba7f1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-loading":"../loading/loading"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.wxml
new file mode 100644
index 0000000..d40df7f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.wxss
new file mode 100644
index 0000000..9f3298d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/button.wxss
@@ -0,0 +1,129 @@
+@import '../common/style/index.wxss';.t-button--size-extra-small{font-size:var(--td-button-extra-small-font-size,var(--td-font-size-base,28rpx));padding-left:var(--td-button-extra-small-padding-horizontal,16rpx);padding-right:var(--td-button-extra-small-padding-horizontal,16rpx);height:var(--td-button-extra-small-height,56rpx);line-height:var(--td-button-extra-small-height,56rpx);}
+.t-button--size-extra-small .t-button__icon{font-size:var(--td-button-extra-small-icon-font-size,36rpx);}
+.t-button--size-small{font-size:var(--td-button-small-font-size,var(--td-font-size-base,28rpx));padding-left:var(--td-button-small-padding-horizontal,24rpx);padding-right:var(--td-button-small-padding-horizontal,24rpx);height:var(--td-button-small-height,64rpx);line-height:var(--td-button-small-height,64rpx);}
+.t-button--size-small .t-button__icon{font-size:var(--td-button-small-icon-font-size,36rpx);}
+.t-button--size-medium{font-size:var(--td-button-medium-font-size,var(--td-font-size-m,32rpx));padding-left:var(--td-button-medium-padding-horizontal,32rpx);padding-right:var(--td-button-medium-padding-horizontal,32rpx);height:var(--td-button-medium-height,80rpx);line-height:var(--td-button-medium-height,80rpx);}
+.t-button--size-medium .t-button__icon{font-size:var(--td-button-medium-icon-font-size,40rpx);}
+.t-button--size-large{font-size:var(--td-button-large-font-size,var(--td-font-size-m,32rpx));padding-left:var(--td-button-large-padding-horizontal,40rpx);padding-right:var(--td-button-large-padding-horizontal,40rpx);height:var(--td-button-large-height,96rpx);line-height:var(--td-button-large-height,96rpx);}
+.t-button--size-large .t-button__icon{font-size:var(--td-button-large-icon-font-size,48rpx);}
+.t-button--default{color:var(--td-button-default-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));background-color:var(--td-button-default-bg-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-button-default-border-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));}
+.t-button--default::after{border-width:var(--td-button-border-width,4rpx);border-color:var(--td-button-default-border-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));}
+.t-button--default.t-button--hover{z-index:0;}
+.t-button--default.t-button--hover,.t-button--default.t-button--hover::after{background-color:var(--td-button-default-active-bg-color,var(--td-bg-color-component-active,var(--td-gray-color-6,#a6a6a6)));border-color:var(--td-button-default-active-border-color,var(--td-bg-color-component-active,var(--td-gray-color-6,#a6a6a6)));}
+.t-button--default.t-button--disabled{color:var(--td-button-default-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));background-color:var(--td-button-default-disabled-bg,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
+.t-button--default.t-button--disabled,.t-button--default.t-button--disabled::after{border-color:var(--td-button-default-disabled-border-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
+.t-button--primary{color:var(--td-button-primary-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));background-color:var(--td-button-primary-bg-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-color:var(--td-button-primary-border-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-button--primary::after{border-width:var(--td-button-border-width,4rpx);border-color:var(--td-button-primary-border-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-button--primary.t-button--hover{z-index:0;}
+.t-button--primary.t-button--hover,.t-button--primary.t-button--hover::after{background-color:var(--td-button-primary-active-bg-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));border-color:var(--td-button-primary-active-border-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
+.t-button--primary.t-button--disabled{color:var(--td-button-primary-disabled-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));background-color:var(--td-button-primary-disabled-bg,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-button--primary.t-button--disabled,.t-button--primary.t-button--disabled::after{border-color:var(--td-button-primary-disabled-border-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-button--light{color:var(--td-button-light-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-button-light-bg-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));border-color:var(--td-button-light-border-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-button--light::after{border-width:var(--td-button-border-width,4rpx);border-color:var(--td-button-light-border-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-button--light.t-button--hover{z-index:0;}
+.t-button--light.t-button--hover,.t-button--light.t-button--hover::after{background-color:var(--td-button-light-active-bg-color,var(--td-brand-color-light-active,var(--td-primary-color-2,#d9e1ff)));border-color:var(--td-button-light-active-border-color,var(--td-brand-color-light-active,var(--td-primary-color-2,#d9e1ff)));}
+.t-button--light.t-button--disabled{color:var(--td-button-light-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));background-color:var(--td-button-light-disabled-bg,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-button--light.t-button--disabled,.t-button--light.t-button--disabled::after{border-color:var(--td-button-light-disabled-border-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-button--danger{color:var(--td-button-danger-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));background-color:var(--td-button-danger-bg-color,var(--td-error-color,var(--td-error-color-6,#d54941)));border-color:var(--td-button-danger-border-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-button--danger::after{border-width:var(--td-button-border-width,4rpx);border-color:var(--td-button-danger-border-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-button--danger.t-button--hover{z-index:0;}
+.t-button--danger.t-button--hover,.t-button--danger.t-button--hover::after{background-color:var(--td-button-danger-active-bg-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));border-color:var(--td-button-danger-active-border-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));}
+.t-button--danger.t-button--disabled{color:var(--td-button-danger-disabled-color,var(--td-font-white-1,#fff));background-color:var(--td-button-danger-disabled-bg,var(--td-error-color-3,#ffb9b0));}
+.t-button--danger.t-button--disabled,.t-button--danger.t-button--disabled::after{border-color:var(--td-button-danger-disabled-border-color,var(--td-error-color-3,#ffb9b0));}
+.t-button{display:inline-flex;align-items:center;justify-content:center;position:relative;white-space:nowrap;text-align:center;background-image:none;transition:all .3s;touch-action:manipulation;border-radius:var(--td-button-border-radius,var(--td-radius-default,12rpx));outline:0;font-family:PingFang SC,Microsoft YaHei,Arial Regular;font-weight:var(--td-button-font-weight,600);vertical-align:top;box-sizing:border-box;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-appearance:none;}
+.t-button::after{border-radius:calc(var(--td-button-border-radius,var(--td-radius-default,12rpx)) * 2);}
+.t-button--text{color:var(--td-button-default-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));background-color:transparent;}
+.t-button--text,.t-button--text::after{border:0;}
+.t-button--text.t-button--hover,.t-button--text.t-button--hover::after{background-color:var(--td-button-default-text-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));}
+.t-button--text.t-button--primary{color:var(--td-button-primary-text-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:transparent;}
+.t-button--text.t-button--primary.t-button--hover,.t-button--text.t-button--primary.t-button--hover::after{background-color:var(--td-button-primary-text-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));}
+.t-button--text.t-button--primary.t-button--disabled{color:var(--td-button-primary-text-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));}
+.t-button--text.t-button--danger{color:var(--td-button-danger-text-color,var(--td-error-color,var(--td-error-color-6,#d54941)));background-color:transparent;}
+.t-button--text.t-button--danger.t-button--hover,.t-button--text.t-button--danger.t-button--hover::after{background-color:var(--td-button-danger-text-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));}
+.t-button--text.t-button--danger.t-button--disabled{color:var(--td-button-danger-text-disabled-color,var(--td-button-danger-disabled-color,var(--td-font-white-1,#fff)));background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));}
+.t-button--text.t-button--light{color:var(--td-button-light-text-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:transparent;}
+.t-button--text.t-button--light.t-button--hover,.t-button--text.t-button--light.t-button--hover::after{background-color:var(--td-button-light-text-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));}
+.t-button--text.t-button--disabled{color:var(--td-button-default-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-button--outline{color:var(--td-button-default-outline-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));}
+.t-button--outline,.t-button--outline::after{border-color:var(--td-button-default-outline-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
+.t-button--outline.t-button--hover,.t-button--outline.t-button--hover::after{background-color:var(--td-button-default-outline-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-button-default-outline-active-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
+.t-button--outline.t-button--disabled{color:var(--td-button-default-outline-disabled-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
+.t-button--outline.t-button--disabled,.t-button--outline.t-button--disabled::after{border-color:var(--td-button-default-outline-disabled-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
+.t-button--outline.t-button--primary{color:var(--td-button-primary-outline-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-button--outline.t-button--primary,.t-button--outline.t-button--primary::after{border-color:var(--td-button-primary-outline-border-color,var(--td-button-primary-outline-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9))));}
+.t-button--outline.t-button--primary.t-button--hover{color:var(--td-button-primary-outline-active-border-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
+.t-button--outline.t-button--primary.t-button--hover::after{background-color:var(--td-button-primary-outline-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-button-primary-outline-active-border-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
+.t-button--outline.t-button--primary.t-button--disabled{background-color:transparent;color:var(--td-button-primary-outline-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-button--outline.t-button--primary.t-button--disabled,.t-button--outline.t-button--primary.t-button--disabled::after{border-color:var(--td-button-primary-outline-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-button--outline.t-button--danger{color:var(--td-button-danger-outline-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-button--outline.t-button--danger,.t-button--outline.t-button--danger::after{border-color:var(--td-button-danger-outline-border-color,var(--td-button-danger-outline-color,var(--td-error-color,var(--td-error-color-6,#d54941))));}
+.t-button--outline.t-button--danger.t-button--hover{color:var(--td-button-danger-outline-active-border-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));}
+.t-button--outline.t-button--danger.t-button--hover::after{background-color:var(--td-button-danger-outline-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-button-danger-outline-active-border-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));}
+.t-button--outline.t-button--danger.t-button--disabled{background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));color:var(--td-button-danger-outline-disabled-color,var(--td-error-color-3,#ffb9b0));}
+.t-button--outline.t-button--danger.t-button--disabled,.t-button--outline.t-button--danger.t-button--disabled::after{border-color:var(--td-button-danger-outline-disabled-color,var(--td-error-color-3,#ffb9b0));}
+.t-button--outline.t-button--light{color:var(--td-button-light-outline-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-button-light-outline-bg-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-button--outline.t-button--light,.t-button--outline.t-button--light::after{border-color:var(--td-button-light-outline-border-color,var(--td-button-light-outline-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9))));}
+.t-button--outline.t-button--light.t-button--hover{color:var(--td-button-light-outline-active-border-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
+.t-button--outline.t-button--light.t-button--hover,.t-button--outline.t-button--light.t-button--hover::after{background-color:var(--td-button-light-outline-active-bg-color,var(--td-brand-color-light-active,var(--td-primary-color-2,#d9e1ff)));border-color:var(--td-button-light-outline-active-border-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
+.t-button--outline.t-button--light.t-button--disabled{background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));color:var(--td-button-light-outline-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-button--outline.t-button--light.t-button--disabled,.t-button--outline.t-button--light.t-button--disabled::after{border-color:var(--td-button-light-outline-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-button--dashed{background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));border-style:dashed;border-width:2rpx;}
+.t-button--dashed::after{border:0;}
+.t-button--dashed.t-button--hover,.t-button--dashed.t-button--hover::after{background-color:var(--td-button-default-outline-active-bg-color,var(--td-bg-color-container-active,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-button-default-outline-active-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
+.t-button--dashed.t-button--primary{color:var(--td-button-primary-dashed-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-button--dashed.t-button--primary,.t-button--dashed.t-button--primary::after{border-color:var(--td-button-primary-dashed-border-color,var(--td-button-primary-dashed-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9))));}
+.t-button--dashed.t-button--primary.t-button--disabled{background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));color:var(--td-button-primary-dashed-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-button--dashed.t-button--primary.t-button--disabled,.t-button--dashed.t-button--primary.t-button--disabled::after{border-color:var(--td-button-primary-dashed-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-button--dashed.t-button--danger{color:var(--td-button-danger-dashed-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-button--dashed.t-button--danger,.t-button--dashed.t-button--danger::after{border-color:var(--td-button-danger-dashed-border-color,var(--td-button-danger-dashed-color,var(--td-error-color,var(--td-error-color-6,#d54941))));}
+.t-button--dashed.t-button--danger.t-button--disabled{background-color:transparent;color:var(--td-button-danger-dashed-disabled-color,var(--td-button-danger-disabled-color,var(--td-font-white-1,#fff)));}
+.t-button--dashed.t-button--danger.t-button--disabled::after{border-color:var(--td-button-danger-dashed-disabled-color,var(--td-button-danger-disabled-color,var(--td-font-white-1,#fff)));}
+.t-button--ghost{background-color:transparent;color:var(--td-button-ghost-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));}
+.t-button--ghost,.t-button--ghost::after{border-color:var(--td-button-ghost-border-color,var(--td-button-ghost-color,var(--td-text-color-anti,var(--td-font-white-1,#fff))));}
+.t-button--ghost.t-button--default.t-button--hover{color:var(--td-button-ghost-hover-color,var(--td-font-white-2,rgba(255,255,255,.55)));}
+.t-button--ghost.t-button--default.t-button--hover,.t-button--ghost.t-button--default.t-button--hover::after{background-color:transparent;border-color:var(--td-button-ghost-hover-color,var(--td-font-white-2,rgba(255,255,255,.55)));}
+.t-button--ghost.t-button--primary{color:var(--td-button-ghost-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-button--ghost.t-button--primary,.t-button--ghost.t-button--primary::after{border-color:var(--td-button-ghost-primary-border-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-button--ghost.t-button--primary.t-button--hover{color:var(--td-button-ghost-primary-hover-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
+.t-button--ghost.t-button--primary.t-button--hover,.t-button--ghost.t-button--primary.t-button--hover::after{background-color:transparent;border-color:var(--td-button-ghost-primary-hover-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
+.t-button--ghost.t-button--primary.t-button--text.t-button--hover,.t-button--ghost.t-button--primary.t-button--text.t-button--hover::after{background-color:var(--td-gray-color-10,#4b4b4b);}
+.t-button--ghost.t-button--primary.t-button--disabled{background-color:transparent;color:var(--td-button-ghost-disabled-color,var(--td-font-white-4,rgba(255,255,255,.22)));}
+.t-button--ghost.t-button--primary.t-button--disabled,.t-button--ghost.t-button--primary.t-button--disabled::after{border-color:var(--td-button-ghost-disabled-color,var(--td-font-white-4,rgba(255,255,255,.22)));}
+.t-button--ghost.t-button--danger{color:var(--td-button-ghost-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-button--ghost.t-button--danger,.t-button--ghost.t-button--danger::after{border-color:var(--td-button-ghost-danger-border-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-button--ghost.t-button--danger.t-button--hover{color:var(--td-button-ghost-danger-hover-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));}
+.t-button--ghost.t-button--danger.t-button--hover,.t-button--ghost.t-button--danger.t-button--hover::after{background-color:transparent;border-color:var(--td-button-ghost-danger-hover-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));}
+.t-button--ghost.t-button--danger.t-button--text.t-button--hover,.t-button--ghost.t-button--danger.t-button--text.t-button--hover::after{background-color:var(--td-gray-color-10,#4b4b4b);}
+.t-button--ghost.t-button--danger.t-button--disabled{background-color:transparent;color:var(--td-button-ghost-disabled-color,var(--td-font-white-4,rgba(255,255,255,.22)));}
+.t-button--ghost.t-button--danger.t-button--disabled,.t-button--ghost.t-button--danger.t-button--disabled::after{border-color:var(--td-button-ghost-disabled-color,var(--td-font-white-4,rgba(255,255,255,.22)));}
+.t-button--ghost.t-button--default.t-button--text.t-button--hover,.t-button--ghost.t-button--default.t-button--text.t-button--hover::after{background-color:var(--td-gray-color-10,#4b4b4b);}
+.t-button--ghost.t-button--default.t-button--disabled{background-color:transparent;color:var(--td-button-ghost-disabled-color,var(--td-font-white-4,rgba(255,255,255,.22)));}
+.t-button--ghost.t-button--default.t-button--disabled,.t-button--ghost.t-button--default.t-button--disabled::after{border-color:var(--td-button-ghost-disabled-color,var(--td-font-white-4,rgba(255,255,255,.22)));}
+.t-button__icon+.t-button__content:not(:empty),.t-button__loading+.t-button__content:not(:empty){margin-left:8rpx;}
+.t-button__icon{border-radius:var(--td-button-icon-border-radius,8rpx);}
+.t-button--round.t-button--size-large{border-radius:calc(var(--td-button-large-height,96rpx)/ 2);}
+.t-button--round.t-button--size-large::after{border-radius:var(--td-button-large-height,96rpx);}
+.t-button--round.t-button--size-medium{border-radius:calc(var(--td-button-medium-height,80rpx)/ 2);}
+.t-button--round.t-button--size-medium::after{border-radius:var(--td-button-medium-height,80rpx);}
+.t-button--round.t-button--size-small{border-radius:calc(var(--td-button-small-height,64rpx)/ 2);}
+.t-button--round.t-button--size-small::after{border-radius:var(--td-button-small-height,64rpx);}
+.t-button--round.t-button--size-extra-small{border-radius:calc(var(--td-button-extra-small-height,56rpx)/ 2);}
+.t-button--round.t-button--size-extra-small::after{border-radius:var(--td-button-extra-small-height,56rpx);}
+.t-button--square{padding:0;}
+.t-button--square.t-button--size-large{width:var(--td-button-large-height,96rpx);}
+.t-button--square.t-button--size-medium{width:var(--td-button-medium-height,80rpx);}
+.t-button--square.t-button--size-small{width:var(--td-button-small-height,64rpx);}
+.t-button--square.t-button--size-extra-small{width:var(--td-button-extra-small-height,56rpx);}
+.t-button--circle{padding:0;border-radius:50%;}
+.t-button--circle.t-button--size-large{width:var(--td-button-large-height,96rpx);}
+.t-button--circle.t-button--size-large::after{border-radius:50%;}
+.t-button--circle.t-button--size-medium{width:var(--td-button-medium-height,80rpx);}
+.t-button--circle.t-button--size-medium::after{border-radius:50%;}
+.t-button--circle.t-button--size-small{width:var(--td-button-small-height,64rpx);}
+.t-button--circle.t-button--size-small::after{border-radius:50%;}
+.t-button--circle.t-button--size-extra-small{width:var(--td-button-extra-small-height,56rpx);}
+.t-button--circle.t-button--size-extra-small::after{border-radius:50%;}
+.t-button--block{display:flex;width:100%;}
+.t-button--disabled{cursor:not-allowed;}
+.t-button__loading--wrapper{display:flex;align-items:center;justify-content:center;}
+.t-button.t-button--hover::after{z-index:-1;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/button/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/index.d.ts
new file mode 100644
index 0000000..beb0ad5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/index.d.ts
@@ -0,0 +1,3 @@
+export * from './props';
+export * from './type';
+export * from './button';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/button/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/index.js
new file mode 100644
index 0000000..aba62c1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/index.js
@@ -0,0 +1 @@
+export*from"./props";export*from"./type";export*from"./button";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/button/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/props.d.ts
new file mode 100644
index 0000000..00dc5fb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/props.d.ts
@@ -0,0 +1,3 @@
+import { TdButtonProps } from './type';
+declare const props: TdButtonProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/button/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/props.js
new file mode 100644
index 0000000..e3f88fa
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/props.js
@@ -0,0 +1 @@
+const props={appParameter:{type:String,value:""},block:{type:Boolean,value:!1},content:{type:String},customDataset:{type:null},disabled:{type:null,value:void 0},ghost:{type:Boolean,value:!1},hoverClass:{type:String,value:""},hoverStartTime:{type:Number,value:20},hoverStayTime:{type:Number,value:70},hoverStopPropagation:{type:Boolean,value:!1},icon:{type:null},lang:{type:String},loading:{type:Boolean,value:!1},loadingProps:{type:Object},openType:{type:String},phoneNumberNoQuotaToast:{type:Boolean,value:!0},sendMessageImg:{type:String,value:"截图"},sendMessagePath:{type:String,value:"当前分享路径"},sendMessageTitle:{type:String,value:"当前标题"},sessionFrom:{type:String,value:""},shape:{type:String,value:"rectangle"},showMessageCard:{type:Boolean,value:!1},size:{type:String,value:"medium"},tId:{type:String,value:""},theme:{type:String,value:"default"},type:{type:String},variant:{type:String,value:"base"}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/button/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/type.d.ts
new file mode 100644
index 0000000..4fc4266
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/type.d.ts
@@ -0,0 +1,111 @@
+import { LoadingProps } from '../loading/index';
+export interface TdButtonProps {
+ appParameter?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ block?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ customDataset?: {
+ type: null;
+ value?: null;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ ghost?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ hoverClass?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ hoverStartTime?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ hoverStayTime?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ hoverStopPropagation?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ icon?: {
+ type: null;
+ value?: string | object;
+ };
+ lang?: {
+ type: StringConstructor;
+ value?: 'en' | 'zh_CN' | 'zh_TW';
+ };
+ loading?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ loadingProps?: {
+ type: ObjectConstructor;
+ value?: LoadingProps;
+ };
+ openType?: {
+ type: StringConstructor;
+ value?: 'contact' | 'share' | 'getPhoneNumber' | 'getUserInfo' | 'launchApp' | 'openSetting' | 'feedback' | 'chooseAvatar' | 'agreePrivacyAuthorization';
+ };
+ phoneNumberNoQuotaToast?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ sendMessageImg?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ sendMessagePath?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ sendMessageTitle?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ sessionFrom?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ shape?: {
+ type: StringConstructor;
+ value?: 'rectangle' | 'square' | 'round' | 'circle';
+ };
+ showMessageCard?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ size?: {
+ type: StringConstructor;
+ value?: 'extra-small' | 'small' | 'medium' | 'large';
+ };
+ tId?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'default' | 'primary' | 'danger' | 'light';
+ };
+ type?: {
+ type: StringConstructor;
+ value?: 'submit' | 'reset';
+ };
+ variant?: {
+ type: StringConstructor;
+ value?: 'base' | 'outline' | 'dashed' | 'text';
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/button/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/button/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar-header.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar-header.wxml
new file mode 100644
index 0000000..bf710ee
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar-header.wxml
@@ -0,0 +1 @@
+{{ title }}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.d.ts
new file mode 100644
index 0000000..2b7ef4f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.d.ts
@@ -0,0 +1,64 @@
+///
+import { SuperComponent } from '../common/src/index';
+import { TdCalendarProps } from './type';
+export interface CalendarProps extends TdCalendarProps {
+}
+export default class Calendar extends SuperComponent {
+ behaviors: string[];
+ externalClasses: string[];
+ options: WechatMiniprogram.Component.ComponentOptions;
+ properties: TdCalendarProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ months: any[];
+ scrollIntoView: string;
+ innerConfirmBtn: {};
+ realLocalText: {};
+ currentMonth: {};
+ actionButtons: {
+ preYearBtnDisable: boolean;
+ prevMonthBtnDisable: boolean;
+ nextMonthBtnDisable: boolean;
+ nextYearBtnDisable: boolean;
+ };
+ };
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ lifetimes: {
+ created(): void;
+ ready(): void;
+ };
+ observers: {
+ type(v: any): void;
+ allowSameDay(v: any): void;
+ confirmBtn(v: any): void;
+ 'firstDayOfWeek,minDate,maxDate'(firstDayOfWeek: any, minDate: any, maxDate: any): void;
+ value(v: any): void;
+ visible(v: any): void;
+ format(v: any): void;
+ };
+ methods: {
+ initialValue(): void;
+ scrollIntoView(): void;
+ getCurrentYearAndMonth(v: Date): {
+ year: number;
+ month: number;
+ };
+ updateActionButton(value: Date): void;
+ updateCurrentMonth(newValue?: any): void;
+ calcCurrentMonth(newValue?: any): void;
+ calcMonths(): void;
+ close(trigger: any): void;
+ onVisibleChange(): void;
+ handleClose(): void;
+ handleSelect(e: any): void;
+ onTplButtonTap(): void;
+ toTime(val: any): any;
+ onScroll(e: any): void;
+ getCurrentDate(): any;
+ handleSwitchModeChange(e: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.js
new file mode 100644
index 0000000..39f1b68
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import TCalendar from"../common/shared/calendar/index";import useCustomNavbar from"../mixins/using-custom-navbar";import{getPrevMonth,getPrevYear,getNextMonth,getNextYear}from"./utils";const{prefix:prefix}=config,name=`${prefix}-calendar`,defaultLocaleText={title:"请选择日期",weekdays:["日","一","二","三","四","五","六"],monthTitle:"{year} 年 {month}",months:["1 月","2 月","3 月","4 月","5 月","6 月","7 月","8 月","9 月","10 月","11 月","12 月"],confirm:"确认"};let Calendar=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[useCustomNavbar],this.externalClasses=[`${prefix}-class`],this.options={multipleSlots:!0},this.properties=props,this.data={prefix:prefix,classPrefix:name,months:[],scrollIntoView:"",innerConfirmBtn:{},realLocalText:{},currentMonth:{},actionButtons:{preYearBtnDisable:!1,prevMonthBtnDisable:!1,nextMonthBtnDisable:!1,nextYearBtnDisable:!1}},this.controlledProps=[{key:"value",event:"confirm"},{key:"value",event:"change"}],this.lifetimes={created(){this.base=new TCalendar(this.properties)},ready(){const t=Object.assign(Object.assign({},defaultLocaleText),this.properties.localeText);this.initialValue(),this.setData({days:this.base.getDays(t.weekdays),realLocalText:t}),this.calcMonths(),this.updateCurrentMonth(),this.data.usePopup||this.scrollIntoView()}},this.observers={type(t){this.base.type=t},allowSameDay(t){this.base.allowSameDay=t},confirmBtn(t){"string"==typeof t?this.setData({innerConfirmBtn:"slot"===t?"slot":{content:t}}):"object"==typeof t&&this.setData({innerConfirmBtn:t})},"firstDayOfWeek,minDate,maxDate"(t,e,a){t&&(this.base.firstDayOfWeek=t),e&&(this.base.minDate=e),a&&(this.base.maxDate=a),this.calcMonths()},value(t){this.base.value=t,this.calcMonths(),this.updateCurrentMonth(Array.isArray(t)?t[0]:t)},visible(t){t&&(this.scrollIntoView(),this.base.value=this.data.value,this.calcMonths())},format(t){const{usePopup:e,visible:a}=this.data;this.base.format=t,e&&!a||this.calcMonths()}},this.methods={initialValue(){const{value:t,type:e,minDate:a}=this.data;if(!t){const t=new Date,n=a||new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),s="single"===e?n:[n];"range"===e&&(s[1]=n+864e5),this.setData({value:s}),this.base.value=s}},scrollIntoView(){const{value:t}=this.data;if(!t)return;const e=new Date(Array.isArray(t)?t[0]:t);e&&this.setData({scrollIntoView:`year_${e.getFullYear()}_month_${e.getMonth()}`})},getCurrentYearAndMonth(t){const e=new Date(t);return{year:e.getFullYear(),month:e.getMonth()}},updateActionButton(t){const e=this.getCurrentYearAndMonth(this.base.minDate),a=this.getCurrentYearAndMonth(this.base.maxDate),n=this.getCurrentYearAndMonth(t),s=new Date(e.year,e.month,1).getTime(),r=new Date(a.year,a.month,1).getTime(),i=new Date(n.year,n.month,1),o=getPrevYear(i).getTime(),h=getPrevMonth(i).getTime(),l=getNextMonth(i).getTime(),c=getNextYear(i).getTime(),m=or||c>r,d=l>r;this.setData({actionButtons:{preYearBtnDisable:m,prevMonthBtnDisable:u,nextYearBtnDisable:g,nextMonthBtnDisable:d}})},updateCurrentMonth(t){"none"!==this.data.switchMode&&this.calcCurrentMonth(t)},calcCurrentMonth(t){const e=t||this.getCurrentDate(),{year:a,month:n}=this.getCurrentYearAndMonth(e),s=this.data.months.filter(t=>t.year===a&&t.month===n);this.updateActionButton(e),this.setData({currentMonth:s.length>0?s:[this.data.months[0]]})},calcMonths(){const t=this.base.getMonths();this.setData({months:t})},close(t){this.data.autoClose&&this.setData({visible:!1}),this.triggerEvent("close",{trigger:t})},onVisibleChange(){this.close("overlay")},handleClose(){this.close("close-btn")},handleSelect(t){const{readonly:e}=this.properties,{date:a,year:n,month:s}=t.currentTarget.dataset;if("disabled"===a.type||e)return;const r=this.base.select({cellType:a.type,year:n,month:s,date:a.day}),i=this.toTime(r);this.calcMonths(),this.updateCurrentMonth(),null==this.data.confirmBtn&&("single"!==this.data.type&&2!==r.length||(this.setData({visible:!1}),this._trigger("change",{value:i}))),this.triggerEvent("select",{value:i})},onTplButtonTap(){const t=this.base.getTrimValue(),e=this.toTime(t);this.close("confirm-btn"),this._trigger("confirm",{value:e})},toTime:t=>t?Array.isArray(t)?t.map(t=>t.getTime()):t.getTime():null,onScroll(t){this.triggerEvent("scroll",t.detail)},getCurrentDate(){var t,e;let a=Array.isArray(this.base.value)?this.base.value[0]:this.base.value;if(this.data.currentMonth.length>0){const n=null===(t=this.data.currentMonth[0])||void 0===t?void 0:t.year,s=null===(e=this.data.currentMonth[0])||void 0===e?void 0:e.month;a=new Date(n,s,1).getTime()}return a},handleSwitchModeChange(t){const{type:e,disabled:a}=t.currentTarget.dataset;if(a)return;const n=this.getCurrentDate(),s={"pre-year":()=>getPrevYear(n),"pre-month":()=>getPrevMonth(n),"next-month":()=>getNextMonth(n),"next-year":()=>getNextYear(n)}[e]();if(!s)return;const{year:r,month:i}=this.getCurrentYearAndMonth(s);this.triggerEvent("panel-change",{year:r,month:i+1}),this.calcCurrentMonth(s)}}}};Calendar=__decorate([wxComponent()],Calendar);export default Calendar;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.json
new file mode 100644
index 0000000..8a91a83
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-popup":"../popup/popup","t-button":"../button/button","t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxml
new file mode 100644
index 0000000..e963b1f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxs
new file mode 100644
index 0000000..ad5d507
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxs
@@ -0,0 +1,44 @@
+function getDateLabel(monthItem, dateItem) {
+ var weekdayText = ['日', '一', '二', '三', '四', '五', '六'];
+ var weekday = (monthItem.weekdayOfFirstDay + dateItem.day - 1) % 7;
+ var label = monthItem.month + 1 + '月' + dateItem.day + '日, 星期' + weekdayText[weekday];
+ if (dateItem.type === 'start') {
+ label = '开始日期:' + label;
+ }
+ if (dateItem.type === 'end') {
+ label = '结束日期:' + label;
+ }
+ if (isDateSelected(dateItem)) {
+ label = '已选中, ' + label;
+ }
+ if (dateItem.prefix) {
+ label += ', ' + dateItem.prefix;
+ }
+ if (dateItem.suffix) {
+ label += ', ' + dateItem.suffix;
+ }
+ return label;
+}
+
+function isDateSelected(dateItem) {
+ return ['start', 'end', 'selected', 'centre'].indexOf(dateItem.type) >= 0;
+}
+
+function getMonthTitle(year, month, pattern = '') {
+ // prettier-ignore
+ var REGEXP = getRegExp('\{year\}|\{month\}', 'g');
+
+ return pattern.replace(REGEXP, function (match) {
+ var replacements = {
+ '{year}': year,
+ '{month}': month < 10 ? '0' + month : month,
+ };
+ return replacements[match] || match;
+ });
+}
+
+module.exports = {
+ getDateLabel: getDateLabel,
+ isDateSelected: isDateSelected,
+ getMonthTitle: getMonthTitle,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxss
new file mode 100644
index 0000000..c385c77
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxss
@@ -0,0 +1,39 @@
+@import '../common/style/index.wxss';.t-calendar{width:inherit;position:relative;z-index:9999;background:var(--td-calendar-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));overflow-x:hidden;}
+.t-calendar--popup{border-top-left-radius:var(--td-calendar-radius,24rpx);border-top-right-radius:var(--td-calendar-radius,24rpx);}
+.t-calendar__title{display:flex;align-items:center;justify-content:center;font-size:var(--td-calendar-title-font-size,18px);font-weight:600;color:var(--td-calendar-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));height:52rpx;padding:32rpx;}
+.t-calendar__title:focus{outline:0;}
+.t-calendar__close-btn{position:absolute;top:32rpx;right:32rpx;margin:-24rpx;padding:24rpx;color:var(--td-calendar-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-calendar__days{display:grid;grid-template-columns:repeat(7,1fr);grid-column-gap:8rpx;padding:0 32rpx;text-align:center;line-height:92rpx;}
+.t-calendar__days-item{height:92rpx;font-size:28rpx;color:var(--td-calendar-days-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));}
+.t-calendar__content{min-height:400rpx;display:flex;flex-direction:column;}
+.t-calendar__month{font-size:28rpx;color:var(--td-calendar-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font-weight:600;padding:32rpx 0 0;}
+.t-calendar__months{height:712rpx;padding:0 32rpx 32rpx;box-sizing:border-box;}
+.t-calendar__months::-webkit-scrollbar{display:none;}
+.t-calendar__dates{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-column-gap:8rpx;}
+.t-calendar__dates-item{position:relative;display:flex;align-items:center;justify-content:center;font-size:32rpx;border-radius:var(--td-calendar-selected-border-radius,var(--td-radius-default,12rpx));height:120rpx;line-height:48rpx;font-weight:600;margin-top:16rpx;color:var(--td-calendar-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;}
+.t-calendar__dates-item-prefix,.t-calendar__dates-item-suffix{position:absolute;font-size:20rpx;line-height:32rpx;width:100%;text-align:center;font-weight:400;}
+.t-calendar__dates-item-prefix{top:8rpx;}
+.t-calendar__dates-item-suffix{bottom:8rpx;color:var(--td-calendar-item-suffix-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.t-calendar__dates-item-suffix--end,.t-calendar__dates-item-suffix--selected,.t-calendar__dates-item-suffix--start{color:var(--td-calendar-selected-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));}
+.t-calendar__dates-item-suffix--disabled{color:var(--td-calendar-item-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-calendar__dates-item--end,.t-calendar__dates-item--selected,.t-calendar__dates-item--start,.t-calendar__dates-item--start-end{background:var(--td-calendar-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));color:var(--td-calendar-selected-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));border-radius:var(--td-calendar-selected-border-radius,var(--td-radius-default,12rpx));}
+.t-calendar__dates-item--start{border-radius:var(--td-calendar-selected-border-radius,var(--td-radius-default,12rpx)) 0 0 var(--td-calendar-selected-border-radius,var(--td-radius-default,12rpx));}
+.t-calendar__dates-item--end{border-radius:0 var(--td-calendar-selected-border-radius,var(--td-radius-default,12rpx)) var(--td-calendar-selected-border-radius,var(--td-radius-default,12rpx)) 0;}
+.t-calendar__dates-item--start+.t-calendar__dates-item--end::before{content:'';display:block;position:absolute;top:0;width:8rpx;height:100%;background:var(--td-calendar-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-calendar__dates-item--start+.t-calendar__dates-item--end:before{left:-8rpx;}
+.t-calendar__dates-item--centre{border-radius:0;background-color:var(--td-calendar-item-centre-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-calendar__dates-item--centre::after,.t-calendar__dates-item--centre::before{content:'';display:block;position:absolute;top:0;width:8rpx;height:100%;background-color:var(--td-calendar-item-centre-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-calendar__dates-item--centre:before{left:-8rpx;}
+.t-calendar__dates-item--centre:after{right:-8rpx;}
+.t-calendar__dates-item--disabled{color:var(--td-calendar-item-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));cursor:default;}
+.t-calendar__footer{padding:32rpx;}
+.t-calendar-switch-mode--none>.t-calendar__months{height:60vh;}
+.t-calendar-header{display:flex;justify-content:space-between;align-items:center;line-height:44rpx;}
+.t-calendar-header__with-action{padding:0rpx 32rpx 16rpx 32rpx;box-sizing:border-box;position:relative;}
+.t-calendar-header__with-action::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-border-color,var(--td-gray-color-3,#e7e7e7));}
+.t-calendar-header__with-action::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-calendar-header__with-action .t-calendar-header__title{flex:1;text-align:center;font-size:28rpx;font-weight:600;}
+.t-calendar-header__action{display:flex;font-size:40rpx;color:var(--td-calendar-switch-mode-icon-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));}
+.t-calendar-header__icon{padding:16rpx;}
+.t-calendar-header__icon--disabled{color:var(--td-calendar-switch-mode-icon-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-calendar-header__title{text-align:left;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/index.d.ts
new file mode 100644
index 0000000..cf0e3b8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/index.d.ts
@@ -0,0 +1,2 @@
+export * from './type';
+export * from './calendar';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/index.js
new file mode 100644
index 0000000..2dc1889
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/index.js
@@ -0,0 +1 @@
+export*from"./type";export*from"./calendar";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/props.d.ts
new file mode 100644
index 0000000..a42879c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/props.d.ts
@@ -0,0 +1,3 @@
+import { TdCalendarProps } from './type';
+declare const props: TdCalendarProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/props.js
new file mode 100644
index 0000000..923d0a3
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/props.js
@@ -0,0 +1 @@
+const props={allowSameDay:{type:Boolean,value:!1},autoClose:{type:Boolean,value:!0},confirmBtn:{type:null,value:""},firstDayOfWeek:{type:Number,value:0},format:{type:null},localeText:{type:Object},maxDate:{type:Number},minDate:{type:Number},readonly:{type:Boolean},switchMode:{type:String,value:"none"},title:{type:String},type:{type:String,value:"single"},usePopup:{type:Boolean,value:!0},usingCustomNavbar:{type:Boolean,value:!1},value:{type:null,value:null},defaultValue:{type:null},visible:{type:Boolean,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/template.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/template.wxml
new file mode 100644
index 0000000..af5f127
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/template.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/type.d.ts
new file mode 100644
index 0000000..1b69017
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/type.d.ts
@@ -0,0 +1,88 @@
+import { ButtonProps } from '../button/index';
+export interface TdCalendarProps {
+ allowSameDay?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ autoClose?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ confirmBtn?: {
+ type: null;
+ value?: string | ButtonProps | null;
+ };
+ firstDayOfWeek?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ format?: {
+ type: undefined;
+ value?: CalendarFormatType;
+ };
+ localeText?: {
+ type: ObjectConstructor;
+ value?: CalendarLocaleText;
+ };
+ maxDate?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ minDate?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ readonly?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ switchMode?: {
+ type: StringConstructor;
+ value?: 'none' | 'month' | 'year-month';
+ };
+ title?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ type?: {
+ type: StringConstructor;
+ value?: 'single' | 'multiple' | 'range';
+ };
+ usePopup?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ usingCustomNavbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ value?: {
+ type: null;
+ value?: number | number[];
+ };
+ defaultValue?: {
+ type: null;
+ value?: number | number[];
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}
+export declare type CalendarFormatType = (day: TDate) => TDate;
+export declare type TDateType = 'selected' | 'disabled' | 'start' | 'centre' | 'end' | '';
+export interface TDate {
+ date: Date;
+ day: number;
+ type: TDateType;
+ className?: string;
+ prefix?: string;
+ suffix?: string;
+}
+export interface CalendarLocaleText {
+ title?: string;
+ weekdays?: string[];
+ monthTitle?: string;
+ months?: string[];
+ confirm?: string;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/utils.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/utils.d.ts
new file mode 100644
index 0000000..800daa0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/utils.d.ts
@@ -0,0 +1,6 @@
+export declare function getMonthByOffset(date: Date, offset: number): Date;
+export declare function getYearByOffset(date: Date, offset: number): Date;
+export declare const getPrevMonth: (date: Date) => Date;
+export declare const getNextMonth: (date: Date) => Date;
+export declare const getPrevYear: (date: Date) => Date;
+export declare const getNextYear: (date: Date) => Date;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/utils.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/utils.js
new file mode 100644
index 0000000..1c811de
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/calendar/utils.js
@@ -0,0 +1 @@
+export function getMonthByOffset(t,e){const n=new Date(t);return n.setMonth(n.getMonth()+e),n}export function getYearByOffset(t,e){const n=new Date(t);return n.setFullYear(n.getFullYear()+e),n}export const getPrevMonth=t=>getMonthByOffset(t,-1);export const getNextMonth=t=>getMonthByOffset(t,1);export const getPrevYear=t=>getYearByOffset(t,-1);export const getNextYear=t=>getYearByOffset(t,1);
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.d.ts
new file mode 100644
index 0000000..7aa5bde
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.d.ts
@@ -0,0 +1,59 @@
+///
+import { SuperComponent } from '../common/src/index';
+import { TdCascaderProps } from './type';
+export interface CascaderProps extends TdCascaderProps {
+}
+export default class Cascader extends SuperComponent {
+ externalClasses: string[];
+ options: WechatMiniprogram.Component.ComponentOptions;
+ properties: TdCascaderProps>;
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ state: {
+ contentHeight: number;
+ stepHeight: number;
+ tabsHeight: number;
+ subTitlesHeight: number;
+ stepsInitHeight: number;
+ };
+ data: {
+ prefix: string;
+ name: string;
+ stepIndex: number;
+ selectedIndexes: any[];
+ selectedValue: any[];
+ scrollTopList: any[];
+ steps: any[];
+ _optionsHeight: number;
+ };
+ observers: {
+ visible(v: any): void;
+ value(): void;
+ options(): void;
+ selectedIndexes(): void;
+ stepIndex(): Promise;
+ };
+ methods: {
+ updateOptionsHeight(steps: number): void;
+ initOptionsHeight(steps: number): Promise;
+ initWithValue(): void;
+ getIndexesByValue(options: import("../common/common").TreeOptionData[], value: any): any[];
+ updateScrollTop(): void;
+ hide(trigger: any): void;
+ onVisibleChange(): void;
+ onClose(): void;
+ onStepClick(e: any): void;
+ onTabChange(e: any): void;
+ genItems(): {
+ selectedValue: any[];
+ steps: any[];
+ items: {
+ [x: string]: any;
+ }[][];
+ };
+ handleSelect(e: any): void;
+ triggerChange(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.js
new file mode 100644
index 0000000..60948b2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.js
@@ -0,0 +1 @@
+import{__awaiter,__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{getRect}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-cascader`;function parseOptions(e,t){var s,i,l;const n=null!==(s=null==t?void 0:t.label)&&void 0!==s?s:"label",a=null!==(i=null==t?void 0:t.value)&&void 0!==i?i:"value",o=null!==(l=null==t?void 0:t.disabled)&&void 0!==l?l:"disabled";return e.map(e=>({[n]:e[n],[a]:e[a],[o]:e[o]}))}const defaultState={contentHeight:0,stepHeight:0,tabsHeight:0,subTitlesHeight:0,stepsInitHeight:0};let Cascader=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.options={multipleSlots:!0,pureDataPattern:/^options$/},this.properties=props,this.controlledProps=[{key:"value",event:"change"}],this.state=Object.assign({},defaultState),this.data={prefix:prefix,name:name,stepIndex:0,selectedIndexes:[],selectedValue:[],scrollTopList:[],steps:[],_optionsHeight:0},this.observers={visible(e){if(e){const e=this.selectComponent("#tabs");null==e||e.setTrack(),null==e||e.getTabHeight().then(e=>{this.state.tabsHeight=e.height}),this.initOptionsHeight(this.data.steps.length),this.updateScrollTop(),this.initWithValue()}else this.state=Object.assign({},defaultState)},value(){this.initWithValue()},options(){const{selectedValue:e,steps:t,items:s}=this.genItems();this.setData({steps:t,items:s,selectedValue:e,stepIndex:s.length-1})},selectedIndexes(){const{visible:e,theme:t}=this.properties,{selectedValue:s,steps:i,items:l}=this.genItems(),n={steps:i,selectedValue:s,stepIndex:l.length-1};JSON.stringify(l)!==JSON.stringify(this.data.items)&&Object.assign(n,{items:l}),this.setData(n),e&&"step"===t&&this.updateOptionsHeight(i.length)},stepIndex(){return __awaiter(this,void 0,void 0,function*(){const{visible:e}=this.data;e&&this.updateScrollTop()})}},this.methods={updateOptionsHeight(e){const{contentHeight:t,stepsInitHeight:s,stepHeight:i,subTitlesHeight:l}=this.state;this.setData({_optionsHeight:t-s-l-(e-1)*i})},initOptionsHeight(e){return __awaiter(this,void 0,void 0,function*(){const{theme:t,subTitles:s}=this.properties,{height:i}=yield getRect(this,`.${name}__content`);if(this.state.contentHeight=i,"step"===t&&(yield Promise.all([getRect(this,`.${name}__steps`),getRect(this,`.${name}__step`)]).then(([t,s])=>{this.state.stepsInitHeight=t.height-(e-1)*s.height,this.state.stepHeight=s.height})),s.length>0){const{height:e}=yield getRect(this,`.${name}__options-title`);this.state.subTitlesHeight=e}const l=this.state.contentHeight-this.state.subTitlesHeight;this.setData({_optionsHeight:"step"===t?l-this.state.stepsInitHeight-(e-1)*this.state.stepHeight:l-this.state.tabsHeight})})},initWithValue(){if(null!=this.data.value&&""!==this.data.value){const e=this.getIndexesByValue(this.data.options,this.data.value);e&&this.setData({selectedIndexes:e})}else this.setData({selectedIndexes:[]})},getIndexesByValue(e,t){var s,i,l;const{keys:n}=this.data;for(let a=0,o=e.length;a{var l;const n=e.height/(null===(l=t[0])||void 0===l?void 0:l.length);this.setData({[`scrollTopList[${i}]`]:n*s[i]})})},hide(e){this.setData({visible:!1}),this.triggerEvent("close",{trigger:e})},onVisibleChange(){this.hide("overlay")},onClose(){this.data.checkStrictly&&this.triggerChange(),this.hide("close-btn")},onStepClick(e){const{index:t}=e.currentTarget.dataset;this.setData({stepIndex:t})},onTabChange(e){const{value:t}=e.detail;this.setData({stepIndex:t})},genItems(){var e,t,s,i,l;const{options:n,selectedIndexes:a,keys:o,placeholder:h}=this.data,d=[],r=[],c=[parseOptions(n,o)];if(n.length>0){let h=n;for(let n=0,u=a.length;n{var t;return e[null!==(t=null==u?void 0:u.value)&&void 0!==t?t:"value"]===h});let m=r.slice(0,o).reduce((e,t,s)=>{var i;return 0===s?e[t]:e[null!==(i=null==u?void 0:u.children)&&void 0!==i?i:"children"][t]},p);if(m=0===o?m[v]:m[null!==(t=null==u?void 0:u.children)&&void 0!==t?t:"children"][v],m[null!==(s=null==u?void 0:u.disabled)&&void 0!==s?s:"disabled"])return;if(this.triggerEvent("pick",{value:m[null!==(i=null==u?void 0:u.value)&&void 0!==i?i:"value"],label:m[null!==(l=null==u?void 0:u.label)&&void 0!==l?l:"label"],index:v,level:o}),r[o]=v,d&&g.includes(String(h)))return r.length=o,void this.setData({selectedIndexes:r});r.length=o+1;const{items:f}=this.genItems();(null===(a=null==m?void 0:m[null!==(n=null==u?void 0:u.children)&&void 0!==n?n:"children"])||void 0===a?void 0:a.length)>=0?this.setData({selectedIndexes:r,[`items[${o+1}]`]:f[o+1]}):(this.setData({selectedIndexes:r},this.triggerChange),this.hide("finish"))},triggerChange(){var e;const{items:t,selectedValue:s,selectedIndexes:i}=this.data;this._trigger("change",{value:null!==(e=s[s.length-1])&&void 0!==e?e:"",selectedOptions:t.map((e,t)=>e[i[t]]).filter(Boolean)})}}}};Cascader=__decorate([wxComponent()],Cascader);export default Cascader;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.json
new file mode 100644
index 0000000..98d4316
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-popup":"../popup/popup","t-tabs":"../tabs/tabs","t-tab-panel":"../tab-panel/tab-panel","t-radio-group":"../radio-group/radio-group"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxml
new file mode 100644
index 0000000..acb0917
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxml
@@ -0,0 +1 @@
+{{title}}{{ item }}{{subTitles[stepIndex]}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxss
new file mode 100644
index 0000000..b5c7349
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxss
@@ -0,0 +1,17 @@
+@import '../common/style/index.wxss';.t-cascader{display:flex;flex-direction:column;background-color:var(--td-cascader-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));color:var(--td-cascader-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));border-radius:var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) 0 0;--td-radio-icon-checked-color:var(--td-cascader-active-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));--td-tab-item-active-color:var(--td-cascader-active-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));--td-tab-track-color:var(--td-cascader-active-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));}
+.t-cascader__close-btn{right:32rpx;top:24rpx;position:absolute;}
+.t-cascader__title{position:relative;font-weight:700;text-align:center;line-height:var(--td-cascader-title-height,26rpx);padding:var(--td-cascader-title-padding,var(--td-spacer-2,32rpx));font-size:var(--td-cascader-title-font-size,36rpx);}
+.t-cascader__content{width:100%;height:var(--td-cascader-content-height,78vh);display:flex;flex-direction:column;}
+.t-cascader__options{width:100vw;}
+.t-cascader__options-title{color:var(--td-cascader-options-title-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));font-size:var(--td-font-size-base,28rpx);line-height:44rpx;padding-top:40rpx;padding-left:var(--td-spacer-2,32rpx);box-sizing:border-box;}
+.t-cascader__options-container{flex:1;display:flex;transition:all ease .3s;}
+.t-cascader__step{display:flex;align-items:center;height:var(--td-cascader-step-height,88rpx);}
+.t-cascader__steps{padding:0 32rpx 10rpx;position:relative;}
+.t-cascader__steps::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-cascader-border-color,var(--td-component-stroke,var(--td-gray-color-3,#e7e7e7)));}
+.t-cascader__steps::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-cascader__step-dot{position:relative;width:var(--td-cascader-step-dot-size,16rpx);height:var(--td-cascader-step-dot-size,16rpx);border-radius:50%;border:2rpx solid var(--td-cascader-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));box-sizing:border-box;}
+.t-cascader__step-dot:not(.t-cascader__step-dot--last)::after{content:'';display:block;position:absolute;left:50%;top:calc(var(--td-cascader-step-dot-size,16rpx) + 14rpx);height:36rpx;width:2rpx;background:var(--td-cascader-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));transform:translateX(-50%);}
+.t-cascader__step-dot--active{background:var(--td-cascader-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-color:var(--td-cascader-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-cascader__step-label{padding-left:var(--td-spacer-2,32rpx);font-size:var(--td-font-size-m,32rpx);}
+.t-cascader__step-label--active{color:var(--td-cascader-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));font-weight:600;}
+.t-cascader__step-arrow{color:var(--td-cascader-step-arrow-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));margin-left:auto;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/props.d.ts
new file mode 100644
index 0000000..9009f89
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/props.d.ts
@@ -0,0 +1,3 @@
+import { TdCascaderProps } from './type';
+declare const props: TdCascaderProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/props.js
new file mode 100644
index 0000000..b051517
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/props.js
@@ -0,0 +1 @@
+const props={checkStrictly:{type:Boolean,value:!1},closeBtn:{type:Boolean,value:!0},keys:{type:Object},options:{type:Array,value:[]},placeholder:{type:String,value:"选择选项"},subTitles:{type:Array,value:[]},theme:{type:String,value:"step"},title:{type:String},value:{type:null,value:null},defaultValue:{type:null,value:null},visible:{type:Boolean,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/type.d.ts
new file mode 100644
index 0000000..ce4c161
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/type.d.ts
@@ -0,0 +1,48 @@
+import { TreeOptionData, TreeKeysType } from '../common/common';
+export interface TdCascaderProps {
+ checkStrictly?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ closeBtn?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ keys?: {
+ type: ObjectConstructor;
+ value?: CascaderKeysType;
+ };
+ options?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ placeholder?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ subTitles?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'step' | 'tab';
+ };
+ title?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ value?: {
+ type: null;
+ value?: string | number;
+ };
+ defaultValue?: {
+ type: null;
+ value?: string | number;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}
+export declare type CascaderKeysType = TreeKeysType;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cascader/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.d.ts
new file mode 100644
index 0000000..30d14dc
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.d.ts
@@ -0,0 +1,13 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class CellGroup extends SuperComponent {
+ externalClasses: string[];
+ relations: RelationsOptions;
+ properties: import("./type").TdCellGroupProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ };
+ methods: {
+ updateLastChid(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.js
new file mode 100644
index 0000000..a86d36c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-cell-group`;let CellGroup=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-title`],this.relations={"../cell/cell":{type:"child",linked(){this.updateLastChid()},unlinked(){this.updateLastChid()}}},this.properties=props,this.data={prefix:prefix,classPrefix:name},this.methods={updateLastChid(){const e=this.$children;e.forEach((t,o)=>t.setData({isLastChild:o===e.length-1}))}}}};CellGroup=__decorate([wxComponent()],CellGroup);export default CellGroup;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.json
new file mode 100644
index 0000000..1bbd8ba
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared"}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.wxml
new file mode 100644
index 0000000..a7caad1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.wxml
@@ -0,0 +1 @@
+{{ title }}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.wxss
new file mode 100644
index 0000000..a91384d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/cell-group.wxss
@@ -0,0 +1,5 @@
+@import '../common/style/index.wxss';.t-cell-group{position:relative;}
+.t-cell-group__title{font-family:PingFangSC-Regular;font-size:var(--td-cell-group-title-font-size,28rpx);color:var(--td-cell-group-title-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));text-align:left;line-height:var(--td-cell-group-title-line-height,90rpx);background-color:var(--td-cell-group-title-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));padding-left:var(--td-cell-group-title-padding-left,32rpx);}
+.t-cell-group--bordered::before{position:absolute;box-sizing:border-box;content:' ';pointer-events:none;right:0;left:0;top:0;border-top:1px solid var(--td-cell-group-border-color,var(--td-component-stroke,var(--td-gray-color-3,#e7e7e7)));transform:scaleY(.5);transform-origin:0 0;transform-origin:top;z-index:1;}
+.t-cell-group--bordered::after{position:absolute;box-sizing:border-box;content:' ';pointer-events:none;right:0;left:0;bottom:0;border-bottom:1px solid var(--td-cell-group-border-color,var(--td-component-stroke,var(--td-gray-color-3,#e7e7e7)));transform:scaleY(.5);transform-origin:bottom;z-index:1;}
+.t-cell-group--card{margin:0 32rpx;border-radius:var(--td-radius-large,18rpx);overflow:hidden;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/props.d.ts
new file mode 100644
index 0000000..4c4a9d0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/props.d.ts
@@ -0,0 +1,3 @@
+import { TdCellGroupProps } from './type';
+declare const props: TdCellGroupProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/props.js
new file mode 100644
index 0000000..8a43b88
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/props.js
@@ -0,0 +1 @@
+const props={bordered:{type:Boolean,value:!1},theme:{type:String,value:"default"},title:{type:String,value:""}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/type.d.ts
new file mode 100644
index 0000000..f7aedeb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/type.d.ts
@@ -0,0 +1,14 @@
+export interface TdCellGroupProps {
+ bordered?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'default' | 'card';
+ };
+ title?: {
+ type: StringConstructor;
+ value?: string;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell-group/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.d.ts
new file mode 100644
index 0000000..d6a8910
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.d.ts
@@ -0,0 +1,22 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class Cell extends SuperComponent {
+ externalClasses: string[];
+ relations: RelationsOptions;
+ options: {
+ multipleSlots: boolean;
+ };
+ properties: import("./type").TdCellProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ isLastChild: boolean;
+ };
+ observers: {
+ leftIcon(v: any): void;
+ rightIcon(v: any): void;
+ arrow(v: any): void;
+ };
+ setIcon(name: any, value: any, defaultValue: any): void;
+ onClick(e: any): void;
+ jumpLink(urlKey?: string, link?: string): void;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.js
new file mode 100644
index 0000000..ea134d9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{calcIcon}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-cell`;let Cell=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-title`,`${prefix}-class-description`,`${prefix}-class-note`,`${prefix}-class-hover`,`${prefix}-class-image`,`${prefix}-class-left`,`${prefix}-class-left-icon`,`${prefix}-class-center`,`${prefix}-class-right`,`${prefix}-class-right-icon`],this.relations={"../cell-group/cell-group":{type:"parent"}},this.options={multipleSlots:!0},this.properties=props,this.data={prefix:prefix,classPrefix:name,isLastChild:!1},this.observers={leftIcon(e){this.setIcon("_leftIcon",e,"")},rightIcon(e){this.setIcon("_rightIcon",e,"")},arrow(e){this.setIcon("_arrow",e,"chevron-right")}}}setIcon(e,t,s){this.setData({[e]:calcIcon(t,s)})}onClick(e){this.triggerEvent("click",e.detail),this.jumpLink()}jumpLink(e="url",t="jumpType"){const s=this.data[e],i=this.data[t];s&&wx[i]({url:s})}};Cell=__decorate([wxComponent()],Cell);export default Cell;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.json
new file mode 100644
index 0000000..dd7b01e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-image":"../image/image"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.wxml
new file mode 100644
index 0000000..ab240fa
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.wxml
@@ -0,0 +1 @@
+{{ title}} *{{description}}{{note}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.wxss
new file mode 100644
index 0000000..6cb9cb0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/cell.wxss
@@ -0,0 +1,21 @@
+@import '../common/style/index.wxss';.t-cell{position:relative;display:flex;box-sizing:border-box;width:100%;padding:var(--td-cell-vertical-padding,32rpx) var(--td-cell-horizontal-padding,32rpx);line-height:var(--td-cell-line-height,48rpx);height:var(--td-cell-height,auto);background-color:var(--td-cell-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-cell--bordered::after{position:absolute;box-sizing:border-box;content:' ';pointer-events:none;right:0;left:0;bottom:0;border-bottom:var(--td-cell-border-width,1px) solid var(--td-cell-border-color,var(--td-component-stroke,var(--td-gray-color-3,#e7e7e7)));transform:scaleY(.5);transform-origin:bottom;left:var(--td-cell-border-left-space,var(--td-cell-horizontal-padding,32rpx));right:var(--td-cell-border-right-space,0);}
+.t-cell__description{font-size:var(--td-cell-description-font-size,var(--td-font-size-base,28rpx));line-height:var(--td-cell-description-line-height,44rpx);color:var(--td-cell-description-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));}
+.t-cell__description-text{margin-top:calc(var(--td-spacer,16rpx)/ 2);}
+.t-cell__note{display:flex;align-items:center;justify-content:flex-end;color:var(--td-cell-note-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));font-size:var(--td-cell-note-font-size,var(--td-font-size-m,32rpx));}
+.t-cell__title{margin-right:var(--td-spacer-2,32rpx);}
+.t-cell__note,.t-cell__title{flex:1 1 auto;}
+.t-cell__note:empty,.t-cell__title:empty{display:none;}
+.t-cell__title-text{display:flex;font-size:var(--td-cell-title-font-size,var(--td-font-size-m,32rpx));color:var(--td-cell-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font-weight:400;}
+.t-cell__left,.t-cell__right{align-self:stretch;}
+.t-cell__left:not(:empty){margin-right:var(--td-spacer-1,24rpx);}
+.t-cell__left-icon{color:var(--td-cell-left-icon-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));font-size:var(--td-cell-left-icon-font-size,48rpx);}
+.t-cell__left-image{height:var(--td-cell-image-height,96rpx);width:var(--td-cell-image-width,96rpx);}
+.t-cell__note:not(:empty)+.t-cell__right{margin-left:calc(var(--td-spacer,16rpx)/ 2);}
+.t-cell__right{display:flex;}
+.t-cell__right-icon{color:var(--td-cell-right-icon-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));font-size:var(--td-cell-right-icon-font-size,48rpx);}
+.t-cell__right--middle{align-items:center;}
+.t-cell__right--top{align-items:flex-start;}
+.t-cell__right--bottom{align-items:flex-end;}
+.t-cell--hover{background-color:var(--td-cell-hover-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-cell--required{font-size:var(--td-cell-required-font-size,var(--td-font-size-m,32rpx));color:var(--td-cell-required-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/props.d.ts
new file mode 100644
index 0000000..ad657e5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/props.d.ts
@@ -0,0 +1,3 @@
+import { TdCellProps } from './type';
+declare const props: TdCellProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/props.js
new file mode 100644
index 0000000..23dca76
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/props.js
@@ -0,0 +1 @@
+const props={align:{type:String,value:"middle"},arrow:{type:null,value:!1},bordered:{type:Boolean,value:!0},description:{type:String},hover:{type:Boolean},image:{type:String},jumpType:{type:String,value:"navigateTo"},leftIcon:{type:null},note:{type:String},required:{type:Boolean,value:!1},rightIcon:{type:null},title:{type:String},url:{type:String,value:""}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/type.d.ts
new file mode 100644
index 0000000..7ba2258
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/type.d.ts
@@ -0,0 +1,54 @@
+export interface TdCellProps {
+ align?: {
+ type: StringConstructor;
+ value?: 'top' | 'middle' | 'bottom';
+ };
+ arrow?: {
+ type: null;
+ value?: boolean | object;
+ };
+ bordered?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ description?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ hover?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ image?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ jumpType?: {
+ type: StringConstructor;
+ value?: 'switchTab' | 'reLaunch' | 'redirectTo' | 'navigateTo';
+ };
+ leftIcon?: {
+ type: null;
+ value?: string | object;
+ };
+ note?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ required?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ rightIcon?: {
+ type: null;
+ value?: string | object;
+ };
+ title?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ url?: {
+ type: StringConstructor;
+ value?: string;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/cell/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.d.ts
new file mode 100644
index 0000000..cbea034
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.d.ts
@@ -0,0 +1,29 @@
+import { SuperComponent } from '../common/src/index';
+export default class CheckTag extends SuperComponent {
+ data: {
+ prefix: string;
+ classPrefix: string;
+ className: string;
+ };
+ properties: import("./type").TdCheckTagProps;
+ externalClasses: string[];
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ options: {
+ multipleSlots: boolean;
+ };
+ lifetimes: {
+ attached(): void;
+ };
+ observers: {
+ 'size, disabled, checked'(): void;
+ icon(v: any): void;
+ };
+ methods: {
+ setClass(): void;
+ onClick(): void;
+ onClose(e: WechatMiniprogram.BaseEvent): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.js
new file mode 100644
index 0000000..53dbaaa
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{wxComponent,SuperComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{classNames,calcIcon}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-tag`;let CheckTag=class extends SuperComponent{constructor(){super(...arguments),this.data={prefix:prefix,classPrefix:name,className:""},this.properties=props,this.externalClasses=[`${prefix}-class`],this.controlledProps=[{key:"checked",event:"change"}],this.options={multipleSlots:!0},this.lifetimes={attached(){this.setClass()}},this.observers={"size, disabled, checked"(){this.setClass()},icon(e){this.setData({_icon:calcIcon(e)})}},this.methods={setClass(){const{classPrefix:e}=this.data,{size:s,variant:t,disabled:i,checked:a,shape:c}=this.properties,o=classNames([e,`${e}--checkable`,i?`${e}--disabled`:"",a?`${e}--checked`:"",`${e}--${a?"primary":"default"}`,`${e}--${s}`,`${e}--${t}`,`${e}--${c}`]);this.setData({className:o})},onClick(){if(this.data.disabled)return;const{checked:e}=this.data;this._trigger("click"),this._trigger("change",{checked:!e})},onClose(e){this.data.disabled||this._trigger("close",e)}}}};CheckTag=__decorate([wxComponent()],CheckTag);export default CheckTag;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.json
new file mode 100644
index 0000000..9269b92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.wxml
new file mode 100644
index 0000000..640d0bc
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.wxml
@@ -0,0 +1 @@
+{{checked ? content[0] : content[1]}}{{content}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.wxss
new file mode 100644
index 0000000..31e2fa8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.wxss
@@ -0,0 +1,45 @@
+@import '../common/style/index.wxss';.t-tag{display:inline-flex;align-items:center;border:2rpx solid transparent;box-sizing:border-box;border-radius:var(--td-tag-square-border-radius,8rpx);font-size:var(--td-tag-medium-font-size,var(--td-font-size-s,24rpx));user-select:none;vertical-align:middle;}
+.t-tag__text{word-wrap:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
+.t-tag__icon{display:flex;align-items:center;}
+.t-tag__icon:not(:empty)+.t-tag__text:not(:empty){margin-left:8rpx;}
+.t-tag--small{height:var(--td-tag-small-height,40rpx);line-height:var(--td-tag-small-height,40rpx);padding:0 var(--td-tag-small-padding,11rpx);font-size:var(--td-tag-small-font-size,var(--td-font-size,20rpx));}
+.t-tag--small .t-icon,.t-tag--small .t-icon-close{font-size:var(--td-tag-small-icon-size,24rpx);}
+.t-tag--medium{height:var(--td-tag-medium-height,48rpx);line-height:var(--td-tag-medium-height,48rpx);padding:0 var(--td-tag-medium-padding,15rpx);font-size:var(--td-tag-medium-font-size,var(--td-font-size-s,24rpx));}
+.t-tag--medium .t-icon,.t-tag--medium .t-icon-close{font-size:var(--td-tag-medium-icon-size,28rpx);}
+.t-tag--large{height:var(--td-tag-large-height,56rpx);line-height:var(--td-tag-large-height,56rpx);padding:0 var(--td-tag-large-padding,15rpx);font-size:var(--td-tag-large-font-size,var(--td-font-size-base,28rpx));}
+.t-tag--large .t-icon,.t-tag--large .t-icon-close{font-size:var(--td-tag-large-icon-size,32rpx);}
+.t-tag--extra-large{height:var(--td-tag-extra-large-height,80rpx);line-height:var(--td-tag-extra-large-height,80rpx);padding:0 var(--td-tag-extra-large-padding,31rpx);font-size:var(--td-tag-extra-large-font-size,var(--td-font-size-base,28rpx));}
+.t-tag--extra-large .t-icon,.t-tag--extra-large .t-icon-close{font-size:var(--td-tag-extra-large-icon-size,32rpx);}
+.t-tag.t-tag--square{border-radius:var(--td-tag-square-border-radius,8rpx);}
+.t-tag.t-tag--round{border-radius:var(--td-tag-round-border-radius,999px);}
+.t-tag.t-tag--mark{border-radius:0 var(--td-tag-mark-border-radius,var(--td-tag-round-border-radius,999px)) var(--td-tag-mark-border-radius,var(--td-tag-round-border-radius,999px)) 0;}
+.t-tag--dark.t-tag--default{color:var(--td-text-color-anti,var(--td-font-white-1,#fff));border-color:var(--td-tag-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));background-color:var(--td-tag-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));}
+.t-tag--dark.t-tag--primary{color:var(--td-text-color-anti,var(--td-font-white-1,#fff));border-color:var(--td-tag-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-tag-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-tag--dark.t-tag--success{color:var(--td-text-color-anti,var(--td-font-white-1,#fff));border-color:var(--td-tag-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));background-color:var(--td-tag-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));}
+.t-tag--dark.t-tag--warning{color:var(--td-text-color-anti,var(--td-font-white-1,#fff));border-color:var(--td-tag-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));background-color:var(--td-tag-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));}
+.t-tag--dark.t-tag--danger{color:var(--td-text-color-anti,var(--td-font-white-1,#fff));border-color:var(--td-tag-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));background-color:var(--td-tag-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-tag--dark.t-tag--default{color:var(--td-tag-default-font-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-tag--outline.t-tag--default{color:var(--td-tag-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-tag-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));background-color:var(--td-tag-default-light-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-tag--outline.t-tag--primary{color:var(--td-tag-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-color:var(--td-tag-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-tag-primary-light-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-tag--outline.t-tag--success{color:var(--td-tag-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));border-color:var(--td-tag-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));background-color:var(--td-tag-success-light-color,var(--td-success-color-1,#e3f9e9));}
+.t-tag--outline.t-tag--warning{color:var(--td-tag-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));border-color:var(--td-tag-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));background-color:var(--td-tag-warning-light-color,var(--td-warning-color-1,#fff1e9));}
+.t-tag--outline.t-tag--danger{color:var(--td-tag-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));border-color:var(--td-tag-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));background-color:var(--td-tag-danger-light-color,var(--td-error-color-1,#fff0ed));}
+.t-tag--outline.t-tag--default{color:var(--td-tag-default-font-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-tag--outline.t-tag--default{background-color:var(--td-tag-outline-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-tag--outline.t-tag--primary{background-color:var(--td-tag-outline-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-tag--outline.t-tag--success{background-color:var(--td-tag-outline-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-tag--outline.t-tag--warning{background-color:var(--td-tag-outline-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-tag--outline.t-tag--danger{background-color:var(--td-tag-outline-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-tag--light.t-tag--default{color:var(--td-tag-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-tag-default-light-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));background-color:var(--td-tag-default-light-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-tag--light.t-tag--primary{color:var(--td-tag-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-color:var(--td-tag-primary-light-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));background-color:var(--td-tag-primary-light-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-tag--light.t-tag--success{color:var(--td-tag-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));border-color:var(--td-tag-success-light-color,var(--td-success-color-1,#e3f9e9));background-color:var(--td-tag-success-light-color,var(--td-success-color-1,#e3f9e9));}
+.t-tag--light.t-tag--warning{color:var(--td-tag-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));border-color:var(--td-tag-warning-light-color,var(--td-warning-color-1,#fff1e9));background-color:var(--td-tag-warning-light-color,var(--td-warning-color-1,#fff1e9));}
+.t-tag--light.t-tag--danger{color:var(--td-tag-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));border-color:var(--td-tag-danger-light-color,var(--td-error-color-1,#fff0ed));background-color:var(--td-tag-danger-light-color,var(--td-error-color-1,#fff0ed));}
+.t-tag--light.t-tag--default{color:var(--td-tag-default-font-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-tag--light-outline.t-tag--default{color:var(--td-tag-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-tag-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));background-color:var(--td-tag-default-light-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-tag--light-outline.t-tag--primary{color:var(--td-tag-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-color:var(--td-tag-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-tag-primary-light-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-tag--light-outline.t-tag--success{color:var(--td-tag-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));border-color:var(--td-tag-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));background-color:var(--td-tag-success-light-color,var(--td-success-color-1,#e3f9e9));}
+.t-tag--light-outline.t-tag--warning{color:var(--td-tag-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));border-color:var(--td-tag-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));background-color:var(--td-tag-warning-light-color,var(--td-warning-color-1,#fff1e9));}
+.t-tag--light-outline.t-tag--danger{color:var(--td-tag-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));border-color:var(--td-tag-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));background-color:var(--td-tag-danger-light-color,var(--td-error-color-1,#fff0ed));}
+.t-tag--light-outline.t-tag--default{color:var(--td-tag-default-font-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));border-color:var(--td-component-border,var(--td-gray-color-4,#dcdcdc));}
+.t-tag.t-tag--closable.t-tag--disabled{cursor:not-allowed;color:var(--td-tag-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));background-color:var(--td-tag-disabled-background-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));border-color:var(--td-tag-disabled-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/props.d.ts
new file mode 100644
index 0000000..57c816f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/props.d.ts
@@ -0,0 +1,3 @@
+import { TdCheckTagProps } from './type';
+declare const props: TdCheckTagProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/props.js
new file mode 100644
index 0000000..8df426b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/props.js
@@ -0,0 +1 @@
+const props={checked:{type:Boolean,value:null},defaultChecked:{type:Boolean},closable:{type:Boolean,value:!1},content:{type:null},disabled:{type:Boolean,value:!1},icon:{type:null},shape:{type:String,value:"square"},size:{type:String,value:"medium"},variant:{type:String,value:"dark"}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/type.d.ts
new file mode 100644
index 0000000..c047f1b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/type.d.ts
@@ -0,0 +1,39 @@
+import { SizeEnum } from '../common/common';
+export interface TdCheckTagProps {
+ checked?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ defaultChecked?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ closable?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ content?: {
+ type: null;
+ value?: string | number | string[];
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ icon?: {
+ type: null;
+ value?: string | object;
+ };
+ shape?: {
+ type: StringConstructor;
+ value?: 'square' | 'round' | 'mark';
+ };
+ size?: {
+ type: StringConstructor;
+ value?: SizeEnum;
+ };
+ variant?: {
+ type: StringConstructor;
+ value?: 'dark' | 'light' | 'outline' | 'light-outline';
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/check-tag/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.d.ts
new file mode 100644
index 0000000..9a0e9f8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.d.ts
@@ -0,0 +1,39 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class CheckBoxGroup extends SuperComponent {
+ externalClasses: string[];
+ behaviors: string[];
+ relations: RelationsOptions;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ checkboxOptions: any[];
+ };
+ properties: import("./type").TdCheckboxGroupProps;
+ observers: {
+ value(): void;
+ options(): void;
+ disabled(v: any): void;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ $checkAll: any;
+ methods: {
+ getChildren(): any;
+ updateChildren(): void;
+ updateValue({ value, checked, checkAll, item, indeterminate }: {
+ value: any;
+ checked: any;
+ checkAll: any;
+ item: any;
+ indeterminate: any;
+ }): void;
+ initWithOptions(): void;
+ handleInnerChildChange(e: any): void;
+ setCheckall(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.js
new file mode 100644
index 0000000..781622a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-checkbox-group`;let CheckBoxGroup=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.behaviors=["wx://form-field"],this.relations={"../checkbox/checkbox":{type:"descendant"}},this.data={prefix:prefix,classPrefix:name,checkboxOptions:[]},this.properties=props,this.observers={value(){this.updateChildren()},options(){this.initWithOptions()},disabled(e){var t;(null===(t=this.data.options)||void 0===t?void 0:t.length)?this.initWithOptions():this.getChildren().forEach(t=>{t.setDisabled(e)})}},this.lifetimes={ready(){this.setCheckall()}},this.controlledProps=[{key:"value",event:"change"}],this.$checkAll=null,this.methods={getChildren(){let e=this.$children;return e.length||(e=this.selectAllComponents(`.${prefix}-checkbox-option`)),e||[]},updateChildren(){const e=this.getChildren(),{value:t}=this.data;e.length>0&&(e.forEach(e=>{!e.data.checkAll&&e.setData({checked:null==t?void 0:t.includes(e.data.value)})}),e.some(e=>e.data.checkAll)&&this.setCheckall())},updateValue({value:e,checked:t,checkAll:i,item:l,indeterminate:a}){let{value:s}=this.data;const{max:n}=this.data,c=new Set(this.getChildren().map(e=>e.data.value));if(s=s.filter(e=>c.has(e)),!n||!t||s.length!==n){if(i){const e=this.getChildren();s=!t&&a?e.filter(({data:e})=>!(e.disabled&&!s.includes(e.value))).map(e=>e.data.value):e.filter(({data:e})=>e.disabled?s.includes(e.value):t&&!e.checkAll).map(({data:e})=>e.value)}else if(t)s=s.concat(e);else{const t=s.findIndex(t=>t===e);s.splice(t,1)}this._trigger("change",{value:s,context:l})}},initWithOptions(){const{options:e,value:t,keys:i}=this.data;if(!(null==e?void 0:e.length)||!Array.isArray(e))return;const l=e.map(e=>{var l,a,s;return["number","string"].includes(typeof e)?{label:`${e}`,value:e,checked:null==t?void 0:t.includes(e)}:Object.assign(Object.assign({},e),{label:e[null!==(l=null==i?void 0:i.label)&&void 0!==l?l:"label"],value:e[null!==(a=null==i?void 0:i.value)&&void 0!==a?a:"value"],checked:null==t?void 0:t.includes(e[null!==(s=null==i?void 0:i.value)&&void 0!==s?s:"value"])})});this.setData({checkboxOptions:l})},handleInnerChildChange(e){var t;const{item:i}=e.target.dataset,{checked:l}=e.detail,a={};i.checkAll&&(a.indeterminate=null===(t=this.$checkAll)||void 0===t?void 0:t.data.indeterminate),this.updateValue(Object.assign(Object.assign(Object.assign({},i),{checked:l,item:i}),a))},setCheckall(){const e=this.getChildren();if(this.$checkAll||(this.$checkAll=e.find(e=>e.data.checkAll)),!this.$checkAll)return;const{value:t}=this.data,i=new Set(null==t?void 0:t.filter(e=>e!==this.$checkAll.data.value)),l=e.every(e=>!!e.data.checkAll||i.has(e.data.value));this.$checkAll.setData({checked:i.size>0,indeterminate:!l})}}}};CheckBoxGroup=__decorate([wxComponent()],CheckBoxGroup);export default CheckBoxGroup;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.json
new file mode 100644
index 0000000..e58cba0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-checkbox":"../checkbox/checkbox"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.wxml
new file mode 100644
index 0000000..9c5e723
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.wxss
new file mode 100644
index 0000000..aed803e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/checkbox-group.wxss
@@ -0,0 +1 @@
+@import '../common/style/index.wxss';
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/props.d.ts
new file mode 100644
index 0000000..f6e5bf5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/props.d.ts
@@ -0,0 +1,3 @@
+import { TdCheckboxGroupProps } from './type';
+declare const props: TdCheckboxGroupProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/props.js
new file mode 100644
index 0000000..91415d6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/props.js
@@ -0,0 +1 @@
+const props={borderless:{type:Boolean,value:!1},disabled:{type:null,value:void 0},keys:{type:Object},max:{type:Number,value:void 0},name:{type:String,value:""},options:{type:Array,value:[]},readonly:{type:null,value:void 0},value:{type:Array,value:null},defaultValue:{type:Array,value:[]}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/type.d.ts
new file mode 100644
index 0000000..fd024eb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/type.d.ts
@@ -0,0 +1,47 @@
+import { KeysType } from '../common/common';
+export interface TdCheckboxGroupProps {
+ borderless?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ keys?: {
+ type: ObjectConstructor;
+ value?: KeysType;
+ };
+ max?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ name?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ options?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ readonly?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ value?: {
+ type: ArrayConstructor;
+ value?: T;
+ };
+ defaultValue?: {
+ type: ArrayConstructor;
+ value?: T;
+ };
+}
+export declare type CheckboxOption = string | number | CheckboxOptionObj;
+export interface CheckboxOptionObj {
+ label?: string;
+ value?: string | number;
+ disabled?: boolean;
+ checkAll?: true;
+}
+export declare type CheckboxGroupValue = Array;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox-group/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.d.ts
new file mode 100644
index 0000000..3cfb0f9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.d.ts
@@ -0,0 +1,100 @@
+import { SuperComponent, ComponentsOptionsType, RelationsOptions } from '../common/src/index';
+export default class CheckBox extends SuperComponent {
+ externalClasses: string[];
+ behaviors: string[];
+ relations: RelationsOptions;
+ options: ComponentsOptionsType;
+ properties: {
+ theme: {
+ type: StringConstructor;
+ value: string;
+ };
+ tId: {
+ type: StringConstructor;
+ };
+ block?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ borderless?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ checkAll?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ checked?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ defaultChecked?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ contentDisabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ icon?: {
+ type: null;
+ value?: string[] | "rectangle" | "circle" | "line";
+ };
+ indeterminate?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ label?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ maxContentRow?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ maxLabelRow?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ name?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ placement?: {
+ type: StringConstructor;
+ value?: "left" | "right";
+ };
+ readonly?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ value?: {
+ type: null;
+ value?: string | number | boolean;
+ };
+ };
+ data: {
+ prefix: string;
+ classPrefix: string;
+ _disabled: boolean;
+ };
+ observers: {
+ disabled(v: any): void;
+ };
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ methods: {
+ handleTap(e: WechatMiniprogram.TouchEvent): void;
+ setDisabled(disabled: Boolean): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.js
new file mode 100644
index 0000000..e4b6e08
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import Props from"./props";const{prefix:prefix}=config,name=`${prefix}-checkbox`;let CheckBox=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-label`,`${prefix}-class-icon`,`${prefix}-class-content`,`${prefix}-class-border`],this.behaviors=["wx://form-field"],this.relations={"../checkbox-group/checkbox-group":{type:"ancestor",linked(e){const{value:t,disabled:s,borderless:a}=e.data,i=new Set(t),o=i.has(this.data.value),c={_disabled:null==this.data.disabled?s:this.data.disabled};a&&(c.borderless=!0),c.checked=this.data.checked||o,this.data.checked&&e.updateValue(this.data),this.data.checkAll&&(c.checked=i.size>0),this.setData(c)}}},this.options={multipleSlots:!0},this.properties=Object.assign(Object.assign({},Props),{theme:{type:String,value:"default"},tId:{type:String}}),this.data={prefix:prefix,classPrefix:name,_disabled:!1},this.observers={disabled(e){this.setData({_disabled:e})}},this.controlledProps=[{key:"checked",event:"change"}],this.methods={handleTap(e){const{_disabled:t,readonly:s,contentDisabled:a}=this.data,{target:i}=e.currentTarget.dataset;if(t||s||"text"===i&&a)return;const{value:o,label:c}=this.data,d=!this.data.checked,r=this.$parent;r?r.updateValue(Object.assign(Object.assign({},this.data),{checked:d,item:{label:c,value:o,checked:d}})):this._trigger("change",{context:{value:o,label:c},checked:d})},setDisabled(e){this.setData({_disabled:this.data.disabled||e})}}}};CheckBox=__decorate([wxComponent()],CheckBox);export default CheckBox;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.json
new file mode 100644
index 0000000..9269b92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxml
new file mode 100644
index 0000000..4e68dbd
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxml
@@ -0,0 +1 @@
+{{label}}{{content}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxss
new file mode 100644
index 0000000..f0d5b66
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxss
@@ -0,0 +1,34 @@
+@import '../common/style/index.wxss';.t-checkbox{display:inline-flex;vertical-align:middle;position:relative;font-size:var(--td-checkbox-font-size,32rpx);background:var(--td-checkbox-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-checkbox:focus{outline:0;}
+.t-checkbox--block{display:flex;padding:var(--td-checkbox-vertical-padding,32rpx);}
+.t-checkbox--right{flex-direction:row-reverse;}
+.t-checkbox .limit-title-row{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}
+.t-checkbox .image-center{position:absolute;top:50%;transform:translateY(-50%);}
+.t-checkbox__icon-left{margin-right:20rpx;width:40rpx;}
+.t-checkbox__icon-right{right:0;display:contents;position:absolute;top:50%;transform:translateY(-50%);}
+.t-checkbox__icon-image{width:var(--td-checkbox-icon-size,48rpx);height:var(--td-checkbox-icon-size,48rpx);vertical-align:top;}
+.t-checkbox__icon{position:relative;display:block;width:var(--td-checkbox-icon-size,48rpx);height:var(--td-checkbox-icon-size,48rpx);color:var(--td-checkbox-icon-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));font-size:var(--td-checkbox-icon-size,48rpx);margin-top:calc((var(--td-checkbox-title-line-height,48rpx) - var(--td-checkbox-icon-size,48rpx))/ 2);}
+.t-checkbox__icon:empty{display:none;}
+.t-checkbox__icon--checked{color:var(--td-checkbox-icon-checked-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-checkbox__icon--disabled{cursor:not-allowed;color:var(--td-checkbox-icon-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-checkbox__icon--left{margin-right:16rpx;}
+.t-checkbox__icon-circle{width:calc((var(--td-checkbox-icon-size,48rpx) - 4rpx) * 2);height:calc((var(--td-checkbox-icon-size,48rpx) - 4rpx) * 2);border:calc(4rpx * 2) solid var(--td-checkbox-icon-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);box-sizing:border-box;}
+.t-checkbox__icon-circle--disabled{background:var(--td-checkbox-icon-disabled-bg-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
+.t-checkbox__icon-rectangle{width:calc((var(--td-checkbox-icon-size,48rpx) - 4rpx * 2) * 2);height:calc((var(--td-checkbox-icon-size,48rpx) - 4rpx * 2) * 2);border:calc(4rpx * 2) solid var(--td-checkbox-icon-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);box-sizing:border-box;}
+.t-checkbox__icon-rectangle--disabled{background:var(--td-checkbox-icon-disabled-bg-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
+.t-checkbox__icon-line::after,.t-checkbox__icon-line::before{content:'';display:block;position:absolute;width:5rpx;border-radius:2rpx;background:var(--td-checkbox-icon-checked-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));transform-origin:top center;}
+.t-checkbox__icon-line::before{height:16rpx;left:8rpx;top:22rpx;transform:rotate(-45deg);}
+.t-checkbox__icon-line::after{height:26rpx;right:8rpx;top:14rpx;transform:rotate(45deg);}
+.t-checkbox__icon-line--disabled::after,.t-checkbox__icon-line--disabled::before{background:var(--td-checkbox-icon-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-checkbox__content{flex:1;}
+.t-checkbox__title{color:var(--td-checkbox-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));line-height:var(--td-checkbox-title-line-height,48rpx);display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}
+.t-checkbox__title--disabled{color:var(--td-checkbox-title-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-checkbox__description{color:var(--td-checkbox-description-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;font-size:28rpx;line-height:var(--td-checkbox-description-line-height,44rpx);}
+.t-checkbox__description--disabled{color:var(--td-checkbox-description-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-checkbox__title+.t-checkbox__description:not(:empty){margin-top:8rpx;}
+.t-checkbox__border{position:absolute;bottom:0;left:96rpx;right:0;height:1px;background:var(--td-checkbox-border-color,var(--td-component-stroke,var(--td-gray-color-3,#e7e7e7)));transform:scaleY(.5);}
+.t-checkbox__border--right{left:32rpx;}
+.t-checkbox--tag{font-size:28rpx;padding-top:16rpx;padding-bottom:16rpx;text-align:center;background-color:var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3));border-radius:12rpx;}
+.t-checkbox--tag.t-checkbox--checked{color:var(--td-checkbox-tag-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-checkbox-tag-active-bg-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-checkbox--tag .t-checkbox__title--checked{color:var(--td-checkbox-tag-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-checkbox--tag .t-checkbox__content{margin-right:0;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/props.d.ts
new file mode 100644
index 0000000..81c619e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/props.d.ts
@@ -0,0 +1,3 @@
+import { TdCheckboxProps } from './type';
+declare const props: TdCheckboxProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/props.js
new file mode 100644
index 0000000..04c97d8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/props.js
@@ -0,0 +1 @@
+const props={block:{type:Boolean,value:!0},borderless:{type:null,value:void 0},checkAll:{type:Boolean,value:!1},checked:{type:Boolean,value:null},defaultChecked:{type:Boolean,value:!1},content:{type:String},contentDisabled:{type:Boolean},disabled:{type:null,value:void 0},icon:{type:null,value:"circle"},indeterminate:{type:Boolean,value:!1},label:{type:String},maxContentRow:{type:Number,value:5},maxLabelRow:{type:Number,value:3},name:{type:String,value:""},placement:{type:String,value:"left"},readonly:{type:null,value:void 0},value:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/type.d.ts
new file mode 100644
index 0000000..1250d5b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/type.d.ts
@@ -0,0 +1,70 @@
+export interface TdCheckboxProps {
+ block?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ borderless?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ checkAll?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ checked?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ defaultChecked?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ contentDisabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ icon?: {
+ type: null;
+ value?: 'circle' | 'line' | 'rectangle' | string[];
+ };
+ indeterminate?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ label?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ maxContentRow?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ maxLabelRow?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ name?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ placement?: {
+ type: StringConstructor;
+ value?: 'left' | 'right';
+ };
+ readonly?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ value?: {
+ type: null;
+ value?: string | number | boolean;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/checkbox/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.d.ts
new file mode 100644
index 0000000..ecebf64
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.d.ts
@@ -0,0 +1,10 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class Col extends SuperComponent {
+ externalClasses: string[];
+ properties: import("./type").TdColProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ };
+ relations: RelationsOptions;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.js
new file mode 100644
index 0000000..0c5f5d5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-col`;let Col=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.properties=props,this.data={prefix:prefix,classPrefix:name},this.relations={"../row/row":{type:"parent"}}}};Col=__decorate([wxComponent()],Col);export default Col;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.wxml
new file mode 100644
index 0000000..a095548
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.wxs
new file mode 100644
index 0000000..1822c0b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.wxs
@@ -0,0 +1,17 @@
+var utils = require('../common/utils.wxs');
+
+function getColStyles(gutter, style, customStyle) {
+ var _style = '';
+ if (gutter) {
+ _style = utils._style({
+ 'padding-right': utils.addUnit(gutter / 2),
+ 'padding-left': utils.addUnit(gutter / 2),
+ });
+ }
+
+ return utils._style([style, customStyle]) + _style;
+}
+
+module.exports = {
+ getColStyles: getColStyles,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.wxss
new file mode 100644
index 0000000..468b0a9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/col.wxss
@@ -0,0 +1,49 @@
+@import '../common/style/index.wxss';.t-col{display:block;box-sizing:border-box;min-height:1px;}
+.t-col--1{width:4.16666667%;}
+.t-col--offset-1{margin-left:4.16666667%;}
+.t-col--2{width:8.33333333%;}
+.t-col--offset-2{margin-left:8.33333333%;}
+.t-col--3{width:12.5%;}
+.t-col--offset-3{margin-left:12.5%;}
+.t-col--4{width:16.66666667%;}
+.t-col--offset-4{margin-left:16.66666667%;}
+.t-col--5{width:20.83333333%;}
+.t-col--offset-5{margin-left:20.83333333%;}
+.t-col--6{width:25%;}
+.t-col--offset-6{margin-left:25%;}
+.t-col--7{width:29.16666667%;}
+.t-col--offset-7{margin-left:29.16666667%;}
+.t-col--8{width:33.33333333%;}
+.t-col--offset-8{margin-left:33.33333333%;}
+.t-col--9{width:37.5%;}
+.t-col--offset-9{margin-left:37.5%;}
+.t-col--10{width:41.66666667%;}
+.t-col--offset-10{margin-left:41.66666667%;}
+.t-col--11{width:45.83333333%;}
+.t-col--offset-11{margin-left:45.83333333%;}
+.t-col--12{width:50%;}
+.t-col--offset-12{margin-left:50%;}
+.t-col--13{width:54.16666667%;}
+.t-col--offset-13{margin-left:54.16666667%;}
+.t-col--14{width:58.33333333%;}
+.t-col--offset-14{margin-left:58.33333333%;}
+.t-col--15{width:62.5%;}
+.t-col--offset-15{margin-left:62.5%;}
+.t-col--16{width:66.66666667%;}
+.t-col--offset-16{margin-left:66.66666667%;}
+.t-col--17{width:70.83333333%;}
+.t-col--offset-17{margin-left:70.83333333%;}
+.t-col--18{width:75%;}
+.t-col--offset-18{margin-left:75%;}
+.t-col--19{width:79.16666667%;}
+.t-col--offset-19{margin-left:79.16666667%;}
+.t-col--20{width:83.33333333%;}
+.t-col--offset-20{margin-left:83.33333333%;}
+.t-col--21{width:87.5%;}
+.t-col--offset-21{margin-left:87.5%;}
+.t-col--22{width:91.66666667%;}
+.t-col--offset-22{margin-left:91.66666667%;}
+.t-col--23{width:95.83333333%;}
+.t-col--offset-23{margin-left:95.83333333%;}
+.t-col--24{width:100%;}
+.t-col--offset-24{margin-left:100%;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/col/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/props.d.ts
new file mode 100644
index 0000000..15de965
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/props.d.ts
@@ -0,0 +1,3 @@
+import { TdColProps } from './type';
+declare const props: TdColProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/col/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/props.js
new file mode 100644
index 0000000..c12761e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/props.js
@@ -0,0 +1 @@
+const props={offset:{type:null},span:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/col/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/type.d.ts
new file mode 100644
index 0000000..af55fa4
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/type.d.ts
@@ -0,0 +1,10 @@
+export interface TdColProps {
+ offset?: {
+ type: null;
+ value?: string | number;
+ };
+ span?: {
+ type: null;
+ value?: string | number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/col/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/col/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.d.ts
new file mode 100644
index 0000000..4ae0ff4
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.d.ts
@@ -0,0 +1,28 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+import type { TdCollapsePanelProps } from './type';
+export interface CollapsePanelProps extends TdCollapsePanelProps {
+}
+export default class CollapsePanel extends SuperComponent {
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ relations: RelationsOptions;
+ properties: TdCollapsePanelProps;
+ data: {
+ prefix: string;
+ expanded: boolean;
+ classPrefix: string;
+ classBasePrefix: string;
+ ultimateExpandIcon: boolean;
+ ultimateDisabled: boolean;
+ };
+ observers: {
+ disabled(v: any): void;
+ };
+ methods: {
+ updateExpanded(activeValues?: any[]): void;
+ updateStyle(expanded: boolean): Promise;
+ onClick(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.js
new file mode 100644
index 0000000..6fcd021
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{getRect}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-collapse-panel`;let CollapsePanel=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-header`],this.options={multipleSlots:!0},this.relations={"../collapse/collapse":{type:"ancestor",linked(e){const{value:t,expandIcon:a,disabled:s}=e.properties;this.setData({ultimateExpandIcon:null==this.properties.expandIcon?a:this.properties.expandIcon,ultimateDisabled:null==this.properties.disabled?s:this.properties.disabled}),this.updateExpanded(t)}}},this.properties=props,this.data={prefix:prefix,expanded:!1,classPrefix:name,classBasePrefix:prefix,ultimateExpandIcon:!1,ultimateDisabled:!1},this.observers={disabled(e){this.setData({ultimateDisabled:!!e})}},this.methods={updateExpanded(e=[]){if(!this.$parent)return;const{value:t}=this.properties,{defaultExpandAll:a}=this.$parent.data,s=a?!this.data.expanded:e.includes(t);s!==this.properties.expanded&&(this.setData({expanded:s}),this.updateStyle(s))},updateStyle(e){return getRect(this,`.${name}__content`).then(e=>e.height).then(t=>{const a=wx.createAnimation({duration:0,timingFunction:"ease-in-out"});e?a.height(t).top(0).step({duration:300}).height("auto").step():a.height(t).top(1).step({duration:1}).height(0).step({duration:300}),this.setData({animation:a.export()})})},onClick(){const{ultimateDisabled:e}=this.data,{value:t}=this.properties;e||(this.$parent.data.defaultExpandAll?this.updateExpanded():this.$parent.switch(t))}}}};CollapsePanel=__decorate([wxComponent()],CollapsePanel);export default CollapsePanel;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.json
new file mode 100644
index 0000000..e599fc8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-cell":"../cell/cell"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxml
new file mode 100644
index 0000000..bdcb890
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxml
@@ -0,0 +1 @@
+{{content}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxss
new file mode 100644
index 0000000..93f5055
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxss
@@ -0,0 +1,32 @@
+@import '../common/style/index.wxss';.t-collapse-panel{background-color:var(--td-collapse-panel-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-collapse-panel--disabled{pointer-events:none;}
+.t-collapse-panel--disabled .t-collapse-panel__content,.t-collapse-panel--disabled .t-collapse-panel__header{opacity:.3;}
+.t-collapse-panel--top{display:flex;flex-direction:column-reverse;}
+.t-collapse-panel__header{position:relative;display:flex;justify-content:space-between;align-items:center;padding-left:var(--td-collapse-horizontal-padding,32rpx);height:var(--td-collapse-header-height,auto);--td-cell-title-color:var(--td-collapse-header-text-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, 0.9))));--td-cell-left-icon-color:var(--td-collapse-icon-color, var(--td-font-gray-3, rgba(0, 0, 0, 0.4)));}
+.t-collapse-panel__header--top{position:relative;}
+.t-collapse-panel__header--top::after{content:'';display:block;position:absolute;top:0;bottom:unset;left:unset;right:unset;background-color:var(--td-collapse-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
+.t-collapse-panel__header--top::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-collapse-panel__header--bottom{position:relative;}
+.t-collapse-panel__header--bottom::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-collapse-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
+.t-collapse-panel__header--bottom::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-collapse-panel__header::after{left:32rpx;}
+.t-collapse-panel__header-right{display:inline-flex;align-items:center;height:100%;}
+.t-collapse-panel__header-icon{height:100%;padding-left:8px;width:44px;padding-right:8px;color:var(--td-collapse-icon-color,var(--td-font-gray-3,rgba(0,0,0,.4)));}
+.t-collapse-panel__extra{font-size:var(--td-collapse-extra-font-size,var(--td-font-size-m,32rpx));}
+.t-collapse-panel__body{position:relative;}
+.t-collapse-panel__body::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-collapse-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
+.t-collapse-panel__body::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-collapse-panel__wrapper{height:0;overflow:hidden;}
+.t-collapse-panel__content{color:var(--td-collapse-content-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font-size:var(--td-collapse-content-font-size,var(--td-font-size-base,28rpx));padding:var(--td-collapse-content-padding,32rpx);line-height:var(--td-collapse-content-line-height,1.5);}
+.t-collapse-panel__content--disabled{color:var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26)));}
+.t-collapse-panel__content--expanded.t-collapse-panel__content--bottom{position:relative;}
+.t-collapse-panel__content--expanded.t-collapse-panel__content--bottom::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-collapse-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
+.t-collapse-panel__content--expanded.t-collapse-panel__content--bottom::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-collapse-panel__content--expanded.t-collapse-panel__content--top{position:relative;}
+.t-collapse-panel__content--expanded.t-collapse-panel__content--top::after{content:'';display:block;position:absolute;top:0;bottom:unset;left:unset;right:unset;background-color:var(--td-collapse-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
+.t-collapse-panel__content--expanded.t-collapse-panel__content--top::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-collapse-panel__arrow--top{transform:rotate(180deg);}
+.class-title{font-size:var(--td-collapse-title-font-size,var(--td-font-size-m,32rpx));}
+.class-title--disabled{color:var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26)));}
+.class-note--disabled{color:var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26)));}
+.class-right-icon--disabled{color:var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26)));}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/props.d.ts
new file mode 100644
index 0000000..829dbea
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/props.d.ts
@@ -0,0 +1,3 @@
+import { TdCollapsePanelProps } from './type';
+declare const props: TdCollapsePanelProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/props.js
new file mode 100644
index 0000000..314f338
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/props.js
@@ -0,0 +1 @@
+const props={content:{type:String},disabled:{type:null,value:void 0},expandIcon:{type:null,value:void 0},header:{type:String},headerLeftIcon:{type:String},headerRightContent:{type:String},placement:{type:String,value:"bottom"},value:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/type.d.ts
new file mode 100644
index 0000000..a108132
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/type.d.ts
@@ -0,0 +1,34 @@
+export interface TdCollapsePanelProps {
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ expandIcon?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ header?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ headerLeftIcon?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ headerRightContent?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ placement?: {
+ type: StringConstructor;
+ value?: 'bottom' | 'top';
+ };
+ value?: {
+ type: null;
+ value?: string | number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse-panel/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.d.ts
new file mode 100644
index 0000000..9fcf0ce
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.d.ts
@@ -0,0 +1,24 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+import type { CollapseValue, TdCollapseProps } from './type';
+export interface CollapseProps extends TdCollapseProps {
+}
+export default class Collapse extends SuperComponent {
+ externalClasses: string[];
+ relations: RelationsOptions;
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ properties: TdCollapseProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ };
+ observers: {
+ 'value, expandMutex '(): void;
+ };
+ methods: {
+ updateExpanded(): void;
+ switch(panelValue: CollapseValue): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.js
new file mode 100644
index 0000000..c289948
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-collapse`;let Collapse=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.relations={"../collapse-panel/collapse-panel":{type:"descendant"}},this.controlledProps=[{key:"value",event:"change"}],this.properties=props,this.data={prefix:prefix,classPrefix:name},this.observers={"value, expandMutex "(){this.updateExpanded()}},this.methods={updateExpanded(){this.$children.forEach(e=>{e.updateExpanded(this.properties.value)})},switch(e){const{expandMutex:t,value:o}=this.properties;let p=[];p=o.indexOf(e)>-1?o.filter(t=>t!==e):t?[e]:o.concat(e),this._trigger("change",{value:p})}}}};Collapse=__decorate([wxComponent()],Collapse);export default Collapse;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.json
new file mode 100644
index 0000000..1bbd8ba
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared"}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.wxml
new file mode 100644
index 0000000..93bde30
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.wxss
new file mode 100644
index 0000000..1eb54e4
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/collapse.wxss
@@ -0,0 +1 @@
+@import '../common/style/index.wxss';.t-collapse--card{margin:0 32rpx;border-radius:var(--td-radius-large,18rpx);overflow:hidden;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/index.d.ts
new file mode 100644
index 0000000..69a68c1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/index.d.ts
@@ -0,0 +1,4 @@
+export { default as Collapse } from './collapse';
+export * from './type';
+export * from './props';
+export { CollapseProps } from './collapse';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/index.js
new file mode 100644
index 0000000..67a070a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/index.js
@@ -0,0 +1 @@
+export{default as Collapse}from"./collapse";export*from"./type";export*from"./props";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/props.d.ts
new file mode 100644
index 0000000..8ab2059
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/props.d.ts
@@ -0,0 +1,3 @@
+import { TdCollapseProps } from './type';
+declare const props: TdCollapseProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/props.js
new file mode 100644
index 0000000..0eb56f5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/props.js
@@ -0,0 +1 @@
+const props={defaultExpandAll:{type:Boolean,value:!1},disabled:{type:Boolean},expandIcon:{type:Boolean,value:!0},expandMutex:{type:Boolean,value:!1},theme:{type:String,value:"default"},value:{type:Array,value:null},defaultValue:{type:Array,value:[]}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/type.d.ts
new file mode 100644
index 0000000..8599bc1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/type.d.ts
@@ -0,0 +1,31 @@
+export interface TdCollapseProps {
+ defaultExpandAll?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ expandIcon?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ expandMutex?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'default' | 'card';
+ };
+ value?: {
+ type: ArrayConstructor;
+ value?: CollapseValue;
+ };
+ defaultValue?: {
+ type: ArrayConstructor;
+ value?: CollapseValue;
+ };
+}
+export declare type CollapseValue = Array;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/collapse/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.d.ts
new file mode 100644
index 0000000..751ec5b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.d.ts
@@ -0,0 +1,104 @@
+import { SuperComponent } from '../common/src/index';
+import type { Coordinate } from './interfaces';
+import { Color } from './utils';
+export default class ColorPicker extends SuperComponent {
+ options: {
+ multipleSlots: boolean;
+ };
+ properties: import("./type").TdColorPickerProps;
+ observers: {
+ format(): void;
+ swatchColors(value: any): void;
+ type(value: any): void;
+ 'usePopup, visible'(usePopup: boolean, visible: boolean): void;
+ value(v: string): void;
+ };
+ color: Color;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ panelRect: {
+ width: number;
+ height: number;
+ };
+ sliderRect: {
+ width: number;
+ left: number;
+ };
+ saturationInfo: {
+ saturation: number;
+ value: number;
+ };
+ saturationThumbStyle: {
+ left: number;
+ top: number;
+ };
+ sliderInfo: {
+ value: number;
+ };
+ hueSliderStyle: {
+ left: number;
+ };
+ alphaSliderStyle: {
+ left: number;
+ };
+ innerValue: string;
+ showPrimaryColorPreview: boolean;
+ previewColor: string;
+ formatList: any[];
+ innerSwatchList: any;
+ isMultiple: boolean;
+ defaultOverlayProps: {};
+ };
+ lifetimes: {
+ ready(): void;
+ attached(): void;
+ detached(): void;
+ };
+ methods: {
+ init(): void;
+ updateEleRect(e: WechatMiniprogram.TouchEvent): void;
+ getEleReact(): void;
+ clickSwatch(e: any): void;
+ setCoreStyle(): void;
+ emitColorChange(trigger: any): void;
+ defaultEmptyColor(): string;
+ updateColor(): void;
+ getSaturationAndValueByCoordinate(coordinate: Coordinate): {
+ saturation: number;
+ value: number;
+ };
+ getSaturationThumbStyle({ saturation, value }: {
+ saturation: any;
+ value: any;
+ }): {
+ color: any;
+ left: string;
+ top: string;
+ };
+ getSliderThumbStyle({ value, maxValue }: {
+ value: any;
+ maxValue: any;
+ }): {
+ left: string;
+ color: any;
+ };
+ onChangeSaturation({ saturation, value }: {
+ saturation: any;
+ value: any;
+ }): void;
+ formatValue(): any;
+ onChangeSlider({ value, isAlpha }: {
+ value: any;
+ isAlpha: any;
+ }): void;
+ handleSaturationDrag(e: any): void;
+ handleSliderDrag(e: any, isAlpha?: boolean): void;
+ handleDiffDrag(e: any): void;
+ onTouchStart(e: any): void;
+ onTouchMove(e: any): void;
+ onTouchEnd(e: any): void;
+ close(trigger: string): void;
+ onVisibleChange(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.js
new file mode 100644
index 0000000..b0e98eb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{SATURATION_PANEL_DEFAULT_HEIGHT,SATURATION_PANEL_DEFAULT_WIDTH,SLIDER_DEFAULT_WIDTH,DEFAULT_COLOR,ALPHA_MAX,HUE_MAX,DEFAULT_SYSTEM_SWATCH_COLORS}from"./constants";import{getRect,debounce}from"../common/utils";import{Color,getColorObject}from"./utils";const{prefix:prefix}=config,name=`${prefix}-color-picker`,getCoordinate=(t,e,a)=>{var o;const{pageX:i,pageY:r,clientY:l}=t.changedTouches[0]||{},s=a?e.top:null===(o=t.currentTarget)||void 0===o?void 0:o.offsetTop;return{x:Math.min(Math.max(0,i-e.left),e.width),y:Math.min(Math.max(0,(a?l:r)-s),e.height)}},getFormatList=(t,e)=>{const a={HSV:Object.values(e.getHsva()),HSVA:Object.values(e.getHsva()),HSL:Object.values(e.getHsla()),HSLA:Object.values(e.getHsla()),HSB:Object.values(e.getHsla()),RGB:Object.values(e.getRgba()),RGBA:Object.values(e.getRgba()),CMYK:[...Object.values(e.getCmyk()),0],CSS:[e.css,0],HEX:[e.hex,0]},o=a[t];return o?[...o.slice(0,o.length-1),`${Math.round(100*e.alpha)}%`]:a.RGB},genSwatchList=t=>void 0===t?DEFAULT_SYSTEM_SWATCH_COLORS:t&&t.length?t:[];let ColorPicker=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.properties=props,this.observers={format(){this.setCoreStyle()},swatchColors(t){this.setData({innerSwatchList:genSwatchList(t)})},type(t){this.setData({isMultiple:"multiple"===t})},"usePopup, visible"(t,e){this.timer&&clearTimeout(this.timer),t&&e&&(this.timer=setTimeout(()=>{this.getEleReact()},350))},value(t){t&&this.init()}},this.color=new Color(props.defaultValue.value||props.value.value||DEFAULT_COLOR),this.data={prefix:prefix,classPrefix:name,panelRect:{width:SATURATION_PANEL_DEFAULT_WIDTH,height:SATURATION_PANEL_DEFAULT_HEIGHT},sliderRect:{width:SLIDER_DEFAULT_WIDTH,left:0},saturationInfo:{saturation:0,value:0},saturationThumbStyle:{left:0,top:0},sliderInfo:{value:0},hueSliderStyle:{left:0},alphaSliderStyle:{left:0},innerValue:props.defaultValue.value||props.value.value,showPrimaryColorPreview:!1,previewColor:props.defaultValue.value||props.value.value,formatList:getFormatList(props.format.value,this.color),innerSwatchList:genSwatchList(props.swatchColors.value),isMultiple:"multiple"===props.type.value,defaultOverlayProps:{}},this.lifetimes={ready(){this.init()},attached(){this.debouncedUpdateEleRect=debounce(t=>this.updateEleRect(t),150)},detached(){clearTimeout(this.timer)}},this.methods={init(){const{value:t,defaultValue:e}=this.properties,a=t||e;a&&this.setData({innerValue:a}),this.color=new Color(a||DEFAULT_COLOR),this.updateColor(),this.getEleReact()},updateEleRect(t){if(!t)return;const{scrollTop:e}=t.detail,{width:a,height:o,left:i,initTop:r}=this.data.panelRect;this.setData({panelRect:{width:a,height:o,left:i,top:r-e,initTop:r}})},getEleReact(){Promise.all([getRect(this,`.${name}__saturation`),getRect(this,`.${name}__slider`)]).then(([t,e])=>{this.setData({panelRect:{width:t.width||SATURATION_PANEL_DEFAULT_WIDTH,height:t.height||SATURATION_PANEL_DEFAULT_HEIGHT,left:t.left||0,top:t.top||0,initTop:t.top||0},sliderRect:{left:e.left||0,width:e.width||SLIDER_DEFAULT_WIDTH}},()=>{this.setCoreStyle()})})},clickSwatch(t){const e=t.currentTarget.dataset.value;this.color.update(e),this.emitColorChange("preset"),this.setCoreStyle()},setCoreStyle(){this.setData({sliderInfo:{value:this.color.hue},hueSliderStyle:this.getSliderThumbStyle({value:this.color.hue,maxValue:HUE_MAX}),alphaSliderStyle:this.getSliderThumbStyle({value:100*this.color.alpha,maxValue:ALPHA_MAX}),saturationInfo:{saturation:this.color.saturation,value:this.color.value},saturationThumbStyle:this.getSaturationThumbStyle({saturation:this.color.saturation,value:this.color.value}),previewColor:this.color.rgba,formatList:getFormatList(this.properties.format,this.color)})},emitColorChange(t){this.setData({innerValue:this.formatValue()}),this.triggerEvent("change",{value:this.formatValue(),context:{trigger:t,color:getColorObject(this.color)}})},defaultEmptyColor:()=>DEFAULT_COLOR,updateColor(){const t=this.data.innerValue||this.defaultEmptyColor();this.color.update(t)},getSaturationAndValueByCoordinate(t){const{width:e,height:a}=this.data.panelRect,{x:o,y:i}=t;let r=o/e,l=1-i/a;return r=Math.min(1,Math.max(0,r)),l=Math.min(1,Math.max(0,l)),{saturation:r,value:l}},getSaturationThumbStyle({saturation:t,value:e}){const{width:a,height:o}=this.data.panelRect,i=Math.round((1-e)*o),r=Math.round(t*a);return{color:this.color.rgb,left:`${r}px`,top:`${i}px`}},getSliderThumbStyle({value:t,maxValue:e}){const{width:a}=this.data.sliderRect;if(!a)return;return{left:`${Math.round(t/e*100)}%`,color:this.color.rgb}},onChangeSaturation({saturation:t,value:e}){const{saturation:a,value:o}=this.color;let i="palette-saturation-brightness";if(e!==o&&t!==a)this.color.saturation=t,this.color.value=e,i="palette-saturation-brightness";else if(t!==a)this.color.saturation=t,i="palette-saturation";else{if(e===o)return;this.color.value=e,i="palette-brightness"}this.triggerEvent("palette-bar-change",{color:getColorObject(this.color)}),this.emitColorChange(i),this.setCoreStyle()},formatValue(){return this.color.getFormatsColorMap()[this.properties.format]||this.color.css},onChangeSlider({value:t,isAlpha:e}){e?this.color.alpha=t/100:this.color.hue=t,this.emitColorChange(e?"palette-alpha-bar":"palette-hue-bar"),this.setCoreStyle()},handleSaturationDrag(t){const{usePopup:e,fixed:a}=this.properties,o=getCoordinate(t,this.data.panelRect,e||a),{saturation:i,value:r}=this.getSaturationAndValueByCoordinate(o);this.onChangeSaturation({saturation:i,value:r})},handleSliderDrag(t,e=!1){const{width:a}=this.data.sliderRect,o=getCoordinate(t,this.data.sliderRect),{x:i}=o,r=e?ALPHA_MAX:HUE_MAX;let l=Math.round(i/a*r*100)/100;l<0&&(l=0),l>r&&(l=r),this.onChangeSlider({value:l,isAlpha:e})},handleDiffDrag(t){switch(t.target.dataset.type||t.currentTarget.dataset.type){case"saturation":this.handleSaturationDrag(t);break;case"hue-slider":this.handleSliderDrag(t);break;case"alpha-slider":this.handleSliderDrag(t,!0)}},onTouchStart(t){this.handleDiffDrag(t)},onTouchMove(t){this.handleDiffDrag(t)},onTouchEnd(t){wx.nextTick(()=>{this.handleDiffDrag(t)})},close(t){this.properties.autoClose&&this.setData({visible:!1}),this.triggerEvent("close",{trigger:t})},onVisibleChange(){this.close("overlay")}}}};ColorPicker=__decorate([wxComponent()],ColorPicker);export default ColorPicker;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.json
new file mode 100644
index 0000000..4139673
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.json
@@ -0,0 +1 @@
+{"component":true,"usingComponents":{"t-popup":"../popup/popup"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.wxml
new file mode 100644
index 0000000..b064e62
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.wxss
new file mode 100644
index 0000000..0fc40c2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.wxss
@@ -0,0 +1,42 @@
+@import '../common/style/index.wxss';.t-color-picker__panel{padding:0;width:var(--td-color-picker-panel-width,750rpx);background:var(--td-color-picker-background,#fff);border-top-left-radius:var(--td-color-picker-panel-radius,24rpx);border-top-right-radius:var(--td-color-picker-panel-radius,24rpx);user-select:none;}
+.t-color-picker__body{padding:var(--td-color-picker-panel-padding,32rpx);padding-bottom:56rpx;}
+.t-color-picker__thumb{position:absolute;z-index:1;outline:0;width:var(--td-color-picker-slider-thumb-size,48rpx);height:var(--td-color-picker-slider-thumb-size,48rpx);border-radius:var(--td-color-picker-border-radius-circle,50%);box-shadow:var(--td-shadow-1,0 1px 10px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.08),0 2px 4px -1px rgba(0,0,0,.12));color:var(--td-text-color-brand,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));box-sizing:border-box;}
+.t-color-picker__thumb::after,.t-color-picker__thumb::before{content:'';position:absolute;border-radius:var(--td-color-picker-border-radius-circle,50%);box-sizing:border-box;display:block;border:1px solid #dcdcdc;}
+.t-color-picker__thumb::before{left:0;top:0;width:100%;height:100%;background-color:#fff;}
+.t-color-picker__thumb::after{left:3px;top:3px;width:calc(100% - 6px);height:calc(100% - 6px);padding:var(--td-color-picker-slider-thumb-padding,6rpx);background:currentcolor;}
+.t-color-picker__saturation{height:var(--td-color-picker-saturation-height,288rpx);border-radius:var(--td-color-picker-saturation-radius,12rpx);position:relative;overflow:hidden;background:0 0;}
+.t-color-picker__saturation::after,.t-color-picker__saturation::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;}
+.t-color-picker__saturation::before{background:linear-gradient(90deg,#fff,transparent);}
+.t-color-picker__saturation::after{background:linear-gradient(0deg,#000,transparent);}
+.t-color-picker__saturation .t-color-picker__thumb{width:var(--td-color-picker-saturation-thumb-size,48rpx);height:var(--td-color-picker-saturation-thumb-size,48rpx);border-radius:var(--td-color-picker-border-radius-circle,50%);transform:translate(-50%,-50%);}
+.t-color-picker__slider-wrapper{border-radius:calc(var(--td-color-picker-slider-height,16rpx)/ 2);padding:var(--td-color-picker-slider-wrapper-padding,0 18rpx);position:relative;}
+.t-color-picker__slider-wrapper--hue-type{background:linear-gradient(90deg,red,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);margin:16rpx 0;}
+.t-color-picker__slider-wrapper--alpha-type{background:var(--td-text-color-anti,var(--td-font-white-1,#fff));margin:40rpx 0 16rpx 0;background-image:linear-gradient(45deg,#c5c5c5 25%,transparent 0,transparent 75%,#c5c5c5 0,#c5c5c5),linear-gradient(45deg,#c5c5c5 25%,transparent 0,transparent 75%,#c5c5c5 0,#c5c5c5);background-size:6px 6px;background-position:0 0,3px 3px;}
+.t-color-picker__slider-wrapper--alpha-type .t-color-picker__rail{background:linear-gradient(to right,transparent,currentcolor);}
+.t-color-picker__slider-padding{position:absolute;left:0;top:0;width:100%;height:var(--td-color-picker-slider-height,16rpx);border-radius:calc(var(--td-color-picker-slider-height,16rpx)/ 2);}
+.t-color-picker__slider{height:var(--td-color-picker-slider-height,16rpx);position:relative;border-radius:calc(var(--td-color-picker-slider-height,16rpx)/ 2);color:transparent;outline:0;z-index:1;}
+.t-color-picker__slider .t-color-picker__thumb{transform:translate(var(--td-color-picker-slider-thumb-transform-x,-18rpx),-50%);top:50%;}
+.t-color-picker__slider .t-color-picker__rail{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;border-radius:inherit;}
+.t-color-picker__sliders-wrapper{display:flex;align-items:center;margin:32rpx 0 40rpx;}
+.t-color-picker__sliders{width:100%;}
+.t-color-picker__sliders-preview{flex-shrink:0;margin-left:var(--td-color-picker-margin,24rpx);width:var(--td-color-picker-gradient-preview-width,56rpx);height:var(--td-color-picker-gradient-preview-height,56rpx);border-radius:var(--td-color-picker-gradient-preview-radius,6rpx);overflow:hidden;background:var(--td-text-color-anti,var(--td-font-white-1,#fff));background-image:linear-gradient(45deg,#c5c5c5 25%,transparent 0,transparent 75%,#c5c5c5 0,#c5c5c5),linear-gradient(45deg,#c5c5c5 25%,transparent 0,transparent 75%,#c5c5c5 0,#c5c5c5);background-size:6px 6px;background-position:0 0,3px 3px;}
+.t-color-picker__sliders-preview-inner{display:block;width:100%;height:100%;}
+.t-color-picker__format{display:flex;align-items:center;justify-content:space-between;color:rgba(0,0,0,.4);font-size:28rpx;text-align:center;line-height:56rpx;height:56rpx;margin-top:40rpx;}
+.t-color-picker__format-item{background:var(--td-color-picker-format-background-color,var(--td-gray-color-1,#f3f3f3));}
+.t-color-picker__format-item--first{flex-shrink:0;width:136rpx;border:1px solid #dcdcdc;border-radius:12rpx;margin-right:24rpx;}
+.t-color-picker__format-item--second{flex:1;}
+.t-color-picker__format-inputs{display:flex;align-items:center;justify-content:space-around;}
+.t-color-picker__format-input{flex:1;width:0;margin-left:-1px;border:1px solid #dcdcdc;border-radius:12rpx;}
+.t-color-picker__format-input:not(:first-child):not(:last-child){border-radius:0;}
+.t-color-picker__format-input:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0;}
+.t-color-picker__format-input:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;}
+.t-color-picker__format-input--fixed{flex-shrink:0;flex-grow:0;flex-basis:133rpx;}
+.t-color-picker__swatches-wrap{margin-top:56rpx;position:relative;}
+.t-color-picker__swatches+.t-color-picker__swatches{margin-top:var(--td-color-picker-margin,24rpx);}
+.t-color-picker__swatches-title{font:var(--td-color-picker-swatches-title-font,32rpx);padding:0;color:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:space-between;height:48rpx;line-height:48rpx;}
+.t-color-picker__swatches-items{margin-top:24rpx;width:100%;list-style:none;display:flex;overflow-x:auto;overflow-y:auto;}
+.t-color-picker__swatches-items::-webkit-scrollbar{display:none;width:0;height:0;color:transparent;}
+.t-color-picker__swatches-item{width:var(--td-color-picker-swatch-width,48rpx);height:var(--td-color-picker-swatch-height,48rpx);border-radius:6rpx;padding:var(--td-color-picker-swatch-padding,0);overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;transform-origin:center;transition:all var(--td-anim-duration-base,.2s) var(--td-anim-time-fn-easing,cubic-bezier(.38,0,.24,1));box-sizing:border-box;flex-shrink:0;margin-right:24rpx;border-radius:var(--td-color-picker-swatch-border-radius,6rpx);}
+.t-color-picker__swatches-item::after{content:'';width:100%;height:100%;position:absolute;left:0;top:0;opacity:0;background:rgba(0,0,0,.2);}
+.t-color-picker__swatches-item:active::after{opacity:1;}
+.t-color-picker__swatches-inner{width:100%;height:100%;display:block;border-radius:var(--td-color-picker-swatch-border-radius,6rpx);position:relative;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/constants.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/constants.d.ts
new file mode 100644
index 0000000..95998fb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/constants.d.ts
@@ -0,0 +1,7 @@
+export declare const DEFAULT_COLOR = "#001F97";
+export declare const DEFAULT_SYSTEM_SWATCH_COLORS: string[];
+export declare const SATURATION_PANEL_DEFAULT_WIDTH = 343;
+export declare const SATURATION_PANEL_DEFAULT_HEIGHT = 144;
+export declare const SLIDER_DEFAULT_WIDTH = 303;
+export declare const HUE_MAX = 360;
+export declare const ALPHA_MAX = 100;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/constants.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/constants.js
new file mode 100644
index 0000000..ee1c4b2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/constants.js
@@ -0,0 +1 @@
+export const DEFAULT_COLOR="#001F97";export const DEFAULT_SYSTEM_SWATCH_COLORS=["#F2F3FF","#D9E1FF","#B5C7FF","#8EABFF","#618DFF","#366EF4","#0052D9","#003CAB","#002A7C","#001A57"];export const SATURATION_PANEL_DEFAULT_WIDTH=343;export const SATURATION_PANEL_DEFAULT_HEIGHT=144;export const SLIDER_DEFAULT_WIDTH=303;export const HUE_MAX=360;export const ALPHA_MAX=100;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/interfaces.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/interfaces.d.ts
new file mode 100644
index 0000000..df8e678
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/interfaces.d.ts
@@ -0,0 +1,5 @@
+export interface Coordinate {
+ x: number;
+ y: number;
+}
+export declare type ColorPickerChangeTrigger = 'palette-saturation-brightness' | 'palette-saturation' | 'palette-brightness' | 'palette-hue-bar' | 'palette-alpha-bar' | 'preset';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/interfaces.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/interfaces.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/interfaces.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/props.d.ts
new file mode 100644
index 0000000..177f6e1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/props.d.ts
@@ -0,0 +1,3 @@
+import { TdColorPickerProps } from './type';
+declare const props: TdColorPickerProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/props.js
new file mode 100644
index 0000000..8e63447
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/props.js
@@ -0,0 +1 @@
+const props={autoClose:{type:Boolean,value:!0},colorModes:{type:null,value:"monochrome"},enableAlpha:{type:Boolean,value:!1},enableMultipleGradient:{type:Boolean,value:!0},fixed:{type:Boolean,value:!1},format:{type:String,value:"RGB"},popupProps:{type:Object,value:{}},swatchColors:{type:Array,value:void 0},type:{type:String,value:"base"},usePopup:{type:Boolean,value:!1},value:{type:String,value:null},defaultValue:{type:String,value:""},visible:{type:Boolean,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/template.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/template.wxml
new file mode 100644
index 0000000..00f1f0e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/template.wxml
@@ -0,0 +1 @@
+{{format}}{{item}}系统预设色彩
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/type.d.ts
new file mode 100644
index 0000000..0020a67
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/type.d.ts
@@ -0,0 +1,57 @@
+import { PopupProps } from '../popup/index';
+export interface TdColorPickerProps {
+ autoClose?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ colorModes?: {
+ type: null;
+ value?: colorModesEnum | colorModesEnum[];
+ };
+ enableAlpha?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ enableMultipleGradient?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ fixed?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ format?: {
+ type: StringConstructor;
+ value?: 'HEX' | 'HEX8' | 'RGB' | 'RGBA' | 'HSL' | 'HSLA' | 'HSV' | 'HSVA' | 'CMYK' | 'CSS';
+ };
+ popupProps?: {
+ type: ObjectConstructor;
+ value?: PopupProps;
+ };
+ swatchColors?: {
+ type: ArrayConstructor;
+ value?: Array | null | undefined;
+ };
+ type?: {
+ type: StringConstructor;
+ value?: TypeEnum;
+ };
+ usePopup?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ value?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ defaultValue?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}
+export declare type colorModesEnum = 'monochrome' | 'linear-gradient';
+export declare type TypeEnum = 'base' | 'multiple';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/utils.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/utils.d.ts
new file mode 100644
index 0000000..c985ed7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/utils.d.ts
@@ -0,0 +1 @@
+export * from '../common/shared/color-picker/index';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/utils.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/utils.js
new file mode 100644
index 0000000..4bdc293
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/color-picker/utils.js
@@ -0,0 +1 @@
+export*from"../common/shared/color-picker/index";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/bus.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/bus.d.ts
new file mode 100644
index 0000000..fddbb54
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/bus.d.ts
@@ -0,0 +1,7 @@
+export default class Bus {
+ listeners: Map;
+ emitted: Set;
+ constructor();
+ on(evtName: string, listener: any): void;
+ emit(evtName: string): void;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/bus.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/bus.js
new file mode 100644
index 0000000..81ea9eb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/bus.js
@@ -0,0 +1 @@
+export default class Bus{constructor(){this.listeners=new Map,this.emitted=new Set}on(t,e){if(this.emitted.has(t))return void e();const s=this.listeners.get(t)||[];s.push(e),this.listeners.set(t,s)}emit(t){const e=this.listeners.get(t);e&&e.forEach(t=>t()),this.emitted.add(t)}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/common.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/common.d.ts
new file mode 100644
index 0000000..12f8f81
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/common.d.ts
@@ -0,0 +1,56 @@
+export declare type Classes = Array;
+export interface Styles {
+ [css: string]: string | number;
+}
+export declare type ImageEvent = any;
+export declare type PlainObject = {
+ [key: string]: any;
+};
+export declare type OptionData = {
+ label?: string;
+ value?: string | number;
+} & PlainObject;
+export declare type TreeOptionData = {
+ children?: Array> | boolean;
+ label?: string;
+ text?: string;
+ value?: T;
+ content?: string;
+} & PlainObject;
+export declare type SizeEnum = 'small' | 'medium' | 'large';
+export declare type ShapeEnum = 'circle' | 'round';
+export declare type HorizontalAlignEnum = 'left' | 'center' | 'right';
+export declare type VerticalAlignEnum = 'top' | 'middle' | 'bottom';
+export declare type LayoutEnum = 'vertical' | 'horizontal';
+export declare type ClassName = {
+ [className: string]: any;
+} | ClassName[] | string;
+export declare type CSSSelector = string;
+export interface KeysType {
+ value?: string;
+ label?: string;
+ disabled?: string;
+}
+export interface TreeKeysType extends KeysType {
+ children?: string;
+}
+export interface HTMLElementAttributes {
+ [attribute: string]: string;
+}
+export interface TScroll {
+ bufferSize?: number;
+ isFixedRowHeight?: boolean;
+ rowHeight?: number;
+ threshold?: number;
+ type: 'lazy' | 'virtual';
+}
+export declare type InfinityScroll = TScroll;
+export interface ScrollToElementParams {
+ index?: number;
+ top?: number;
+ time?: number;
+ behavior?: 'auto' | 'smooth';
+}
+export interface ComponentScrollToElementParams extends ScrollToElementParams {
+ key?: string | number;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/common.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/common.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/common.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/component.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/component.d.ts
new file mode 100644
index 0000000..a8d86ae
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/component.d.ts
@@ -0,0 +1,3 @@
+///
+declare const TComponent: typeof Component;
+export default TComponent;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/component.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/component.js
new file mode 100644
index 0000000..980c886
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/component.js
@@ -0,0 +1 @@
+const TComponent=o=>(o.options=Object.assign({multipleSlots:!0,addGlobalClass:!0},o.options),Component(o));export default TComponent;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/config.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/config.d.ts
new file mode 100644
index 0000000..68879b4
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/config.d.ts
@@ -0,0 +1,5 @@
+declare const _default: {
+ prefix: string;
+};
+export default _default;
+export declare const prefix = "t";
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/config.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/config.js
new file mode 100644
index 0000000..b655b28
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/config.js
@@ -0,0 +1 @@
+export default{prefix:"t"};export const prefix="t";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/index.d.ts
new file mode 100644
index 0000000..99a0fde
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/index.d.ts
@@ -0,0 +1,20 @@
+import type { TDate, TCalendarType, TCalendarValue } from './type';
+export default class TCalendar {
+ firstDayOfWeek: number;
+ value: TCalendarValue | TCalendarValue[];
+ type: TCalendarType;
+ minDate: Date;
+ maxDate: Date;
+ allowSameDay: Boolean;
+ format: (day: TDate) => TDate;
+ constructor(options?: {});
+ getTrimValue(): Date | Date[];
+ getDays(weekdays: string[]): any[];
+ getMonths(): any[];
+ select({ cellType, year, month, date }: {
+ cellType: any;
+ year: any;
+ month: any;
+ date: any;
+ }): Date | TCalendarValue[];
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/index.js
new file mode 100644
index 0000000..468e84c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/index.js
@@ -0,0 +1 @@
+import{getDateRect,isSameDate,getMonthDateRect,isValidDate,getDate}from"../date";export default class TCalendar{constructor(e={}){this.type="single",Object.assign(this,e),this.minDate||(this.minDate=getDate()),this.maxDate||(this.maxDate=getDate(6))}getTrimValue(){const{value:e,type:t}=this,a=e=>e instanceof Date?e:"number"==typeof e?new Date(e):new Date;if("single"===t&&isValidDate(e))return a(e);if("multiple"===t||"range"===t){if(Array.isArray(e)){return e.every(e=>isValidDate(e))?e.map(e=>a(e)):[]}return[]}}getDays(e){const t=[];let a=this.firstDayOfWeek%7;for(;t.length<7;)t.push(e[a]),a=(a+1)%7;return t}getMonths(){const e=[],t=this.getTrimValue(),{minDate:a,maxDate:i,type:r,allowSameDay:s,format:n}=this,m=getDateRect(a);let{year:l,month:o}=m;const{time:D}=m,{year:h,month:u,time:y}=getDateRect(i),c=(e,a,i)=>{const n=new Date(e,a,i,23,59,59);if("single"===r&&t&&isSameDate({year:e,month:a,date:i},t))return"selected";if("multiple"===r&&t){if(t.some(t=>isSameDate({year:e,month:a,date:i},t)))return"selected"}if("range"===r&&t&&Array.isArray(t)){const[r,m]=t,l=r&&isSameDate({year:e,month:a,date:i},r),o=m&&isSameDate({year:e,month:a,date:i},m);if(l&&o&&s)return"start-end";if(l)return"start";if(o)return"end";if(r&&m&&n.getTime()>r.getTime()&&n.getTime()y?"disabled":""};for(;lt.lastDate);e+=1){const t={date:new Date(l,o,e),day:e,type:c(l,o,e)};a.push(n?n(t):t)}e.push({year:l,month:o,months:a,weekdayOfFirstDay:t.weekdayOfFirstDay});const i=getDateRect(new Date(l,o+1,1));l=i.year,o=i.month}return e}select({cellType:e,year:t,month:a,date:i}){const{type:r}=this,s=this.getTrimValue();if("disabled"===e)return;const n=new Date(t,a,i);if(this.value=n,"range"===r&&Array.isArray(s))1===s.length&&n>=s[0]?this.value=[s[0],n]:this.value=[n];else if("multiple"===r&&Array.isArray(s)){const e=[...s],t=s.findIndex(e=>isSameDate(e,n));t>-1?e.splice(t,1):e.push(n),this.value=e}return this.value}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/type.d.ts
new file mode 100644
index 0000000..9cc00fc
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/type.d.ts
@@ -0,0 +1,11 @@
+export declare type TCalendarValue = number | Date;
+export declare type TDateType = 'selected' | 'disabled' | 'start-end' | 'start' | 'centre' | 'end' | '';
+export declare type TCalendarType = 'single' | 'multiple' | 'range';
+export interface TDate {
+ date: Date;
+ day: number;
+ type: TDateType;
+ className?: string;
+ prefix?: string;
+ suffix?: string;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/calendar/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/cmyk.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/cmyk.d.ts
new file mode 100644
index 0000000..d0e92a8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/cmyk.d.ts
@@ -0,0 +1,7 @@
+export declare const rgb2cmyk: (red: number, green: number, blue: number) => number[];
+export declare const cmyk2rgb: (cyan: number, magenta: number, yellow: number, black: number) => {
+ r: number;
+ g: number;
+ b: number;
+};
+export declare const cmykInputToColor: (input: string) => string;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/cmyk.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/cmyk.js
new file mode 100644
index 0000000..6fa325a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/cmyk.js
@@ -0,0 +1 @@
+export const rgb2cmyk=(t,r,e)=>{let n=0,o=0,c=0,a=0;const s=parseInt(`${t}`.replace(/\s/g,""),10),m=parseInt(`${r}`.replace(/\s/g,""),10),u=parseInt(`${e}`.replace(/\s/g,""),10);if(0===s&&0===m&&0===u)return a=1,[0,0,0,1];n=1-s/255,o=1-m/255,c=1-u/255;const p=Math.min(n,Math.min(o,c));return n=(n-p)/(1-p),o=(o-p)/(1-p),c=(c-p)/(1-p),a=p,[n,o,c,a]};export const cmyk2rgb=(t,r,e,n)=>{let o=t/100,c=r/100,a=e/100;const s=n/100;o=o*(1-s)+s,c=c*(1-s)+s,a=a*(1-s)+s;let m=1-o,u=1-c,p=1-a;return m=Math.round(255*m),u=Math.round(255*u),p=Math.round(255*p),{r:m,g:u,b:p}};const REG_CMYK_STRING=/cmyk\((\d+%?),(\d+%?),(\d+%?),(\d+%?)\)/,toNumber=t=>Math.max(0,Math.min(255,parseInt(t,10)));export const cmykInputToColor=t=>{if(/cmyk/i.test(t)){const r=t.replace(/\s/g,"").match(REG_CMYK_STRING),e=toNumber(r[1]),n=toNumber(r[2]),o=toNumber(r[3]),c=toNumber(r[4]),{r:a,g:s,b:m}=cmyk2rgb(e,n,o,c);return`rgb(${a}, ${s}, ${m})`}return t};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/color.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/color.d.ts
new file mode 100644
index 0000000..9b17162
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/color.d.ts
@@ -0,0 +1,107 @@
+import tinyColor from 'tinycolor2/esm/tinycolor';
+import { GradientColors, GradientColorPoint } from './gradient';
+export interface ColorObject {
+ alpha: number;
+ css: string;
+ hex: string;
+ hex8: string;
+ hsl: string;
+ hsla: string;
+ hsv: string;
+ hsva: string;
+ rgb: string;
+ rgba: string;
+ saturation: number;
+ value: number;
+ isGradient: boolean;
+ linearGradient?: string;
+}
+interface ColorStates {
+ s: number;
+ v: number;
+ h: number;
+ a: number;
+}
+interface GradientStates {
+ colors: GradientColorPoint[];
+ degree: number;
+ selectedId: string;
+ css?: string;
+}
+export declare const gradientColors2string: (object: GradientColors) => string;
+export declare const getColorWithoutAlpha: (color: string) => any;
+export declare const genId: () => string;
+export declare const genGradientPoint: (left: number, color: string) => GradientColorPoint;
+export declare class Color {
+ states: ColorStates;
+ originColor: string;
+ isGradient: boolean;
+ gradientStates: GradientStates;
+ constructor(input: string);
+ update(input: string): void;
+ get saturation(): number;
+ set saturation(value: number);
+ get value(): number;
+ set value(value: number);
+ get hue(): number;
+ set hue(value: number);
+ get alpha(): number;
+ set alpha(value: number);
+ get rgb(): string;
+ get rgba(): string;
+ get hsv(): string;
+ get hsva(): string;
+ get hsl(): string;
+ get hsla(): string;
+ get hex(): any;
+ get hex8(): any;
+ get cmyk(): string;
+ get css(): string;
+ get linearGradient(): string;
+ get gradientColors(): GradientColorPoint[];
+ set gradientColors(colors: GradientColorPoint[]);
+ get gradientSelectedId(): string;
+ set gradientSelectedId(id: string);
+ get gradientDegree(): number;
+ set gradientDegree(degree: number);
+ get gradientSelectedPoint(): GradientColorPoint;
+ getFormatsColorMap(): {
+ HEX: any;
+ CMYK: string;
+ RGB: string;
+ RGBA: string;
+ HSL: string;
+ HSLA: string;
+ HSV: string;
+ HSVA: string;
+ CSS: string;
+ HEX8: any;
+ };
+ updateCurrentGradientColor(): false | this;
+ updateStates(input: string): void;
+ getRgba(): {
+ r: number;
+ g: number;
+ b: number;
+ a: tinyColor.ColorFormats.RGBA;
+ };
+ getCmyk(): {
+ c: number;
+ m: number;
+ y: number;
+ k: number;
+ };
+ getHsva(): tinyColor.ColorFormats.HSVA;
+ getHsla(): tinyColor.ColorFormats.HSLA;
+ equals(color: string): boolean;
+ static isValid(color: string): boolean;
+ static hsva2color(h: number, s: number, v: number, a: number): any;
+ static hsla2color(h: number, s: number, l: number, a: number): any;
+ static rgba2color(r: number, g: number, b: number, a: number): any;
+ static hex2color(hex: string, a: number): any;
+ static object2color(object: any, format: string): any;
+ static isGradientColor: (input: string) => boolean;
+ static compare: (color1: string, color2: string) => boolean;
+}
+export declare const getColorObject: (color: Color) => ColorObject;
+export default Color;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/color.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/color.js
new file mode 100644
index 0000000..691a5cc
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/color.js
@@ -0,0 +1 @@
+import tinyColor from"tinycolor2/esm/tinycolor";import{cmykInputToColor,rgb2cmyk}from"./cmyk";import{parseGradientString,isGradientColor}from"./gradient";const mathRound=Math.round,hsv2rgba=t=>tinyColor(t).toRgb(),hsv2hsva=t=>tinyColor(t).toHsv(),hsv2hsla=t=>tinyColor(t).toHsl();export const gradientColors2string=t=>{const{points:e,degree:r}=t;return`linear-gradient(${r}deg,${e.sort((t,e)=>t.left-e.left).map(t=>`${t.color} ${Math.round(100*t.left)/100}%`).join(",")})`};export const getColorWithoutAlpha=t=>tinyColor(t).setAlpha(1).toHexString();export const genId=()=>(1+4294967295*Math.random()).toString(16);export const genGradientPoint=(t,e)=>({id:genId(),left:t,color:e});export class Color{constructor(t){this.states={s:100,v:100,h:100,a:1},this.gradientStates={colors:[],degree:0,selectedId:null,css:""},this.update(t)}update(t){var e,r;const s=parseGradientString(t);if(this.isGradient&&!s){const e=tinyColor(t).toHsv();return this.states=e,void this.updateCurrentGradientColor()}this.originColor=t,this.isGradient=!1;let a=t;if(s){this.isGradient=!0;const t=s,i=t.points.map(t=>genGradientPoint(t.left,t.color));this.gradientStates={colors:i,degree:t.degree,selectedId:(null===(e=i[0])||void 0===e?void 0:e.id)||null},this.gradientStates.css=this.linearGradient,a=null===(r=this.gradientSelectedPoint)||void 0===r?void 0:r.color}this.updateStates(a)}get saturation(){return this.states.s}set saturation(t){this.states.s=Math.max(0,Math.min(100,t)),this.updateCurrentGradientColor()}get value(){return this.states.v}set value(t){this.states.v=Math.max(0,Math.min(100,t)),this.updateCurrentGradientColor()}get hue(){return this.states.h}set hue(t){this.states.h=Math.max(0,Math.min(360,t)),this.updateCurrentGradientColor()}get alpha(){return this.states.a}set alpha(t){this.states.a=Math.max(0,Math.min(1,Math.round(100*t)/100)),this.updateCurrentGradientColor()}get rgb(){const{r:t,g:e,b:r}=hsv2rgba(this.states);return`rgb(${mathRound(t)}, ${mathRound(e)}, ${mathRound(r)})`}get rgba(){const{r:t,g:e,b:r,a:s}=hsv2rgba(this.states);return`rgba(${mathRound(t)}, ${mathRound(e)}, ${mathRound(r)}, ${s})`}get hsv(){const{h:t,s:e,v:r}=this.getHsva();return`hsv(${t}, ${e}%, ${r}%)`}get hsva(){const{h:t,s:e,v:r,a:s}=this.getHsva();return`hsva(${t}, ${e}%, ${r}%, ${s})`}get hsl(){const{h:t,s:e,l:r}=this.getHsla();return`hsl(${t}, ${e}%, ${r}%)`}get hsla(){const{h:t,s:e,l:r,a:s}=this.getHsla();return`hsla(${t}, ${e}%, ${r}%, ${s})`}get hex(){return tinyColor(this.states).toHexString()}get hex8(){return tinyColor(this.states).toHex8String()}get cmyk(){const{c:t,m:e,y:r,k:s}=this.getCmyk();return`cmyk(${t}, ${e}, ${r}, ${s})`}get css(){return this.isGradient?this.linearGradient:this.rgba}get linearGradient(){const{gradientColors:t,gradientDegree:e}=this;return gradientColors2string({points:t,degree:e})}get gradientColors(){return this.gradientStates.colors}set gradientColors(t){this.gradientStates.colors=t,this.gradientStates.css=this.linearGradient}get gradientSelectedId(){return this.gradientStates.selectedId}set gradientSelectedId(t){var e;t!==this.gradientSelectedId&&(this.gradientStates.selectedId=t,this.updateStates(null===(e=this.gradientSelectedPoint)||void 0===e?void 0:e.color))}get gradientDegree(){return this.gradientStates.degree}set gradientDegree(t){this.gradientStates.degree=Math.max(0,Math.min(360,t)),this.gradientStates.css=this.linearGradient}get gradientSelectedPoint(){const{gradientColors:t,gradientSelectedId:e}=this;return t.find(t=>t.id===e)}getFormatsColorMap(){return{HEX:this.hex,CMYK:this.cmyk,RGB:this.rgb,RGBA:this.rgba,HSL:this.hsl,HSLA:this.hsla,HSV:this.hsv,HSVA:this.hsva,CSS:this.css,HEX8:this.hex8}}updateCurrentGradientColor(){const{isGradient:t,gradientColors:e,gradientSelectedId:r}=this,{length:s}=e,a=this.gradientSelectedPoint;if(!t||0===s||!a)return!1;const i=e.findIndex(t=>t.id===r),n=Object.assign(Object.assign({},a),{color:this.rgba});return e.splice(i,1,n),this.gradientColors=e.slice(),this}updateStates(t){const e=tinyColor(cmykInputToColor(t)).toHsv();this.states=e}getRgba(){const{r:t,g:e,b:r,a:s}=hsv2rgba(this.states);return{r:mathRound(t),g:mathRound(e),b:mathRound(r),a:s}}getCmyk(){const{r:t,g:e,b:r}=this.getRgba(),[s,a,i,n]=rgb2cmyk(t,e,r);return{c:mathRound(100*s),m:mathRound(100*a),y:mathRound(100*i),k:mathRound(100*n)}}getHsva(){let{h:t,s:e,v:r,a:s}=hsv2hsva(this.states);return t=mathRound(t),e=mathRound(100*e),r=mathRound(100*r),s*=1,{h:t,s:e,v:r,a:s}}getHsla(){let{h:t,s:e,l:r,a:s}=hsv2hsla(this.states);return t=mathRound(t),e=mathRound(100*e),r=mathRound(100*r),s*=1,{h:t,s:e,l:r,a:s}}equals(t){return tinyColor.equals(this.rgba,t)}static isValid(t){return!!parseGradientString(t)||tinyColor(t).isValid()}static hsva2color(t,e,r,s){return tinyColor({h:t,s:e,v:r,a:s}).toHsvString()}static hsla2color(t,e,r,s){return tinyColor({h:t,s:e,l:r,a:s}).toHslString()}static rgba2color(t,e,r,s){return tinyColor({r:t,g:e,b:r,a:s}).toHsvString()}static hex2color(t,e){const r=tinyColor(t);return r.setAlpha(e),r.toHexString()}static object2color(t,e){if("CMYK"===e){const{c:e,m:r,y:s,k:a}=t;return`cmyk(${e}, ${r}, ${s}, ${a})`}return tinyColor(t,{format:e}).toRgbString()}}Color.isGradientColor=t=>!!isGradientColor(t),Color.compare=(t,e)=>{const r=Color.isGradientColor(t),s=Color.isGradientColor(e);if(r&&s){return gradientColors2string(parseGradientString(t))===gradientColors2string(parseGradientString(e))}return!r&&!s&&tinyColor.equals(t,e)};const COLOR_OBJECT_OUTPUT_KEYS=["alpha","css","hex","hex8","hsl","hsla","hsv","hsva","rgb","rgba","saturation","value","isGradient"];export const getColorObject=t=>{if(!t)return null;const e=Object.create(null);return COLOR_OBJECT_OUTPUT_KEYS.forEach(r=>e[r]=t[r]),t.isGradient&&(e.linearGradient=t.linearGradient),e};export default Color;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/gradient.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/gradient.d.ts
new file mode 100644
index 0000000..3f496b0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/gradient.d.ts
@@ -0,0 +1,12 @@
+export interface GradientColorPoint {
+ id?: string;
+ color?: string;
+ left?: number;
+}
+export interface GradientColors {
+ points: GradientColorPoint[];
+ degree: number;
+}
+export declare const isGradientColor: (input: string) => null | RegExpExecArray;
+export declare const parseGradientString: (input: string) => GradientColors | boolean;
+export default parseGradientString;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/gradient.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/gradient.js
new file mode 100644
index 0000000..cf2c4d5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/gradient.js
@@ -0,0 +1 @@
+import tinyColor from"tinycolor2/esm/tinycolor";import{isString,isNull}from"../../validator";const combineRegExp=(e,t)=>{let o="";for(let t=0;t{const e=/\s*,\s*/,t=/(?:[+-]?\d*\.?\d+)(?:%|[a-z]+)?/,o=combineRegExp(["(?:",/#(?:[a-f0-9]{6}|[a-f0-9]{3})/,"|","(?:rgb|hsl)",/\(\s*(?:\d{1,3}\s*,\s*){2}\d{1,3}\s*\)/,"|","(?:rgba|hsla)",/\(\s*(?:\d{1,3}\s*,\s*){2}\d{1,3}\s*,\s*\d*\.?\d+\)/,"|",/[_a-z-][_a-z0-9-]*/,")"],""),r=combineRegExp([o,"(?:\\s+",t,"(?:\\s+",t,")?)?"],""),i=combineRegExp(["(?:",r,e,")*",r],""),n=combineRegExp(["(?:(",/(?:[+-]?\d*\.?\d+)(?:deg|grad|rad|turn)/,")|",/to\s+((?:(?:left|right|top|bottom)(?:\s+(?:top|bottom|left|right))?))/,")"],"");return{gradientSearch:combineRegExp(["(?:(",n,")",e,")?(",i,")"],"gi"),colorStopSearch:combineRegExp(["\\s*(",o,")","(?:\\s+","(",t,"))?","(?:",e,"\\s*)?"],"gi")}},parseGradient=(e,t)=>{let o,r,i;e.gradientSearch.lastIndex=0;const n=e.gradientSearch.exec(t);if(!isNull(n))for(o={original:n[0],colorStopList:[]},n[1]&&(o.line=n[1]),n[2]&&(o.angle=n[2]),n[3]&&(o.sideCorner=n[3]),e.colorStopSearch.lastIndex=0,r=e.colorStopSearch.exec(n[4]);!isNull(r);)i={color:r[1]},r[2]&&(i.position=r[2]),o.colorStopList.push(i),r=e.colorStopSearch.exec(n[4]);return o},REGEXP_LIB=generateRegExp(),REG_GRADIENT=/.*gradient\s*\(((?:\([^)]*\)|[^)(]*)*)\)/gim;export const isGradientColor=e=>(REG_GRADIENT.lastIndex=0,REG_GRADIENT.exec(e));const sideCornerDegreeMap={top:0,right:90,bottom:180,left:270,"top left":225,"left top":225,"top right":135,"right top":135,"bottom left":315,"left bottom":315,"bottom right":45,"right bottom":45};export const parseGradientString=e=>{const t=isGradientColor(e);if(!t)return!1;const o={points:[],degree:0},r=parseGradient(REGEXP_LIB,t[1]);if(r.original.trim()!==t[1].trim())return!1;const i=r.colorStopList.map(({color:e,position:t})=>{const o=Object.create(null);return o.color=tinyColor(e).toRgbString(),o.left=parseFloat(t),o});o.points=i;let n=parseInt(r.angle,10);return Number.isNaN(n)&&(n=sideCornerDegreeMap[r.sideCorner]||90),o.degree=n,o};export default parseGradientString;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/index.d.ts
new file mode 100644
index 0000000..ad18475
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/index.d.ts
@@ -0,0 +1,3 @@
+export * from './cmyk';
+export * from './color';
+export * from './gradient';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/index.js
new file mode 100644
index 0000000..7cae9f3
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/color-picker/index.js
@@ -0,0 +1 @@
+export*from"./cmyk";export*from"./color";export*from"./gradient";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/date.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/date.d.ts
new file mode 100644
index 0000000..8988677
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/date.d.ts
@@ -0,0 +1,21 @@
+export declare type CompareDate = Date | number | {
+ year: number;
+ month: number;
+ date: number;
+};
+export declare const getDateRect: (date: Date | number) => {
+ year: number;
+ month: number;
+ date: number;
+ day: number;
+ time: number;
+};
+export declare const isSameDate: (date1: CompareDate, date2: CompareDate) => Boolean;
+export declare const getMonthDateRect: (date: Date | number) => {
+ year: number;
+ month: number;
+ weekdayOfFirstDay: number;
+ lastDate: number;
+};
+export declare const isValidDate: (val: any) => boolean;
+export declare const getDate: (...args: any[]) => any;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/date.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/date.js
new file mode 100644
index 0000000..ac43ef1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/date.js
@@ -0,0 +1 @@
+export const getDateRect=e=>{const t=new Date(e);return{year:t.getFullYear(),month:t.getMonth(),date:t.getDate(),day:t.getDay(),time:t.getTime()}};export const isSameDate=(e,t)=>{(e instanceof Date||"number"==typeof e)&&(e=getDateRect(e)),(t instanceof Date||"number"==typeof t)&&(t=getDateRect(t));return["year","month","date"].every(a=>e[a]===t[a])};export const getMonthDateRect=e=>{const{year:t,month:a}=getDateRect(e);return{year:t,month:a,weekdayOfFirstDay:new Date(t,a,1).getDay(),lastDate:new Date(+new Date(t,a+1,1)-864e5).getDate()}};export const isValidDate=e=>"number"==typeof e||e instanceof Date;export const getDate=(...e)=>{const t=new Date;if(0===e.length)return t;if(1===e.length&&e[0]<=1e3){const{year:a,month:n,date:r}=getDateRect(t);return new Date(a,n+e[0],r)}return Date.apply(null,e)};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/qrcodegen.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/qrcodegen.d.ts
new file mode 100644
index 0000000..5885368
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/qrcodegen.d.ts
@@ -0,0 +1,80 @@
+export declare class Mode {
+ static readonly NUMERIC: Mode;
+ static readonly ALPHANUMERIC: Mode;
+ static readonly BYTE: Mode;
+ static readonly KANJI: Mode;
+ static readonly ECI: Mode;
+ modeBits: number;
+ private numBitsCharCount;
+ private constructor();
+ numCharCountBits(ver: number): number;
+}
+export declare class Ecc {
+ static readonly LOW: Ecc;
+ static readonly MEDIUM: Ecc;
+ static readonly QUARTILE: Ecc;
+ static readonly HIGH: Ecc;
+ ordinal: number;
+ formatBits: number;
+ private constructor();
+}
+export declare class QrSegment {
+ static makeBytes(data: Readonly): QrSegment;
+ static makeNumeric(digits: string): QrSegment;
+ static makeAlphanumeric(text: string): QrSegment;
+ static makeSegments(text: string): QrSegment[];
+ static makeEci(assignVal: number): QrSegment;
+ static isNumeric(text: string): boolean;
+ static isAlphanumeric(text: string): boolean;
+ mode: Mode;
+ numChars: number;
+ private bitData;
+ constructor(mode: Mode, numChars: number, bitData: number[]);
+ getData(): number[];
+ static getTotalBits(segs: Readonly, version: number): number;
+ private static toUtf8ByteArray;
+ private static readonly NUMERIC_REGEX;
+ private static readonly ALPHANUMERIC_REGEX;
+ private static readonly ALPHANUMERIC_CHARSET;
+}
+export declare class QrCode {
+ static encodeText(text: string, ecl: Ecc): QrCode;
+ static encodeBinary(data: Readonly, ecl: Ecc): QrCode;
+ static encodeSegments(segs: Readonly, oriEcl: Ecc, minVersion?: number, maxVersion?: number, mask?: number, boostEcl?: boolean): QrCode;
+ readonly size: number;
+ readonly mask: number;
+ private readonly modules;
+ private readonly isFunction;
+ version: number;
+ errorCorrectionLevel: Ecc;
+ constructor(version: number, errorCorrectionLevel: Ecc, dataCodewords: Readonly, oriMsk: number);
+ getModule(x: number, y: number): boolean;
+ getModules(): boolean[][];
+ private drawFunctionPatterns;
+ private drawFormatBits;
+ private drawVersion;
+ private drawFinderPattern;
+ private drawAlignmentPattern;
+ private setFunctionModule;
+ private addEccAndInterleave;
+ private drawCodewords;
+ private applyMask;
+ private getPenaltyScore;
+ private getAlignmentPatternPositions;
+ private static getNumRawDataModules;
+ private static getNumDataCodewords;
+ private static reedSolomonComputeDivisor;
+ private static reedSolomonComputeRemainder;
+ private static reedSolomonMultiply;
+ private finderPenaltyCountPatterns;
+ private finderPenaltyTerminateAndCount;
+ private finderPenaltyAddHistory;
+ static readonly MIN_VERSION: number;
+ static readonly MAX_VERSION: number;
+ private static readonly PENALTY_N1;
+ private static readonly PENALTY_N2;
+ private static readonly PENALTY_N3;
+ private static readonly PENALTY_N4;
+ private static readonly ECC_CODEWORDS_PER_BLOCK;
+ private static readonly NUM_ERROR_CORRECTION_BLOCKS;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/qrcodegen.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/qrcodegen.js
new file mode 100644
index 0000000..c7907fb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/qrcodegen.js
@@ -0,0 +1 @@
+function appendBits(t,e,r){if(e<0||e>31||t>>>e!==0)throw new RangeError("Value out of range");for(let o=e-1;o>=0;o--)r.push(t>>>o&1)}function getBit(t,e){return!!(t>>>e&1)}function assert(t){if(!t)throw new Error("Assertion error")}export class Mode{constructor(t,e){this.modeBits=t,this.numBitsCharCount=e}numCharCountBits(t){return this.numBitsCharCount[Math.floor((t+7)/17)]}}Mode.NUMERIC=new Mode(1,[10,12,14]),Mode.ALPHANUMERIC=new Mode(2,[9,11,13]),Mode.BYTE=new Mode(4,[8,16,16]),Mode.KANJI=new Mode(8,[8,10,12]),Mode.ECI=new Mode(7,[0,0,0]);export class Ecc{constructor(t,e){this.ordinal=t,this.formatBits=e}}Ecc.LOW=new Ecc(0,1),Ecc.MEDIUM=new Ecc(1,0),Ecc.QUARTILE=new Ecc(2,3),Ecc.HIGH=new Ecc(3,2);export class QrSegment{constructor(t,e,r){if(this.mode=t,this.numChars=e,this.bitData=r,e<0)throw new RangeError("Invalid argument");this.bitData=r.slice()}static makeBytes(t){const e=[];for(const r of t)appendBits(r,8,e);return new QrSegment(Mode.BYTE,t.length,e)}static makeNumeric(t){if(!QrSegment.isNumeric(t))throw new RangeError("String contains non-numeric characters");const e=[];for(let r=0;r=1<QrCode.MAX_VERSION)throw new RangeError("Version value out of range");if(s<-1||s>7)throw new RangeError("Mask value out of range");this.size=4*t+17;const n=[];for(let t=0;t=0&&s<=7),this.mask=s,this.applyMask(s),this.drawFormatBits(s),this.isFunction=[]}static encodeText(t,e){const r=QrSegment.makeSegments(t);return QrCode.encodeSegments(r,e)}static encodeBinary(t,e){const r=QrSegment.makeBytes(t);return QrCode.encodeSegments([r],e)}static encodeSegments(t,e,r=1,o=40,s=-1,n=!0){if(!(QrCode.MIN_VERSION<=r&&r<=o&&o<=QrCode.MAX_VERSION)||s<-1||s>7)throw new RangeError("Invalid value");let i,a;for(i=r;;i++){const r=8*QrCode.getNumDataCodewords(i,e),s=QrSegment.getTotalBits(t,i);if(s<=r){a=s;break}if(i>=o)throw new RangeError("Data too long")}let h=e;for(const t of[Ecc.MEDIUM,Ecc.QUARTILE,Ecc.HIGH])n&&a<=8*QrCode.getNumDataCodewords(i,t)&&(h=t);const l=[];for(const e of t){appendBits(e.mode.modeBits,4,l),appendBits(e.numChars,e.mode.numCharCountBits(i),l);for(const t of e.getData())l.push(t)}assert(l.length===a);const d=8*QrCode.getNumDataCodewords(i,h);assert(l.length<=d),appendBits(0,Math.min(4,d-l.length),l),appendBits(0,(8-l.length%8)%8,l),assert(l.length%8==0);for(let t=236;l.length{c[e>>>3]|=t<<7-(7&e)}),new QrCode(i,h,c,s)}getModule(t,e){return t>=0&&t=0&&e>>9);const o=21522^(e<<10|r);assert(o>>>15==0);for(let t=0;t<=5;t++)this.setFunctionModule(8,t,getBit(o,t));this.setFunctionModule(8,7,getBit(o,6)),this.setFunctionModule(8,8,getBit(o,7)),this.setFunctionModule(7,8,getBit(o,8));for(let t=9;t<15;t++)this.setFunctionModule(14-t,8,getBit(o,t));for(let t=0;t<8;t++)this.setFunctionModule(this.size-1-t,8,getBit(o,t));for(let t=8;t<15;t++)this.setFunctionModule(8,this.size-15+t,getBit(o,t));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let t=this.version;for(let e=0;e<12;e++)t=t<<1^7973*(t>>>11);const e=this.version<<12|t;assert(e>>>18==0);for(let t=0;t<18;t++){const r=getBit(e,t),o=this.size-11+t%3,s=Math.floor(t/3);this.setFunctionModule(o,s,r),this.setFunctionModule(s,o,r)}}drawFinderPattern(t,e){for(let r=-4;r<=4;r++)for(let o=-4;o<=4;o++){const s=Math.max(Math.abs(o),Math.abs(r)),n=t+o,i=e+r;n>=0&&n=0&&i{(t!==a-s||r>=i)&&d.push(e[t])});return assert(d.length===n),d}drawCodewords(t){if(t.length!==Math.floor(QrCode.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");let e=0;for(let r=this.size-1;r>=1;r-=2){6===r&&(r=5);for(let o=0;o>>3],7-(7&e)),e++)}}assert(e===8*t.length)}applyMask(t){if(t<0||t>7)throw new RangeError("Mask value out of range");for(let e=0;e5&&t++):(this.finderPenaltyAddHistory(o,s),r||(t+=this.finderPenaltyCountPatterns(s)*QrCode.PENALTY_N3),r=this.modules[e][n],o=1);t+=this.finderPenaltyTerminateAndCount(r,o,s)*QrCode.PENALTY_N3}for(let e=0;e5&&t++):(this.finderPenaltyAddHistory(o,s),r||(t+=this.finderPenaltyCountPatterns(s)*QrCode.PENALTY_N3),r=this.modules[n][e],o=1);t+=this.finderPenaltyTerminateAndCount(r,o,s)*QrCode.PENALTY_N3}for(let e=0;et+(e?1:0),e);const r=this.size*this.size,o=Math.ceil(Math.abs(20*e-10*r)/r)-1;return assert(o>=0&&o<=9),t+=o*QrCode.PENALTY_N4,assert(t>=0&&t<=2568888),t}getAlignmentPatternPositions(){if(1===this.version)return[];const t=Math.floor(this.version/7)+2,e=32===this.version?26:2*Math.ceil((4*this.version+4)/(2*t-2)),r=[6];for(let o=this.size-7;r.lengthQrCode.MAX_VERSION)throw new RangeError("Version number out of range");let e=(16*t+128)*t+64;if(t>=2){const r=Math.floor(t/7)+2;e-=(25*r-10)*r-55,t>=7&&(e-=36)}return assert(e>=208&&e<=29648),e}static getNumDataCodewords(t,e){return Math.floor(QrCode.getNumRawDataModules(t)/8)-QrCode.ECC_CODEWORDS_PER_BLOCK[e.ordinal][t]*QrCode.NUM_ERROR_CORRECTION_BLOCKS[e.ordinal][t]}static reedSolomonComputeDivisor(t){if(t<1||t>255)throw new RangeError("Degree out of range");const e=[];for(let r=0;r0);for(const o of t){const t=o^r.shift();r.push(0),e.forEach((e,o)=>{r[o]^=QrCode.reedSolomonMultiply(e,t)})}return r}static reedSolomonMultiply(t,e){if(t>>>8!=0||e>>>8!=0)throw new RangeError("Byte out of range");let r=0;for(let o=7;o>=0;o--)r=r<<1^285*(r>>>7),r^=(e>>>o&1)*t;return assert(r>>>8==0),r}finderPenaltyCountPatterns(t){const e=t[1];assert(e<=3*this.size);const r=e>0&&t[2]===e&&t[3]===3*e&&t[4]===e&&t[5]===e;return(r&&t[0]>=4*e&&t[6]>=e?1:0)+(r&&t[6]>=4*e&&t[0]>=e?1:0)}finderPenaltyTerminateAndCount(t,e,r){let o=e;return t&&(this.finderPenaltyAddHistory(o,r),o=0),o+=this.size,this.finderPenaltyAddHistory(o,r),this.finderPenaltyCountPatterns(r)}finderPenaltyAddHistory(t,e){let r=t;0===e[0]&&(r+=this.size),e.pop(),e.unshift(r)}}QrCode.MIN_VERSION=1,QrCode.MAX_VERSION=40,QrCode.PENALTY_N1=3,QrCode.PENALTY_N2=3,QrCode.PENALTY_N3=40,QrCode.PENALTY_N4=10,QrCode.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],QrCode.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]];
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/types.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/types.d.ts
new file mode 100644
index 0000000..46e3391
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/types.d.ts
@@ -0,0 +1,23 @@
+import type { Ecc, QrCode } from './qrcodegen';
+export declare type Modules = ReturnType;
+export declare type Excavation = {
+ x: number;
+ y: number;
+ w: number;
+ h: number;
+};
+export declare type ErrorCorrectionLevel = 'L' | 'M' | 'Q' | 'H';
+export declare type CrossOrigin = 'anonymous' | 'use-credentials' | '' | undefined;
+export declare type ERROR_LEVEL_MAPPED_TYPE = {
+ [index in ErrorCorrectionLevel]: Ecc;
+};
+export declare type ImageSettings = {
+ src: string;
+ height: number;
+ width: number;
+ excavate: boolean;
+ x?: number;
+ y?: number;
+ opacity?: number;
+ crossOrigin?: CrossOrigin;
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/types.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/types.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/types.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/utils.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/utils.d.ts
new file mode 100644
index 0000000..4ecb5f7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/utils.d.ts
@@ -0,0 +1,24 @@
+import type { CrossOrigin, ERROR_LEVEL_MAPPED_TYPE, ErrorCorrectionLevel, Excavation, ImageSettings } from './types';
+export declare const ERROR_LEVEL_MAP: ERROR_LEVEL_MAPPED_TYPE;
+export declare const DEFAULT_SIZE = 160;
+export declare const DEFAULT_LEVEL: ErrorCorrectionLevel;
+export declare const DEFAULT_BACKGROUND_COLOR = "#FFFFFF";
+export declare const DEFAULT_FRONT_COLOR = "#000000";
+export declare const DEFAULT_NEED_MARGIN = false;
+export declare const DEFAULT_MINVERSION = 1;
+export declare const SPEC_MARGIN_SIZE = 4;
+export declare const DEFAULT_MARGIN_SIZE = 0;
+export declare const DEFAULT_IMG_SCALE = 0.1;
+export declare const generatePath: (modules: boolean[][], margin?: number) => string;
+export declare const excavateModules: (modules: boolean[][], excavation: Excavation) => boolean[][];
+export declare const getImageSettings: (cells: boolean[][], size: number, margin: number, imageSettings?: ImageSettings) => {
+ x: number;
+ y: number;
+ h: number;
+ w: number;
+ excavation: Excavation | null;
+ opacity: number;
+ crossOrigin: CrossOrigin;
+};
+export declare const getMarginSize: (needMargin: boolean, marginSize?: number) => number;
+export declare const isSupportPath2d: boolean;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/utils.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/utils.js
new file mode 100644
index 0000000..a4d91f1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/shared/qrcode/utils.js
@@ -0,0 +1 @@
+import{Ecc}from"./qrcodegen";export const ERROR_LEVEL_MAP={L:Ecc.LOW,M:Ecc.MEDIUM,Q:Ecc.QUARTILE,H:Ecc.HIGH};export const DEFAULT_SIZE=160;export const DEFAULT_LEVEL="M";export const DEFAULT_BACKGROUND_COLOR="#FFFFFF";export const DEFAULT_FRONT_COLOR="#000000";export const DEFAULT_NEED_MARGIN=!1;export const DEFAULT_MINVERSION=1;export const SPEC_MARGIN_SIZE=4;export const DEFAULT_MARGIN_SIZE=0;export const DEFAULT_IMG_SCALE=.1;export const generatePath=(t,o=0)=>{const e=[];return t.forEach((t,n)=>{let r=null;t.forEach((c,l)=>{if(!c&&null!==r)return e.push(`M${r+o} ${n+o}h${l-r}v1H${r+o}z`),void(r=null);if(l!==t.length-1)c&&null===r&&(r=l);else{if(!c)return;null===r?e.push(`M${l+o},${n+o} h1v1H${l+o}z`):e.push(`M${r+o},${n+o} h${l+1-r}v1H${r+o}z`)}})}),e.join("")};export const excavateModules=(t,o)=>t.slice().map((t,e)=>e=o.y+o.h?t:t.map((t,e)=>(e=o.x+o.w)&&t));export const getImageSettings=(t,o,e,n)=>{if(null==n)return null;const r=t.length+2*e,c=Math.floor(.1*o),l=r/o,a=(n.width||c)*l,h=(n.height||c)*l,s=null==n.x?t.length/2-a/2:n.x*l,E=null==n.y?t.length/2-h/2:n.y*l,p=null==n.opacity?1:n.opacity;let i=null;if(n.excavate){const t=Math.floor(s),o=Math.floor(E);i={x:t,y:o,w:Math.ceil(a+s-t),h:Math.ceil(h+E-o)}}const{crossOrigin:x}=n;return{x:s,y:E,h:h,w:a,excavation:i,opacity:p,crossOrigin:x}};export const getMarginSize=(t,o)=>null!=o?Math.max(Math.floor(o),0):t?4:0;export const isSupportPath2d=(()=>{try{(new Path2D).addPath(new Path2D)}catch(t){return!1}return!0})();
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/control.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/control.d.ts
new file mode 100644
index 0000000..ed3f4a0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/control.d.ts
@@ -0,0 +1,15 @@
+declare type ControlInstance = {
+ controlled: boolean;
+ initValue: any;
+ set(newVal: any, extObj?: Object, fn?: any): void;
+ get(): any;
+ change(newVal: any, customChangeData?: any, customUpdateFn?: any): void;
+};
+declare type ControlOption = {
+ valueKey?: string;
+ defaultValueKey?: string;
+ changeEventName?: string;
+ strict?: boolean;
+};
+declare function useControl(this: any, option?: ControlOption): ControlInstance;
+export { ControlOption, ControlInstance, useControl };
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/control.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/control.js
new file mode 100644
index 0000000..9010a19
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/control.js
@@ -0,0 +1 @@
+const defaultOption={valueKey:"value",defaultValueKey:"defaultValue",changeEventName:"change",strict:!0};function useControl(e={}){const{valueKey:t,defaultValueKey:a,changeEventName:n,strict:s}=Object.assign(Object.assign({},defaultOption),e),l=this.properties||{},i=l[t],u=l[s?a:t];let o=!1;s&&null!=i&&(o=!0);const c=(e,a,n)=>{this.setData(Object.assign({[`_${t}`]:e},a),n)};return{controlled:o,initValue:o?i:u,set:c,get:()=>this.data[`_${t}`],change:(e,t,a)=>{this.triggerEvent(n,void 0!==t?t:e),o||("function"==typeof a?a():c(e))}}}export{useControl};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/flatTool.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/flatTool.d.ts
new file mode 100644
index 0000000..7fe850a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/flatTool.d.ts
@@ -0,0 +1,13 @@
+export declare const getPrototypeOf: (obj: any) => any;
+export declare const iterateInheritedPrototype: (callback: (proto: Record) => boolean | void, fromCtor: any, toCtor: any, includeToCtor?: boolean) => void;
+export interface ClassInstanceToObjectOptions {
+ bindTo?: any;
+ excludes?: string[];
+ till?: any;
+ enumerable?: 0 | boolean;
+ configurable?: 0 | boolean;
+ writable?: 0 | boolean;
+}
+export declare const toObject: (something: any, options?: ClassInstanceToObjectOptions) => {
+ [key: string]: any;
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/flatTool.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/flatTool.js
new file mode 100644
index 0000000..021f4ee
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/flatTool.js
@@ -0,0 +1 @@
+import{isObject}from"../../common/validator";export const getPrototypeOf=function(t){return Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__};export const iterateInheritedPrototype=function(t,e,o,r=!0){let n=e.prototype||e;const c=o.prototype||o;for(;n&&(r||n!==c)&&!1!==t(n)&&n!==c;)n=getPrototypeOf(n)};export const toObject=function(t,e={}){const o={};if(!isObject(t))return o;const r=e.excludes||["constructor"],{enumerable:n=!0,configurable:c=0,writable:i=0}=e,p={};return 0!==n&&(p.enumerable=n),0!==c&&(p.configurable=c),0!==i&&(p.writable=i),iterateInheritedPrototype(t=>{Object.getOwnPropertyNames(t).forEach(n=>{if(r.indexOf(n)>=0)return;if(Object.prototype.hasOwnProperty.call(o,n))return;const c=Object.getOwnPropertyDescriptor(t,n);["get","set","value"].forEach(t=>{if("function"==typeof c[t]){const o=c[t];c[t]=function(...t){return o.apply(Object.prototype.hasOwnProperty.call(e,"bindTo")?e.bindTo:this,t)}}}),Object.defineProperty(o,n,Object.assign(Object.assign({},c),p))})},t,e.till||Object,!1),o};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/index.d.ts
new file mode 100644
index 0000000..94e7ce1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/index.d.ts
@@ -0,0 +1,4 @@
+export * from './superComponent';
+export * from './flatTool';
+export * from './instantiationDecorator';
+export * from './control';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/index.js
new file mode 100644
index 0000000..f711ddc
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/index.js
@@ -0,0 +1 @@
+export*from"./superComponent";export*from"./flatTool";export*from"./instantiationDecorator";export*from"./control";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/instantiationDecorator.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/instantiationDecorator.d.ts
new file mode 100644
index 0000000..3a06f2c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/instantiationDecorator.d.ts
@@ -0,0 +1,3 @@
+import { SuperComponent } from './superComponent';
+export declare const toComponent: (options: Record) => Record;
+export declare const wxComponent: () => (constructor: new () => SuperComponent) => void;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/instantiationDecorator.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/instantiationDecorator.js
new file mode 100644
index 0000000..ff1a6e2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/instantiationDecorator.js
@@ -0,0 +1 @@
+import{toObject}from"./flatTool";import{isPlainObject}from"../validator";import{canUseVirtualHost}from"../version";const RawLifeCycles=["Created","Attached","Ready","Moved","Detached","Error"],NativeLifeCycles=RawLifeCycles.map(e=>e.toLowerCase()),ComponentNativeProps=["properties","data","observers","methods","behaviors",...NativeLifeCycles,"relations","externalClasses","options","lifetimes","pageLifeTimes","definitionFilter"];export const toComponent=function(e){const{relations:t,behaviors:o=[],externalClasses:i=[]}=e;if(e.properties){Object.keys(e.properties).forEach(t=>{let o=e.properties[t];isPlainObject(o)||(o={type:o}),e.properties[t]=o});[{key:"ariaHidden",type:Boolean},{key:"ariaRole",type:String},{key:"ariaLabel",type:String},{key:"ariaLabelledby",type:String},{key:"ariaDescribedby",type:String},{key:"ariaBusy",type:Boolean}].forEach(({key:t,type:o})=>{e.properties[t]={type:o}}),e.properties.style={type:String,value:""},e.properties.customStyle={type:String,value:""}}e.methods||(e.methods={}),e.lifetimes||(e.lifetimes={});const s={};if(t){const e=(e,t)=>Behavior({created(){Object.defineProperty(this,`$${e}`,{get:()=>{const o=this.getRelationNodes(t)||[];return"parent"===e?o[0]:o}})}}),i={};Object.keys(t).forEach(o=>{const s=t[o],r=["parent","ancestor"].includes(s.type)?"parent":"children",n=e(r,o);i[r]=n}),o.push(...Object.keys(i).map(e=>i[e]))}if(e.behaviors=[...o],e.externalClasses=["class",...i],Object.getOwnPropertyNames(e).forEach(t=>{const o=Object.getOwnPropertyDescriptor(e,t);o&&(NativeLifeCycles.indexOf(t)<0&&"function"==typeof o.value?(Object.defineProperty(e.methods,t,o),delete e[t]):ComponentNativeProps.indexOf(t)<0?s[t]=o:NativeLifeCycles.indexOf(t)>=0&&(e.lifetimes[t]=e[t]))}),Object.keys(s).length){const t=e.lifetimes.created,o=e.lifetimes.attached,{controlledProps:i=[]}=e;e.lifetimes.created=function(...e){Object.defineProperties(this,s),t&&t.apply(this,e)},e.lifetimes.attached=function(...e){o&&o.apply(this,e),i.forEach(({key:e})=>{const t=`default${e.replace(/^(\w)/,(e,t)=>t.toUpperCase())}`,o=this.properties;null==o[e]&&(this._selfControlled=!0),null==o[e]&&null!=o[t]&&this.setData({[e]:o[t]})})},e.methods._trigger=function(e,t,o){const s=i.find(t=>t.event===e);if(s){const{key:e}=s;this._selfControlled&&this.setData({[e]:t[e]})}this.triggerEvent(e,t,o)}}return e};export const wxComponent=function(){return function(e){const t=new class extends e{};t.options=t.options||{},canUseVirtualHost()&&(t.options.virtualHost=!0);const o=toComponent(toObject(t));Component(o)}};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/superComponent.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/superComponent.d.ts
new file mode 100644
index 0000000..4455e19
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/superComponent.d.ts
@@ -0,0 +1,19 @@
+///
+export interface ComponentsOptionsType extends WechatMiniprogram.Component.ComponentOptions {
+ styleIsolation?: 'isolated' | 'apply-shared' | 'shared' | 'page-isolated' | 'page-apply-shared' | 'page-shared';
+}
+export interface RelationsOptions {
+ [componentName: string]: WechatMiniprogram.Component.RelationOption;
+}
+export interface SuperComponent extends WechatMiniprogram.Component.Lifetimes, WechatMiniprogram.Component.OtherOption, WechatMiniprogram.Component.InstanceMethods {
+ properties: P;
+ data: D;
+ options: ComponentsOptionsType;
+ methods: M | Record any>;
+ $global: Function;
+ [x: string]: any;
+}
+export declare class SuperComponent {
+ readonly app: any;
+ constructor();
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/superComponent.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/superComponent.js
new file mode 100644
index 0000000..cf00ae2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/src/superComponent.js
@@ -0,0 +1 @@
+export class SuperComponent{constructor(){this.app=getApp()}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/_variables.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/_variables.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/base.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/base.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/icons.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/icons.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/index.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/index.wxss
new file mode 100644
index 0000000..f22b6ec
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/index.wxss
@@ -0,0 +1,2 @@
+.hotspot-expanded.relative{position:relative;}
+.hotspot-expanded::after{content:'';display:block;position:absolute;left:0;top:0;right:0;bottom:0;transform:scale(1.5);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_border.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_border.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_clearfix.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_clearfix.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_cursor.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_cursor.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_ellipsis.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_ellipsis.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_hairline.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_hairline.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_index.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_index.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_other.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/mixins/_other.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_components.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_components.wxss
new file mode 100644
index 0000000..d9e413b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_components.wxss
@@ -0,0 +1,4 @@
+@media (prefers-color-scheme:light){
+.page,page{--td-picker-transparent-color:rgba(255, 255, 255, 0);--td-switch-dot-disabled-color:var(--td-font-white-1);--td-switch-loading-color:var(--td-brand-color);}}
+@media (prefers-color-scheme:dark){
+.page,page{--td-button-primary-disabled-color:var(--td-font-white-4);--td-skeleton-animation-gradient:rgba(255, 255, 255, 0.06);--td-slider-dot-bg-color:var(--td-gray-color-4);--td-slider-dot-disabled-bg-color:var(--td-gray-color-11);--td-slider-dot-disabled-border-color:var(--td-gray-color-12);--td-picker-transparent-color:transparent;--td-switch-dot-disabled-color:var(--td-font-white-2);--td-switch-loading-color:var(--td-font-white-1);}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_dark.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_dark.wxss
new file mode 100644
index 0000000..60ae407
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_dark.wxss
@@ -0,0 +1,2 @@
+@media (prefers-color-scheme:dark){
+.page,page{--td-brand-color-1:#1b2f51;--td-brand-color-2:#173463;--td-brand-color-3:#143975;--td-brand-color-4:#103d88;--td-brand-color-5:#0d429a;--td-brand-color-6:#054bbe;--td-brand-color-7:#2667d4;--td-brand-color-8:#4582e6;--td-brand-color-9:#699ef5;--td-brand-color-10:#96bbf8;--td-primary-color-1:var(--td-brand-color-1);--td-primary-color-2:var(--td-brand-color-2);--td-primary-color-3:var(--td-brand-color-3);--td-primary-color-4:var(--td-brand-color-4);--td-primary-color-5:var(--td-brand-color-5);--td-primary-color-6:var(--td-brand-color-6);--td-primary-color-7:var(--td-brand-color-7);--td-primary-color-8:var(--td-brand-color-8);--td-primary-color-9:var(--td-brand-color-9);--td-primary-color-10:var(--td-brand-color-10);--td-warning-color-1:#4f2a1d;--td-warning-color-2:#582f21;--td-warning-color-3:#733c23;--td-warning-color-4:#a75d2b;--td-warning-color-5:#cf6e2d;--td-warning-color-6:#dc7633;--td-warning-color-7:#e8935c;--td-warning-color-8:#ecbf91;--td-warning-color-9:#eed7bf;--td-warning-color-10:#f3e9dc;--td-error-color-1:#472324;--td-error-color-2:#5e2a2d;--td-error-color-3:#703439;--td-error-color-4:#83383e;--td-error-color-5:#a03f46;--td-error-color-6:#c64751;--td-error-color-7:#de6670;--td-error-color-8:#ec888e;--td-error-color-9:#edb1b6;--td-error-color-10:#eeced0;--td-success-color-1:#193a2a;--td-success-color-2:#1a4230;--td-success-color-3:#17533d;--td-success-color-4:#0d7a55;--td-success-color-5:#059465;--td-success-color-6:#43af8a;--td-success-color-7:#46bf96;--td-success-color-8:#80d2b6;--td-success-color-9:#b4e1d3;--td-success-color-10:#deede8;--td-gray-color-1:#f3f3f3;--td-gray-color-2:#eee;--td-gray-color-3:#e8e8e8;--td-gray-color-4:#ddd;--td-gray-color-5:#c6c6c6;--td-gray-color-6:#a6a6a6;--td-gray-color-7:#8b8b8b;--td-gray-color-8:#777;--td-gray-color-9:#5e5e5e;--td-gray-color-10:#4b4b4b;--td-gray-color-11:#383838;--td-gray-color-12:#2c2c2c;--td-gray-color-13:#242424;--td-gray-color-14:#181818;--td-font-white-1:rgba(255, 255, 255, 0.9);--td-font-white-2:rgba(255, 255, 255, 0.55);--td-font-white-3:rgba(255, 255, 255, 0.35);--td-font-white-4:rgba(255, 255, 255, 0.22);--td-font-gray-1:rgba(0, 0, 0, 0.9);--td-font-gray-2:rgba(0, 0, 0, 0.6);--td-font-gray-3:rgba(0, 0, 0, 0.4);--td-font-gray-4:rgba(0, 0, 0, 0.26);--td-brand-color:var(--td-primary-color-8);--td-warning-color:var(--td-warning-color-5);--td-error-color:var(--td-error-color-6);--td-success-color:var(--td-success-color-5);--td-brand-color-focus:var(--td-primary-color-1);--td-brand-color-active:var(--td-primary-color-9);--td-brand-color-disabled:var(--td-primary-color-3);--td-brand-color-light:var(--td-primary-color-1);--td-brand-color-light-active:var(--td-primary-color-2);--td-warning-color-focus:var(--td-warning-color-2);--td-warning-color-active:var(--td-warning-color-4);--td-warning-color-disabled:var(--td-warning-color-3);--td-warning-color-light:var(--td-warning-color-1);--td-warning-color-light-active:var(--td-warning-color-2);--td-error-color-focus:var(--td-error-color-2);--td-error-color-active:var(--td-error-color-5);--td-error-color-disabled:var(--td-error-color-3);--td-error-color-light:var(--td-error-color-1);--td-error-color-light-active:var(--td-error-color-2);--td-success-color-focus:var(--td-success-color-2);--td-success-color-active:var(--td-success-color-4);--td-success-color-disabled:var(--td-success-color-3);--td-success-color-light:var(--td-success-color-1);--td-success-color-light-active:var(--td-success-color-2);--td-mask-active:rgba(0, 0, 0, 0.4);--td-mask-disabled:rgba(0, 0, 0, 0.6);--td-mask-background:rgba(36, 36, 36, 0.96);--td-bg-color-page:var(--td-gray-color-14);--td-bg-color-container:var(--td-gray-color-13);--td-bg-color-secondarycontainer:var(--td-gray-color-12);--td-bg-color-component:var(--td-gray-color-11);--td-bg-color-container-active:var(--td-gray-color-12);--td-bg-color-secondarycontainer-active:var(--td-gray-color-11);--td-bg-color-component-active:var(--td-gray-color-10);--td-bg-color-component-disabled:var(--td-gray-color-12);--td-bg-color-specialcomponent:transparent;--td-text-color-primary:var(--td-font-white-1);--td-text-color-secondary:var(--td-font-white-2);--td-text-color-placeholder:var(--td-font-white-3);--td-text-color-disabled:var(--td-font-white-4);--td-text-color-anti:var(--td-font-white-1);--td-text-color-brand:var(--td-primary-color-8);--td-text-color-link:var(--td-primary-color-8);--td-border-level-1-color:var(--td-gray-color-11);--td-component-stroke:var(--td-gray-color-11);--td-border-level-2-color:var(--td-gray-color-9);--td-component-border:var(--td-gray-color-9);--td-shadow-1:0 4px 6px rgba(0, 0, 0, 0.06),0 1px 10px rgba(0, 0, 0, 0.08),0 2px 4px rgba(0, 0, 0, 0.12);--td-shadow-2:0 8px 10px rgba(0, 0, 0, 0.12),0 3px 14px rgba(0, 0, 0, 0.1),0 5px 5px rgba(0, 0, 0, 0.16);--td-shadow-3:0 16px 24px rgba(0, 0, 0, 0.14),0 6px 30px rgba(0, 0, 0, 0.12),0 8px 10px rgba(0, 0, 0, 0.2);--td-shadow-inset-top:inset 0 0.5px 0 #5e5e5e;--td-shadow-inset-right:inset 0.5px 0 0 #5e5e5e;--td-shadow-inset-bottom:inset 0 -0.5px 0 #5e5e5e;--td-shadow-inset-left:inset -0.5px 0 0 #5e5e5e;--td-table-shadow-color:rgba(0, 0, 0, 0.55);--td-scrollbar-color:rgba(255, 255, 255, 0.1);--td-scroll-track-color:#333;}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_font.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_font.wxss
new file mode 100644
index 0000000..a9f0c67
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_font.wxss
@@ -0,0 +1 @@
+.page,page{--td-font-family:PingFang SC,Microsoft YaHei,Arial Regular;--td-font-family-medium:PingFang SC,Microsoft YaHei,Arial Medium;--td-font-size-link-small:24rpx;--td-font-size-link-medium:28rpx;--td-font-size-link-large:32rpx;--td-font-size-mark-extraSmall:20rpx;--td-font-size-mark-small:24rpx;--td-font-size-mark-medium:28rpx;--td-font-size-mark-large:32rpx;--td-font-size-body-extraSmall:20rpx;--td-font-size-body-small:24rpx;--td-font-size-body-medium:28rpx;--td-font-size-body-large:32rpx;--td-font-size-title-small:28rpx;--td-font-size-title-medium:32rpx;--td-font-size-title-large:36rpx;--td-font-size-title-extraLarge:40rpx;--td-font-size-headline-small:48rpx;--td-font-size-headline-medium:56rpx;--td-font-size-headline-large:72rpx;--td-font-size-display-medium:96rpx;--td-font-size-display-large:128rpx;--td-font-size:20rpx;--td-font-size-xs:var(--td-font-size-body-extraSmall);--td-font-size-s:var(--td-font-size-body-small);--td-font-size-base:var(--td-font-size-title-small);--td-font-size-m:var(--td-font-size-title-medium);--td-font-size-l:var(--td-font-size-title-large);--td-font-size-xl:var(--td-font-size-title-extraLarge);--td-font-size-xxl:var(--td-font-size-headline-large);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_index.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_index.wxss
new file mode 100644
index 0000000..7f9932e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_index.wxss
@@ -0,0 +1,11 @@
+@media (prefers-color-scheme:light){
+.page,page{--td-brand-color-1:#f2f3ff;--td-brand-color-2:#d9e1ff;--td-brand-color-3:#b5c7ff;--td-brand-color-4:#8eabff;--td-brand-color-5:#618dff;--td-brand-color-6:#366ef4;--td-brand-color-7:#0052d9;--td-brand-color-8:#003cab;--td-brand-color-9:#002a7c;--td-brand-color-10:#001a57;--td-primary-color-1:var(--td-brand-color-1);--td-primary-color-2:var(--td-brand-color-2);--td-primary-color-3:var(--td-brand-color-3);--td-primary-color-4:var(--td-brand-color-4);--td-primary-color-5:var(--td-brand-color-5);--td-primary-color-6:var(--td-brand-color-6);--td-primary-color-7:var(--td-brand-color-7);--td-primary-color-8:var(--td-brand-color-8);--td-primary-color-9:var(--td-brand-color-9);--td-primary-color-10:var(--td-brand-color-10);--td-warning-color-1:#fff1e9;--td-warning-color-2:#ffd9c2;--td-warning-color-3:#ffb98c;--td-warning-color-4:#fa9550;--td-warning-color-5:#e37318;--td-warning-color-6:#be5a00;--td-warning-color-7:#954500;--td-warning-color-8:#713300;--td-warning-color-9:#532300;--td-warning-color-10:#3b1700;--td-error-color-1:#fff0ed;--td-error-color-2:#ffd8d2;--td-error-color-3:#ffb9b0;--td-error-color-4:#ff9285;--td-error-color-5:#f6685d;--td-error-color-6:#d54941;--td-error-color-7:#ad352f;--td-error-color-8:#881f1c;--td-error-color-9:#68070a;--td-error-color-10:#490002;--td-success-color-1:#e3f9e9;--td-success-color-2:#c6f3d7;--td-success-color-3:#92dab2;--td-success-color-4:#56c08d;--td-success-color-5:#2ba471;--td-success-color-6:#008858;--td-success-color-7:#006c45;--td-success-color-8:#005334;--td-success-color-9:#003b23;--td-success-color-10:#002515;--td-gray-color-1:#f3f3f3;--td-gray-color-2:#eeeeee;--td-gray-color-3:#e7e7e7;--td-gray-color-4:#dcdcdc;--td-gray-color-5:#c5c5c5;--td-gray-color-6:#a6a6a6;--td-gray-color-7:#8b8b8b;--td-gray-color-8:#777777;--td-gray-color-9:#5e5e5e;--td-gray-color-10:#4b4b4b;--td-gray-color-11:#383838;--td-gray-color-12:#2c2c2c;--td-gray-color-13:#242424;--td-gray-color-14:#181818;--td-font-white-1:#ffffff;--td-font-white-2:rgba(255, 255, 255, 0.55);--td-font-white-3:rgba(255, 255, 255, 0.35);--td-font-white-4:rgba(255, 255, 255, 0.22);--td-font-gray-1:rgba(0, 0, 0, 0.9);--td-font-gray-2:rgba(0, 0, 0, 0.6);--td-font-gray-3:rgba(0, 0, 0, 0.4);--td-font-gray-4:rgba(0, 0, 0, 0.26);--td-brand-color:var(--td-primary-color-7);--td-warning-color:var(--td-warning-color-5);--td-error-color:var(--td-error-color-6);--td-success-color:var(--td-success-color-5);--td-brand-color-focus:var(--td-primary-color-1);--td-brand-color-active:var(--td-primary-color-8);--td-brand-color-disabled:var(--td-primary-color-3);--td-brand-color-light:var(--td-primary-color-1);--td-brand-color-light-active:var(--td-primary-color-2);--td-warning-color-active:var(--td-warning-color-6);--td-warning-color-disabled:var(--td-warning-color-3);--td-warning-color-focus:var(--td-warning-color-2);--td-warning-color-light:var(--td-warning-color-1);--td-warning-color-light-active:var(--td-warning-color-2);--td-error-color-focus:var(--td-error-color-2);--td-error-color-active:var(--td-error-color-7);--td-error-color-disabled:var(--td-error-color-3);--td-error-color-light:var(--td-error-color-1);--td-error-color-light-active:var(--td-error-color-2);--td-success-color-focus:var(--td-success-color-2);--td-success-color-active:var(--td-success-color-6);--td-success-color-disabled:var(--td-success-color-3);--td-success-color-light:var(--td-success-color-1);--td-success-color-light-active:var(--td-success-color-2);--td-mask-active:rgba(0, 0, 0, 0.6);--td-mask-disabled:rgba(255, 255, 255, 0.6);--td-mask-background:rgba(255, 255, 255, 0.96);--td-bg-color-page:var(--td-gray-color-1);--td-bg-color-container:var(--td-font-white-1);--td-bg-color-container-active:var(--td-gray-color-3);--td-bg-color-secondarycontainer:var(--td-gray-color-1);--td-bg-color-secondarycontainer-active:var(--td-gray-color-4);--td-bg-color-component:var(--td-gray-color-3);--td-bg-color-component-active:var(--td-gray-color-6);--td-bg-color-component-disabled:var(--td-gray-color-2);--td-bg-color-secondarycomponent:var(--td-gray-color-4);--td-bg-color-secondarycomponent-active:var(--td-gray-color-6);--td-bg-color-specialcomponent:#fff;--td-text-color-primary:var(--td-font-gray-1);--td-text-color-secondary:var(--td-font-gray-2);--td-text-color-placeholder:var(--td-font-gray-3);--td-text-color-disabled:var(--td-font-gray-4);--td-text-color-anti:var(--td-font-white-1);--td-text-color-brand:var(--td-brand-color);--td-text-color-link:var(--td-brand-color);--td-border-level-1-color:var(--td-gray-color-3);--td-component-stroke:var(--td-gray-color-3);--td-border-level-2-color:var(--td-gray-color-4);--td-component-border:var(--td-gray-color-4);--td-shadow-1:0 1px 10px rgba(0, 0, 0, 0.05),0 4px 5px rgba(0, 0, 0, 0.08),0 2px 4px -1px rgba(0, 0, 0, 0.12);--td-shadow-2:0 3px 14px 2px rgba(0, 0, 0, 0.05),0 8px 10px 1px rgba(0, 0, 0, 0.06),0 5px 5px -3px rgba(0, 0, 0, 0.1);--td-shadow-3:0 6px 30px 5px rgba(0, 0, 0, 0.05),0 16px 24px 2px rgba(0, 0, 0, 0.04),0 8px 10px -5px rgba(0, 0, 0, 0.08);--td-shadow-4:0 2px 8px 0 rgba(0, 0, 0, 0.06);--td-shadow-inset-top:inset 0 0.5px 0 #dcdcdc;--td-shadow-inset-right:inset 0.5px 0 0 #dcdcdc;--td-shadow-inset-bottom:inset 0 -0.5px 0 #dcdcdc;--td-shadow-inset-left:inset -0.5px 0 0 #dcdcdc;--td-table-shadow-color:rgba(0, 0, 0, 0.08);--td-scrollbar-color:rgba(0, 0, 0, 0.1);--td-scrollbar-hover-color:rgba(0, 0, 0, 0.3);--td-scroll-track-color:#fff;}}
+@media (prefers-color-scheme:dark){
+.page,page{--td-brand-color-1:#1b2f51;--td-brand-color-2:#173463;--td-brand-color-3:#143975;--td-brand-color-4:#103d88;--td-brand-color-5:#0d429a;--td-brand-color-6:#054bbe;--td-brand-color-7:#2667d4;--td-brand-color-8:#4582e6;--td-brand-color-9:#699ef5;--td-brand-color-10:#96bbf8;--td-primary-color-1:var(--td-brand-color-1);--td-primary-color-2:var(--td-brand-color-2);--td-primary-color-3:var(--td-brand-color-3);--td-primary-color-4:var(--td-brand-color-4);--td-primary-color-5:var(--td-brand-color-5);--td-primary-color-6:var(--td-brand-color-6);--td-primary-color-7:var(--td-brand-color-7);--td-primary-color-8:var(--td-brand-color-8);--td-primary-color-9:var(--td-brand-color-9);--td-primary-color-10:var(--td-brand-color-10);--td-warning-color-1:#4f2a1d;--td-warning-color-2:#582f21;--td-warning-color-3:#733c23;--td-warning-color-4:#a75d2b;--td-warning-color-5:#cf6e2d;--td-warning-color-6:#dc7633;--td-warning-color-7:#e8935c;--td-warning-color-8:#ecbf91;--td-warning-color-9:#eed7bf;--td-warning-color-10:#f3e9dc;--td-error-color-1:#472324;--td-error-color-2:#5e2a2d;--td-error-color-3:#703439;--td-error-color-4:#83383e;--td-error-color-5:#a03f46;--td-error-color-6:#c64751;--td-error-color-7:#de6670;--td-error-color-8:#ec888e;--td-error-color-9:#edb1b6;--td-error-color-10:#eeced0;--td-success-color-1:#193a2a;--td-success-color-2:#1a4230;--td-success-color-3:#17533d;--td-success-color-4:#0d7a55;--td-success-color-5:#059465;--td-success-color-6:#43af8a;--td-success-color-7:#46bf96;--td-success-color-8:#80d2b6;--td-success-color-9:#b4e1d3;--td-success-color-10:#deede8;--td-gray-color-1:#f3f3f3;--td-gray-color-2:#eee;--td-gray-color-3:#e8e8e8;--td-gray-color-4:#ddd;--td-gray-color-5:#c6c6c6;--td-gray-color-6:#a6a6a6;--td-gray-color-7:#8b8b8b;--td-gray-color-8:#777;--td-gray-color-9:#5e5e5e;--td-gray-color-10:#4b4b4b;--td-gray-color-11:#383838;--td-gray-color-12:#2c2c2c;--td-gray-color-13:#242424;--td-gray-color-14:#181818;--td-font-white-1:rgba(255, 255, 255, 0.9);--td-font-white-2:rgba(255, 255, 255, 0.55);--td-font-white-3:rgba(255, 255, 255, 0.35);--td-font-white-4:rgba(255, 255, 255, 0.22);--td-font-gray-1:rgba(0, 0, 0, 0.9);--td-font-gray-2:rgba(0, 0, 0, 0.6);--td-font-gray-3:rgba(0, 0, 0, 0.4);--td-font-gray-4:rgba(0, 0, 0, 0.26);--td-brand-color:var(--td-primary-color-8);--td-warning-color:var(--td-warning-color-5);--td-error-color:var(--td-error-color-6);--td-success-color:var(--td-success-color-5);--td-brand-color-focus:var(--td-primary-color-1);--td-brand-color-active:var(--td-primary-color-9);--td-brand-color-disabled:var(--td-primary-color-3);--td-brand-color-light:var(--td-primary-color-1);--td-brand-color-light-active:var(--td-primary-color-2);--td-warning-color-focus:var(--td-warning-color-2);--td-warning-color-active:var(--td-warning-color-4);--td-warning-color-disabled:var(--td-warning-color-3);--td-warning-color-light:var(--td-warning-color-1);--td-warning-color-light-active:var(--td-warning-color-2);--td-error-color-focus:var(--td-error-color-2);--td-error-color-active:var(--td-error-color-5);--td-error-color-disabled:var(--td-error-color-3);--td-error-color-light:var(--td-error-color-1);--td-error-color-light-active:var(--td-error-color-2);--td-success-color-focus:var(--td-success-color-2);--td-success-color-active:var(--td-success-color-4);--td-success-color-disabled:var(--td-success-color-3);--td-success-color-light:var(--td-success-color-1);--td-success-color-light-active:var(--td-success-color-2);--td-mask-active:rgba(0, 0, 0, 0.4);--td-mask-disabled:rgba(0, 0, 0, 0.6);--td-mask-background:rgba(36, 36, 36, 0.96);--td-bg-color-page:var(--td-gray-color-14);--td-bg-color-container:var(--td-gray-color-13);--td-bg-color-secondarycontainer:var(--td-gray-color-12);--td-bg-color-component:var(--td-gray-color-11);--td-bg-color-container-active:var(--td-gray-color-12);--td-bg-color-secondarycontainer-active:var(--td-gray-color-11);--td-bg-color-component-active:var(--td-gray-color-10);--td-bg-color-component-disabled:var(--td-gray-color-12);--td-bg-color-specialcomponent:transparent;--td-text-color-primary:var(--td-font-white-1);--td-text-color-secondary:var(--td-font-white-2);--td-text-color-placeholder:var(--td-font-white-3);--td-text-color-disabled:var(--td-font-white-4);--td-text-color-anti:var(--td-font-white-1);--td-text-color-brand:var(--td-primary-color-8);--td-text-color-link:var(--td-primary-color-8);--td-border-level-1-color:var(--td-gray-color-11);--td-component-stroke:var(--td-gray-color-11);--td-border-level-2-color:var(--td-gray-color-9);--td-component-border:var(--td-gray-color-9);--td-shadow-1:0 4px 6px rgba(0, 0, 0, 0.06),0 1px 10px rgba(0, 0, 0, 0.08),0 2px 4px rgba(0, 0, 0, 0.12);--td-shadow-2:0 8px 10px rgba(0, 0, 0, 0.12),0 3px 14px rgba(0, 0, 0, 0.1),0 5px 5px rgba(0, 0, 0, 0.16);--td-shadow-3:0 16px 24px rgba(0, 0, 0, 0.14),0 6px 30px rgba(0, 0, 0, 0.12),0 8px 10px rgba(0, 0, 0, 0.2);--td-shadow-inset-top:inset 0 0.5px 0 #5e5e5e;--td-shadow-inset-right:inset 0.5px 0 0 #5e5e5e;--td-shadow-inset-bottom:inset 0 -0.5px 0 #5e5e5e;--td-shadow-inset-left:inset -0.5px 0 0 #5e5e5e;--td-table-shadow-color:rgba(0, 0, 0, 0.55);--td-scrollbar-color:rgba(255, 255, 255, 0.1);--td-scroll-track-color:#333;}}
+.page,page{--td-radius-small:6rpx;--td-radius-default:12rpx;--td-radius-large:18rpx;--td-radius-extraLarge:24rpx;--td-radius-round:999px;--td-radius-circle:50%;}
+.page,page{--td-font-family:PingFang SC,Microsoft YaHei,Arial Regular;--td-font-family-medium:PingFang SC,Microsoft YaHei,Arial Medium;--td-font-size-link-small:24rpx;--td-font-size-link-medium:28rpx;--td-font-size-link-large:32rpx;--td-font-size-mark-extraSmall:20rpx;--td-font-size-mark-small:24rpx;--td-font-size-mark-medium:28rpx;--td-font-size-mark-large:32rpx;--td-font-size-body-extraSmall:20rpx;--td-font-size-body-small:24rpx;--td-font-size-body-medium:28rpx;--td-font-size-body-large:32rpx;--td-font-size-title-small:28rpx;--td-font-size-title-medium:32rpx;--td-font-size-title-large:36rpx;--td-font-size-title-extraLarge:40rpx;--td-font-size-headline-small:48rpx;--td-font-size-headline-medium:56rpx;--td-font-size-headline-large:72rpx;--td-font-size-display-medium:96rpx;--td-font-size-display-large:128rpx;--td-font-size:20rpx;--td-font-size-xs:var(--td-font-size-body-extraSmall);--td-font-size-s:var(--td-font-size-body-small);--td-font-size-base:var(--td-font-size-title-small);--td-font-size-m:var(--td-font-size-title-medium);--td-font-size-l:var(--td-font-size-title-large);--td-font-size-xl:var(--td-font-size-title-extraLarge);--td-font-size-xxl:var(--td-font-size-headline-large);}
+.page,page{--td-spacer:16rpx;--td-spacer-1:24rpx;--td-spacer-2:32rpx;--td-spacer-3:48rpx;--td-spacer-4:64rpx;--td-spacer-5:96rpx;--td-spacer-6:160rpx;}
+@media (prefers-color-scheme:light){
+.page,page{--td-picker-transparent-color:rgba(255, 255, 255, 0);--td-switch-dot-disabled-color:var(--td-font-white-1);--td-switch-loading-color:var(--td-brand-color);}}
+@media (prefers-color-scheme:dark){
+.page,page{--td-button-primary-disabled-color:var(--td-font-white-4);--td-skeleton-animation-gradient:rgba(255, 255, 255, 0.06);--td-slider-dot-bg-color:var(--td-gray-color-4);--td-slider-dot-disabled-bg-color:var(--td-gray-color-11);--td-slider-dot-disabled-border-color:var(--td-gray-color-12);--td-picker-transparent-color:transparent;--td-switch-dot-disabled-color:var(--td-font-white-2);--td-switch-loading-color:var(--td-font-white-1);}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_light.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_light.wxss
new file mode 100644
index 0000000..c809dce
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_light.wxss
@@ -0,0 +1,2 @@
+@media (prefers-color-scheme:light){
+.page,page{--td-brand-color-1:#f2f3ff;--td-brand-color-2:#d9e1ff;--td-brand-color-3:#b5c7ff;--td-brand-color-4:#8eabff;--td-brand-color-5:#618dff;--td-brand-color-6:#366ef4;--td-brand-color-7:#0052d9;--td-brand-color-8:#003cab;--td-brand-color-9:#002a7c;--td-brand-color-10:#001a57;--td-primary-color-1:var(--td-brand-color-1);--td-primary-color-2:var(--td-brand-color-2);--td-primary-color-3:var(--td-brand-color-3);--td-primary-color-4:var(--td-brand-color-4);--td-primary-color-5:var(--td-brand-color-5);--td-primary-color-6:var(--td-brand-color-6);--td-primary-color-7:var(--td-brand-color-7);--td-primary-color-8:var(--td-brand-color-8);--td-primary-color-9:var(--td-brand-color-9);--td-primary-color-10:var(--td-brand-color-10);--td-warning-color-1:#fff1e9;--td-warning-color-2:#ffd9c2;--td-warning-color-3:#ffb98c;--td-warning-color-4:#fa9550;--td-warning-color-5:#e37318;--td-warning-color-6:#be5a00;--td-warning-color-7:#954500;--td-warning-color-8:#713300;--td-warning-color-9:#532300;--td-warning-color-10:#3b1700;--td-error-color-1:#fff0ed;--td-error-color-2:#ffd8d2;--td-error-color-3:#ffb9b0;--td-error-color-4:#ff9285;--td-error-color-5:#f6685d;--td-error-color-6:#d54941;--td-error-color-7:#ad352f;--td-error-color-8:#881f1c;--td-error-color-9:#68070a;--td-error-color-10:#490002;--td-success-color-1:#e3f9e9;--td-success-color-2:#c6f3d7;--td-success-color-3:#92dab2;--td-success-color-4:#56c08d;--td-success-color-5:#2ba471;--td-success-color-6:#008858;--td-success-color-7:#006c45;--td-success-color-8:#005334;--td-success-color-9:#003b23;--td-success-color-10:#002515;--td-gray-color-1:#f3f3f3;--td-gray-color-2:#eeeeee;--td-gray-color-3:#e7e7e7;--td-gray-color-4:#dcdcdc;--td-gray-color-5:#c5c5c5;--td-gray-color-6:#a6a6a6;--td-gray-color-7:#8b8b8b;--td-gray-color-8:#777777;--td-gray-color-9:#5e5e5e;--td-gray-color-10:#4b4b4b;--td-gray-color-11:#383838;--td-gray-color-12:#2c2c2c;--td-gray-color-13:#242424;--td-gray-color-14:#181818;--td-font-white-1:#ffffff;--td-font-white-2:rgba(255, 255, 255, 0.55);--td-font-white-3:rgba(255, 255, 255, 0.35);--td-font-white-4:rgba(255, 255, 255, 0.22);--td-font-gray-1:rgba(0, 0, 0, 0.9);--td-font-gray-2:rgba(0, 0, 0, 0.6);--td-font-gray-3:rgba(0, 0, 0, 0.4);--td-font-gray-4:rgba(0, 0, 0, 0.26);--td-brand-color:var(--td-primary-color-7);--td-warning-color:var(--td-warning-color-5);--td-error-color:var(--td-error-color-6);--td-success-color:var(--td-success-color-5);--td-brand-color-focus:var(--td-primary-color-1);--td-brand-color-active:var(--td-primary-color-8);--td-brand-color-disabled:var(--td-primary-color-3);--td-brand-color-light:var(--td-primary-color-1);--td-brand-color-light-active:var(--td-primary-color-2);--td-warning-color-active:var(--td-warning-color-6);--td-warning-color-disabled:var(--td-warning-color-3);--td-warning-color-focus:var(--td-warning-color-2);--td-warning-color-light:var(--td-warning-color-1);--td-warning-color-light-active:var(--td-warning-color-2);--td-error-color-focus:var(--td-error-color-2);--td-error-color-active:var(--td-error-color-7);--td-error-color-disabled:var(--td-error-color-3);--td-error-color-light:var(--td-error-color-1);--td-error-color-light-active:var(--td-error-color-2);--td-success-color-focus:var(--td-success-color-2);--td-success-color-active:var(--td-success-color-6);--td-success-color-disabled:var(--td-success-color-3);--td-success-color-light:var(--td-success-color-1);--td-success-color-light-active:var(--td-success-color-2);--td-mask-active:rgba(0, 0, 0, 0.6);--td-mask-disabled:rgba(255, 255, 255, 0.6);--td-mask-background:rgba(255, 255, 255, 0.96);--td-bg-color-page:var(--td-gray-color-1);--td-bg-color-container:var(--td-font-white-1);--td-bg-color-container-active:var(--td-gray-color-3);--td-bg-color-secondarycontainer:var(--td-gray-color-1);--td-bg-color-secondarycontainer-active:var(--td-gray-color-4);--td-bg-color-component:var(--td-gray-color-3);--td-bg-color-component-active:var(--td-gray-color-6);--td-bg-color-component-disabled:var(--td-gray-color-2);--td-bg-color-secondarycomponent:var(--td-gray-color-4);--td-bg-color-secondarycomponent-active:var(--td-gray-color-6);--td-bg-color-specialcomponent:#fff;--td-text-color-primary:var(--td-font-gray-1);--td-text-color-secondary:var(--td-font-gray-2);--td-text-color-placeholder:var(--td-font-gray-3);--td-text-color-disabled:var(--td-font-gray-4);--td-text-color-anti:var(--td-font-white-1);--td-text-color-brand:var(--td-brand-color);--td-text-color-link:var(--td-brand-color);--td-border-level-1-color:var(--td-gray-color-3);--td-component-stroke:var(--td-gray-color-3);--td-border-level-2-color:var(--td-gray-color-4);--td-component-border:var(--td-gray-color-4);--td-shadow-1:0 1px 10px rgba(0, 0, 0, 0.05),0 4px 5px rgba(0, 0, 0, 0.08),0 2px 4px -1px rgba(0, 0, 0, 0.12);--td-shadow-2:0 3px 14px 2px rgba(0, 0, 0, 0.05),0 8px 10px 1px rgba(0, 0, 0, 0.06),0 5px 5px -3px rgba(0, 0, 0, 0.1);--td-shadow-3:0 6px 30px 5px rgba(0, 0, 0, 0.05),0 16px 24px 2px rgba(0, 0, 0, 0.04),0 8px 10px -5px rgba(0, 0, 0, 0.08);--td-shadow-4:0 2px 8px 0 rgba(0, 0, 0, 0.06);--td-shadow-inset-top:inset 0 0.5px 0 #dcdcdc;--td-shadow-inset-right:inset 0.5px 0 0 #dcdcdc;--td-shadow-inset-bottom:inset 0 -0.5px 0 #dcdcdc;--td-shadow-inset-left:inset -0.5px 0 0 #dcdcdc;--td-table-shadow-color:rgba(0, 0, 0, 0.08);--td-scrollbar-color:rgba(0, 0, 0, 0.1);--td-scrollbar-hover-color:rgba(0, 0, 0, 0.3);--td-scroll-track-color:#fff;}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_radius.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_radius.wxss
new file mode 100644
index 0000000..d6add7c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_radius.wxss
@@ -0,0 +1 @@
+.page,page{--td-radius-small:6rpx;--td-radius-default:12rpx;--td-radius-large:18rpx;--td-radius-extraLarge:24rpx;--td-radius-round:999px;--td-radius-circle:50%;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_spacer.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_spacer.wxss
new file mode 100644
index 0000000..ea7ca21
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/theme/_spacer.wxss
@@ -0,0 +1 @@
+.page,page{--td-spacer:16rpx;--td-spacer-1:24rpx;--td-spacer-2:32rpx;--td-spacer-3:48rpx;--td-spacer-4:64rpx;--td-spacer-5:96rpx;--td-spacer-6:160rpx;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/utilities/_index.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/utilities/_index.wxss
new file mode 100644
index 0000000..f22b6ec
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/style/utilities/_index.wxss
@@ -0,0 +1,2 @@
+.hotspot-expanded.relative{position:relative;}
+.hotspot-expanded::after{content:'';display:block;position:absolute;left:0;top:0;right:0;bottom:0;transform:scale(1.5);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/badge.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/badge.wxml
new file mode 100644
index 0000000..c9b3eed
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/badge.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/button.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/button.wxml
new file mode 100644
index 0000000..dbd7f45
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/button.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/icon.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/icon.wxml
new file mode 100644
index 0000000..c57fbec
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/icon.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/image.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/image.wxml
new file mode 100644
index 0000000..8d4bdfc
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/template/image.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/utils.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/utils.d.ts
new file mode 100644
index 0000000..191c99c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/utils.d.ts
@@ -0,0 +1,38 @@
+///
+///
+///
+export declare const systemInfo: WechatMiniprogram.WindowInfo | WechatMiniprogram.SystemInfo;
+export declare const appBaseInfo: WechatMiniprogram.AppBaseInfo | WechatMiniprogram.SystemInfo;
+export declare const deviceInfo: WechatMiniprogram.DeviceInfo | WechatMiniprogram.SystemInfo;
+declare type Context = WechatMiniprogram.Page.TrivialInstance | WechatMiniprogram.Component.TrivialInstance;
+export declare const debounce: (func: any, wait?: number) => (...rest: any[]) => void;
+export declare const throttle: (func: any, wait?: number, options?: any) => (...args: any[]) => void;
+export declare const classNames: (...args: any[]) => string;
+export declare const styles: (styleObj: any) => string;
+export declare const getAnimationFrame: (context: any, cb: Function) => any;
+export declare const getRect: (context: any, selector: string, needAll?: boolean) => Promise;
+interface TreeNode {
+ children?: TreeNode[];
+ [key: string]: any;
+}
+export declare const getTreeDepth: (tree: TreeNode[], key?: string) => any;
+export declare const isIOS: () => boolean;
+export declare const addUnit: (value?: string | number) => string | undefined;
+export declare const getCharacterLength: (type: string, char: string | number, max?: number) => {
+ length: number;
+ characters: string;
+};
+export declare const chunk: (arr: any[], size: number) => any[][];
+export declare const getInstance: (context?: Context, selector?: string) => WechatMiniprogram.Component.TrivialInstance;
+export declare const unitConvert: (value: number | string | null | undefined) => number;
+export declare const setIcon: (iconName: any, icon: any, defaultIcon: any) => {
+ [x: string]: any;
+};
+export declare const toCamel: (str: any) => any;
+export declare const getCurrentPage: () => T & WechatMiniprogram.OptionalInterface & WechatMiniprogram.Page.InstanceProperties & WechatMiniprogram.Page.InstanceMethods & WechatMiniprogram.Page.Data & WechatMiniprogram.IAnyObject;
+export declare const uniqueFactory: (compName: any) => () => string;
+export declare const calcIcon: (icon: string | Record, defaultIcon?: string) => Record;
+export declare const isOverSize: (size: any, sizeLimit: any) => boolean;
+export declare const rpx2px: (rpx: any) => number;
+export declare const nextTick: () => Promise;
+export {};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/utils.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/utils.js
new file mode 100644
index 0000000..0ae9d0a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/utils.js
@@ -0,0 +1 @@
+import{prefix}from"./config";import{isString,isNumber,isDef,isBoolean,isObject}from"./validator";import{getWindowInfo,getAppBaseInfo,getDeviceInfo}from"./wechat";export const systemInfo=getWindowInfo();export const appBaseInfo=getAppBaseInfo();export const deviceInfo=getDeviceInfo();export const debounce=function(e,t=500){let n;return function(...o){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,o)},t)}};export const throttle=(e,t=100,n=null)=>{let o=0,r=null;return n||(n={leading:!0}),function(...c){const s=Date.now();o||n.leading||(o=s);const i=this;t-(s-o)<=0&&(r&&(clearTimeout(r),r=null),o=s,e.apply(i,c))}};export const classNames=function(...e){const t={}.hasOwnProperty,n=[];return e.forEach(e=>{if(!e)return;const o=typeof e;if("string"===o||"number"===o)n.push(e);else if(Array.isArray(e)&&e.length){const t=classNames(...e);t&&n.push(t)}else if("object"===o)for(const o in e)t.call(e,o)&&e[o]&&n.push(o)}),n.join(" ")};export const styles=function(e){return Object.keys(e).map(t=>`${t}: ${e[t]}`).join("; ")};export const getAnimationFrame=function(e,t){return e.createSelectorQuery().selectViewport().boundingClientRect().exec(()=>{t()})};export const getRect=function(e,t,n=!1){return new Promise((o,r)=>{e.createSelectorQuery()[n?"selectAll":"select"](t).boundingClientRect(e=>{e?o(e):r(e)}).exec()})};export const getTreeDepth=(e,t)=>e.reduce((e,n)=>n[null!=t?t:"children"]&&n[null!=t?t:"children"].length>0?Math.max(e,getTreeDepth(n[null!=t?t:"children"],t)+1):Math.max(e,1),0);export const isIOS=function(){var e;return!!((null===(e=null==deviceInfo?void 0:deviceInfo.system)||void 0===e?void 0:e.toLowerCase().search("ios"))+1)};export const addUnit=function(e){if(isDef(e))return e=String(e),isNumber(e)?`${e}px`:e};export const getCharacterLength=(e,t,n)=>{const o=String(null!=t?t:"");if(0===o.length)return{length:0,characters:""};if("maxcharacter"===e){let e=0;for(let t=0;t127||94===o.charCodeAt(t)?2:1,e+r>n)return{length:e,characters:o.slice(0,t)};e+=r}return{length:e,characters:o}}if("maxlength"===e){const e=o.length>n?n:o.length;return{length:e,characters:o.slice(0,e)}}return{length:o.length,characters:o}};export const chunk=(e,t)=>Array.from({length:Math.ceil(e.length/t)},(n,o)=>e.slice(o*t,o*t+t));export const getInstance=function(e,t){if(!e){const t=getCurrentPages(),n=t[t.length-1];e=n.$$basePage||n}const n=e?e.selectComponent(t):null;return n||(console.warn("未找到组件,请检查selector是否正确"),null)};export const unitConvert=e=>{var t;return"string"==typeof e?e.includes("rpx")?parseInt(e,10)*(null!==(t=null==systemInfo?void 0:systemInfo.screenWidth)&&void 0!==t?t:750)/750:parseInt(e,10):null!=e?e:0};export const setIcon=(e,t,n)=>t?"string"==typeof t?{[`${e}Name`]:t,[`${e}Data`]:{}}:"object"==typeof t?{[`${e}Name`]:"",[`${e}Data`]:t}:{[`${e}Name`]:n,[`${e}Data`]:{}}:{[`${e}Name`]:"",[`${e}Data`]:{}};export const toCamel=e=>e.replace(/-(\w)/g,(e,t)=>t.toUpperCase());export const getCurrentPage=function(){const e=getCurrentPages();return e[e.length-1]};export const uniqueFactory=e=>{let t=0;return()=>{const n=`${prefix}_${e}_${t}`;return t+=1,n}};export const calcIcon=(e,t)=>e&&(isBoolean(e)&&t||isString(e))?{name:isBoolean(e)?t:e}:isObject(e)?e:null;export const isOverSize=(e,t)=>{var n;if(!t)return!1;const o=1e3,r={B:1,KB:o,MB:1e6,GB:1e9};return e>("number"==typeof t?t*o:(null==t?void 0:t.size)*r[null!==(n=null==t?void 0:t.unit)&&void 0!==n?n:"KB"])};export const rpx2px=e=>Math.floor(systemInfo.windowWidth*e/750);export const nextTick=()=>new Promise(e=>{wx.nextTick(()=>{e()})});
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/utils.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/utils.wxs
new file mode 100644
index 0000000..774cd11
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/utils.wxs
@@ -0,0 +1,149 @@
+/* utils */
+
+/**
+ * addUnit */
+// 为 css 添加单位
+function addUnit(value) {
+ // prettier-ignore
+ var REGEXP = getRegExp('^-?\d+(.\d+)?$');
+ if (value == null) {
+ return undefined;
+ }
+ return REGEXP.test('' + value) ? value + 'px' : value;
+}
+
+function isString(string) {
+ return string && string.constructor === 'String';
+}
+
+function isArray(array) {
+ return array && array.constructor === 'Array';
+}
+
+function isObject(obj) {
+ return obj && obj.constructor === 'Object';
+}
+
+function isBoolean(value) {
+ return typeof value === 'boolean';
+}
+
+function isNoEmptyObj(obj) {
+ return isObject(obj) && JSON.stringify(obj) !== '{}';
+}
+
+function includes(arr, value) {
+ if (!arr || !isArray(arr)) return false;
+
+ var i = 0;
+ var len = arr.length;
+
+ for (; i < len; i++) {
+ if (arr[i] === value) return true;
+ }
+ return false;
+}
+
+function cls(base, arr) {
+ var res = [base];
+ var i = 0;
+ for (var size = arr.length; i < size; i++) {
+ var item = arr[i];
+
+ if (item && item.constructor === 'Array') {
+ var key = arr[i][0];
+ var value = arr[i][1];
+
+ if (value) {
+ res.push(base + '--' + key);
+ }
+ } else if (typeof item === 'string' || typeof item === 'number') {
+ if (item) {
+ res.push(base + '--' + item);
+ }
+ }
+ }
+ return res.join(' ');
+}
+
+function getBadgeAriaLabel(options) {
+ var maxCount = options.maxCount || 99;
+ if (options.dot) {
+ return '有新的消息';
+ }
+ if (options.count === '...') {
+ return '有很多消息';
+ }
+ if (isNaN(options.count)) {
+ return options.count;
+ }
+ var str1 = '有' + maxCount + '+条消息';
+ var str2 = '有' + options.count + '条消息';
+ return Number(options.count) > maxCount ? str1 : str2;
+}
+
+function endsWith(str, endStr) {
+ return str.slice(-endStr.length) === endStr ? str : str + endStr;
+}
+
+function keys(obj) {
+ return JSON.stringify(obj)
+ .replace(getRegExp('{|}|"', 'g'), '')
+ .split(',')
+ .map(function (item) {
+ return item.split(':')[0];
+ });
+}
+
+function kebabCase(str) {
+ return str
+ .replace(getRegExp('[A-Z]', 'g'), function (ele) {
+ return '-' + ele;
+ })
+ .toLowerCase();
+}
+
+function _style(styles) {
+ if (isArray(styles)) {
+ return styles
+ .filter(function (item) {
+ return item != null && item !== '';
+ })
+ .map(function (item) {
+ return isArray(item) ? _style(item) : endsWith(item, ';');
+ })
+ .join(' ');
+ }
+
+ if (isObject(styles)) {
+ return keys(styles)
+ .filter(function (key) {
+ return styles[key] != null && styles[key] !== '';
+ })
+ .map(function (key) {
+ return [kebabCase(key), [styles[key]]].join(':');
+ })
+ .join(';');
+ }
+
+ return styles;
+}
+
+function isValidIconName(str) {
+ // prettier-ignore
+ return getRegExp('^[A-Za-z0-9\-\_]+$').test(str);
+}
+
+module.exports = {
+ addUnit: addUnit,
+ isString: isString,
+ isArray: isArray,
+ isObject: isObject,
+ isBoolean: isBoolean,
+ isNoEmptyObj: isNoEmptyObj,
+ includes: includes,
+ cls: cls,
+ getBadgeAriaLabel: getBadgeAriaLabel,
+ _style: _style,
+ isValidIconName: isValidIconName,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/validator.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/validator.d.ts
new file mode 100644
index 0000000..61bc04e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/validator.d.ts
@@ -0,0 +1,9 @@
+export declare function isFunction(val: unknown): val is Function;
+export declare const isString: (val: unknown) => val is string;
+export declare const isNull: (value: T) => value is null;
+export declare const isUndefined: (value: T) => value is undefined;
+export declare function isDef(value: unknown): boolean;
+export declare function isNumber(value: string | number): boolean;
+export declare function isBoolean(value: unknown): value is boolean;
+export declare function isObject(x: unknown): x is Record;
+export declare function isPlainObject(val: unknown): val is Record;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/validator.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/validator.js
new file mode 100644
index 0000000..745ed3b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/validator.js
@@ -0,0 +1 @@
+export function isFunction(t){return"function"==typeof t}export const isString=t=>"string"==typeof t;export const isNull=t=>null===t;export const isUndefined=t=>void 0===t;export function isDef(t){return!isUndefined(t)&&!isNull(t)}export function isNumber(t){return"number"==typeof t||/^-?\d+(\.\d+)?$/.test(t)}export function isBoolean(t){return"boolean"==typeof t}export function isObject(t){const n=typeof t;return null!==t&&("object"===n||"function"===n)}export function isPlainObject(t){return null!==t&&"object"==typeof t&&"[object Object]"===Object.prototype.toString.call(t)}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/version.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/version.d.ts
new file mode 100644
index 0000000..21e0b9e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/version.d.ts
@@ -0,0 +1,4 @@
+export declare function compareVersion(v1: any, v2: any): 0 | 1 | -1;
+export declare function canIUseFormFieldButton(): boolean;
+export declare function canUseVirtualHost(): boolean;
+export declare function canUseProxyScrollView(): boolean;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/version.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/version.js
new file mode 100644
index 0000000..a186b0f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/version.js
@@ -0,0 +1 @@
+import{getAppBaseInfo}from"./wechat";let systemInfo;function getSystemInfo(){return null==systemInfo&&(systemInfo=getAppBaseInfo()),systemInfo}export function compareVersion(e,n){e=e.split("."),n=n.split(".");const t=Math.max(e.length,n.length);for(;e.lengtho)return 1;if(t=0}export function canIUseFormFieldButton(){return judgeByVersion("2.10.3")}export function canUseVirtualHost(){return judgeByVersion("2.19.2")}export function canUseProxyScrollView(){return judgeByVersion("2.19.2")}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/wechat.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/wechat.d.ts
new file mode 100644
index 0000000..41b7103
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/wechat.d.ts
@@ -0,0 +1,4 @@
+export declare const getObserver: (context: any, selector: string) => Promise;
+export declare const getWindowInfo: () => WechatMiniprogram.WindowInfo | WechatMiniprogram.SystemInfo;
+export declare const getAppBaseInfo: () => WechatMiniprogram.SystemInfo | WechatMiniprogram.AppBaseInfo;
+export declare const getDeviceInfo: () => WechatMiniprogram.SystemInfo | WechatMiniprogram.DeviceInfo;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/common/wechat.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/wechat.js
new file mode 100644
index 0000000..1c1c7d6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/common/wechat.js
@@ -0,0 +1 @@
+export const getObserver=(e,t)=>new Promise(o=>{e.createIntersectionObserver(e).relativeToViewport().observe(t,e=>{o(e)})});export const getWindowInfo=()=>wx.getWindowInfo&&wx.getWindowInfo()||wx.getSystemInfoSync();export const getAppBaseInfo=()=>wx.getAppBaseInfo&&wx.getAppBaseInfo()||wx.getSystemInfoSync();export const getDeviceInfo=()=>wx.getDeviceInfo&&wx.getDeviceInfo()||wx.getSystemInfoSync();
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.d.ts
new file mode 100644
index 0000000..111e788
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.d.ts
@@ -0,0 +1,34 @@
+import { SuperComponent } from '../common/src/index';
+export default class CountDown extends SuperComponent {
+ externalClasses: string[];
+ properties: import("./type").TdCountDownProps;
+ observers: {
+ time(): void;
+ };
+ data: {
+ prefix: string;
+ classPrefix: string;
+ timeDataUnit: {
+ DD: string;
+ HH: string;
+ mm: string;
+ ss: string;
+ SSS: string;
+ };
+ timeData: import("./utils").TimeData;
+ formattedTime: string;
+ };
+ timeoutId: null | number;
+ isInitialTime: boolean;
+ lifetimes: {
+ detached(): void;
+ };
+ methods: {
+ start(): void;
+ pause(): void;
+ reset(): void;
+ getTime(): number;
+ updateTime(remain: number): void;
+ doCount(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.js
new file mode 100644
index 0000000..ada596f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{isSameSecond,parseFormat,parseTimeData,TimeDataUnit}from"./utils";const{prefix:prefix}=config,name=`${prefix}-count-down`;let CountDown=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-count`,`${prefix}-class-split`],this.properties=props,this.observers={time(){this.reset()}},this.data={prefix:prefix,classPrefix:name,timeDataUnit:TimeDataUnit,timeData:parseTimeData(0),formattedTime:"0"},this.timeoutId=null,this.isInitialTime=!1,this.lifetimes={detached(){this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}},this.methods={start(){this.counting||(this.counting=!0,this.endTime=Date.now()+this.remain,this.doCount())},pause(){this.counting=!1,this.timeoutId&&clearTimeout(this.timeoutId)},reset(){this.pause(),this.remain=this.properties.time,this.updateTime(this.remain),this.properties.autoStart&&this.remain>0&&this.start(),this.isInitialTime=!0},getTime(){return Math.max(this.endTime-Date.now(),0)},updateTime(t){const{format:i}=this.properties;this.remain=t;const e=parseTimeData(t);this.triggerEvent("change",e);const{timeText:s}=parseFormat(t,i),o=i.split(":");this.setData({timeRange:o,timeData:e,formattedTime:s.replace(/:/g," : ")}),0===t&&(this.counting||this.isInitialTime)&&(this.pause(),this.triggerEvent("finish"),this.counting=!1)},doCount(){this.timeoutId=setTimeout(()=>{const t=this.getTime();this.properties.millisecond?this.updateTime(t):isSameSecond(t,this.remain)&&0!==t||this.updateTime(t),0!==t&&this.doCount()},33)}}}};CountDown=__decorate([wxComponent()],CountDown);export default CountDown;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.json
new file mode 100644
index 0000000..9269b92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.wxml
new file mode 100644
index 0000000..2db5e3c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.wxml
@@ -0,0 +1 @@
+{{formattedTime}}{{_this.format(timeData[timeRange[index]])}}{{splitWithUnit ? timeDataUnit[timeRange[index]] : ':'}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.wxs
new file mode 100644
index 0000000..0d17afa
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.wxs
@@ -0,0 +1,3 @@
+module.exports.format = function (num) {
+ return num < 10 ? '0' + num : num;
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.wxss
new file mode 100644
index 0000000..3e07ae6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/count-down.wxss
@@ -0,0 +1,27 @@
+@import '../common/style/index.wxss';.t-count-down--small.t-count-down--default{font-size:var(--td-font-size-base,28rpx);}
+.t-count-down--small.t-count-down--round>.t-count-down__item{font-size:var(--td-font-size-s,24rpx);}
+.t-count-down--small.t-count-down--square>.t-count-down__item{font-size:var(--td-font-size-s,24rpx);}
+.t-count-down--small.t-count-down--round>.t-count-down__item,.t-count-down--small.t-count-down--square>.t-count-down__item{width:40rpx;height:40rpx;}
+.t-count-down--small.t-count-down--round>.t-count-down__split--dot,.t-count-down--small.t-count-down--square>.t-count-down__split--dot{margin:0 4rpx;font-size:var(--td-font-size-base,28rpx);font-weight:700;}
+.t-count-down--small.t-count-down--round>.t-count-down__split--text,.t-count-down--small.t-count-down--square>.t-count-down__split--text{margin:0 8rpx;font-size:var(--td-font-size,20rpx);}
+.t-count-down--medium.t-count-down--default{font-size:var(--td-font-size-m,32rpx);}
+.t-count-down--medium.t-count-down--round>.t-count-down__item{font-size:var(--td-font-size-base,28rpx);}
+.t-count-down--medium.t-count-down--square>.t-count-down__item{font-size:var(--td-font-size-base,28rpx);}
+.t-count-down--medium.t-count-down--round>.t-count-down__item,.t-count-down--medium.t-count-down--square>.t-count-down__item{width:48rpx;height:48rpx;}
+.t-count-down--medium.t-count-down--round>.t-count-down__split--dot,.t-count-down--medium.t-count-down--square>.t-count-down__split--dot{margin:0 6rpx;font-size:var(--td-font-size-m,32rpx);font-weight:700;}
+.t-count-down--medium.t-count-down--round>.t-count-down__split--text,.t-count-down--medium.t-count-down--square>.t-count-down__split--text{margin:0 10rpx;font-size:var(--td-font-size-s,24rpx);}
+.t-count-down--large.t-count-down--default{font-size:36rpx;}
+.t-count-down--large.t-count-down--round>.t-count-down__item{font-size:var(--td-font-size-m,32rpx);}
+.t-count-down--large.t-count-down--square>.t-count-down__item{font-size:var(--td-font-size-m,32rpx);}
+.t-count-down--large.t-count-down--round>.t-count-down__item,.t-count-down--large.t-count-down--square>.t-count-down__item{width:56rpx;height:56rpx;}
+.t-count-down--large.t-count-down--round>.t-count-down__split--dot,.t-count-down--large.t-count-down--square>.t-count-down__split--dot{margin:0 12rpx;font-size:36rpx;font-weight:700;}
+.t-count-down--large.t-count-down--round>.t-count-down__split--text,.t-count-down--large.t-count-down--square>.t-count-down__split--text{margin:0 12rpx;font-size:var(--td-font-size-base,28rpx);}
+.t-count-down{font-family:TCloudNumber,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Sans GB,Microsoft YaHei UI,Microsoft YaHei,Source Han Sans CN,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;display:flex;}
+.t-count-down .t-count-down__item,.t-count-down .t-count-down__split{display:flex;align-items:center;justify-content:center;}
+.t-count-down--round>.t-count-down__split--dot,.t-count-down--square>.t-count-down__split--dot{color:var(--td-error-color,var(--td-error-color-6,#d54941));}
+.t-count-down--round>.t-count-down__split--text,.t-count-down--square>.t-count-down__split--text{color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));}
+.t-count-down--default{color:var(--td-countdown-default-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-count-down--square{color:var(--td-countdown-round-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));}
+.t-count-down--square>.t-count-down__item{border-radius:var(--td-countdown-square-border-radius,var(--td-radius-small,6rpx));background:var(--td-countdown-bg-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-count-down--round{color:var(--td-countdown-round-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));}
+.t-count-down--round>.t-count-down__item{border-radius:var(--td-countdown-round-border-radius,var(--td-radius-circle,50%));background:var(--td-countdown-bg-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/props.d.ts
new file mode 100644
index 0000000..8cab4af
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/props.d.ts
@@ -0,0 +1,3 @@
+import { TdCountDownProps } from './type';
+declare const props: TdCountDownProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/props.js
new file mode 100644
index 0000000..0897077
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/props.js
@@ -0,0 +1 @@
+const props={autoStart:{type:Boolean,value:!0},content:{type:String,value:"default"},format:{type:String,value:"HH:mm:ss"},millisecond:{type:Boolean,value:!1},size:{type:String,value:"medium"},splitWithUnit:{type:Boolean,value:!1},theme:{type:String,value:"default"},time:{type:Number,value:0,required:!0}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/type.d.ts
new file mode 100644
index 0000000..2d362a6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/type.d.ts
@@ -0,0 +1,35 @@
+export interface TdCountDownProps {
+ autoStart?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ format?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ millisecond?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ size?: {
+ type: StringConstructor;
+ value?: 'small' | 'medium' | 'large';
+ };
+ splitWithUnit?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'default' | 'round' | 'square';
+ };
+ time: {
+ type: NumberConstructor;
+ value?: number;
+ required?: boolean;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/utils.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/utils.d.ts
new file mode 100644
index 0000000..18c1fac
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/utils.d.ts
@@ -0,0 +1,25 @@
+export interface TimeData {
+ DD: number;
+ HH: number;
+ mm: number;
+ ss: number;
+ SSS: number;
+}
+export declare const TimeDataUnit: {
+ DD: string;
+ HH: string;
+ mm: string;
+ ss: string;
+ SSS: string;
+};
+export declare const parseTimeData: (time: number) => TimeData;
+export declare const isSameSecond: (time1: number, time2: number) => boolean;
+export declare type TTimeList = {
+ digit: string;
+ unit: string;
+ match: string;
+}[];
+export declare const parseFormat: (time: number, format: string) => {
+ timeText: string;
+ timeList: TTimeList;
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/utils.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/utils.js
new file mode 100644
index 0000000..fb7c666
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/count-down/utils.js
@@ -0,0 +1 @@
+export const TimeDataUnit={DD:"天",HH:"时",mm:"分",ss:"秒",SSS:"毫秒"};const SECOND=1e3,MINUTE=6e4,HOUR=36e5,DAY=24*HOUR;export const parseTimeData=function(t){return{DD:Math.floor(t/DAY),HH:Math.floor(t%DAY/HOUR),mm:Math.floor(t%HOUR/6e4),ss:Math.floor(t%6e4/1e3),SSS:Math.floor(t%1e3)}};export const isSameSecond=function(t,e){return Math.floor(t/1e3)===Math.floor(e/1e3)};export const parseFormat=function(t,e){const o={"D+":Math.floor(t/864e5),"H+":Math.floor(t%864e5/36e5),"m+":Math.floor(t%36e5/6e4),"s+":Math.floor(t%6e4/1e3),"S+":Math.floor(t%1e3)},r=[];let n=e;return Object.keys(o).forEach(t=>{new RegExp(`(${t})`).test(n)&&(n=n.replace(RegExp.$1,(e,n,s)=>{const a=`${o[t]}`;let l=a;e.length>1&&(l=(e.replace(new RegExp(e[0],"g"),"0")+a).substr(a.length));const h=s.substr(n+e.length),c=r[r.length-1];if(c){const t=c.unit.indexOf(e);-1!==t&&(c.unit=c.unit.substr(0,t))}return r.push({digit:l,unit:h,match:e}),l}))}),{timeText:n,timeList:r}};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.d.ts
new file mode 100644
index 0000000..3ef9abc
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.d.ts
@@ -0,0 +1,80 @@
+import type { Dayjs } from 'dayjs';
+import { SuperComponent } from '../common/src/index';
+declare enum ModeItem {
+ YEAR = "year",
+ MONTH = "month",
+ DATE = "date",
+ HOUR = "hour",
+ MINUTE = "minute",
+ SECOND = "second"
+}
+interface ColumnItemValue {
+ value: string | number;
+ label: string | number;
+}
+export default class DateTimePicker extends SuperComponent {
+ properties: import("./type").TdDateTimePickerProps;
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ observers: {
+ 'start, end, value': () => void;
+ customLocale(v: any): void;
+ mode(m: any): void;
+ };
+ date: any;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ columns: any[];
+ columnsValue: any[];
+ fullModes: any[];
+ locale: any;
+ dayjsLocale: any;
+ };
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ methods: {
+ updateColumns(): void;
+ getDaysOfWeekInMonth(date: Dayjs, type: string): Array<{
+ value: string;
+ label: string;
+ }>;
+ getParseDate(): Dayjs;
+ normalize(val: string | number, defaultDay: Dayjs): Dayjs;
+ getMinDate(): Dayjs;
+ getMaxDate(): Dayjs;
+ getDateRect(type?: string): any[];
+ getDate(): Dayjs;
+ clipDate(date: Dayjs): Dayjs;
+ setYear(date: Dayjs, year: number): Dayjs;
+ setMonth(date: Dayjs, month: number): Dayjs;
+ getColumnOptions(): any[];
+ getOptionByType(type: string): any;
+ getYearOptions(dateParams: any): ColumnItemValue[];
+ getOptionEdge(minOrMax: 'min' | 'max', type: any): any;
+ getMonthOptions(): ColumnItemValue[];
+ getDayOptions(): ColumnItemValue[];
+ getHourOptions(): ColumnItemValue[];
+ getMinuteOptions(): ColumnItemValue[];
+ getValueCols(this: DateTimePicker): {
+ columns: any;
+ columnsValue: any;
+ };
+ getColumnsValue(): string[];
+ getNewDate(value: number, type: ModeItem): Dayjs;
+ onColumnChange(e: WechatMiniprogram.CustomEvent): void;
+ onConfirm(): void;
+ onCancel(): void;
+ onVisibleChange(e: any): void;
+ onClose(e: any): void;
+ resetColumns(): void;
+ };
+ getFullModeArray(mode: any): any;
+ getFullModeByModeString(modeString: any, matchModes: any): any;
+ isTimeMode(): boolean;
+}
+export {};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.js
new file mode 100644
index 0000000..ac86150
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.js
@@ -0,0 +1 @@
+var _a,_b;import{__decorate}from"tslib";import config from"../common/config";import{SuperComponent,wxComponent}from"../common/src/index";import props from"./props";import dayjsLocaleMap from"./locale/dayjs";const dayjs=require("dayjs"),localeData=require("dayjs/plugin/localeData");dayjs.extend(localeData),dayjs.locale("zh-cn");const defaultLocale=(null===(_a=dayjsLocaleMap[dayjs.locale()])||void 0===_a?void 0:_a.key)||(null===(_b=dayjsLocaleMap.default)||void 0===_b?void 0:_b.key),{prefix:prefix}=config,name=`${prefix}-date-time-picker`;var ModeItem;!function(e){e.YEAR="year",e.MONTH="month",e.DATE="date",e.HOUR="hour",e.MINUTE="minute",e.SECOND="second"}(ModeItem||(ModeItem={}));const DATE_MODES=["year","month","date"],TIME_MODES=["hour","minute","second"],FULL_MODES=[...DATE_MODES,...TIME_MODES];let DateTimePicker=class extends SuperComponent{constructor(){super(...arguments),this.properties=props,this.externalClasses=[`${prefix}-class`,`${prefix}-class-confirm`,`${prefix}-class-cancel`,`${prefix}-class-title`],this.options={multipleSlots:!0},this.observers={"start, end, value":function(){this.updateColumns()},customLocale(e){e&&dayjsLocaleMap[e].key&&this.setData({locale:dayjsLocaleMap[e].i18n,dayjsLocale:dayjsLocaleMap[e].key})},mode(e){const t=this.getFullModeArray(e);this.setData({fullModes:t}),this.updateColumns()}},this.date=null,this.data={prefix:prefix,classPrefix:name,columns:[],columnsValue:[],fullModes:[],locale:dayjsLocaleMap[defaultLocale].i18n,dayjsLocale:dayjsLocaleMap[defaultLocale].key},this.controlledProps=[{key:"value",event:"change"}],this.methods={updateColumns(){this.date=this.getParseDate();const{columns:e,columnsValue:t}=this.getValueCols();this.setData({columns:e,columnsValue:t})},getDaysOfWeekInMonth(e,t){var a;const{locale:s,steps:o,dayjsLocale:n}=this.data,i=e.startOf("month"),l=this.getOptionEdge("min",t),r=this.getOptionEdge("max",t),u=null!==(a=null==o?void 0:o[t])&&void 0!==a?a:1,d=[];for(let e=l;e<=r;e+=u){const t=i.date(e).locale(n).format("ddd");d.push({value:`${e}`,label:`${e}${s.date||""} ${t}`})}return d},getParseDate(){const{value:e,defaultValue:t}=this.properties,a=this.getMinDate();let s=e||t;if(this.isTimeMode()){const e=dayjs(a).format("YYYY-MM-DD");s=dayjs(`${e} ${s}`)}const o=dayjs(s||a);return o.isValid()?o:a},normalize:(e,t)=>e&&dayjs(e).isValid()?dayjs(e):t,getMinDate(){return this.normalize(this.properties.start,dayjs().subtract(10,"year"))},getMaxDate(){return this.normalize(this.properties.end,dayjs().add(10,"year"))},getDateRect(e="default"){const t=this[{min:"getMinDate",max:"getMaxDate",default:"getDate"}[e]]();return["year","month","date","hour","minute","second"].map(e=>{var a;return null===(a=t[e])||void 0===a?void 0:a.call(t)})},getDate(){return this.clipDate((null==this?void 0:this.date)||this.getMinDate())},clipDate(e){const t=this.getMinDate(),a=this.getMaxDate();return dayjs(Math.min(Math.max(t.valueOf(),e.valueOf()),a.valueOf()))},setYear(e,t){const a=e.date(),s=e.year(t).daysInMonth();return e.date(Math.min(a.valueOf(),s.valueOf())).year(t)},setMonth(e,t){const a=e.date(),s=e.month(t).daysInMonth();return e.date(Math.min(a.valueOf(),s.valueOf())).month(t)},getColumnOptions(){const{fullModes:e,filter:t}=this.data,a=[];return null==e||e.forEach(e=>{const s=this.getOptionByType(e);"function"==typeof t?a.push(t(e,s)):a.push(s)}),a},getOptionByType(e){var t;const{locale:a,steps:s,showWeek:o}=this.data,n=[],i=this.getOptionEdge("min",e),l=this.getOptionEdge("max",e),r=null!==(t=null==s?void 0:s[e])&&void 0!==t?t:1,u=dayjs().locale(this.data.dayjsLocale).localeData().monthsShort();if("date"===e&&o)return this.getDaysOfWeekInMonth(this.date,e);for(let t=i;t<=l;t+=r)n.push({value:`${t}`,label:"month"===e?u[t]:`${t+a[e]}`});return n},getYearOptions(e){const{locale:t}=this.data,{minDateYear:a,maxDateYear:s}=e,o=[];for(let e=a;e<=s;e+=1)o.push({value:`${e}`,label:`${e+t.year}`});return o},getOptionEdge(e,t){const a=this.getDateRect(),s=this.getDateRect(e),o={month:[0,11],date:[1,this.getDate().daysInMonth()],hour:[0,23],minute:[0,59],second:[0,59]},n=["year","month","date","hour","minute","second"];for(let i=0,l=a.length;i{a.push(`${t[e]()}`)}),a},getNewDate(e,t){let a=this.getDate();switch(t){case ModeItem.YEAR:a=this.setYear(a,e);break;case ModeItem.MONTH:a=this.setMonth(a,e);break;case ModeItem.DATE:a=a.date(e);break;case ModeItem.HOUR:a=a.hour(e);break;case ModeItem.MINUTE:a=a.minute(e);break;case ModeItem.SECOND:a=a.second(e)}return this.clipDate(a)},onColumnChange(e){const{value:t,column:a}=null==e?void 0:e.detail,{fullModes:s,format:o}=this.data,n=null==t?void 0:t[a],i=null==s?void 0:s[a],l=this.getNewDate(parseInt(n,10),i);this.date=l;const{columns:r,columnsValue:u}=this.getValueCols();this.setData({columns:r,columnsValue:u});const d=this.getDate(),h=o?d.format(o):d.valueOf();this.triggerEvent("pick",{value:h})},onConfirm(){const{format:e}=this.properties,t=this.getDate(),a=e?t.format(e):t.valueOf();this._trigger("change",{value:a}),this.triggerEvent("confirm",{value:a}),this.resetColumns()},onCancel(){this.resetColumns(),this.triggerEvent("cancel")},onVisibleChange(e){e.detail.visible||this.resetColumns()},onClose(e){const{trigger:t}=e.detail;this.triggerEvent("close",{trigger:t})},resetColumns(){const e=this.getParseDate();this.date=e;const{columns:t,columnsValue:a}=this.getValueCols();this.setData({columns:t,columnsValue:a})}}}getFullModeArray(e){if("string"==typeof e||e instanceof String)return this.getFullModeByModeString(e,FULL_MODES);if(Array.isArray(e)){if(1===(null==e?void 0:e.length))return this.getFullModeByModeString(e[0],FULL_MODES);if(2===(null==e?void 0:e.length)){return[...this.getFullModeByModeString(e[0],DATE_MODES),...this.getFullModeByModeString(e[1],TIME_MODES)]}}}getFullModeByModeString(e,t){if(!e)return[];const a=null==t?void 0:t.findIndex(t=>e===t);return null==t?void 0:t.slice(0,a+1)}isTimeMode(){const{fullModes:e}=this.data;return e[0]===ModeItem.HOUR}};DateTimePicker=__decorate([wxComponent()],DateTimePicker);export default DateTimePicker;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.json
new file mode 100644
index 0000000..d89c31e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-picker":"../picker/picker","t-picker-item":"../picker-item/picker-item"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.wxml
new file mode 100644
index 0000000..d608c9a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.wxss
new file mode 100644
index 0000000..bb472cf
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.wxss
@@ -0,0 +1 @@
+@import '../common/style/index.wxss';.t-date-time-picker__item--roomly{width:var(--td-data-time-picker-year-width,128rpx);flex:0 0 var(--td-data-time-picker-year-width,128rpx);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/dayjs.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/dayjs.d.ts
new file mode 100644
index 0000000..faf01c6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/dayjs.d.ts
@@ -0,0 +1,174 @@
+import * as enLocale from 'dayjs/locale/en';
+declare const _default: {
+ default: {
+ key: string;
+ label: string;
+ locale: enLocale.Locale;
+ i18n: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+ };
+ };
+ en: {
+ key: string;
+ label: string;
+ locale: enLocale.Locale;
+ i18n: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+ };
+ };
+ 'zh-cn': {
+ key: string;
+ label: string;
+ locale: enLocale.Locale;
+ i18n: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+ };
+ };
+ zh: {
+ key: string;
+ label: string;
+ locale: enLocale.Locale;
+ i18n: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+ };
+ };
+ 'zh-tw': {
+ key: string;
+ label: string;
+ locale: enLocale.Locale;
+ i18n: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+ };
+ };
+ tc: {
+ key: string;
+ label: string;
+ locale: enLocale.Locale;
+ i18n: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+ };
+ };
+ ko: {
+ key: string;
+ label: string;
+ locale: enLocale.Locale;
+ i18n: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+ };
+ };
+ kr: {
+ key: string;
+ label: string;
+ locale: enLocale.Locale;
+ i18n: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+ };
+ };
+ ja: {
+ key: string;
+ label: string;
+ locale: enLocale.Locale;
+ i18n: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+ };
+ };
+ ru: {
+ key: string;
+ label: string;
+ locale: enLocale.Locale;
+ i18n: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+ };
+ };
+};
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/dayjs.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/dayjs.js
new file mode 100644
index 0000000..582e653
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/dayjs.js
@@ -0,0 +1 @@
+import*as enLocale from"dayjs/locale/en";import*as zhLocale from"dayjs/locale/zh-cn";import*as tcLocale from"dayjs/locale/zh-tw";import*as koLocale from"dayjs/locale/ko";import*as jaLocale from"dayjs/locale/ja";import*as ruLocale from"dayjs/locale/ru";import en from"./en";import zh from"./zh";import tc from"./tc";import ko from"./ko";import ja from"./ja";import ru from"./ru";export default{default:{key:"zh-cn",label:"简体中文",locale:zhLocale,i18n:zh},en:{key:"en",label:"English",locale:enLocale,i18n:en},"zh-cn":{key:"zh-cn",label:"简体中文",locale:zhLocale,i18n:zh},zh:{key:"zh-cn",label:"简体中文",locale:zhLocale,i18n:zh},"zh-tw":{key:"zh-tw",label:"繁体中文",locale:tcLocale,i18n:tc},tc:{key:"zh-tw",label:"繁体中文",locale:tcLocale,i18n:tc},ko:{key:"ko",label:"한국어",locale:koLocale,i18n:ko},kr:{key:"ko",label:"한국어",locale:koLocale,i18n:ko},ja:{key:"ja",label:"日本語",locale:jaLocale,i18n:ja},ru:{key:"ru",label:"русский",locale:ruLocale,i18n:ru}};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/en.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/en.d.ts
new file mode 100644
index 0000000..9665c2e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/en.d.ts
@@ -0,0 +1,13 @@
+declare const _default: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+};
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/en.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/en.js
new file mode 100644
index 0000000..f5c7622
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/en.js
@@ -0,0 +1 @@
+export default{year:"",month:"",date:"",hour:"",minute:"",second:"",am:"AM",pm:"PM",confirm:"confirm",cancel:"cancel"};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ja.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ja.d.ts
new file mode 100644
index 0000000..9665c2e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ja.d.ts
@@ -0,0 +1,13 @@
+declare const _default: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+};
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ja.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ja.js
new file mode 100644
index 0000000..0086028
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ja.js
@@ -0,0 +1 @@
+export default{year:"年",month:"月",date:"日",hour:"時",minute:"分",second:"秒",am:"午前",pm:"午後",confirm:"確認",cancel:"キャンセル"};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ko.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ko.d.ts
new file mode 100644
index 0000000..9665c2e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ko.d.ts
@@ -0,0 +1,13 @@
+declare const _default: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+};
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ko.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ko.js
new file mode 100644
index 0000000..ec143c4
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ko.js
@@ -0,0 +1 @@
+export default{year:"년",month:"월",date:"일",hour:"시",minute:"분",second:"초",am:"오전",pm:"오후",confirm:"확인",cancel:"취소"};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ru.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ru.d.ts
new file mode 100644
index 0000000..9665c2e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ru.d.ts
@@ -0,0 +1,13 @@
+declare const _default: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+};
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ru.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ru.js
new file mode 100644
index 0000000..b6655dd
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ru.js
@@ -0,0 +1 @@
+export default{year:"",month:"",date:"",hour:"",minute:"",second:"",am:"до полудня",pm:"после полудня",confirm:"подтвердить",cancel:"отменить"};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/tc.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/tc.d.ts
new file mode 100644
index 0000000..9665c2e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/tc.d.ts
@@ -0,0 +1,13 @@
+declare const _default: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+};
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/tc.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/tc.js
new file mode 100644
index 0000000..f9ef748
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/tc.js
@@ -0,0 +1 @@
+export default{year:"年",month:"月",date:"日",hour:"時",minute:"分",second:"秒",am:"上午",pm:"下午",confirm:"確定",cancel:"取消"};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/zh.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/zh.d.ts
new file mode 100644
index 0000000..9665c2e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/zh.d.ts
@@ -0,0 +1,13 @@
+declare const _default: {
+ year: string;
+ month: string;
+ date: string;
+ hour: string;
+ minute: string;
+ second: string;
+ am: string;
+ pm: string;
+ confirm: string;
+ cancel: string;
+};
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/zh.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/zh.js
new file mode 100644
index 0000000..ed21da3
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/zh.js
@@ -0,0 +1 @@
+export default{year:"年",month:"月",date:"日",hour:"时",minute:"分",second:"秒",am:"上午",pm:"下午",confirm:"确定",cancel:"取消"};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/props.d.ts
new file mode 100644
index 0000000..8837a6a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/props.d.ts
@@ -0,0 +1,3 @@
+import { TdDateTimePickerProps } from './type';
+declare const props: TdDateTimePickerProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/props.js
new file mode 100644
index 0000000..c593ba8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/props.js
@@ -0,0 +1 @@
+const props={autoClose:{type:Boolean,value:!1},cancelBtn:{type:String,value:"取消"},confirmBtn:{type:String,value:""},customLocale:{type:String,value:"zh"},end:{type:null},filter:{type:null},format:{type:String,value:"YYYY-MM-DD HH:mm:ss"},formatter:{type:null},header:{type:Boolean,value:!0},mode:{type:null,value:"date"},popupProps:{type:Object,value:{}},showWeek:{type:Boolean,value:!1},start:{type:null},steps:{type:Object,value:{}},title:{type:String,value:""},usePopup:{type:Boolean,value:!0},value:{type:null,value:null},defaultValue:{type:null},visible:{type:Boolean,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/type.d.ts
new file mode 100644
index 0000000..80d40d5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/type.d.ts
@@ -0,0 +1,89 @@
+import { PopupProps } from '../popup/index';
+export interface TdDateTimePickerProps {
+ autoClose?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ cancelBtn?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ confirmBtn?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ customLocale?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ end?: {
+ type: null;
+ value?: string | number;
+ };
+ filter?: {
+ type: undefined;
+ value?: (type: TimeModeValues, columns: DateTimePickerColumn) => DateTimePickerColumn;
+ };
+ format?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ formatter?: {
+ type: undefined;
+ value?: (option: DateTimePickerColumnItem, columnIndex: number) => DateTimePickerColumnItem;
+ };
+ header?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ mode?: {
+ type: null;
+ value?: DateTimePickerMode;
+ };
+ popupProps?: {
+ type: ObjectConstructor;
+ value?: PopupProps;
+ };
+ showWeek?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ start?: {
+ type: null;
+ value?: string | number;
+ };
+ steps?: {
+ type: ObjectConstructor;
+ value?: {
+ [key in TimeModeValues]?: number;
+ };
+ };
+ title?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ usePopup?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ value?: {
+ type: null;
+ value?: DateValue;
+ };
+ defaultValue?: {
+ type: null;
+ value?: DateValue;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}
+export declare type DateTimePickerColumn = DateTimePickerColumnItem[];
+export interface DateTimePickerColumnItem {
+ label: string;
+ value: string;
+}
+export declare type DateTimePickerMode = TimeModeValues | Array;
+export declare type TimeModeValues = 'year' | 'month' | 'date' | 'hour' | 'minute' | 'second';
+export declare type DateValue = string | number;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/date-time-picker/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.d.ts
new file mode 100644
index 0000000..4efa470
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.d.ts
@@ -0,0 +1,28 @@
+import { SuperComponent } from '../common/src/index';
+export default class Dialog extends SuperComponent {
+ behaviors: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ externalClasses: string[];
+ properties: import("./type").TdDialogProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ buttonVariant: string;
+ };
+ observers: {
+ 'confirmBtn, cancelBtn'(confirm: any, cancel: any): void;
+ };
+ methods: {
+ onTplButtonTap(e: any): void;
+ onConfirm(): void;
+ onCancel(): void;
+ onClose(): void;
+ close(): void;
+ overlayClick(): void;
+ onActionTap(index: number): void;
+ openValueCBHandle(e: any): void;
+ openValueErrCBHandle(e: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.js
new file mode 100644
index 0000000..6d361fd
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{toCamel}from"../common/utils";import{isObject}from"../common/validator";import useCustomNavbar from"../mixins/using-custom-navbar";const{prefix:prefix}=config,name=`${prefix}-dialog`;let Dialog=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[useCustomNavbar],this.options={multipleSlots:!0},this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-confirm`,`${prefix}-class-cancel`,`${prefix}-class-action`],this.properties=props,this.data={prefix:prefix,classPrefix:name,buttonVariant:"text"},this.observers={"confirmBtn, cancelBtn"(t,e){const{prefix:o,classPrefix:i,buttonLayout:n}=this.data,s={buttonVariant:"text"},r=[t,e].some(t=>isObject(t)&&t.variant&&"text"!==t.variant),a={confirm:t,cancel:e},c=[`${i}__button`],l=[];r?(s.buttonVariant="base",c.push(`${i}__button--${n}`)):(c.push(`${i}__button--text`),l.push(`${i}-button`)),Object.keys(a).forEach(t=>{const e=a[t],n={block:!0,rootClass:[...c,`${i}__button--${t}`],tClass:[...l,`${o}-class-${t}`],variant:s.buttonVariant,openType:""};"cancel"===t&&"base"===s.buttonVariant&&(n.theme="light"),s[`_${t}`]="string"==typeof e?Object.assign(Object.assign({},n),{content:e}):e&&"object"==typeof e?Object.assign(Object.assign({},n),e):null}),this.setData(Object.assign({},s))}},this.methods={onTplButtonTap(t){var e,o,i;const n=t.type,{type:s,extra:r}=t.target.dataset,a=this.data[`_${s}`],c=`bind${n}`;if("action"===s)return void this.onActionTap(r);if("function"==typeof a[c]){a[c](t)&&this.close()}if(!!!a.openType&&["confirm","cancel"].includes(s)&&(null===(e=this[toCamel(`on-${s}`)])||void 0===e||e.call(this,s)),"tap"!==n){const e=(null===(i=null===(o=t.detail)||void 0===o?void 0:o.errMsg)||void 0===i?void 0:i.indexOf("ok"))>-1;this.triggerEvent(e?"open-type-event":"open-type-error-event",t.detail)}},onConfirm(){this.triggerEvent("confirm"),this._onConfirm&&(this._onConfirm({trigger:"confirm"}),this.close())},onCancel(){const t={trigger:"cancel"};this.triggerEvent("cancel"),this.triggerEvent("close",t),this._onCancel&&(this._onCancel(t),this.close())},onClose(){var t;const e={trigger:"close-btn"};this.triggerEvent("close",e),null===(t=this._onCancel)||void 0===t||t.call(this,e),this.close()},close(){this.setData({visible:!1})},overlayClick(){var t;if(this.triggerEvent("overlay-click"),this.properties.closeOnOverlayClick){const e={trigger:"overlay"};this.triggerEvent("close",e),null===(t=this._onCancel)||void 0===t||t.call(this,e),this.close()}},onActionTap(t){this.triggerEvent("action",{index:t}),this._onAction&&(this._onAction({index:t}),this.close())},openValueCBHandle(t){this.triggerEvent("open-type-event",t.detail)},openValueErrCBHandle(t){this.triggerEvent("open-type-error-event",t.detail)}}}};Dialog=__decorate([wxComponent()],Dialog);export default Dialog;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.json
new file mode 100644
index 0000000..02f8832
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-popup":"../popup/popup","t-icon":"../icon/icon","t-button":"../button/button"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxml
new file mode 100644
index 0000000..15386d6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxml
@@ -0,0 +1 @@
+{{content}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxs
new file mode 100644
index 0000000..8f70e47
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxs
@@ -0,0 +1,13 @@
+module.exports.getTypeof = function (obj) {
+ return typeof obj;
+};
+
+module.exports.getActionClass = function (prefix, buttonLayout) {
+ var cls = [prefix + '__button', prefix + '__button--action'];
+
+ if (buttonLayout) {
+ cls.push(prefix + '__button--' + buttonLayout);
+ }
+
+ return cls.join(' ');
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxss
new file mode 100644
index 0000000..5392da2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxss
@@ -0,0 +1,20 @@
+@import '../common/style/index.wxss';.t-dialog{overflow:hidden;width:var(--td-dialog-width,622rpx);border-radius:var(--td-dialog-border-radius,var(--td-radius-extraLarge,24rpx));background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));}
+.t-dialog__wrapper{--td-popup-border-radius:var(--td-dialog-border-radius, var(--td-radius-extraLarge, 24rpx));}
+.t-dialog__close-btn{position:absolute;top:var(--td-spacer,16rpx);right:var(--td-spacer,16rpx);color:var(--td-dialog-close-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));z-index:1;}
+.t-dialog__content{padding-top:var(--td-spacer-3,48rpx);padding-right:var(--td-spacer-3,48rpx);padding-bottom:0;padding-left:var(--td-spacer-3,48rpx);max-height:var(--td-dialog-body-max-height,912rpx);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;font-size:var(--td-font-size-m,32rpx);}
+.t-dialog__content:empty{display:none;}
+.t-dialog__header{text-align:center;font-weight:700;font-size:var(--td-dialog-title-font-size,36rpx);line-height:var(--td-dialog-title-line-height,52rpx);color:var(--td-dialog-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-dialog__header+.t-dialog__body{margin-top:var(--td-spacer,16rpx);}
+.t-dialog__body{overflow-y:scroll;text-align:center;-webkit-overflow-scrolling:touch;font-size:var(--td-dialog-content-font-size,32rpx);color:var(--td-dialog-content-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));line-height:var(--td-dialog-content-line-height,48rpx);}
+.t-dialog__body-text{word-wrap:break-word;}
+.t-dialog__body--left{text-align:left;}
+.t-dialog__body--right{text-align:right;}
+.t-dialog__footer{display:flex;padding:var(--td-spacer-3,48rpx);}
+.t-dialog__footer--column{flex-flow:column-reverse;}
+.t-dialog__footer--column .t-dialog__button{width:100%;}
+.t-dialog__footer--full{padding:var(--td-spacer-4,64rpx) 0 0;}
+.t-dialog__button{position:relative;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
+.t-dialog__button--horizontal+.t-dialog__button--horizontal{margin-left:var(--td-spacer-1,24rpx);}
+.t-dialog__button--vertical+.t-dialog__button--vertical{margin-bottom:var(--td-spacer-1,24rpx);}
+.t-dialog__button--text{flex:1;--td-button-border-radius:0;--td-button-medium-height:112rpx;border-radius:0;}
+.t-dialog__button--text:before{content:' ';position:absolute;box-sizing:border-box;top:0;left:0;border-top:1px solid var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7));border-left:1px solid var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7));transform:scale(.5);transform-origin:0 0;width:200%;height:200%;border-radius:0;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/index.d.ts
new file mode 100644
index 0000000..8c8cf22
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/index.d.ts
@@ -0,0 +1,44 @@
+///
+///
+declare type Context = WechatMiniprogram.Page.TrivialInstance | WechatMiniprogram.Component.TrivialInstance;
+interface DialogAlertOptionsType {
+ context?: Context;
+ selector?: string;
+ title?: string;
+ content?: string;
+ zIndex?: number;
+ asyncClose?: boolean;
+ confirmButtonText?: string;
+ textAlign?: string;
+ cancelBtn?: string | object;
+ confirmBtn?: string | object;
+ showOverlay?: boolean;
+ closeOnOverlayClick?: boolean;
+ preventScrollThrough?: boolean;
+}
+interface DialogConfirmOptionsType extends DialogAlertOptionsType {
+ cancelButtonText?: string;
+}
+interface Action {
+ content: string;
+ theme?: 'default' | 'primary' | 'danger' | 'light';
+}
+interface DialogActionOptionsType {
+ context?: Context;
+ selector?: string;
+ title?: string;
+ content: string;
+ zIndex?: number;
+ asyncClose?: boolean;
+ actions?: Action[];
+ buttonLayout?: 'vertical' | 'horizontal';
+}
+declare const _default: {
+ alert(options: DialogAlertOptionsType): Promise;
+ confirm(options: DialogConfirmOptionsType): Promise;
+ close(options?: DialogConfirmOptionsType): Promise;
+ action(options: DialogActionOptionsType): Promise<{
+ index: number;
+ }>;
+};
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/index.js
new file mode 100644
index 0000000..923577f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/index.js
@@ -0,0 +1 @@
+import{__rest}from"tslib";import props from"./props";import{getInstance}from"../common/utils";const defaultOptions={actions:[],buttonLayout:props.buttonLayout.value,cancelBtn:props.cancelBtn.value,closeOnOverlayClick:props.closeOnOverlayClick.value,confirmBtn:props.confirmBtn.value,content:"",preventScrollThrough:props.preventScrollThrough.value,showOverlay:props.showOverlay.value,title:"",visible:props.visible.value};export default{alert(t){const e=Object.assign({},t),{context:s,selector:o="#t-dialog"}=e,n=__rest(e,["context","selector"]),c=getInstance(s,o);return c?new Promise(t=>{const e=Object.assign(Object.assign(Object.assign({},defaultOptions),c.properties),n);c.setData(Object.assign(Object.assign({cancelBtn:""},e),{visible:!0})),c._onConfirm=t}):Promise.reject()},confirm(t){const e=Object.assign({},t),{context:s,selector:o="#t-dialog"}=e,n=__rest(e,["context","selector"]),c=getInstance(s,o);return c?new Promise((t,e)=>{const s=Object.assign(Object.assign(Object.assign({},defaultOptions),c.properties),n);c.setData(Object.assign(Object.assign({},s),{visible:!0})),c._onConfirm=t,c._onCancel=e}):Promise.reject()},close(t){const{context:e,selector:s="#t-dialog"}=Object.assign({},t),o=getInstance(e,s);return o?(o.close(),Promise.resolve()):Promise.reject()},action(t){const e=Object.assign({},t),{context:s,selector:o="#t-dialog"}=e,n=__rest(e,["context","selector"]),c=getInstance(s,o);if(!c)return Promise.reject();const{buttonLayout:r="vertical",actions:i=c.properties.actions}=t,a="vertical"===r?7:3;return(!i||"object"==typeof i&&(0===i.length||i.length>a))&&console.warn(`action 数量建议控制在1至${a}个`),new Promise(t=>{const e=Object.assign(Object.assign(Object.assign({},defaultOptions),c.properties),n);c.setData(Object.assign(Object.assign({},e),{buttonLayout:r,visible:!0})),c._onAction=t})}};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/props.d.ts
new file mode 100644
index 0000000..15d9d87
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/props.d.ts
@@ -0,0 +1,3 @@
+import { TdDialogProps } from './type';
+declare const props: TdDialogProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/props.js
new file mode 100644
index 0000000..250cbcb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/props.js
@@ -0,0 +1 @@
+const props={actions:{type:Array},buttonLayout:{type:String,value:"horizontal"},cancelBtn:{type:null},closeBtn:{type:null,value:!1},closeOnOverlayClick:{type:Boolean,value:!1},confirmBtn:{type:null},content:{type:String},overlayProps:{type:Object,value:{}},preventScrollThrough:{type:Boolean,value:!0},showOverlay:{type:Boolean,value:!0},title:{type:String},usingCustomNavbar:{type:Boolean,value:!1},visible:{type:Boolean},zIndex:{type:Number,value:11500}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/type.d.ts
new file mode 100644
index 0000000..a495cfa
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/type.d.ts
@@ -0,0 +1,60 @@
+import { ButtonProps } from '../button/index';
+import { OverlayProps } from '../overlay/index';
+export interface TdDialogProps {
+ actions?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ buttonLayout?: {
+ type: StringConstructor;
+ value?: 'horizontal' | 'vertical';
+ };
+ cancelBtn?: {
+ type: null;
+ value?: string | ButtonProps | null;
+ };
+ closeBtn?: {
+ type: null;
+ value?: boolean | ButtonProps | null;
+ };
+ closeOnOverlayClick?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ confirmBtn?: {
+ type: null;
+ value?: string | ButtonProps | null;
+ };
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ overlayProps?: {
+ type: ObjectConstructor;
+ value?: OverlayProps;
+ };
+ preventScrollThrough?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ showOverlay?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ title?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ usingCustomNavbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ zIndex?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dialog/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.d.ts
new file mode 100644
index 0000000..d4d837c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.d.ts
@@ -0,0 +1,18 @@
+import { SuperComponent } from '../common/src/index';
+export default class Divider extends SuperComponent {
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ properties: import("./type").TdDividerProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ };
+ observers: {
+ lineColor(): void;
+ };
+ methods: {
+ setStyle(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.js
new file mode 100644
index 0000000..9d084aa
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-divider`;let Divider=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`],this.options={multipleSlots:!0},this.properties=props,this.data={prefix:prefix,classPrefix:name},this.observers={lineColor(){this.setStyle()}},this.methods={setStyle(){const{lineColor:e}=this.properties,o=""+(e?`border-color: ${e};`:"");this.setData({dividerStyle:o})}}}};Divider=__decorate([wxComponent()],Divider);export default Divider;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.json
new file mode 100644
index 0000000..1bbd8ba
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared"}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.wxml
new file mode 100644
index 0000000..9ed265c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.wxml
@@ -0,0 +1 @@
+{{content}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.wxss
new file mode 100644
index 0000000..f4c3075
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/divider.wxss
@@ -0,0 +1,11 @@
+@import '../common/style/index.wxss';.t-divider{display:flex;color:var(--td-divider-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-divider-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));border-style:var(--td-divider-content-line-style,solid);border-width:0;}
+.t-divider::after,.t-divider::before{content:'';display:block;flex:1;box-sizing:border-box;border:inherit;border-color:inherit;border-style:inherit;}
+.t-divider--horizontal{align-items:center;margin:var(--td-divider-horizontal-margin,20rpx) 0;}
+.t-divider--horizontal::after,.t-divider--horizontal::before{border-top-width:var(--td-divider-border-width,2rpx);transform:scaleY(.5);transform-origin:center;}
+.t-divider--horizontal .t-divider__content:not(:empty){margin:0 var(--td-divider-content-margin,var(--td-spacer-1,24rpx));}
+.t-divider--vertical{flex-direction:column;height:28rpx;margin:0 var(--td-divider-vertical-margin,var(--td-spacer,16rpx));}
+.t-divider--vertical::after,.t-divider--vertical::before{border-left-width:var(--td-divider-border-width,2rpx);transform:scaleX(.5);transform-origin:center;}
+.t-divider--vertical-center{align-items:center;height:100%;}
+.t-divider--dashed{border-style:dashed;}
+.t-divider__content{font-size:var(--td-divider-content-font-size,var(--td-font-size-s,24rpx));line-height:var(--td-divider-content-line-height,40rpx);color:var(--td-divider-content-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.t-divider--left::before,.t-divider--right::after{max-width:60rpx;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/props.d.ts
new file mode 100644
index 0000000..806aab2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/props.d.ts
@@ -0,0 +1,3 @@
+import { TdDividerProps } from './type';
+declare const props: TdDividerProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/props.js
new file mode 100644
index 0000000..70fd183
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/props.js
@@ -0,0 +1 @@
+const props={align:{type:String,value:"center"},content:{type:String},dashed:{type:Boolean,value:!1},layout:{type:String,value:"horizontal"}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/type.d.ts
new file mode 100644
index 0000000..424a7b2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/type.d.ts
@@ -0,0 +1,18 @@
+export interface TdDividerProps {
+ align?: {
+ type: StringConstructor;
+ value?: 'left' | 'right' | 'center';
+ };
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ dashed?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ layout?: {
+ type: StringConstructor;
+ value?: 'horizontal' | 'vertical';
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/divider/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.d.ts
new file mode 100644
index 0000000..1eacb8a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.d.ts
@@ -0,0 +1,16 @@
+import { ComponentsOptionsType, SuperComponent } from '../common/src/index';
+export default class Drawer extends SuperComponent {
+ behaviors: string[];
+ externalClasses: any[];
+ options: ComponentsOptionsType;
+ properties: import("./type").TdDrawerProps;
+ data: {
+ classPrefix: string;
+ };
+ methods: {
+ onVisibleChange({ detail }: {
+ detail: any;
+ }): void;
+ onItemClick(detail: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.js
new file mode 100644
index 0000000..15efc49
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import useCustomNavbar from"../mixins/using-custom-navbar";const{prefix:prefix}=config,name=`${prefix}-drawer`;let Drawer=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[useCustomNavbar],this.externalClasses=[],this.options={multipleSlots:!0},this.properties=props,this.data={classPrefix:name},this.methods={onVisibleChange({detail:e}){const{visible:t}=e,{showOverlay:r}=this.data;this.setData({visible:t}),t||this.triggerEvent("close",{trigger:"overlay"}),r&&this.triggerEvent("overlay-click",{visible:t})},onItemClick(e){const{index:t,item:r}=e.currentTarget.dataset;this.triggerEvent("item-click",{index:t,item:r})}}}};Drawer=__decorate([wxComponent()],Drawer);export default Drawer;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.json
new file mode 100644
index 0000000..711afb8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-popup":"../popup/popup","t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.wxml
new file mode 100644
index 0000000..c80c850
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.wxml
@@ -0,0 +1 @@
+{{title}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.wxss
new file mode 100644
index 0000000..171b612
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/drawer.wxss
@@ -0,0 +1,11 @@
+@import '../common/style/index.wxss';.t-drawer{background:var(--td-drawer-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));width:var(--td-drawer-width,560rpx);height:100%;display:flex;flex-direction:column;}
+.t-drawer--hover{background-color:var(--td-drawer-hover-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-drawer__title{font-weight:600;font-size:var(--td-drawer-title-font-size,36rpx);padding:48rpx 32rpx 16rpx;color:var(--td-drawer-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-drawer__sidebar{height:var(--td-drawer-sidebar-height,70vh);}
+.t-drawer__sidebar-item{display:flex;align-items:center;position:relative;padding-top:var(--td-drawer-item-padding,32rpx);padding-right:0;padding-bottom:var(--td-drawer-item-padding,32rpx);padding-left:var(--td-drawer-item-padding,32rpx);line-height:var(--td-drawer-item-height,48rpx);}
+.t-drawer__sidebar-item::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-drawer-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
+.t-drawer__sidebar-item::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-drawer__sidebar-item::after{left:var(--td-drawer-item-padding,32rpx);}
+.t-drawer__sidebar-item-title{flex:1;color:var(--td-drawer-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-drawer__sidebar-item-icon{padding-right:16rpx;color:var(--td-drawer-item-icon-color,var(--td-drawer-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)))));font-size:var(--td-drawer-item-icon-size,48rpx);}
+.t-drawer__footer{flex:1;display:flex;flex-direction:column;padding-bottom:var(--td-drawer-footer-padding-bottom,40rpx);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/props.d.ts
new file mode 100644
index 0000000..dbb379d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/props.d.ts
@@ -0,0 +1,3 @@
+import { TdDrawerProps } from './type';
+declare const props: TdDrawerProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/props.js
new file mode 100644
index 0000000..a322809
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/props.js
@@ -0,0 +1 @@
+const props={closeOnOverlayClick:{type:Boolean,value:!0},destroyOnClose:{type:Boolean,value:!1},items:{type:Array},overlayProps:{type:Object,value:{}},placement:{type:String,value:"right"},showOverlay:{type:Boolean,value:!0},title:{type:String},usingCustomNavbar:{type:Boolean,value:!1},visible:{type:Boolean,value:!1},zIndex:{type:Number,value:11500}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/type.d.ts
new file mode 100644
index 0000000..211f2db
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/type.d.ts
@@ -0,0 +1,47 @@
+import { OverlayProps } from '../overlay/index';
+export interface TdDrawerProps {
+ closeOnOverlayClick?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ destroyOnClose?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ items?: {
+ type: ArrayConstructor;
+ value?: DrawerItem[];
+ };
+ overlayProps?: {
+ type: ObjectConstructor;
+ value?: OverlayProps;
+ };
+ placement?: {
+ type: StringConstructor;
+ value?: 'left' | 'right';
+ };
+ showOverlay?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ title?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ usingCustomNavbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ zIndex?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+}
+export interface DrawerItem {
+ title: string;
+ icon: string;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/drawer/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.d.ts
new file mode 100644
index 0000000..21473e9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.d.ts
@@ -0,0 +1,48 @@
+import { RelationsOptions, SuperComponent } from '../common/src/index';
+import type { TdDropdownItemProps } from './type';
+export interface DropdownItemProps extends TdDropdownItemProps {
+}
+export default class DropdownMenuItem extends SuperComponent {
+ options: {
+ multipleSlots: boolean;
+ };
+ externalClasses: string[];
+ properties: TdDropdownItemProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ show: boolean;
+ top: number;
+ maskHeight: number;
+ initValue: any;
+ hasChanged: boolean;
+ duration: string | number;
+ zIndex: number;
+ overlay: boolean;
+ labelAlias: string;
+ valueAlias: string;
+ computedLabel: string;
+ firstCheckedValue: string;
+ };
+ relations: RelationsOptions;
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ observers: {
+ keys(obj: any): void;
+ value(v: any): void;
+ 'label, computedLabel, disabled'(): void;
+ show(visible: any): void;
+ };
+ methods: {
+ closeDropdown(): void;
+ getParentBottom(cb: any): void;
+ handleTreeClick(e: any): void;
+ handleRadioChange(e: any): void;
+ handleMaskClick(): void;
+ handleReset(): void;
+ handleConfirm(): void;
+ onLeaved(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.js
new file mode 100644
index 0000000..12232db
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import menuProps from"../dropdown-menu/props";import{getRect}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-dropdown-item`;let DropdownMenuItem=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-column`,`${prefix}-class-column-item`,`${prefix}-class-column-item-label`,`${prefix}-class-footer`],this.properties=props,this.data={prefix:prefix,classPrefix:name,show:!1,top:0,maskHeight:0,initValue:null,hasChanged:!1,duration:menuProps.duration.value,zIndex:menuProps.zIndex.value,overlay:menuProps.showOverlay.value,labelAlias:"label",valueAlias:"value",computedLabel:"",firstCheckedValue:""},this.relations={"../dropdown-menu/dropdown-menu":{type:"parent",linked(e){const{zIndex:t,duration:a,showOverlay:s}=e.properties;this.setData({zIndex:t,duration:a,showOverlay:s})}}},this.controlledProps=[{key:"value",event:"change"}],this.observers={keys(e){this.setData({labelAlias:e.label||"label",valueAlias:e.value||"value"})},value(e){const{options:t,labelAlias:a,valueAlias:s}=this.data;if(this.data.multiple&&!Array.isArray(e))throw TypeError("应传入数组类型的 value");const o=t.find(t=>t[s]===e);o&&this.setData({computedLabel:o[a]})},"label, computedLabel, disabled"(){var e;null===(e=this.$parent)||void 0===e||e.getAllItems()},show(e){e&&this.getParentBottom(()=>{this.setData({wrapperVisible:!0})})}},this.methods={closeDropdown(){var e;null===(e=this.$parent)||void 0===e||e.setData({activeIdx:-1}),this.setData({show:!1}),this.triggerEvent("close")},getParentBottom(e){getRect(this.$parent,`#${prefix}-bar`).then(t=>{this.setData({top:t.bottom,maskHeight:t.top},e)})},handleTreeClick(e){const{level:t,value:a}=e.currentTarget.dataset,{value:s}=this.data;s[t]=a,this._trigger("change",{value:s})},handleRadioChange(e){const{value:t}=e.detail;if(this._trigger("change",{value:t}),this.data.multiple){const e=this.data.options.find(e=>t.includes(e.value));e&&(this.data.firstCheckedValue=e.value)}else this.closeDropdown()},handleMaskClick(){var e;(null===(e=this.$parent)||void 0===e?void 0:e.properties.closeOnClickOverlay)&&this.closeDropdown()},handleReset(){this._trigger("change",{value:[]}),this._trigger("reset")},handleConfirm(){this._trigger("confirm",{value:this.data.value}),this.closeDropdown(),this.setData({firstCheckedValue:this.data.firstCheckedValue})},onLeaved(){this.setData({wrapperVisible:!1})}}}};DropdownMenuItem=__decorate([wxComponent()],DropdownMenuItem);export default DropdownMenuItem;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.json
new file mode 100644
index 0000000..28335a5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-button":"../button/button","t-radio":"../radio/radio","t-radio-group":"../radio-group/radio-group","t-checkbox":"../checkbox/checkbox","t-checkbox-group":"../checkbox-group/checkbox-group","t-popup":"../popup/popup"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxml
new file mode 100644
index 0000000..1317201
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxss
new file mode 100644
index 0000000..01c0b96
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxss
@@ -0,0 +1,20 @@
+@import '../common/style/index.wxss';.t-dropdown-item{position:fixed;right:0;left:0;top:0;overflow:hidden;bottom:0;}
+.t-dropdown-item__content{display:flex;flex-direction:column;z-index:11600;overflow:hidden;}
+.t-dropdown-item__popup-host{display:block;width:100%;overflow:hidden;position:absolute;left:0;top:0;}
+.t-dropdown-item__body{flex:1;background:var(--td-dropdown-menu-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));overflow:auto;max-height:var(--td-dropdown-body-max-height,560rpx);}
+.t-dropdown-item__body--tree{display:flex;overflow:hidden;}
+.t-dropdown-item__body--multi{padding-top:var(--td-spacer,16rpx);padding-bottom:var(--td-spacer,16rpx);overflow-y:auto;}
+.t-dropdown-item__scroll{max-height:var(--td-dropdown-body-max-height,560rpx);}
+.t-dropdown-item__footer{display:flex;background:var(--td-dropdown-menu-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));padding:32rpx;position:relative;}
+.t-dropdown-item__footer::after{content:'';display:block;position:absolute;top:0;bottom:unset;left:unset;right:unset;background-color:var(--td-component-border,var(--td-gray-color-4,#dcdcdc));}
+.t-dropdown-item__footer::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-dropdown-item__footer-btn{flex:1;}
+.t-dropdown-item__footer-btn+.t-dropdown-item__footer-btn{margin-left:32rpx;}
+.t-dropdown-item__body:empty,.t-dropdown-item__footer:empty{display:none;}
+.t-dropdown-item__checkbox,.t-dropdown-item__radio{width:100%;overflow:scroll;box-sizing:border-box;}
+.t-dropdown-item__checkbox-group,.t-dropdown-item__radio-group{display:grid;grid-gap:24rpx;}
+.t-dropdown-item__radio-group{display:grid;grid-gap:0rpx;}
+.t-dropdown-item__checkbox-group{padding:32rpx;}
+.t-dropdown-item__tree-item{height:var(--td-tree-item-height,96rpx);line-height:var(--td-tree-item-height,96rpx);font-size:var(--td-tree-item-font-size,32rpx);padding-left:32rpx;}
+.t-dropdown-item__tree-item--active{color:var(--td-tree-item-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-dropdown-item__mask{position:fixed;width:100vh;top:0;left:0;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/index.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/index.wxs
new file mode 100644
index 0000000..e774f06
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/index.wxs
@@ -0,0 +1,9 @@
+var getStyles = function (top, zIndex) {
+ var topStyle = top ? 'top:' + top + 'px;' : '';
+ var zIndexStyle = zIndex ? 'z-index:' + zIndex + ';' : '';
+ return topStyle + zIndexStyle;
+};
+
+module.exports = {
+ getStyles: getStyles,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/props.d.ts
new file mode 100644
index 0000000..aa95de6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/props.d.ts
@@ -0,0 +1,3 @@
+import { TdDropdownItemProps } from './type';
+declare const props: TdDropdownItemProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/props.js
new file mode 100644
index 0000000..ec0ea73
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/props.js
@@ -0,0 +1 @@
+const props={disabled:{type:Boolean,value:!1},keys:{type:Object},label:{type:String,value:""},multiple:{type:Boolean,value:!1},options:{type:Array,value:[]},optionsColumns:{type:null,value:1},placement:{type:String,value:"left"},value:{type:null,value:void 0},defaultValue:{type:null,value:void 0}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/type.d.ts
new file mode 100644
index 0000000..cacf616
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/type.d.ts
@@ -0,0 +1,45 @@
+import { KeysType } from '../common/common';
+export interface TdDropdownItemProps {
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ keys?: {
+ type: ObjectConstructor;
+ value?: KeysType;
+ };
+ label?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ multiple?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ options?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ optionsColumns?: {
+ type: null;
+ value?: string | number;
+ };
+ placement?: {
+ type: StringConstructor;
+ value?: 'left' | 'right';
+ };
+ value?: {
+ type: null;
+ value?: DropdownValue;
+ };
+ defaultValue?: {
+ type: null;
+ value?: DropdownValue;
+ };
+}
+export interface DropdownOption {
+ label: string;
+ disabled: boolean;
+ value: DropdownValue;
+}
+export declare type DropdownValue = string | number | Array;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-item/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.d.ts
new file mode 100644
index 0000000..c92f0e4
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.d.ts
@@ -0,0 +1,33 @@
+import { RelationsOptions, SuperComponent } from '../common/src/index';
+import type { TdDropdownMenuProps } from './type';
+export interface DropdownMenuProps extends TdDropdownMenuProps {
+}
+export default class DropdownMenu extends SuperComponent {
+ externalClasses: string[];
+ properties: TdDropdownMenuProps;
+ nodes: any;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ menus: any;
+ activeIdx: number;
+ bottom: number;
+ _arrowIcon: {
+ name: string | object;
+ };
+ };
+ relations: RelationsOptions;
+ lifetimes: {
+ ready(): void;
+ };
+ observers: {
+ arrowIcon(v: any): void;
+ activeIdx(v: number): void;
+ };
+ methods: {
+ toggle(index: number): void;
+ getAllItems(): void;
+ handleToggle(e: WechatMiniprogram.BaseEvent): void;
+ noop(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.js
new file mode 100644
index 0000000..109bcca
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{calcIcon}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-dropdown-menu`;let DropdownMenu=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-item`,`${prefix}-class-label`,`${prefix}-class-icon`],this.properties=props,this.nodes=null,this.data={prefix:prefix,classPrefix:name,menus:null,activeIdx:-1,bottom:0,_arrowIcon:{name:props.arrowIcon.value}},this.relations={"../dropdown-item/dropdown-item":{type:"child"}},this.lifetimes={ready(){this.getAllItems()}},this.observers={arrowIcon(e){this.setData({_arrowIcon:calcIcon(e)})},activeIdx(e){this.triggerEvent(-1===e?"close":"open")}},this.methods={toggle(e){const{activeIdx:t,duration:o}=this.data,s=this.$children[t],r=this.$children[e];(null==r?void 0:r.data.disabled)||(-1!==t&&(s.triggerEvent("close"),s.setData({show:!1},()=>{setTimeout(()=>{s.triggerEvent("closed")},o)})),null==e||t===e?this.setData({activeIdx:-1}):(r.triggerEvent("open"),this.setData({activeIdx:e}),r.setData({show:!0},()=>{setTimeout(()=>{r.triggerEvent("opened")},o)})))},getAllItems(){const e=this.$children.map(({data:e})=>({label:e.label||e.computedLabel,disabled:e.disabled}));this.setData({menus:e})},handleToggle(e){const{index:t}=e.currentTarget.dataset;this.toggle(t)},noop(){}}}};DropdownMenu=__decorate([wxComponent()],DropdownMenu);export default DropdownMenu;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.json
new file mode 100644
index 0000000..9269b92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.wxml
new file mode 100644
index 0000000..80b19bf
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.wxml
@@ -0,0 +1 @@
+{{item.label}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.wxss
new file mode 100644
index 0000000..ccfbd2e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.wxss
@@ -0,0 +1,11 @@
+@import '../common/style/index.wxss';.t-dropdown-menu{display:flex;height:var(--td-dropdown-menu-height,96rpx);background:var(--td-dropdown-menu-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));position:relative;}
+.t-dropdown-menu::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-component-border,var(--td-gray-color-4,#dcdcdc));}
+.t-dropdown-menu::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-dropdown-menu:after{height:var(--td-dropdown-menu-border-width,1px);}
+.t-dropdown-menu__item{display:flex;flex:1;align-items:center;justify-content:center;padding:0 var(--td-spacer,16rpx);position:relative;overflow:hidden;color:var(--td-dropdown-menu-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-dropdown-menu__item--active{color:var(--td-dropdown-menu-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-dropdown-menu__item--disabled{color:var(--td-dropdown-menu-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-dropdown-menu__icon{font-size:var(--td-dropdown-menu-icon-size,40rpx);padding:4rpx;box-sizing:border-box;transition:transform 240ms ease;}
+.t-dropdown-menu__icon--active{transform:rotate(180deg);}
+.t-dropdown-menu__icon:not(:empty){margin-left:8rpx;}
+.t-dropdown-menu__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--td-dropdown-menu-font-size,28rpx);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/index.d.ts
new file mode 100644
index 0000000..dea9f1d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/index.d.ts
@@ -0,0 +1,3 @@
+export * from './type';
+export * from './props';
+export * from './dropdown-menu';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/index.js
new file mode 100644
index 0000000..42cc330
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/index.js
@@ -0,0 +1 @@
+export*from"./type";export*from"./props";export*from"./dropdown-menu";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/props.d.ts
new file mode 100644
index 0000000..b662f85
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/props.d.ts
@@ -0,0 +1,3 @@
+import { TdDropdownMenuProps } from './type';
+declare const props: TdDropdownMenuProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/props.js
new file mode 100644
index 0000000..f3946a9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/props.js
@@ -0,0 +1 @@
+const props={arrowIcon:{type:null,value:"caret-down-small"},closeOnClickOverlay:{type:Boolean,value:!0},duration:{type:null,value:200},showOverlay:{type:Boolean,value:!0},zIndex:{type:Number,value:11600}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/type.d.ts
new file mode 100644
index 0000000..07734f1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/type.d.ts
@@ -0,0 +1,22 @@
+export interface TdDropdownMenuProps {
+ arrowIcon?: {
+ type: null;
+ value?: string | object;
+ };
+ closeOnClickOverlay?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ duration?: {
+ type: null;
+ value?: string | number;
+ };
+ showOverlay?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ zIndex?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/dropdown-menu/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.d.ts
new file mode 100644
index 0000000..cd582e0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.d.ts
@@ -0,0 +1,15 @@
+import { SuperComponent } from '../common/src/index';
+export default class extends SuperComponent {
+ options: {
+ multipleSlots: boolean;
+ };
+ externalClasses: string[];
+ properties: import("./type").TdEmptyProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ };
+ observers: {
+ icon(icon: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.js
new file mode 100644
index 0000000..917b212
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import props from"./props";import config from"../common/config";import{setIcon}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-empty`;let default_1=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.externalClasses=[`${prefix}-class`,`${prefix}-class-description`,`${prefix}-class-image`],this.properties=props,this.data={prefix:prefix,classPrefix:name},this.observers={icon(e){const o=setIcon("icon",e,"");this.setData(Object.assign({},o))}}}};default_1=__decorate([wxComponent()],default_1);export default default_1;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.json
new file mode 100644
index 0000000..dd7b01e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-image":"../image/image"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.wxml
new file mode 100644
index 0000000..a0a3a96
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.wxml
@@ -0,0 +1 @@
+{{description}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.wxss
new file mode 100644
index 0000000..2962edb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/empty.wxss
@@ -0,0 +1,5 @@
+@import '../common/style/index.wxss';.t-empty{display:flex;flex-direction:column;align-items:center;}
+.t-empty__icon{font-size:192rpx;color:var(--td-empty-icon-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.t-empty__thumb+.t-empty__description:not(:empty){margin-top:var(--td-empty-description-margin-top,var(--td-spacer-2,32rpx));}
+.t-empty__description{text-align:center;color:var(--td-empty-description-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));font-size:var(--td-empty-description-font-size,var(--td-font-size-base,28rpx));line-height:var(--td-empty-description-line-height,44rpx);white-space:pre-wrap;}
+.t-empty__description+.t-empty__actions:not(:empty){margin-top:var(--td-empty-action-margin-top,var(--td-spacer-4,64rpx));}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/props.d.ts
new file mode 100644
index 0000000..6f04c79
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/props.d.ts
@@ -0,0 +1,3 @@
+import { TdEmptyProps } from './type';
+declare const props: TdEmptyProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/props.js
new file mode 100644
index 0000000..49db9ad
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/props.js
@@ -0,0 +1 @@
+const props={description:{type:String},icon:{type:null},image:{type:String}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/type.d.ts
new file mode 100644
index 0000000..210b097
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/type.d.ts
@@ -0,0 +1,14 @@
+export interface TdEmptyProps {
+ description?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ icon?: {
+ type: null;
+ value?: string | object;
+ };
+ image?: {
+ type: StringConstructor;
+ value?: string;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/empty/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.d.ts
new file mode 100644
index 0000000..9a5320c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.d.ts
@@ -0,0 +1,21 @@
+import { SuperComponent } from '../../common/src/index';
+import type { TdDraggableProps } from './type';
+export interface DraggableProps extends TdDraggableProps {
+}
+export default class Draggable extends SuperComponent {
+ properties: TdDraggableProps;
+ externalClasses: string[];
+ data: {
+ prefix: string;
+ classPrefix: string;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ methods: {
+ onTouchStart(e: any): void;
+ onTouchMove(e: any): void;
+ onTouchEnd(e: any): Promise;
+ computedRect(): Promise;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.js
new file mode 100644
index 0000000..3bf563b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.js
@@ -0,0 +1 @@
+import{__awaiter,__decorate}from"tslib";import{SuperComponent,wxComponent}from"../../common/src/index";import config from"../../common/config";import props from"./props";import{getRect,systemInfo}from"../../common/utils";const{prefix:prefix}=config,name=`${prefix}-draggable`;let Draggable=class extends SuperComponent{constructor(){super(...arguments),this.properties=props,this.externalClasses=[`${prefix}-class`],this.data={prefix:prefix,classPrefix:name},this.lifetimes={ready(){this.computedRect()}},this.methods={onTouchStart(t){"none"!==this.properties.direction&&(this.startX=t.touches[0].clientX+systemInfo.windowWidth-this.rect.right,this.startY=t.touches[0].clientY+systemInfo.windowHeight-this.rect.bottom,this.triggerEvent("start",{startX:this.startX,startY:this.startY,rect:this.rect,e:t}))},onTouchMove(t){if("none"===this.properties.direction)return;let e=this.startX-t.touches[0].clientX,i=this.startY-t.touches[0].clientY;"vertical"===this.properties.direction&&(e=systemInfo.windowWidth-this.rect.right),"horizontal"===this.properties.direction&&(i=systemInfo.windowHeight-this.rect.bottom),this.triggerEvent("move",{x:e,y:i,rect:this.rect,e:t})},onTouchEnd(t){return __awaiter(this,void 0,void 0,function*(){"none"!==this.properties.direction&&(yield this.computedRect(),this.triggerEvent("end",{rect:this.rect,e:t}))})},computedRect(){return __awaiter(this,void 0,void 0,function*(){this.rect={right:0,bottom:0,width:0,height:0};try{this.rect=yield getRect(this,`.${this.data.classPrefix}`)}catch(t){}})}}}};Draggable=__decorate([wxComponent()],Draggable);export default Draggable;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.json
new file mode 100644
index 0000000..1450e2e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.json
@@ -0,0 +1 @@
+{"component":true,"usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.wxml
new file mode 100644
index 0000000..d1ff9ad
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.wxss
new file mode 100644
index 0000000..5f4f106
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/draggable.wxss
@@ -0,0 +1,3 @@
+@import '../../common/style/index.wxss';.hotspot-expanded.relative{position:relative;}
+.hotspot-expanded::after{content:'';display:block;position:absolute;left:0;top:0;right:0;bottom:0;transform:scale(1.5);}
+.t-draggable{position:fixed;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/index.d.ts
new file mode 100644
index 0000000..6c4d04d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/index.d.ts
@@ -0,0 +1,3 @@
+export * from './props';
+export * from './type';
+export * from './draggable';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/index.js
new file mode 100644
index 0000000..5722e5b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/index.js
@@ -0,0 +1 @@
+export*from"./props";export*from"./type";export*from"./draggable";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/props.d.ts
new file mode 100644
index 0000000..65e51bb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/props.d.ts
@@ -0,0 +1,3 @@
+import { TdDraggableProps } from './type';
+declare const props: TdDraggableProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/props.js
new file mode 100644
index 0000000..fede98f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/props.js
@@ -0,0 +1 @@
+const props={direction:{type:String,value:"all"}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/type.d.ts
new file mode 100644
index 0000000..580f63d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/type.d.ts
@@ -0,0 +1,6 @@
+export interface TdDraggableProps {
+ direction?: {
+ type: StringConstructor;
+ value?: 'all' | 'vertical' | 'horizontal' | 'none';
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/draggable/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.d.ts
new file mode 100644
index 0000000..7c4503d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.d.ts
@@ -0,0 +1,27 @@
+import { SuperComponent } from '../common/src/index';
+export default class Fab extends SuperComponent {
+ behaviors: string[];
+ properties: import("./type").TdFabProps;
+ externalClasses: string[];
+ data: {
+ prefix: string;
+ classPrefix: string;
+ buttonData: {
+ size: string;
+ shape: string;
+ theme: string;
+ tClass: string;
+ };
+ moveStyle: any;
+ };
+ observers: {
+ 'buttonProps.**, icon, text, ariaLabel, yBounds'(): void;
+ };
+ methods: {
+ onTplButtonTap(e: any): void;
+ onStart(e: any): void;
+ onMove(e: any): void;
+ onEnd(e: any): void;
+ computedSize(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.js
new file mode 100644
index 0000000..542c239
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import useCustomNavbar from"../mixins/using-custom-navbar";import{unitConvert,systemInfo}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-fab`,baseButtonProps={size:"large",shape:"circle",theme:"primary",tClass:`${prefix}-fab__button`};let Fab=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[useCustomNavbar],this.properties=props,this.externalClasses=["class",`${prefix}-class`,`${prefix}-class-button`],this.data={prefix:prefix,classPrefix:name,buttonData:baseButtonProps,moveStyle:null},this.observers={"buttonProps.**, icon, text, ariaLabel, yBounds"(){var t;this.setData({buttonData:Object.assign(Object.assign(Object.assign(Object.assign({},baseButtonProps),{shape:this.properties.text?"round":"circle"}),this.properties.buttonProps),{icon:this.properties.icon,content:this.properties.text,ariaLabel:this.properties.ariaLabel})},null===(t=this.computedSize)||void 0===t?void 0:t.bind(this))}},this.methods={onTplButtonTap(t){this.triggerEvent("click",t)},onStart(t){this.triggerEvent("dragstart",t.detail.e)},onMove(t){const{yBounds:e}=this.properties,{distanceTop:o}=this.data,{x:s,y:i,rect:r}=t.detail,a=systemInfo.windowWidth-r.width,n=systemInfo.windowHeight-Math.max(o,unitConvert(e[0]))-r.height,p=Math.max(0,Math.min(s,a)),m=Math.max(0,unitConvert(e[1]),Math.min(i,n));this.setData({moveStyle:`right: ${p}px; bottom: ${m}px;`})},onEnd(t){this.triggerEvent("dragend",t.detail.e)},computedSize(){var t,e;if(!this.properties.draggable)return;const o=this.selectComponent("#draggable");(null===(e=null===(t=this.properties)||void 0===t?void 0:t.yBounds)||void 0===e?void 0:e[1])?this.setData({moveStyle:`bottom: ${unitConvert(this.properties.yBounds[1])}px`},o.computedRect):o.computedRect()}}}};Fab=__decorate([wxComponent()],Fab);export default Fab;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.json
new file mode 100644
index 0000000..7273f2a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-button":"../button/button","t-draggable":"./draggable/draggable"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.wxml
new file mode 100644
index 0000000..999cc1a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.wxss
new file mode 100644
index 0000000..290e0b7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/fab.wxss
@@ -0,0 +1,3 @@
+@import '../common/style/index.wxss';.t-fab{position:fixed;}
+.t-fab__button{box-shadow:var(--td-fab-shadow,var(--td-shadow-2,0 3px 14px 2px rgba(0,0,0,.05),0 8px 10px 1px rgba(0,0,0,.06),0 5px 5px -3px rgba(0,0,0,.1)));}
+.t-fab__draggable{position:fixed;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/props.d.ts
new file mode 100644
index 0000000..2cf4647
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/props.d.ts
@@ -0,0 +1,3 @@
+import { TdFabProps } from './type';
+declare const props: TdFabProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/props.js
new file mode 100644
index 0000000..8ff0761
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/props.js
@@ -0,0 +1 @@
+const props={buttonProps:{type:Object},draggable:{type:null,value:!1},icon:{type:String,value:""},style:{type:String,value:"right: 16px; bottom: 32px;"},text:{type:String,value:""},usingCustomNavbar:{type:Boolean,value:!1},yBounds:{type:Array}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/template/draggable.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/template/draggable.wxml
new file mode 100644
index 0000000..daa3a0a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/template/draggable.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/template/view.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/template/view.wxml
new file mode 100644
index 0000000..6d794b2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/template/view.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/type.d.ts
new file mode 100644
index 0000000..722cf6d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/type.d.ts
@@ -0,0 +1,32 @@
+import { ButtonProps } from '../button/index';
+export interface TdFabProps {
+ buttonProps?: {
+ type: ObjectConstructor;
+ value?: ButtonProps;
+ };
+ draggable?: {
+ type: null;
+ value?: boolean | FabDirectionEnum;
+ };
+ icon?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ style?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ text?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ usingCustomNavbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ yBounds?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+}
+export declare type FabDirectionEnum = 'all' | 'vertical' | 'horizontal';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/fab/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.d.ts
new file mode 100644
index 0000000..6ffe46b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.d.ts
@@ -0,0 +1,9 @@
+import { SuperComponent } from '../common/src/index';
+export default class Footer extends SuperComponent {
+ externalClasses: string[];
+ properties: import("./type").TdFooterProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.js
new file mode 100644
index 0000000..0282185
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-footer`;let Footer=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.properties=props,this.data={prefix:prefix,classPrefix:name}}};Footer=__decorate([wxComponent()],Footer);export default Footer;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.json
new file mode 100644
index 0000000..1e4e103
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-image":"../image/image"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.wxml
new file mode 100644
index 0000000..7870d23
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.wxml
@@ -0,0 +1 @@
+{{logo.title}}{{item.name}}|{{text}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.wxss
new file mode 100644
index 0000000..e8d9202
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/footer.wxss
@@ -0,0 +1,10 @@
+@import '../common/style/index.wxss';.t-footer{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;}
+.t-footer__text{font-size:var(--td-footer-text-font-size,var(--td-font-size-s,24rpx));line-height:var(--td-footer-text-line-height,40rpx);color:var(--td-footer-text-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.t-footer__link-list+.t-footer__text:not(:empty){margin-top:var(--td-footer-text-margin-top,8rpx);}
+.t-footer__link-list{display:flex;justify-content:center;align-items:center;}
+.t-footer__link-item{color:var(--td-footer-link-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));font-size:var(--td-footer-link-font-size,var(--td-font-size-s,24rpx));line-height:var(--td-footer-link-line-height,40rpx);text-decoration:underline;}
+.t-footer__link-line{font-size:24rpx;color:var(--td-footer-link-dividing-line-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));display:inline-block;padding:0 var(--td-footer-link-dividing-line-padding,var(--td-spacer-1,24rpx));}
+.t-footer__logo{display:flex;justify-content:center;align-items:center;}
+.t-footer__icon{width:var(--td-footer-logo-icon-width,48rpx);height:var(--td-footer-logo-icon-height,48rpx);margin-right:var(--td-footer-logo-icon-margin-right,var(--td-spacer,16rpx));}
+.t-footer__title{color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));font-weight:700;font-size:var(--td-footer-logo-title-font-size,var(--td-font-size-m,32rpx));line-height:var(--td-footer-logo-title-line-height,48rpx);font-style:italic;}
+.t-footer__title-url{width:var(--td-footer-logo-title-url-width,256rpx);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/props.d.ts
new file mode 100644
index 0000000..f9a5618
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/props.d.ts
@@ -0,0 +1,3 @@
+import { TdFooterProps } from './type';
+declare const props: TdFooterProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/props.js
new file mode 100644
index 0000000..f4be9f2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/props.js
@@ -0,0 +1 @@
+const props={links:{type:Array,value:[]},logo:{type:Object},text:{type:String,value:""}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/type.d.ts
new file mode 100644
index 0000000..1a69105
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/type.d.ts
@@ -0,0 +1,24 @@
+export interface TdFooterProps {
+ links?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ logo?: {
+ type: ObjectConstructor;
+ value?: FooterLogo;
+ };
+ text?: {
+ type: StringConstructor;
+ value?: string;
+ };
+}
+export interface LinkObj {
+ name: string;
+ url?: string;
+ openType?: 'navigate' | 'redirect' | 'relaunch' | 'switchTab' | 'navigateBack';
+}
+export interface FooterLogo {
+ icon: string;
+ title?: string;
+ url?: string;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/footer/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.d.ts
new file mode 100644
index 0000000..4c43196
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.d.ts
@@ -0,0 +1,31 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class GridItem extends SuperComponent {
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ relations: RelationsOptions;
+ properties: import("./type").TdGridItemProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ gridItemStyle: string;
+ gridItemWrapperStyle: string;
+ gridItemContentStyle: string;
+ align: string;
+ column: number;
+ describedbyID: string;
+ };
+ observers: {
+ icon(icon: any): void;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ updateStyle(): void;
+ getWidthStyle(): string;
+ getPaddingStyle(): string;
+ getBorderStyle(): string;
+ onClick(e: any): void;
+ jumpLink(): void;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.js
new file mode 100644
index 0000000..892eac0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{uniqueFactory,setIcon}from"../common/utils";import{isObject}from"../common/validator";const{prefix:prefix}=config,name=`${prefix}-grid-item`,getUniqueID=uniqueFactory("grid_item");var LinkTypes;!function(t){t["redirect-to"]="redirectTo",t["switch-tab"]="switchTab",t.relaunch="reLaunch",t["navigate-to"]="navigateTo"}(LinkTypes||(LinkTypes={}));let GridItem=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-image`,`${prefix}-class-text`,`${prefix}-class-description`],this.options={multipleSlots:!0},this.relations={"../grid/grid":{type:"ancestor",linked(t){this.parent=t,this.updateStyle(),this.setData({column:t.data.column})}}},this.properties=props,this.data={prefix:prefix,classPrefix:name,gridItemStyle:"",gridItemWrapperStyle:"",gridItemContentStyle:"",align:"center",column:0,describedbyID:""},this.observers={icon(t){const e=setIcon("icon",t,"");this.setData(Object.assign({},e))}},this.lifetimes={ready(){this.setData({describedbyID:getUniqueID()})}}}updateStyle(){const{hover:t,align:e}=this.parent.properties,r=[],i=[],o=[],s=this.getWidthStyle(),n=this.getPaddingStyle(),p=this.getBorderStyle();s&&r.push(s),n&&i.push(n),p&&o.push(p),this.setData({gridItemStyle:`${r.join(";")}`,gridItemWrapperStyle:i.join(";"),gridItemContentStyle:o.join(";"),hover:t,layout:this.properties.layout,align:e})}getWidthStyle(){const{column:t}=this.parent.properties;return t>0?`width:${1/t*100}%`:""}getPaddingStyle(){const{gutter:t}=this.parent.properties;return t?`padding-bottom:${t}rpx;padding-right:${t}rpx`:""}getBorderStyle(){const{gutter:t}=this.parent.properties;let{border:e}=this.parent.properties;if(!e)return"";isObject(e)||(e={});const{color:r="#266FE8",width:i=2,style:o="solid"}=e;return t?`border:${i}rpx ${o} ${r}`:`border-bottom:${i}rpx ${o} ${r};border-right:${i}rpx ${o} ${r}`}onClick(t){const{item:e}=t.currentTarget.dataset;this.triggerEvent("click",e),this.jumpLink()}jumpLink(){const{url:t,jumpType:e}=this.properties;t&&e&&LinkTypes[e]&&wx[LinkTypes[e]]({url:t})}};GridItem=__decorate([wxComponent()],GridItem);export default GridItem;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.json
new file mode 100644
index 0000000..22e1326
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-image":"../image/image","t-icon":"../icon/icon","t-badge":"../badge/badge"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxml
new file mode 100644
index 0000000..964a334
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxml
@@ -0,0 +1 @@
+module.exports.getImageSize = function(column) { if (column >= 5) return 'small'; if (column == 4) return 'middle'; return 'large'; }{{text}}{{description}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxss
new file mode 100644
index 0000000..a91ce6f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxss
@@ -0,0 +1,22 @@
+@import '../common/style/index.wxss';.t-grid-item{box-sizing:border-box;height:100%;display:inline-block;vertical-align:top;background-color:var(--td-grid-item-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-grid-item--hover{background-color:var(--td-grid-item-hover-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-grid-item--auto-size{width:168rpx;}
+.t-grid-item__content{display:flex;flex-direction:column;align-items:center;overflow:hidden;position:relative;padding:var(--td-grid-item-padding,32rpx) 0 24rpx;}
+.t-grid-item__content--horizontal{flex-direction:row;padding-left:var(--td-grid-item-padding,32rpx);}
+.t-grid-item__content--left{justify-self:flex-start;align-items:flex-start;}
+.t-grid-item__content--left .t-grid-item__words{text-align:left;}
+.t-grid-item__words{width:100%;text-align:center;position:relative;flex-direction:column;display:flex;flex:1;justify-content:center;align-items:center;}
+.t-grid-item__words--horizontal{margin-left:24rpx;}
+.t-grid-item__words:empty{display:none;}
+.t-grid-item__image:not(:empty){width:var(--td-grid-item-image-width,96rpx);height:var(--td-grid-item-image-width,96rpx);}
+.t-grid-item__image:not(:empty).t-grid-item__image--small{width:var(--td-grid-item-image-small-width,64rpx);height:var(--td-grid-item-image-small-width,64rpx);}
+.t-grid-item__image:not(:empty).t-grid-item__image--middle{width:var(--td-grid-item-image-middle-width,80rpx);height:var(--td-grid-item-image-middle-width,80rpx);}
+.t-grid-item__image:not(:empty) .t-grid__image{width:100%;height:100%;}
+.t-grid-item__image--icon{display:flex;align-items:center;justify-content:center;background:var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3));border-radius:var(--td-radius-default,12rpx);}
+.t-grid-item__text{width:inherit;color:var(--td-grid-item-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font-size:var(--td-grid-item-text-font-size,28rpx);line-height:var(--td-grid-item-text-line-height,44rpx);padding-top:var(--td-grid-item-text-padding-top,16rpx);}
+.t-grid-item__text--small{font-size:var(--td-grid-item-text-small-font-size,24rpx);}
+.t-grid-item__text--middle{font-size:var(--td-grid-item-text-middle-font-size,24rpx);}
+.t-grid-item__text--horizontal{padding-top:0;text-align:left;}
+.t-grid-item__description{padding-top:var(--td-grid-item-description-padding-top,0);width:inherit;color:var(--td-grid-item-description-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));font-size:var(--td-grid-item-description-font-size,24rpx);line-height:var(--td-grid-item-description-line-height,40rpx);}
+.t-grid-item__description--horizontal{margin-top:var(--td-grid-item-horizontal-text-description-top,0);padding-left:var(--td-grid-item-horizontal-text-padding-left,0);text-align-last:left;}
+.t-grid-item__icon{font-size:48rpx;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/props.d.ts
new file mode 100644
index 0000000..bd6c2fb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/props.d.ts
@@ -0,0 +1,3 @@
+import { TdGridItemProps } from './type';
+declare const props: TdGridItemProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/props.js
new file mode 100644
index 0000000..6d7fc9c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/props.js
@@ -0,0 +1 @@
+const props={badgeProps:{type:Object,value:null},description:{type:String},icon:{type:null},image:{type:String},imageProps:{type:Object},jumpType:{type:String,value:"navigate-to"},layout:{type:String,value:"vertical"},text:{type:String},url:{type:String,value:""}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/type.d.ts
new file mode 100644
index 0000000..f4dc902
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/type.d.ts
@@ -0,0 +1,40 @@
+import { BadgeProps } from '../badge/index';
+import { ImageProps } from '../image/index';
+export interface TdGridItemProps {
+ badgeProps?: {
+ type: ObjectConstructor;
+ value?: BadgeProps;
+ };
+ description?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ icon?: {
+ type: null;
+ value?: string | object;
+ };
+ image?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ imageProps?: {
+ type: ObjectConstructor;
+ value?: ImageProps;
+ };
+ jumpType?: {
+ type: StringConstructor;
+ value?: 'redirect-to' | 'switch-tab' | 'relaunch' | 'navigate-to';
+ };
+ layout?: {
+ type: StringConstructor;
+ value?: 'vertical' | 'horizontal';
+ };
+ text?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ url?: {
+ type: StringConstructor;
+ value?: string;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid-item/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.d.ts
new file mode 100644
index 0000000..5bc9604
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.d.ts
@@ -0,0 +1,22 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class Grid extends SuperComponent {
+ externalClasses: string[];
+ relations: RelationsOptions;
+ properties: import("./type").TdGridProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ contentStyle: string;
+ };
+ observers: {
+ 'column,hover,align,gutter,border'(): void;
+ };
+ lifetimes: {
+ attached(): void;
+ };
+ methods: {
+ doForChild(action: (item: WechatMiniprogram.Component.TrivialInstance) => void): void;
+ updateContentStyle(): void;
+ getContentMargin(): string;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.js
new file mode 100644
index 0000000..86c627e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import{isObject}from"../common/validator";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-grid`;let Grid=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=["t-class"],this.relations={"../grid-item/grid-item":{type:"descendant"}},this.properties=props,this.data={prefix:prefix,classPrefix:name,contentStyle:""},this.observers={"column,hover,align,gutter,border"(){this.updateContentStyle(),this.doForChild(t=>t.updateStyle())}},this.lifetimes={attached(){this.updateContentStyle()}},this.methods={doForChild(t){this.$children.forEach(t)},updateContentStyle(){const t=[],e=this.getContentMargin();e&&t.push(e),this.setData({contentStyle:t.join(";")})},getContentMargin(){const{gutter:t}=this.properties;let{border:e}=this.properties;if(!e)return`margin-bottom:-${t}rpx; margin-right:-${t}rpx`;isObject(e)||(e={});const{width:r=2}=e;return`margin-bottom:-${r}rpx; margin-right:-${r}rpx`}}}};Grid=__decorate([wxComponent()],Grid);export default Grid;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.wxml
new file mode 100644
index 0000000..95f0fbb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.wxss
new file mode 100644
index 0000000..a0d7231
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/grid.wxss
@@ -0,0 +1,3 @@
+@import '../common/style/index.wxss';.t-grid{position:relative;overflow:hidden;background-color:var(--td-grid-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-grid__content{width:auto;}
+.t-grid--card{margin:0 32rpx;border-radius:var(--td-grid-card-radius,var(--td-radius-large,18rpx));overflow:hidden;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/props.d.ts
new file mode 100644
index 0000000..f8f2feb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/props.d.ts
@@ -0,0 +1,3 @@
+import { TdGridProps } from './type';
+declare const props: TdGridProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/props.js
new file mode 100644
index 0000000..2c14f63
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/props.js
@@ -0,0 +1 @@
+const props={align:{type:String,value:"center"},border:{type:null,value:!1},column:{type:Number,value:4},gutter:{type:Number},hover:{type:Boolean,value:!1},theme:{type:String,value:"default"}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/type.d.ts
new file mode 100644
index 0000000..bb10d5e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/type.d.ts
@@ -0,0 +1,30 @@
+export interface TdGridProps {
+ align?: {
+ type: StringConstructor;
+ value?: 'left' | 'center';
+ };
+ border?: {
+ type: null;
+ value?: boolean | {
+ color?: string;
+ width?: string;
+ style?: 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'inset' | 'outset';
+ };
+ };
+ column?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ gutter?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ hover?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'default' | 'card';
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/grid/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/content.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/content.wxml
new file mode 100644
index 0000000..70702f7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/content.wxml
@@ -0,0 +1 @@
+{{title}}{{body}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.d.ts
new file mode 100644
index 0000000..b94871d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.d.ts
@@ -0,0 +1,103 @@
+///
+import { SuperComponent } from '../common/src/index';
+import { TdGuideProps, GuideStep } from './type';
+export interface GuideProps extends TdGuideProps {
+}
+export { GuideStep };
+export default class Guide extends SuperComponent {
+ externalClasses: string[];
+ properties: TdGuideProps;
+ options: WechatMiniprogram.Component.ComponentOptions;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ visible: boolean;
+ _current: number;
+ _steps: any[];
+ buttonProps: {};
+ referenceStyle: string;
+ popoverStyle: string;
+ title: string;
+ body: string;
+ nonOverlay: boolean;
+ modeType: string;
+ };
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ observers: {
+ 'steps, current, showOverlay'(): Promise;
+ };
+ lifetimes: {
+ created(): void;
+ attached(): void;
+ };
+ methods: {
+ init(): Promise;
+ placementOffset({ placement, offset }: GuideStep, place: CSSStyleDeclaration): Promise;
+ buttonProps(step: any, mode: any): {
+ skipButton: any;
+ nextButton: any;
+ backButton: any;
+ finishButton: any;
+ };
+ renderCounter(): any;
+ buttonContent(button: any): string;
+ onTplButtonTap(e: any): void;
+ getPlacement(): {
+ center: (rect: any, place: any, offset: any) => {
+ top: string;
+ left: string;
+ };
+ bottom: (rect: any, place: any, offset: any) => {
+ top: string;
+ left: string;
+ };
+ 'bottom-left': (rect: any, place: any, offset: any) => {
+ top: string;
+ left: string;
+ };
+ 'bottom-right': (rect: any, place: any, offset: any) => {
+ top: string;
+ right: string;
+ };
+ left: (rect: any, place: any, offset: any) => {
+ top: string;
+ right: string;
+ };
+ 'left-top': (rect: any, place: any, offset: any) => {
+ top: string;
+ right: string;
+ };
+ 'left-bottom': (rect: any, place: any, offset: any) => {
+ top: string;
+ right: string;
+ };
+ right: (rect: any, place: any, offset: any) => {
+ top: string;
+ left: string;
+ };
+ 'right-top': (rect: any, place: any, offset: any) => {
+ top: string;
+ left: string;
+ };
+ 'right-bottom': (rect: any, place: any, offset: any) => {
+ top: string;
+ left: string;
+ };
+ top: (rect: any, place: any, offset: any) => {
+ top: string;
+ left: string;
+ };
+ 'top-left': (rect: any, place: any, offset: any) => {
+ top: string;
+ left: string;
+ };
+ 'top-right': (rect: any, place: any, offset: any) => {
+ top: string;
+ right: string;
+ };
+ };
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.js
new file mode 100644
index 0000000..c771435
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.js
@@ -0,0 +1 @@
+import{__awaiter,__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import props from"./props";import config from"../common/config";import{isFunction,isNumber}from"../common/validator";import{debounce,getRect,rpx2px,styles,unitConvert,nextTick,systemInfo}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-guide`;let Guide=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-reference`,`${prefix}-class-popover`,`${prefix}-class-tooltip`,`${prefix}-class-title`,`${prefix}-class-body`,`${prefix}-class-footer`,`${prefix}-class-skip`,`${prefix}-class-next`,`${prefix}-class-back`,`${prefix}-class-finish`],this.properties=props,this.options={pureDataPattern:/^_/,multipleSlots:!0},this.data={prefix:prefix,classPrefix:name,visible:!1,_current:-1,_steps:[],buttonProps:{},referenceStyle:"",popoverStyle:"",title:"",body:"",nonOverlay:!1,modeType:""},this.controlledProps=[{key:"current",event:"change"}],this.observers={"steps, current, showOverlay"(){return __awaiter(this,void 0,void 0,function*(){this._init()})}},this.lifetimes={created(){this._init=debounce(()=>this.init(),20),this._getPlacement=this.getPlacement()},attached(){this._init()}},this.methods={init(){var t,e,i,s,a,o,n;return __awaiter(this,void 0,void 0,function*(){const{steps:r,current:p}=this.properties,{_steps:l,_current:h}=this.data,c=r[p];if(!c)return this.setData({visible:!1});const u="dialog"===(null!==(t=c.mode)&&void 0!==t?t:this.data.mode)?"dialog":"popover",x=null!==(e=c.showOverlay)&&void 0!==e?e:this.data.showOverlay;if(this.setData({nonOverlay:!x,modeType:u}),r!==l||p!==h)if("popover"===u){const t=yield c.element();if(!t)return;const e=rpx2px(null!==(i=c.highlightPadding)&&void 0!==i?i:this.data.highlightPadding),o={top:`${t.top-e}px`,right:`${systemInfo.windowWidth-t.right-e}px`,left:`${t.left-e}px`,width:`${t.width+2*e}px`,height:`${t.height+2*e}px`};this.setData({_steps:this.data.steps,_current:this.data.current,visible:!0,referenceStyle:styles(o),title:null!==(s=c.title)&&void 0!==s?s:"",body:null!==(a=c.body)&&void 0!==a?a:"",buttonProps:this.buttonProps(c,"popover")});const n=yield this.placementOffset(c,o);this.setData({popoverStyle:n})}else this.setData({_steps:this.data.steps,_current:this.data.current,visible:!0,title:null!==(o=c.title)&&void 0!==o?o:"",body:null!==(n=c.body)&&void 0!==n?n:"",buttonProps:this.buttonProps(c,"dialog")})})},placementOffset({placement:t,offset:e},i){var s,a;return __awaiter(this,void 0,void 0,function*(){yield nextTick();const o=yield getRect(this,`.${name}__container`),n=null===(a=(s=this._getPlacement)[t])||void 0===a?void 0:a.call(s,o,i,e);return styles(Object.assign({position:"absolute"},n))})},buttonProps(t,e){var i,s,a,o;let n=null!==(i=t.skipButtonProps)&&void 0!==i?i:this.data.skipButtonProps;const r="popover"===e?"extra-small":"medium";n=Object.assign(Object.assign({theme:"light",content:"跳过",size:r},n),{tClass:`${prefix}-class-skip ${name}__button ${(null==n?void 0:n.class)||""}`,type:"skip"});let p=null!==(s=t.nextButtonProps)&&void 0!==s?s:this.data.nextButtonProps;p=Object.assign(Object.assign({theme:"primary",content:"下一步",size:r},p),{tClass:`${prefix}-class-next ${name}__button ${(null==p?void 0:p.class)||""}`,type:"next"}),p=Object.assign(Object.assign({},p),{content:this.buttonContent(p)});let l=null!==(a=t.backButtonProps)&&void 0!==a?a:this.data.backButtonProps;l=Object.assign(Object.assign({theme:"light",content:"返回",size:r},l),{tClass:`${prefix}-class-back ${name}__button ${(null==l?void 0:l.class)||""}`,type:"back"});let h=null!==(o=t.finishButtonProps)&&void 0!==o?o:this.data.finishButtonProps;return h=Object.assign(Object.assign({theme:"primary",content:"完成",size:r},h),{tClass:`${prefix}-class-finish ${name}__button ${(null==h?void 0:h.class)||""}`,type:"finish"}),h=Object.assign(Object.assign({},h),{content:this.buttonContent(h)}),{skipButton:n,nextButton:p,backButton:l,finishButton:h}},renderCounter(){const{steps:t,current:e,counter:i}=this.data,s=t.length,a=e+1,o=isFunction(i)?i({total:s,current:a}):i;return i?o:`(${a}/${s})`},buttonContent(t){const{hideCounter:e}=this.data;return`${t.content.replace(/ \(.*?\)/,"")} ${e?"":this.renderCounter()}`},onTplButtonTap(t){const{type:e}=t.target.dataset,i={e:t,current:this.data.current,total:this.data.steps.length};switch(e){case"next":this.triggerEvent("next-step-click",Object.assign({next:this.data.current+1},i)),this.setData({current:this.data.current+1});break;case"skip":this.triggerEvent("skip",i),this.setData({current:-1});break;case"back":this.triggerEvent("back",i),this.setData({current:0});break;case"finish":this.triggerEvent("finish",i),this.setData({current:-1})}this.triggerEvent("change",{current:this.data.current})},getPlacement(){const t=rpx2px(32),e=t=>unitConvert(isNumber(null==t?void 0:t[0])?`${null==t?void 0:t[0]}rpx`:(null==t?void 0:t[0])||0),i=t=>unitConvert(isNumber(null==t?void 0:t[1])?`${null==t?void 0:t[1]}rpx`:(null==t?void 0:t[1])||0),s=t=>parseFloat(t.left),a=t=>parseFloat(t.right),o=t=>parseFloat(t.top),n=t=>parseFloat(t.height),r=t=>parseFloat(t.width);return{center:(a,p,l)=>({top:`${Math.max(n(p)+o(p)+t+i(l),1)}px`,left:`${Math.max(r(p)/2+s(p)-a.width/2+e(l),1)}px`}),bottom:(a,p,l)=>({top:`${Math.max(n(p)+o(p)+t+i(l),1)}px`,left:`${Math.max(r(p)/2+s(p)-a.width/2+e(l),1)}px`}),"bottom-left":(a,r,p)=>({top:`${Math.max(n(r)+o(r)+t+i(p),1)}px`,left:`${Math.max(s(r)+e(p),1)}px`}),"bottom-right":(s,r,p)=>({top:`${Math.max(n(r)+o(r)+t+i(p),1)}px`,right:`${Math.max(a(r)-e(p),1)}px`}),left:(s,p,l)=>({top:`${Math.max(n(p)/2+o(p)-s.height/2+i(l),1)}px`,right:`${Math.max(r(p)+a(p)+t-e(l),1)}px`}),"left-top":(s,n,p)=>({top:`${Math.max(o(n)+i(p),1)}px`,right:`${Math.max(r(n)+a(n)+t-e(p),1)}px`}),"left-bottom":(s,p,l)=>({top:`${Math.max(o(p)+n(p)-s.height-i(l),1)}px`,right:`${Math.max(r(p)+a(p)+t-e(l),1)}px`}),right:(a,p,l)=>({top:`${Math.max(n(p)/2+o(p)-a.height/2+i(l),1)}px`,left:`${Math.max(s(p)+r(p)+t+e(l),1)}px`}),"right-top":(a,n,p)=>({top:`${Math.max(o(n)+i(p),1)}px`,left:`${Math.max(s(n)+r(n)+t+e(p),1)}px`}),"right-bottom":(a,p,l)=>({top:`${Math.max(o(p)+n(p)-a.height-i(l),1)}px`,left:`${Math.max(s(p)+r(p)+t+e(l),1)}px`}),top:(a,n,p)=>({top:`${Math.max(o(n)-a.height-t+i(p),1)}px`,left:`${Math.max(r(n)/2+s(n)-a.width/2+e(p),1)}px`}),"top-left":(a,n,r)=>({top:`${Math.max(o(n)-a.height-t+i(r),1)}px`,left:`${Math.max(s(n)+e(r),1)}px`}),"top-right":(s,n,r)=>({top:`${Math.max(o(n)-s.height-t+i(r),1)}px`,right:`${Math.max(a(n)-e(r),1)}px`})}}}}};Guide=__decorate([wxComponent()],Guide);export default Guide;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.json
new file mode 100644
index 0000000..3abf592
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-overlay":"../overlay/overlay","t-button":"../button/button","t-popup":"../popup/popup"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.wxml
new file mode 100644
index 0000000..0a6067a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.wxss
new file mode 100644
index 0000000..728eb55
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/guide.wxss
@@ -0,0 +1,13 @@
+@import '../common/style/index.wxss';.t-guide__reference{position:absolute;box-shadow:0 0 0 0 var(--td-guide-reference-mask-color,var(--td-font-gray-2,rgba(0,0,0,.6))),var(--td-guide-reference-mask-color,var(--td-font-gray-2,rgba(0,0,0,.6))) 0 0 0 5000px;border-radius:var(--td-guide-reference-border-radius,var(--td-radius-default,12rpx));transition:all var(--td-anim-duration-base,.2s) var(--td-anim-time-fn-ease-out,cubic-bezier(0,0,.15,1));}
+.t-guide__reference--nonoverlay{box-shadow:none;border:var(--td-guide-reference-border,4rpx solid var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-guide__container{display:inline-block;}
+.t-guide__container--popover{background-color:var(--td-guide-popover-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));border:var(--td-guide-popover-border,2rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));border-radius:var(--td-guide-popover-border-radius,var(--td-radius-large,18rpx));box-shadow:var(--td-guide-popover-shadow,var(--td-shadow-3,0 6px 30px 5px rgba(0,0,0,.05),0 16px 24px 2px rgba(0,0,0,.04),0 8px 10px -5px rgba(0,0,0,.08)));padding:var(--td-guide-popover-padding,var(--td-spacer-2,32rpx));min-width:var(--td-guide-popover-min-width,480rpx);max-width:var(--td-guide-popover-max-width,540rpx);}
+.t-guide__container--dialog{background-color:var(--td-guide-popover-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));border-radius:var(--td-guide-dialog-border-radius,var(--td-radius-extraLarge,24rpx));padding:var(--td-guide-dialog-padding,var(--td-spacer-3,48rpx) 0);width:var(--td-guide-dialog-width,622rpx);}
+.t-guide__title--popover{text-align:var(--td-guide-popover-title-text-align,left);color:var(--td-guide-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font-size:var(--td-guide-popover-title-font-size,var(--td-font-size-m,32rpx));font-weight:var(--td-guide-title-font-weight,600);line-height:var(--td-guide-popover-title-line-height,48rpx);}
+.t-guide__title--dialog{text-align:var(--td-guide-dialog-title-text-align,center);color:var(--td-guide-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font-size:var(--td-guide-dialog-title-font-size,36rpx);font-weight:var(--td-guide-title-font-weight,600);line-height:var(--td-guide-dialog-title-line-height,52rpx);}
+.t-guide__body--popover{margin-top:var(--td-guide-popover-body-margin-top,8rpx);text-align:var(--td-guide-popover-body-text-align,left);color:var(--td-guide-body-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));font-size:var(--td-guide-popover-body-font-size,var(--td-font-size-base,28rpx));font-weight:var(--td-guide-body-font-weight,400);line-height:var(--td-guide-popover-body-line-height,44rpx);}
+.t-guide__body--dialog{margin-top:var(--td-guide-dialog-body-margin-top,16rpx);text-align:var(--td-guide-dialog-body-text-align,center);color:var(--td-guide-body-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));font-size:var(--td-guide-dialog-body-font-size,var(--td-font-size-m,32rpx));font-weight:var(--td-guide-body-font-weight,400);line-height:var(--td-guide-dialog-body-line-height,48rpx);}
+.t-guide__footer{text-align:var(--td-guide-footer-text-align,right);margin-top:var(--td-guide-footer-margin-top,var(--td-spacer-3,48rpx));}
+.t-guide__footer .t-guide__button+.t-guide__button{margin-left:var(--td-guide-footer-button-space,var(--td-spacer-1,24rpx));}
+.t-guide__footer--dialog{display:flex;padding:var(--td-guide-dialog-footer-button-padding,0 var(--td-spacer-3,48rpx));}
+.t-guide__footer--dialog .t-guide__button:last-child{flex-grow:1;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/props.d.ts
new file mode 100644
index 0000000..208d046
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/props.d.ts
@@ -0,0 +1,3 @@
+import { TdGuideProps } from './type';
+declare const props: TdGuideProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/props.js
new file mode 100644
index 0000000..0604e19
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/props.js
@@ -0,0 +1 @@
+const props={backButtonProps:{type:Object},counter:{type:null},current:{type:Number,value:null},defaultCurrent:{type:Number},finishButtonProps:{type:Object},hideBack:{type:Boolean,value:!1},hideCounter:{type:Boolean,value:!1},hideSkip:{type:Boolean,value:!1},highlightPadding:{type:Number,value:16},mode:{type:String,value:"popover"},nextButtonProps:{type:Object},showOverlay:{type:Boolean,value:!0},skipButtonProps:{type:Object},steps:{type:Array},usingCustomNavbar:{type:Boolean,value:!1},zIndex:{type:Number,value:999999}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/type.d.ts
new file mode 100644
index 0000000..54b7bdb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/type.d.ts
@@ -0,0 +1,87 @@
+///
+import { ButtonProps } from '../button/index';
+export interface TdGuideProps {
+ backButtonProps?: {
+ type: ObjectConstructor;
+ value?: ButtonProps;
+ };
+ counter?: {
+ type: StringConstructor;
+ value?: string | ((params: {
+ total: number;
+ current: number;
+ }) => string);
+ };
+ current?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ defaultCurrent?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ finishButtonProps?: {
+ type: ObjectConstructor;
+ value?: ButtonProps;
+ };
+ hideBack?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ hideCounter?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ hideSkip?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ highlightPadding?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ mode?: {
+ type: StringConstructor;
+ value?: 'popover' | 'dialog';
+ };
+ nextButtonProps?: {
+ type: ObjectConstructor;
+ value?: ButtonProps;
+ };
+ showOverlay?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ skipButtonProps?: {
+ type: ObjectConstructor;
+ value?: ButtonProps;
+ };
+ steps?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ usingCustomNavbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ zIndex?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+}
+export interface GuideStep {
+ backButtonProps?: ButtonProps;
+ body?: string;
+ element: StepElement;
+ finishButtonProps?: ButtonProps;
+ highlightPadding?: number;
+ mode?: 'popover' | 'dialog';
+ nextButtonProps?: ButtonProps;
+ offset?: Array;
+ placement?: StepPopoverPlacement;
+ showOverlay?: boolean;
+ skipButtonProps?: ButtonProps;
+ title?: string;
+}
+export declare type StepElement = () => Promise;
+export declare type StepPopoverPlacement = 'top' | 'left' | 'right' | 'bottom' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom' | 'center';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/guide/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.d.ts
new file mode 100644
index 0000000..b70696a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.d.ts
@@ -0,0 +1,18 @@
+import { SuperComponent } from '../common/src/index';
+export default class Icon extends SuperComponent {
+ externalClasses: string[];
+ properties: import("./type").TdIconProps;
+ data: {
+ componentPrefix: string;
+ classPrefix: string;
+ isImage: boolean;
+ iconStyle: any;
+ };
+ observers: {
+ 'name, color, size, style'(): void;
+ };
+ methods: {
+ onTap(event: any): void;
+ setIconStyle(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.js
new file mode 100644
index 0000000..bb773a6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.js
@@ -0,0 +1 @@
+import{__awaiter,__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{styles,addUnit,getRect}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-icon`;let Icon=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.properties=props,this.data={componentPrefix:prefix,classPrefix:name,isImage:!1,iconStyle:void 0},this.observers={"name, color, size, style"(){this.setIconStyle()}},this.methods={onTap(t){this.triggerEvent("click",t.detail)},setIconStyle(){const{name:t,color:e,size:o,classPrefix:i}=this.data,s=-1!==t.indexOf("/"),n=addUnit(o),r=e?{color:e}:{},c=o?{"font-size":n}:{},a=Object.assign(Object.assign({},r),c);this.setData({isImage:s},()=>__awaiter(this,void 0,void 0,function*(){if(s){let t=n;t||(yield getRect(this,`.${i}`).then(e=>{t=addUnit(null==e?void 0:e.height)}).catch(()=>{})),a.width=t,a.height=t}this.setData({iconStyle:`${styles(a)}`})}))}}}};Icon=__decorate([wxComponent()],Icon);export default Icon;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.wxml
new file mode 100644
index 0000000..4b635a5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.wxss
new file mode 100644
index 0000000..28c40fe
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/icon.wxss
@@ -0,0 +1,2135 @@
+@import '../common/style/index.wxss';@font-face{font-family:t;src:url(https://tdesign.gtimg.com/icon/0.4.0/fonts/t.eot),url(https://tdesign.gtimg.com/icon/0.4.0/fonts/t.eot?#iefix) format('ded-opentype'),url(https://tdesign.gtimg.com/icon/0.4.0/fonts/t.woff) format('woff'),url(https://tdesign.gtimg.com/icon/0.4.0/fonts/t.ttf) format('truetype'),url(https://tdesign.gtimg.com/icon/0.4.0/fonts/t.svg) format('svg');font-weight:400;font-style:normal;}
+.t-icon--image{width:100%;height:100%;}
+.t-icon__image{vertical-align:top;width:100%;height:100%;}
+.t-icon-base{font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;text-align:center;display:block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
+.t-icon{font-family:t!important;}
+.t-icon-accessibility-filled:before{content:'\E001';}
+.t-icon-accessibility:before{content:'\E002';}
+.t-icon-activity-filled:before{content:'\E003';}
+.t-icon-activity:before{content:'\E004';}
+.t-icon-add-and-subtract:before{content:'\E005';}
+.t-icon-add-circle-filled:before{content:'\E006';}
+.t-icon-add-circle:before{content:'\E007';}
+.t-icon-add-rectangle-filled:before{content:'\E008';}
+.t-icon-add-rectangle:before{content:'\E009';}
+.t-icon-add:before{content:'\E00A';}
+.t-icon-address-book-filled:before{content:'\E00B';}
+.t-icon-address-book:before{content:'\E00C';}
+.t-icon-adjustment-filled:before{content:'\E00D';}
+.t-icon-adjustment:before{content:'\E00E';}
+.t-icon-airplay-wave-filled:before{content:'\E00F';}
+.t-icon-airplay-wave:before{content:'\E010';}
+.t-icon-alarm-add-filled:before{content:'\E011';}
+.t-icon-alarm-add:before{content:'\E012';}
+.t-icon-alarm-filled:before{content:'\E013';}
+.t-icon-alarm-off-filled:before{content:'\E014';}
+.t-icon-alarm-off:before{content:'\E015';}
+.t-icon-alarm:before{content:'\E016';}
+.t-icon-align-bottom:before{content:'\E017';}
+.t-icon-align-top:before{content:'\E018';}
+.t-icon-align-vertical:before{content:'\E019';}
+.t-icon-alpha:before{content:'\E01A';}
+.t-icon-analytics-filled:before{content:'\E01B';}
+.t-icon-analytics:before{content:'\E01C';}
+.t-icon-anchor:before{content:'\E01D';}
+.t-icon-angry-filled:before{content:'\E01E';}
+.t-icon-angry:before{content:'\E01F';}
+.t-icon-animation-1-filled:before{content:'\E020';}
+.t-icon-animation-1:before{content:'\E021';}
+.t-icon-animation-filled:before{content:'\E022';}
+.t-icon-animation:before{content:'\E023';}
+.t-icon-anticlockwise-filled:before{content:'\E024';}
+.t-icon-anticlockwise:before{content:'\E025';}
+.t-icon-api:before{content:'\E026';}
+.t-icon-app-filled:before{content:'\E027';}
+.t-icon-app:before{content:'\E028';}
+.t-icon-apple-filled:before{content:'\E029';}
+.t-icon-apple:before{content:'\E02A';}
+.t-icon-application-filled:before{content:'\E02B';}
+.t-icon-application:before{content:'\E02C';}
+.t-icon-architecture-hui-style-filled:before{content:'\E02D';}
+.t-icon-architecture-hui-style:before{content:'\E02E';}
+.t-icon-archway-1-filled:before{content:'\E02F';}
+.t-icon-archway-1:before{content:'\E030';}
+.t-icon-archway-filled:before{content:'\E031';}
+.t-icon-archway:before{content:'\E032';}
+.t-icon-arrow-down-circle-filled:before{content:'\E033';}
+.t-icon-arrow-down-circle:before{content:'\E034';}
+.t-icon-arrow-down-rectangle-filled:before{content:'\E035';}
+.t-icon-arrow-down-rectangle:before{content:'\E036';}
+.t-icon-arrow-down:before{content:'\E037';}
+.t-icon-arrow-left-circle-filled:before{content:'\E038';}
+.t-icon-arrow-left-circle:before{content:'\E039';}
+.t-icon-arrow-left-down-circle-filled:before{content:'\E03A';}
+.t-icon-arrow-left-down-circle:before{content:'\E03B';}
+.t-icon-arrow-left-down:before{content:'\E03C';}
+.t-icon-arrow-left-right-1:before{content:'\E03D';}
+.t-icon-arrow-left-right-2:before{content:'\E03E';}
+.t-icon-arrow-left-right-3:before{content:'\E03F';}
+.t-icon-arrow-left-right-circle-filled:before{content:'\E040';}
+.t-icon-arrow-left-right-circle:before{content:'\E041';}
+.t-icon-arrow-left-up-circle-filled:before{content:'\E042';}
+.t-icon-arrow-left-up-circle:before{content:'\E043';}
+.t-icon-arrow-left-up:before{content:'\E044';}
+.t-icon-arrow-left:before{content:'\E045';}
+.t-icon-arrow-right-circle-filled:before{content:'\E046';}
+.t-icon-arrow-right-circle:before{content:'\E047';}
+.t-icon-arrow-right-down-circle-filled:before{content:'\E048';}
+.t-icon-arrow-right-down-circle:before{content:'\E049';}
+.t-icon-arrow-right-down:before{content:'\E04A';}
+.t-icon-arrow-right-up-circle-filled:before{content:'\E04B';}
+.t-icon-arrow-right-up-circle:before{content:'\E04C';}
+.t-icon-arrow-right-up:before{content:'\E04D';}
+.t-icon-arrow-right:before{content:'\E04E';}
+.t-icon-arrow-triangle-down-filled:before{content:'\E04F';}
+.t-icon-arrow-triangle-down:before{content:'\E050';}
+.t-icon-arrow-triangle-up-filled:before{content:'\E051';}
+.t-icon-arrow-triangle-up:before{content:'\E052';}
+.t-icon-arrow-up-circle-filled:before{content:'\E053';}
+.t-icon-arrow-up-circle:before{content:'\E054';}
+.t-icon-arrow-up-down-1:before{content:'\E055';}
+.t-icon-arrow-up-down-2:before{content:'\E056';}
+.t-icon-arrow-up-down-3:before{content:'\E057';}
+.t-icon-arrow-up-down-circle-filled:before{content:'\E058';}
+.t-icon-arrow-up-down-circle:before{content:'\E059';}
+.t-icon-arrow-up:before{content:'\E05A';}
+.t-icon-artboard:before{content:'\E05B';}
+.t-icon-article-filled:before{content:'\E05C';}
+.t-icon-article:before{content:'\E05D';}
+.t-icon-assignment-checked-filled:before{content:'\E05E';}
+.t-icon-assignment-checked:before{content:'\E05F';}
+.t-icon-assignment-code-filled:before{content:'\E060';}
+.t-icon-assignment-code:before{content:'\E061';}
+.t-icon-assignment-error-filled:before{content:'\E062';}
+.t-icon-assignment-error:before{content:'\E063';}
+.t-icon-assignment-filled:before{content:'\E064';}
+.t-icon-assignment-user-filled:before{content:'\E065';}
+.t-icon-assignment-user:before{content:'\E066';}
+.t-icon-assignment:before{content:'\E067';}
+.t-icon-attach:before{content:'\E068';}
+.t-icon-attic-1-filled:before{content:'\E069';}
+.t-icon-attic-1:before{content:'\E06A';}
+.t-icon-attic-filled:before{content:'\E06B';}
+.t-icon-attic:before{content:'\E06C';}
+.t-icon-audio-filled:before{content:'\E06D';}
+.t-icon-audio:before{content:'\E06E';}
+.t-icon-awkward-filled:before{content:'\E06F';}
+.t-icon-awkward:before{content:'\E070';}
+.t-icon-backtop-rectangle-filled:before{content:'\E071';}
+.t-icon-backtop-rectangle:before{content:'\E072';}
+.t-icon-backtop:before{content:'\E073';}
+.t-icon-backup-filled:before{content:'\E074';}
+.t-icon-backup:before{content:'\E075';}
+.t-icon-backward-filled:before{content:'\E076';}
+.t-icon-backward:before{content:'\E077';}
+.t-icon-bad-laugh-filled:before{content:'\E078';}
+.t-icon-bad-laugh:before{content:'\E079';}
+.t-icon-bamboo-shoot-filled:before{content:'\E07A';}
+.t-icon-bamboo-shoot:before{content:'\E07B';}
+.t-icon-banana-filled:before{content:'\E07C';}
+.t-icon-banana:before{content:'\E07D';}
+.t-icon-barbecue-filled:before{content:'\E07E';}
+.t-icon-barbecue:before{content:'\E07F';}
+.t-icon-barcode-1:before{content:'\E080';}
+.t-icon-barcode:before{content:'\E081';}
+.t-icon-base-station:before{content:'\E082';}
+.t-icon-battery-add-filled:before{content:'\E083';}
+.t-icon-battery-add:before{content:'\E084';}
+.t-icon-battery-charging-filled:before{content:'\E085';}
+.t-icon-battery-charging:before{content:'\E086';}
+.t-icon-battery-filled:before{content:'\E087';}
+.t-icon-battery-low-filled:before{content:'\E088';}
+.t-icon-battery-low:before{content:'\E089';}
+.t-icon-battery:before{content:'\E08A';}
+.t-icon-bean-filled:before{content:'\E08B';}
+.t-icon-bean:before{content:'\E08C';}
+.t-icon-beer-filled:before{content:'\E08D';}
+.t-icon-beer:before{content:'\E08E';}
+.t-icon-beta:before{content:'\E08F';}
+.t-icon-bifurcate-filled:before{content:'\E090';}
+.t-icon-bifurcate:before{content:'\E091';}
+.t-icon-bill-filled:before{content:'\E092';}
+.t-icon-bill:before{content:'\E093';}
+.t-icon-bluetooth:before{content:'\E094';}
+.t-icon-bone-filled:before{content:'\E095';}
+.t-icon-bone:before{content:'\E096';}
+.t-icon-book-filled:before{content:'\E097';}
+.t-icon-book-open-filled:before{content:'\E098';}
+.t-icon-book-open:before{content:'\E099';}
+.t-icon-book-unknown-filled:before{content:'\E09A';}
+.t-icon-book-unknown:before{content:'\E09B';}
+.t-icon-book:before{content:'\E09C';}
+.t-icon-bookmark-add-filled:before{content:'\E09D';}
+.t-icon-bookmark-add:before{content:'\E09E';}
+.t-icon-bookmark-checked-filled:before{content:'\E09F';}
+.t-icon-bookmark-checked:before{content:'\E0A0';}
+.t-icon-bookmark-double-filled:before{content:'\E0A1';}
+.t-icon-bookmark-double:before{content:'\E0A2';}
+.t-icon-bookmark-filled:before{content:'\E0A3';}
+.t-icon-bookmark-minus-filled:before{content:'\E0A4';}
+.t-icon-bookmark-minus:before{content:'\E0A5';}
+.t-icon-bookmark:before{content:'\E0A6';}
+.t-icon-braces:before{content:'\E0A7';}
+.t-icon-brackets:before{content:'\E0A8';}
+.t-icon-bread-filled:before{content:'\E0A9';}
+.t-icon-bread:before{content:'\E0AA';}
+.t-icon-bridge-1-filled:before{content:'\E0AB';}
+.t-icon-bridge-1:before{content:'\E0AC';}
+.t-icon-bridge-2-filled:before{content:'\E0AD';}
+.t-icon-bridge-2:before{content:'\E0AE';}
+.t-icon-bridge-3:before{content:'\E0AF';}
+.t-icon-bridge-4:before{content:'\E0B0';}
+.t-icon-bridge-5-filled:before{content:'\E0B1';}
+.t-icon-bridge-5:before{content:'\E0B2';}
+.t-icon-bridge-6-filled:before{content:'\E0B3';}
+.t-icon-bridge-6:before{content:'\E0B4';}
+.t-icon-bridge:before{content:'\E0B5';}
+.t-icon-brightness-1-filled:before{content:'\E0B6';}
+.t-icon-brightness-1:before{content:'\E0B7';}
+.t-icon-brightness-filled:before{content:'\E0B8';}
+.t-icon-brightness:before{content:'\E0B9';}
+.t-icon-broccoli-filled:before{content:'\E0BA';}
+.t-icon-broccoli:before{content:'\E0BB';}
+.t-icon-browse-filled:before{content:'\E0BC';}
+.t-icon-browse-gallery-filled:before{content:'\E0BD';}
+.t-icon-browse-gallery:before{content:'\E0BE';}
+.t-icon-browse-off-filled:before{content:'\E0BF';}
+.t-icon-browse-off:before{content:'\E0C0';}
+.t-icon-browse:before{content:'\E0C1';}
+.t-icon-brush-filled:before{content:'\E0C2';}
+.t-icon-brush:before{content:'\E0C3';}
+.t-icon-bug-filled:before{content:'\E0C4';}
+.t-icon-bug-report-filled:before{content:'\E0C5';}
+.t-icon-bug-report:before{content:'\E0C6';}
+.t-icon-bug:before{content:'\E0C7';}
+.t-icon-building-1-filled:before{content:'\E0C8';}
+.t-icon-building-1:before{content:'\E0C9';}
+.t-icon-building-2-filled:before{content:'\E0CA';}
+.t-icon-building-2:before{content:'\E0CB';}
+.t-icon-building-3-filled:before{content:'\E0CC';}
+.t-icon-building-3:before{content:'\E0CD';}
+.t-icon-building-4-filled:before{content:'\E0CE';}
+.t-icon-building-4:before{content:'\E0CF';}
+.t-icon-building-5-filled:before{content:'\E0D0';}
+.t-icon-building-5:before{content:'\E0D1';}
+.t-icon-building-filled:before{content:'\E0D2';}
+.t-icon-building:before{content:'\E0D3';}
+.t-icon-bulletpoint:before{content:'\E0D4';}
+.t-icon-button-filled:before{content:'\E0D5';}
+.t-icon-button:before{content:'\E0D6';}
+.t-icon-cabbage-filled:before{content:'\E0D7';}
+.t-icon-cabbage:before{content:'\E0D8';}
+.t-icon-cake-filled:before{content:'\E0D9';}
+.t-icon-cake:before{content:'\E0DA';}
+.t-icon-calculation-1-filled:before{content:'\E0DB';}
+.t-icon-calculation-1:before{content:'\E0DC';}
+.t-icon-calculation:before{content:'\E0DD';}
+.t-icon-calculator-1:before{content:'\E0DE';}
+.t-icon-calculator-filled:before{content:'\E0DF';}
+.t-icon-calculator:before{content:'\E0E0';}
+.t-icon-calendar-1-filled:before{content:'\E0E1';}
+.t-icon-calendar-1:before{content:'\E0E2';}
+.t-icon-calendar-2-filled:before{content:'\E0E3';}
+.t-icon-calendar-2:before{content:'\E0E4';}
+.t-icon-calendar-edit-filled:before{content:'\E0E5';}
+.t-icon-calendar-edit:before{content:'\E0E6';}
+.t-icon-calendar-event-filled:before{content:'\E0E7';}
+.t-icon-calendar-event:before{content:'\E0E8';}
+.t-icon-calendar-filled:before{content:'\E0E9';}
+.t-icon-calendar:before{content:'\E0EA';}
+.t-icon-call-1-filled:before{content:'\E0EB';}
+.t-icon-call-1:before{content:'\E0EC';}
+.t-icon-call-cancel-filled:before{content:'\E0ED';}
+.t-icon-call-cancel:before{content:'\E0EE';}
+.t-icon-call-filled:before{content:'\E0EF';}
+.t-icon-call-forwarded-filled:before{content:'\E0F0';}
+.t-icon-call-forwarded:before{content:'\E0F1';}
+.t-icon-call-incoming-filled:before{content:'\E0F2';}
+.t-icon-call-incoming:before{content:'\E0F3';}
+.t-icon-call-off-filled:before{content:'\E0F4';}
+.t-icon-call-off:before{content:'\E0F5';}
+.t-icon-call:before{content:'\E0F6';}
+.t-icon-calm-1-filled:before{content:'\E0F7';}
+.t-icon-calm-1:before{content:'\E0F8';}
+.t-icon-calm-filled:before{content:'\E0F9';}
+.t-icon-calm:before{content:'\E0FA';}
+.t-icon-camera-1-filled:before{content:'\E0FB';}
+.t-icon-camera-1:before{content:'\E0FC';}
+.t-icon-camera-2-filled:before{content:'\E0FD';}
+.t-icon-camera-2:before{content:'\E0FE';}
+.t-icon-camera-filled:before{content:'\E0FF';}
+.t-icon-camera-off-filled:before{content:'\E100';}
+.t-icon-camera-off:before{content:'\E101';}
+.t-icon-camera:before{content:'\E102';}
+.t-icon-candy-filled:before{content:'\E103';}
+.t-icon-candy:before{content:'\E104';}
+.t-icon-card-filled:before{content:'\E105';}
+.t-icon-card:before{content:'\E106';}
+.t-icon-cardmembership-filled:before{content:'\E107';}
+.t-icon-cardmembership:before{content:'\E108';}
+.t-icon-caret-down-small:before{content:'\E109';}
+.t-icon-caret-down:before{content:'\E10A';}
+.t-icon-caret-left-small:before{content:'\E10B';}
+.t-icon-caret-left:before{content:'\E10C';}
+.t-icon-caret-right-small:before{content:'\E10D';}
+.t-icon-caret-right:before{content:'\E10E';}
+.t-icon-caret-up-small:before{content:'\E10F';}
+.t-icon-caret-up:before{content:'\E110';}
+.t-icon-cart-add-filled:before{content:'\E111';}
+.t-icon-cart-add:before{content:'\E112';}
+.t-icon-cart-filled:before{content:'\E113';}
+.t-icon-cart:before{content:'\E114';}
+.t-icon-cast-filled:before{content:'\E115';}
+.t-icon-cast:before{content:'\E116';}
+.t-icon-castle-1-filled:before{content:'\E117';}
+.t-icon-castle-1:before{content:'\E118';}
+.t-icon-castle-2-filled:before{content:'\E119';}
+.t-icon-castle-2:before{content:'\E11A';}
+.t-icon-castle-3-filled:before{content:'\E11B';}
+.t-icon-castle-3:before{content:'\E11C';}
+.t-icon-castle-4-filled:before{content:'\E11D';}
+.t-icon-castle-4:before{content:'\E11E';}
+.t-icon-castle-5-filled:before{content:'\E11F';}
+.t-icon-castle-5:before{content:'\E120';}
+.t-icon-castle-6-filled:before{content:'\E121';}
+.t-icon-castle-6:before{content:'\E122';}
+.t-icon-castle-7-filled:before{content:'\E123';}
+.t-icon-castle-7:before{content:'\E124';}
+.t-icon-castle-filled:before{content:'\E125';}
+.t-icon-castle:before{content:'\E126';}
+.t-icon-cat-filled:before{content:'\E127';}
+.t-icon-cat:before{content:'\E128';}
+.t-icon-catalog-filled:before{content:'\E129';}
+.t-icon-catalog:before{content:'\E12A';}
+.t-icon-cd-filled:before{content:'\E12B';}
+.t-icon-cd:before{content:'\E12C';}
+.t-icon-celsius:before{content:'\E12D';}
+.t-icon-center-focus-strong-filled:before{content:'\E12E';}
+.t-icon-center-focus-strong:before{content:'\E12F';}
+.t-icon-centimeter:before{content:'\E130';}
+.t-icon-certificate-1-filled:before{content:'\E131';}
+.t-icon-certificate-1:before{content:'\E132';}
+.t-icon-certificate-filled:before{content:'\E133';}
+.t-icon-certificate:before{content:'\E134';}
+.t-icon-chart-3d-filled:before{content:'\E135';}
+.t-icon-chart-3d:before{content:'\E136';}
+.t-icon-chart-add-filled:before{content:'\E137';}
+.t-icon-chart-add:before{content:'\E138';}
+.t-icon-chart-analytics:before{content:'\E139';}
+.t-icon-chart-area-filled:before{content:'\E13A';}
+.t-icon-chart-area-multi-filled:before{content:'\E13B';}
+.t-icon-chart-area-multi:before{content:'\E13C';}
+.t-icon-chart-area:before{content:'\E13D';}
+.t-icon-chart-bar-filled:before{content:'\E13E';}
+.t-icon-chart-bar:before{content:'\E13F';}
+.t-icon-chart-bubble-filled:before{content:'\E140';}
+.t-icon-chart-bubble:before{content:'\E141';}
+.t-icon-chart-column-filled:before{content:'\E142';}
+.t-icon-chart-column:before{content:'\E143';}
+.t-icon-chart-combo-filled:before{content:'\E144';}
+.t-icon-chart-combo:before{content:'\E145';}
+.t-icon-chart-filled:before{content:'\E146';}
+.t-icon-chart-line-data-1:before{content:'\E147';}
+.t-icon-chart-line-data:before{content:'\E148';}
+.t-icon-chart-line-multi:before{content:'\E149';}
+.t-icon-chart-line:before{content:'\E14A';}
+.t-icon-chart-maximum:before{content:'\E14B';}
+.t-icon-chart-median:before{content:'\E14C';}
+.t-icon-chart-minimum:before{content:'\E14D';}
+.t-icon-chart-pie-filled:before{content:'\E14E';}
+.t-icon-chart-pie:before{content:'\E14F';}
+.t-icon-chart-radar-filled:before{content:'\E150';}
+.t-icon-chart-radar:before{content:'\E151';}
+.t-icon-chart-radial:before{content:'\E152';}
+.t-icon-chart-ring-1-filled:before{content:'\E153';}
+.t-icon-chart-ring-1:before{content:'\E154';}
+.t-icon-chart-ring-filled:before{content:'\E155';}
+.t-icon-chart-ring:before{content:'\E156';}
+.t-icon-chart-scatter:before{content:'\E157';}
+.t-icon-chart-stacked-filled:before{content:'\E158';}
+.t-icon-chart-stacked:before{content:'\E159';}
+.t-icon-chart:before{content:'\E15A';}
+.t-icon-chat-add-filled:before{content:'\E15B';}
+.t-icon-chat-add:before{content:'\E15C';}
+.t-icon-chat-bubble-1-filled:before{content:'\E15D';}
+.t-icon-chat-bubble-1:before{content:'\E15E';}
+.t-icon-chat-bubble-add-filled:before{content:'\E15F';}
+.t-icon-chat-bubble-add:before{content:'\E160';}
+.t-icon-chat-bubble-error-filled:before{content:'\E161';}
+.t-icon-chat-bubble-error:before{content:'\E162';}
+.t-icon-chat-bubble-filled:before{content:'\E163';}
+.t-icon-chat-bubble-help-filled:before{content:'\E164';}
+.t-icon-chat-bubble-help:before{content:'\E165';}
+.t-icon-chat-bubble-history-filled:before{content:'\E166';}
+.t-icon-chat-bubble-history:before{content:'\E167';}
+.t-icon-chat-bubble-locked-filled:before{content:'\E168';}
+.t-icon-chat-bubble-locked:before{content:'\E169';}
+.t-icon-chat-bubble-smile-filled:before{content:'\E16A';}
+.t-icon-chat-bubble-smile:before{content:'\E16B';}
+.t-icon-chat-bubble:before{content:'\E16C';}
+.t-icon-chat-checked-filled:before{content:'\E16D';}
+.t-icon-chat-checked:before{content:'\E16E';}
+.t-icon-chat-clear-filled:before{content:'\E16F';}
+.t-icon-chat-clear:before{content:'\E170';}
+.t-icon-chat-double-filled:before{content:'\E171';}
+.t-icon-chat-double:before{content:'\E172';}
+.t-icon-chat-error-filled:before{content:'\E173';}
+.t-icon-chat-error:before{content:'\E174';}
+.t-icon-chat-filled:before{content:'\E175';}
+.t-icon-chat-heart-filled:before{content:'\E176';}
+.t-icon-chat-heart:before{content:'\E177';}
+.t-icon-chat-message-filled:before{content:'\E178';}
+.t-icon-chat-message:before{content:'\E179';}
+.t-icon-chat-off-filled:before{content:'\E17A';}
+.t-icon-chat-off:before{content:'\E17B';}
+.t-icon-chat-poll-filled:before{content:'\E17C';}
+.t-icon-chat-poll:before{content:'\E17D';}
+.t-icon-chat-setting-filled:before{content:'\E17E';}
+.t-icon-chat-setting:before{content:'\E17F';}
+.t-icon-chat:before{content:'\E180';}
+.t-icon-check-circle-filled:before{content:'\E181';}
+.t-icon-check-circle:before{content:'\E182';}
+.t-icon-check-double:before{content:'\E183';}
+.t-icon-check-rectangle-filled:before{content:'\E184';}
+.t-icon-check-rectangle:before{content:'\E185';}
+.t-icon-check:before{content:'\E186';}
+.t-icon-cheese-filled:before{content:'\E187';}
+.t-icon-cheese:before{content:'\E188';}
+.t-icon-cherry-filled:before{content:'\E189';}
+.t-icon-cherry:before{content:'\E18A';}
+.t-icon-chevron-down-circle-filled:before{content:'\E18B';}
+.t-icon-chevron-down-circle:before{content:'\E18C';}
+.t-icon-chevron-down-double-s:before{content:'\E18D';}
+.t-icon-chevron-down-double:before{content:'\E18E';}
+.t-icon-chevron-down-rectangle-filled:before{content:'\E18F';}
+.t-icon-chevron-down-rectangle:before{content:'\E190';}
+.t-icon-chevron-down-s:before{content:'\E191';}
+.t-icon-chevron-down:before{content:'\E192';}
+.t-icon-chevron-left-circle-filled:before{content:'\E193';}
+.t-icon-chevron-left-circle:before{content:'\E194';}
+.t-icon-chevron-left-double-s:before{content:'\E195';}
+.t-icon-chevron-left-double:before{content:'\E196';}
+.t-icon-chevron-left-rectangle-filled:before{content:'\E197';}
+.t-icon-chevron-left-rectangle:before{content:'\E198';}
+.t-icon-chevron-left-s:before{content:'\E199';}
+.t-icon-chevron-left:before{content:'\E19A';}
+.t-icon-chevron-right-circle-filled:before{content:'\E19B';}
+.t-icon-chevron-right-circle:before{content:'\E19C';}
+.t-icon-chevron-right-double-s:before{content:'\E19D';}
+.t-icon-chevron-right-double:before{content:'\E19E';}
+.t-icon-chevron-right-rectangle-filled:before{content:'\E19F';}
+.t-icon-chevron-right-rectangle:before{content:'\E1A0';}
+.t-icon-chevron-right-s:before{content:'\E1A1';}
+.t-icon-chevron-right:before{content:'\E1A2';}
+.t-icon-chevron-up-circle-filled:before{content:'\E1A3';}
+.t-icon-chevron-up-circle:before{content:'\E1A4';}
+.t-icon-chevron-up-double-s:before{content:'\E1A5';}
+.t-icon-chevron-up-double:before{content:'\E1A6';}
+.t-icon-chevron-up-rectangle-filled:before{content:'\E1A7';}
+.t-icon-chevron-up-rectangle:before{content:'\E1A8';}
+.t-icon-chevron-up-s:before{content:'\E1A9';}
+.t-icon-chevron-up:before{content:'\E1AA';}
+.t-icon-chicken:before{content:'\E1AB';}
+.t-icon-chili-filled:before{content:'\E1AC';}
+.t-icon-chili:before{content:'\E1AD';}
+.t-icon-chimney-1-filled:before{content:'\E1AE';}
+.t-icon-chimney-1:before{content:'\E1AF';}
+.t-icon-chimney-2-filled:before{content:'\E1B0';}
+.t-icon-chimney-2:before{content:'\E1B1';}
+.t-icon-chimney-filled:before{content:'\E1B2';}
+.t-icon-chimney:before{content:'\E1B3';}
+.t-icon-chinese-cabbage-filled:before{content:'\E1B4';}
+.t-icon-chinese-cabbage:before{content:'\E1B5';}
+.t-icon-church-filled:before{content:'\E1B6';}
+.t-icon-church:before{content:'\E1B7';}
+.t-icon-circle-filled:before{content:'\E1B8';}
+.t-icon-circle:before{content:'\E1B9';}
+.t-icon-city-1-filled:before{content:'\E1BA';}
+.t-icon-city-1:before{content:'\E1BB';}
+.t-icon-city-10-filled:before{content:'\E1BC';}
+.t-icon-city-10:before{content:'\E1BD';}
+.t-icon-city-11-filled:before{content:'\E1BE';}
+.t-icon-city-11:before{content:'\E1BF';}
+.t-icon-city-12-filled:before{content:'\E1C0';}
+.t-icon-city-12:before{content:'\E1C1';}
+.t-icon-city-13-filled:before{content:'\E1C2';}
+.t-icon-city-13:before{content:'\E1C3';}
+.t-icon-city-14-filled:before{content:'\E1C4';}
+.t-icon-city-14:before{content:'\E1C5';}
+.t-icon-city-15-filled:before{content:'\E1C6';}
+.t-icon-city-15:before{content:'\E1C7';}
+.t-icon-city-2-filled:before{content:'\E1C8';}
+.t-icon-city-2:before{content:'\E1C9';}
+.t-icon-city-3-filled:before{content:'\E1CA';}
+.t-icon-city-3:before{content:'\E1CB';}
+.t-icon-city-4-filled:before{content:'\E1CC';}
+.t-icon-city-4:before{content:'\E1CD';}
+.t-icon-city-5-filled:before{content:'\E1CE';}
+.t-icon-city-5:before{content:'\E1CF';}
+.t-icon-city-6-filled:before{content:'\E1D0';}
+.t-icon-city-6:before{content:'\E1D1';}
+.t-icon-city-7-filled:before{content:'\E1D2';}
+.t-icon-city-7:before{content:'\E1D3';}
+.t-icon-city-8-filled:before{content:'\E1D4';}
+.t-icon-city-8:before{content:'\E1D5';}
+.t-icon-city-9-filled:before{content:'\E1D6';}
+.t-icon-city-9:before{content:'\E1D7';}
+.t-icon-city-ancient-1-filled:before{content:'\E1D8';}
+.t-icon-city-ancient-1:before{content:'\E1D9';}
+.t-icon-city-ancient-2-filled:before{content:'\E1DA';}
+.t-icon-city-ancient-2:before{content:'\E1DB';}
+.t-icon-city-ancient-filled:before{content:'\E1DC';}
+.t-icon-city-ancient:before{content:'\E1DD';}
+.t-icon-city-filled:before{content:'\E1DE';}
+.t-icon-city:before{content:'\E1DF';}
+.t-icon-clear-filled:before{content:'\E1E0';}
+.t-icon-clear-formatting-1-filled:before{content:'\E1E1';}
+.t-icon-clear-formatting-1:before{content:'\E1E2';}
+.t-icon-clear-formatting-filled:before{content:'\E1E3';}
+.t-icon-clear-formatting:before{content:'\E1E4';}
+.t-icon-clear:before{content:'\E1E5';}
+.t-icon-close-circle-filled:before{content:'\E1E6';}
+.t-icon-close-circle:before{content:'\E1E7';}
+.t-icon-close-octagon-filled:before{content:'\E1E8';}
+.t-icon-close-octagon:before{content:'\E1E9';}
+.t-icon-close-rectangle-filled:before{content:'\E1EA';}
+.t-icon-close-rectangle:before{content:'\E1EB';}
+.t-icon-close:before{content:'\E1EC';}
+.t-icon-cloud-download:before{content:'\E1ED';}
+.t-icon-cloud-filled:before{content:'\E1EE';}
+.t-icon-cloud-upload:before{content:'\E1EF';}
+.t-icon-cloud:before{content:'\E1F0';}
+.t-icon-cloudy-day-filled:before{content:'\E1F1';}
+.t-icon-cloudy-day:before{content:'\E1F2';}
+.t-icon-cloudy-night-filled:before{content:'\E1F3';}
+.t-icon-cloudy-night-rain-filled:before{content:'\E1F4';}
+.t-icon-cloudy-night-rain:before{content:'\E1F5';}
+.t-icon-cloudy-night:before{content:'\E1F6';}
+.t-icon-cloudy-rain-filled:before{content:'\E1F7';}
+.t-icon-cloudy-rain:before{content:'\E1F8';}
+.t-icon-cloudy-sunny-filled:before{content:'\E1F9';}
+.t-icon-cloudy-sunny:before{content:'\E1FA';}
+.t-icon-code-1:before{content:'\E1FB';}
+.t-icon-code-off:before{content:'\E1FC';}
+.t-icon-code:before{content:'\E1FD';}
+.t-icon-cola-filled:before{content:'\E1FE';}
+.t-icon-cola:before{content:'\E1FF';}
+.t-icon-collage-filled:before{content:'\E200';}
+.t-icon-collage:before{content:'\E201';}
+.t-icon-collection-filled:before{content:'\E202';}
+.t-icon-collection:before{content:'\E203';}
+.t-icon-color-invert-filled:before{content:'\E204';}
+.t-icon-color-invert:before{content:'\E205';}
+.t-icon-combination-filled:before{content:'\E206';}
+.t-icon-combination:before{content:'\E207';}
+.t-icon-command:before{content:'\E208';}
+.t-icon-compass-1-filled:before{content:'\E209';}
+.t-icon-compass-1:before{content:'\E20A';}
+.t-icon-compass-filled:before{content:'\E20B';}
+.t-icon-compass:before{content:'\E20C';}
+.t-icon-component-breadcrumb-filled:before{content:'\E20D';}
+.t-icon-component-breadcrumb:before{content:'\E20E';}
+.t-icon-component-checkbox-filled:before{content:'\E20F';}
+.t-icon-component-checkbox:before{content:'\E210';}
+.t-icon-component-divider-horizontal-filled:before{content:'\E211';}
+.t-icon-component-divider-horizontal:before{content:'\E212';}
+.t-icon-component-divider-vertical-filled:before{content:'\E213';}
+.t-icon-component-divider-vertical:before{content:'\E214';}
+.t-icon-component-dropdown-filled:before{content:'\E215';}
+.t-icon-component-dropdown:before{content:'\E216';}
+.t-icon-component-grid-filled:before{content:'\E217';}
+.t-icon-component-grid:before{content:'\E218';}
+.t-icon-component-input-filled:before{content:'\E219';}
+.t-icon-component-input:before{content:'\E21A';}
+.t-icon-component-layout-filled:before{content:'\E21B';}
+.t-icon-component-layout:before{content:'\E21C';}
+.t-icon-component-radio:before{content:'\E21D';}
+.t-icon-component-space-filled:before{content:'\E21E';}
+.t-icon-component-space:before{content:'\E21F';}
+.t-icon-component-steps-filled:before{content:'\E220';}
+.t-icon-component-steps:before{content:'\E221';}
+.t-icon-component-switch-filled:before{content:'\E222';}
+.t-icon-component-switch:before{content:'\E223';}
+.t-icon-constraint:before{content:'\E224';}
+.t-icon-contrast-1-filled:before{content:'\E225';}
+.t-icon-contrast-1:before{content:'\E226';}
+.t-icon-contrast-filled:before{content:'\E227';}
+.t-icon-contrast:before{content:'\E228';}
+.t-icon-control-platform-filled:before{content:'\E229';}
+.t-icon-control-platform:before{content:'\E22A';}
+.t-icon-cooperate-filled:before{content:'\E22B';}
+.t-icon-cooperate:before{content:'\E22C';}
+.t-icon-coordinate-system-filled:before{content:'\E22D';}
+.t-icon-coordinate-system:before{content:'\E22E';}
+.t-icon-copy-filled:before{content:'\E22F';}
+.t-icon-copy:before{content:'\E230';}
+.t-icon-copyright-filled:before{content:'\E231';}
+.t-icon-copyright:before{content:'\E232';}
+.t-icon-corn-filled:before{content:'\E233';}
+.t-icon-corn:before{content:'\E234';}
+.t-icon-coupon-filled:before{content:'\E235';}
+.t-icon-coupon:before{content:'\E236';}
+.t-icon-course-filled:before{content:'\E237';}
+.t-icon-course:before{content:'\E238';}
+.t-icon-cpu-filled:before{content:'\E239';}
+.t-icon-cpu:before{content:'\E23A';}
+.t-icon-crack-filled:before{content:'\E23B';}
+.t-icon-crack:before{content:'\E23C';}
+.t-icon-creditcard-add-filled:before{content:'\E23D';}
+.t-icon-creditcard-add:before{content:'\E23E';}
+.t-icon-creditcard-filled:before{content:'\E23F';}
+.t-icon-creditcard-off-filled:before{content:'\E240';}
+.t-icon-creditcard-off:before{content:'\E241';}
+.t-icon-creditcard:before{content:'\E242';}
+.t-icon-crooked-smile-filled:before{content:'\E243';}
+.t-icon-crooked-smile:before{content:'\E244';}
+.t-icon-cry-and-laugh-filled:before{content:'\E245';}
+.t-icon-cry-and-laugh:before{content:'\E246';}
+.t-icon-cry-loudly-filled:before{content:'\E247';}
+.t-icon-cry-loudly:before{content:'\E248';}
+.t-icon-css3-filled:before{content:'\E249';}
+.t-icon-css3:before{content:'\E24A';}
+.t-icon-cucumber:before{content:'\E24B';}
+.t-icon-currency-exchange:before{content:'\E24C';}
+.t-icon-cursor-filled:before{content:'\E24D';}
+.t-icon-cursor:before{content:'\E24E';}
+.t-icon-curtain-filled:before{content:'\E24F';}
+.t-icon-curtain:before{content:'\E250';}
+.t-icon-curve:before{content:'\E251';}
+.t-icon-cut-1:before{content:'\E252';}
+.t-icon-cut:before{content:'\E253';}
+.t-icon-dam-1-filled:before{content:'\E254';}
+.t-icon-dam-1:before{content:'\E255';}
+.t-icon-dam-2-filled:before{content:'\E256';}
+.t-icon-dam-2:before{content:'\E257';}
+.t-icon-dam-3-filled:before{content:'\E258';}
+.t-icon-dam-3:before{content:'\E259';}
+.t-icon-dam-4-filled:before{content:'\E25A';}
+.t-icon-dam-4:before{content:'\E25B';}
+.t-icon-dam-5-filled:before{content:'\E25C';}
+.t-icon-dam-5:before{content:'\E25D';}
+.t-icon-dam-6-filled:before{content:'\E25E';}
+.t-icon-dam-6:before{content:'\E25F';}
+.t-icon-dam-7-filled:before{content:'\E260';}
+.t-icon-dam-7:before{content:'\E261';}
+.t-icon-dam-filled:before{content:'\E262';}
+.t-icon-dam:before{content:'\E263';}
+.t-icon-dart-board-filled:before{content:'\E264';}
+.t-icon-dart-board:before{content:'\E265';}
+.t-icon-dashboard-1-filled:before{content:'\E266';}
+.t-icon-dashboard-1:before{content:'\E267';}
+.t-icon-dashboard-filled:before{content:'\E268';}
+.t-icon-dashboard:before{content:'\E269';}
+.t-icon-data-base-filled:before{content:'\E26A';}
+.t-icon-data-base:before{content:'\E26B';}
+.t-icon-data-checked-filled:before{content:'\E26C';}
+.t-icon-data-checked:before{content:'\E26D';}
+.t-icon-data-display:before{content:'\E26E';}
+.t-icon-data-error-filled:before{content:'\E26F';}
+.t-icon-data-error:before{content:'\E270';}
+.t-icon-data-filled:before{content:'\E271';}
+.t-icon-data-search-filled:before{content:'\E272';}
+.t-icon-data-search:before{content:'\E273';}
+.t-icon-data:before{content:'\E274';}
+.t-icon-delete-1-filled:before{content:'\E275';}
+.t-icon-delete-1:before{content:'\E276';}
+.t-icon-delete-filled:before{content:'\E277';}
+.t-icon-delete-time-filled:before{content:'\E278';}
+.t-icon-delete-time:before{content:'\E279';}
+.t-icon-delete:before{content:'\E27A';}
+.t-icon-delta-filled:before{content:'\E27B';}
+.t-icon-delta:before{content:'\E27C';}
+.t-icon-depressed-filled:before{content:'\E27D';}
+.t-icon-depressed:before{content:'\E27E';}
+.t-icon-desktop-1-filled:before{content:'\E27F';}
+.t-icon-desktop-1:before{content:'\E280';}
+.t-icon-desktop-filled:before{content:'\E281';}
+.t-icon-desktop:before{content:'\E282';}
+.t-icon-despise-filled:before{content:'\E283';}
+.t-icon-despise:before{content:'\E284';}
+.t-icon-device-filled:before{content:'\E285';}
+.t-icon-device:before{content:'\E286';}
+.t-icon-discount-filled:before{content:'\E287';}
+.t-icon-discount:before{content:'\E288';}
+.t-icon-dissatisfaction-filled:before{content:'\E289';}
+.t-icon-dissatisfaction:before{content:'\E28A';}
+.t-icon-divide:before{content:'\E28B';}
+.t-icon-dividers-1:before{content:'\E28C';}
+.t-icon-dividers:before{content:'\E28D';}
+.t-icon-doge-filled:before{content:'\E28E';}
+.t-icon-doge:before{content:'\E28F';}
+.t-icon-double-storey-filled:before{content:'\E290';}
+.t-icon-double-storey:before{content:'\E291';}
+.t-icon-download-1:before{content:'\E292';}
+.t-icon-download-2-filled:before{content:'\E293';}
+.t-icon-download-2:before{content:'\E294';}
+.t-icon-download:before{content:'\E295';}
+.t-icon-downscale:before{content:'\E296';}
+.t-icon-drag-drop:before{content:'\E297';}
+.t-icon-drag-move:before{content:'\E298';}
+.t-icon-drink-filled:before{content:'\E299';}
+.t-icon-drink:before{content:'\E29A';}
+.t-icon-drumstick-filled:before{content:'\E29B';}
+.t-icon-drumstick:before{content:'\E29C';}
+.t-icon-dv-filled:before{content:'\E29D';}
+.t-icon-dv:before{content:'\E29E';}
+.t-icon-dvd-filled:before{content:'\E29F';}
+.t-icon-dvd:before{content:'\E2A0';}
+.t-icon-earphone-filled:before{content:'\E2A1';}
+.t-icon-earphone:before{content:'\E2A2';}
+.t-icon-earth-filled:before{content:'\E2A3';}
+.t-icon-earth:before{content:'\E2A4';}
+.t-icon-edit-1-filled:before{content:'\E2A5';}
+.t-icon-edit-1:before{content:'\E2A6';}
+.t-icon-edit-2-filled:before{content:'\E2A7';}
+.t-icon-edit-2:before{content:'\E2A8';}
+.t-icon-edit-filled:before{content:'\E2A9';}
+.t-icon-edit-off-filled:before{content:'\E2AA';}
+.t-icon-edit-off:before{content:'\E2AB';}
+.t-icon-edit:before{content:'\E2AC';}
+.t-icon-education-filled:before{content:'\E2AD';}
+.t-icon-education:before{content:'\E2AE';}
+.t-icon-eggplant-filled:before{content:'\E2AF';}
+.t-icon-eggplant:before{content:'\E2B0';}
+.t-icon-ellipsis:before{content:'\E2B1';}
+.t-icon-emo-emotional-filled:before{content:'\E2B2';}
+.t-icon-emo-emotional:before{content:'\E2B3';}
+.t-icon-enter:before{content:'\E2B4';}
+.t-icon-equal:before{content:'\E2B5';}
+.t-icon-error-circle-filled:before{content:'\E2B6';}
+.t-icon-error-circle:before{content:'\E2B7';}
+.t-icon-error-triangle-filled:before{content:'\E2B8';}
+.t-icon-error-triangle:before{content:'\E2B9';}
+.t-icon-error:before{content:'\E2BA';}
+.t-icon-excited-1-filled:before{content:'\E2BB';}
+.t-icon-excited-1:before{content:'\E2BC';}
+.t-icon-excited-filled:before{content:'\E2BD';}
+.t-icon-excited:before{content:'\E2BE';}
+.t-icon-expand-down-filled:before{content:'\E2BF';}
+.t-icon-expand-down:before{content:'\E2C0';}
+.t-icon-expand-horizontal:before{content:'\E2C1';}
+.t-icon-expand-up-filled:before{content:'\E2C2';}
+.t-icon-expand-up:before{content:'\E2C3';}
+.t-icon-expand-vertical:before{content:'\E2C4';}
+.t-icon-explore-filled:before{content:'\E2C5';}
+.t-icon-explore-off-filled:before{content:'\E2C6';}
+.t-icon-explore-off:before{content:'\E2C7';}
+.t-icon-explore:before{content:'\E2C8';}
+.t-icon-exposure-filled:before{content:'\E2C9';}
+.t-icon-exposure:before{content:'\E2CA';}
+.t-icon-extension-filled:before{content:'\E2CB';}
+.t-icon-extension-off-filled:before{content:'\E2CC';}
+.t-icon-extension-off:before{content:'\E2CD';}
+.t-icon-extension:before{content:'\E2CE';}
+.t-icon-face-retouching-filled:before{content:'\E2CF';}
+.t-icon-face-retouching:before{content:'\E2D0';}
+.t-icon-fact-check-filled:before{content:'\E2D1';}
+.t-icon-fact-check:before{content:'\E2D2';}
+.t-icon-fahrenheit-scale:before{content:'\E2D3';}
+.t-icon-feel-at-ease-filled:before{content:'\E2D4';}
+.t-icon-feel-at-ease:before{content:'\E2D5';}
+.t-icon-ferocious-filled:before{content:'\E2D6';}
+.t-icon-ferocious:before{content:'\E2D7';}
+.t-icon-ferris-wheel-filled:before{content:'\E2D8';}
+.t-icon-ferris-wheel:before{content:'\E2D9';}
+.t-icon-file-1-filled:before{content:'\E2DA';}
+.t-icon-file-1:before{content:'\E2DB';}
+.t-icon-file-add-1-filled:before{content:'\E2DC';}
+.t-icon-file-add-1:before{content:'\E2DD';}
+.t-icon-file-add-filled:before{content:'\E2DE';}
+.t-icon-file-add:before{content:'\E2DF';}
+.t-icon-file-attachment-filled:before{content:'\E2E0';}
+.t-icon-file-attachment:before{content:'\E2E1';}
+.t-icon-file-blocked-filled:before{content:'\E2E2';}
+.t-icon-file-blocked:before{content:'\E2E3';}
+.t-icon-file-code-1-filled:before{content:'\E2E4';}
+.t-icon-file-code-1:before{content:'\E2E5';}
+.t-icon-file-code-filled:before{content:'\E2E6';}
+.t-icon-file-code:before{content:'\E2E7';}
+.t-icon-file-copy-filled:before{content:'\E2E8';}
+.t-icon-file-copy:before{content:'\E2E9';}
+.t-icon-file-download-filled:before{content:'\E2EA';}
+.t-icon-file-download:before{content:'\E2EB';}
+.t-icon-file-excel-filled:before{content:'\E2EC';}
+.t-icon-file-excel:before{content:'\E2ED';}
+.t-icon-file-export-filled:before{content:'\E2EE';}
+.t-icon-file-export:before{content:'\E2EF';}
+.t-icon-file-filled:before{content:'\E2F0';}
+.t-icon-file-icon-filled:before{content:'\E2F1';}
+.t-icon-file-icon:before{content:'\E2F2';}
+.t-icon-file-image-filled:before{content:'\E2F3';}
+.t-icon-file-image:before{content:'\E2F4';}
+.t-icon-file-import-filled:before{content:'\E2F5';}
+.t-icon-file-import:before{content:'\E2F6';}
+.t-icon-file-locked-filled:before{content:'\E2F7';}
+.t-icon-file-locked:before{content:'\E2F8';}
+.t-icon-file-minus-filled:before{content:'\E2F9';}
+.t-icon-file-minus:before{content:'\E2FA';}
+.t-icon-file-music-filled:before{content:'\E2FB';}
+.t-icon-file-music:before{content:'\E2FC';}
+.t-icon-file-onenote-filled:before{content:'\E2FD';}
+.t-icon-file-onenote:before{content:'\E2FE';}
+.t-icon-file-outlook-filled:before{content:'\E2FF';}
+.t-icon-file-outlook:before{content:'\E300';}
+.t-icon-file-paste-filled:before{content:'\E301';}
+.t-icon-file-paste:before{content:'\E302';}
+.t-icon-file-pdf-filled:before{content:'\E303';}
+.t-icon-file-pdf:before{content:'\E304';}
+.t-icon-file-powerpoint-filled:before{content:'\E305';}
+.t-icon-file-powerpoint:before{content:'\E306';}
+.t-icon-file-restore-filled:before{content:'\E307';}
+.t-icon-file-restore:before{content:'\E308';}
+.t-icon-file-safety-filled:before{content:'\E309';}
+.t-icon-file-safety:before{content:'\E30A';}
+.t-icon-file-search-filled:before{content:'\E30B';}
+.t-icon-file-search:before{content:'\E30C';}
+.t-icon-file-setting-filled:before{content:'\E30D';}
+.t-icon-file-setting:before{content:'\E30E';}
+.t-icon-file-teams-filled:before{content:'\E30F';}
+.t-icon-file-teams:before{content:'\E310';}
+.t-icon-file-transmit-double-filled:before{content:'\E311';}
+.t-icon-file-transmit-double:before{content:'\E312';}
+.t-icon-file-transmit-filled:before{content:'\E313';}
+.t-icon-file-transmit:before{content:'\E314';}
+.t-icon-file-unknown-filled:before{content:'\E315';}
+.t-icon-file-unknown:before{content:'\E316';}
+.t-icon-file-unlocked-filled:before{content:'\E317';}
+.t-icon-file-unlocked:before{content:'\E318';}
+.t-icon-file-word-filled:before{content:'\E319';}
+.t-icon-file-word:before{content:'\E31A';}
+.t-icon-file-zip-filled:before{content:'\E31B';}
+.t-icon-file-zip:before{content:'\E31C';}
+.t-icon-file:before{content:'\E31D';}
+.t-icon-fill-color-1-filled:before{content:'\E31E';}
+.t-icon-fill-color-1:before{content:'\E31F';}
+.t-icon-fill-color-filled:before{content:'\E320';}
+.t-icon-fill-color:before{content:'\E321';}
+.t-icon-film-1-filled:before{content:'\E322';}
+.t-icon-film-1:before{content:'\E323';}
+.t-icon-film-filled:before{content:'\E324';}
+.t-icon-film:before{content:'\E325';}
+.t-icon-filter-1-filled:before{content:'\E326';}
+.t-icon-filter-1:before{content:'\E327';}
+.t-icon-filter-2-filled:before{content:'\E328';}
+.t-icon-filter-2:before{content:'\E329';}
+.t-icon-filter-3-filled:before{content:'\E32A';}
+.t-icon-filter-3:before{content:'\E32B';}
+.t-icon-filter-clear-filled:before{content:'\E32C';}
+.t-icon-filter-clear:before{content:'\E32D';}
+.t-icon-filter-filled:before{content:'\E32E';}
+.t-icon-filter-off-filled:before{content:'\E32F';}
+.t-icon-filter-off:before{content:'\E330';}
+.t-icon-filter-sort-filled:before{content:'\E331';}
+.t-icon-filter-sort:before{content:'\E332';}
+.t-icon-filter:before{content:'\E333';}
+.t-icon-fingerprint-1:before{content:'\E334';}
+.t-icon-fingerprint-2:before{content:'\E335';}
+.t-icon-fingerprint-3:before{content:'\E336';}
+.t-icon-fingerprint:before{content:'\E337';}
+.t-icon-fish-filled:before{content:'\E338';}
+.t-icon-fish:before{content:'\E339';}
+.t-icon-flag-1-filled:before{content:'\E33A';}
+.t-icon-flag-1:before{content:'\E33B';}
+.t-icon-flag-2-filled:before{content:'\E33C';}
+.t-icon-flag-2:before{content:'\E33D';}
+.t-icon-flag-3-filled:before{content:'\E33E';}
+.t-icon-flag-3:before{content:'\E33F';}
+.t-icon-flag-4-filled:before{content:'\E340';}
+.t-icon-flag-4:before{content:'\E341';}
+.t-icon-flag-filled:before{content:'\E342';}
+.t-icon-flag:before{content:'\E343';}
+.t-icon-flashlight-filled:before{content:'\E344';}
+.t-icon-flashlight:before{content:'\E345';}
+.t-icon-flight-landing-filled:before{content:'\E346';}
+.t-icon-flight-landing:before{content:'\E347';}
+.t-icon-flight-takeoff-filled:before{content:'\E348';}
+.t-icon-flight-takeoff:before{content:'\E349';}
+.t-icon-flip-smiling-face-filled:before{content:'\E34A';}
+.t-icon-flip-smiling-face:before{content:'\E34B';}
+.t-icon-flip-to-back-filled:before{content:'\E34C';}
+.t-icon-flip-to-back:before{content:'\E34D';}
+.t-icon-flip-to-front-filled:before{content:'\E34E';}
+.t-icon-flip-to-front:before{content:'\E34F';}
+.t-icon-focus-filled:before{content:'\E350';}
+.t-icon-focus:before{content:'\E351';}
+.t-icon-fog-filled:before{content:'\E352';}
+.t-icon-fog-night-filled:before{content:'\E353';}
+.t-icon-fog-night:before{content:'\E354';}
+.t-icon-fog-sunny-filled:before{content:'\E355';}
+.t-icon-fog-sunny:before{content:'\E356';}
+.t-icon-fog:before{content:'\E357';}
+.t-icon-folder-1-filled:before{content:'\E358';}
+.t-icon-folder-1:before{content:'\E359';}
+.t-icon-folder-add-1-filled:before{content:'\E35A';}
+.t-icon-folder-add-1:before{content:'\E35B';}
+.t-icon-folder-add-filled:before{content:'\E35C';}
+.t-icon-folder-add:before{content:'\E35D';}
+.t-icon-folder-blocked-filled:before{content:'\E35E';}
+.t-icon-folder-blocked:before{content:'\E35F';}
+.t-icon-folder-details-filled:before{content:'\E360';}
+.t-icon-folder-details:before{content:'\E361';}
+.t-icon-folder-export-filled:before{content:'\E362';}
+.t-icon-folder-export:before{content:'\E363';}
+.t-icon-folder-filled:before{content:'\E364';}
+.t-icon-folder-import-filled:before{content:'\E365';}
+.t-icon-folder-import:before{content:'\E366';}
+.t-icon-folder-locked-filled:before{content:'\E367';}
+.t-icon-folder-locked:before{content:'\E368';}
+.t-icon-folder-minus-filled:before{content:'\E369';}
+.t-icon-folder-minus:before{content:'\E36A';}
+.t-icon-folder-move-filled:before{content:'\E36B';}
+.t-icon-folder-move:before{content:'\E36C';}
+.t-icon-folder-off-filled:before{content:'\E36D';}
+.t-icon-folder-off:before{content:'\E36E';}
+.t-icon-folder-open-1-filled:before{content:'\E36F';}
+.t-icon-folder-open-1:before{content:'\E370';}
+.t-icon-folder-open-filled:before{content:'\E371';}
+.t-icon-folder-open:before{content:'\E372';}
+.t-icon-folder-search-filled:before{content:'\E373';}
+.t-icon-folder-search:before{content:'\E374';}
+.t-icon-folder-setting-filled:before{content:'\E375';}
+.t-icon-folder-setting:before{content:'\E376';}
+.t-icon-folder-shared-filled:before{content:'\E377';}
+.t-icon-folder-shared:before{content:'\E378';}
+.t-icon-folder-unlocked-filled:before{content:'\E379';}
+.t-icon-folder-unlocked:before{content:'\E37A';}
+.t-icon-folder-zip-filled:before{content:'\E37B';}
+.t-icon-folder-zip:before{content:'\E37C';}
+.t-icon-folder:before{content:'\E37D';}
+.t-icon-forest-filled:before{content:'\E37E';}
+.t-icon-forest:before{content:'\E37F';}
+.t-icon-fork-filled:before{content:'\E380';}
+.t-icon-fork:before{content:'\E381';}
+.t-icon-form-filled:before{content:'\E382';}
+.t-icon-form:before{content:'\E383';}
+.t-icon-format-horizontal-align-bottom:before{content:'\E384';}
+.t-icon-format-horizontal-align-center:before{content:'\E385';}
+.t-icon-format-horizontal-align-top:before{content:'\E386';}
+.t-icon-format-vertical-align-center:before{content:'\E387';}
+.t-icon-format-vertical-align-left:before{content:'\E388';}
+.t-icon-format-vertical-align-right:before{content:'\E389';}
+.t-icon-forward-filled:before{content:'\E38A';}
+.t-icon-forward:before{content:'\E38B';}
+.t-icon-frame-1-filled:before{content:'\E38C';}
+.t-icon-frame-1:before{content:'\E38D';}
+.t-icon-frame-filled:before{content:'\E38E';}
+.t-icon-frame:before{content:'\E38F';}
+.t-icon-fries-filled:before{content:'\E390';}
+.t-icon-fries:before{content:'\E391';}
+.t-icon-fullscreen-1:before{content:'\E392';}
+.t-icon-fullscreen-2:before{content:'\E393';}
+.t-icon-fullscreen-exit-1:before{content:'\E394';}
+.t-icon-fullscreen-exit:before{content:'\E395';}
+.t-icon-fullscreen:before{content:'\E396';}
+.t-icon-function-curve:before{content:'\E397';}
+.t-icon-functions-1:before{content:'\E398';}
+.t-icon-functions:before{content:'\E399';}
+.t-icon-gamepad-1-filled:before{content:'\E39A';}
+.t-icon-gamepad-1:before{content:'\E39B';}
+.t-icon-gamepad-filled:before{content:'\E39C';}
+.t-icon-gamepad:before{content:'\E39D';}
+.t-icon-gamma:before{content:'\E39E';}
+.t-icon-garlic-filled:before{content:'\E39F';}
+.t-icon-garlic:before{content:'\E3A0';}
+.t-icon-gender-female:before{content:'\E3A1';}
+.t-icon-gender-male:before{content:'\E3A2';}
+.t-icon-gesture-applause-filled:before{content:'\E3A3';}
+.t-icon-gesture-applause:before{content:'\E3A4';}
+.t-icon-gesture-click-filled:before{content:'\E3A5';}
+.t-icon-gesture-click:before{content:'\E3A6';}
+.t-icon-gesture-down-filled:before{content:'\E3A7';}
+.t-icon-gesture-down:before{content:'\E3A8';}
+.t-icon-gesture-expansion-filled:before{content:'\E3A9';}
+.t-icon-gesture-expansion:before{content:'\E3AA';}
+.t-icon-gesture-left-filled:before{content:'\E3AB';}
+.t-icon-gesture-left-slip-filled:before{content:'\E3AC';}
+.t-icon-gesture-left-slip:before{content:'\E3AD';}
+.t-icon-gesture-left:before{content:'\E3AE';}
+.t-icon-gesture-open-filled:before{content:'\E3AF';}
+.t-icon-gesture-open:before{content:'\E3B0';}
+.t-icon-gesture-pray-filled:before{content:'\E3B1';}
+.t-icon-gesture-pray:before{content:'\E3B2';}
+.t-icon-gesture-press-filled:before{content:'\E3B3';}
+.t-icon-gesture-press:before{content:'\E3B4';}
+.t-icon-gesture-ranslation-filled:before{content:'\E3B5';}
+.t-icon-gesture-ranslation:before{content:'\E3B6';}
+.t-icon-gesture-right-filled:before{content:'\E3B7';}
+.t-icon-gesture-right-slip-filled:before{content:'\E3B8';}
+.t-icon-gesture-right-slip:before{content:'\E3B9';}
+.t-icon-gesture-right:before{content:'\E3BA';}
+.t-icon-gesture-slide-left-and-right-filled:before{content:'\E3BB';}
+.t-icon-gesture-slide-left-and-right:before{content:'\E3BC';}
+.t-icon-gesture-slide-up-filled:before{content:'\E3BD';}
+.t-icon-gesture-slide-up:before{content:'\E3BE';}
+.t-icon-gesture-typing-filled:before{content:'\E3BF';}
+.t-icon-gesture-typing:before{content:'\E3C0';}
+.t-icon-gesture-up-and-down-filled:before{content:'\E3C1';}
+.t-icon-gesture-up-and-down:before{content:'\E3C2';}
+.t-icon-gesture-up-filled:before{content:'\E3C3';}
+.t-icon-gesture-up:before{content:'\E3C4';}
+.t-icon-gesture-wipe-down-filled:before{content:'\E3C5';}
+.t-icon-gesture-wipe-down:before{content:'\E3C6';}
+.t-icon-gift-filled:before{content:'\E3C7';}
+.t-icon-gift:before{content:'\E3C8';}
+.t-icon-giggle-filled:before{content:'\E3C9';}
+.t-icon-giggle:before{content:'\E3CA';}
+.t-icon-git-branch-filled:before{content:'\E3CB';}
+.t-icon-git-branch:before{content:'\E3CC';}
+.t-icon-git-commit-filled:before{content:'\E3CD';}
+.t-icon-git-commit:before{content:'\E3CE';}
+.t-icon-git-merge-filled:before{content:'\E3CF';}
+.t-icon-git-merge:before{content:'\E3D0';}
+.t-icon-git-pull-request-filled:before{content:'\E3D1';}
+.t-icon-git-pull-request:before{content:'\E3D2';}
+.t-icon-git-repository-commits-filled:before{content:'\E3D3';}
+.t-icon-git-repository-commits:before{content:'\E3D4';}
+.t-icon-git-repository-filled:before{content:'\E3D5';}
+.t-icon-git-repository-private-filled:before{content:'\E3D6';}
+.t-icon-git-repository-private:before{content:'\E3D7';}
+.t-icon-git-repository:before{content:'\E3D8';}
+.t-icon-gps-filled:before{content:'\E3D9';}
+.t-icon-gps:before{content:'\E3DA';}
+.t-icon-grape-filled:before{content:'\E3DB';}
+.t-icon-grape:before{content:'\E3DC';}
+.t-icon-greater-than-or-equal:before{content:'\E3DD';}
+.t-icon-greater-than:before{content:'\E3DE';}
+.t-icon-green-onion:before{content:'\E3DF';}
+.t-icon-grid-add-filled:before{content:'\E3E0';}
+.t-icon-grid-add:before{content:'\E3E1';}
+.t-icon-grid-view-filled:before{content:'\E3E2';}
+.t-icon-grid-view:before{content:'\E3E3';}
+.t-icon-guitar-filled:before{content:'\E3E4';}
+.t-icon-guitar:before{content:'\E3E5';}
+.t-icon-hamburger-filled:before{content:'\E3E6';}
+.t-icon-hamburger:before{content:'\E3E7';}
+.t-icon-happy-filled:before{content:'\E3E8';}
+.t-icon-happy:before{content:'\E3E9';}
+.t-icon-hard-disk-storage-filled:before{content:'\E3EA';}
+.t-icon-hard-disk-storage:before{content:'\E3EB';}
+.t-icon-hard-drive-filled:before{content:'\E3EC';}
+.t-icon-hard-drive:before{content:'\E3ED';}
+.t-icon-hashtag:before{content:'\E3EE';}
+.t-icon-hd-filled:before{content:'\E3EF';}
+.t-icon-hd:before{content:'\E3F0';}
+.t-icon-heart-filled:before{content:'\E3F1';}
+.t-icon-heart:before{content:'\E3F2';}
+.t-icon-help-circle-filled:before{content:'\E3F3';}
+.t-icon-help-circle:before{content:'\E3F4';}
+.t-icon-help-rectangle-filled:before{content:'\E3F5';}
+.t-icon-help-rectangle:before{content:'\E3F6';}
+.t-icon-help:before{content:'\E3F7';}
+.t-icon-highlight-1-filled:before{content:'\E3F8';}
+.t-icon-highlight-1:before{content:'\E3F9';}
+.t-icon-highlight:before{content:'\E3FA';}
+.t-icon-history-setting:before{content:'\E3FB';}
+.t-icon-history:before{content:'\E3FC';}
+.t-icon-home-filled:before{content:'\E3FD';}
+.t-icon-home:before{content:'\E3FE';}
+.t-icon-horizontal-filled:before{content:'\E3FF';}
+.t-icon-horizontal:before{content:'\E400';}
+.t-icon-hospital-1-filled:before{content:'\E401';}
+.t-icon-hospital-1:before{content:'\E402';}
+.t-icon-hospital-filled:before{content:'\E403';}
+.t-icon-hospital:before{content:'\E404';}
+.t-icon-hotspot-wave-filled:before{content:'\E405';}
+.t-icon-hotspot-wave:before{content:'\E406';}
+.t-icon-hourglass-filled:before{content:'\E407';}
+.t-icon-hourglass:before{content:'\E408';}
+.t-icon-houses-1-filled:before{content:'\E409';}
+.t-icon-houses-1:before{content:'\E40A';}
+.t-icon-houses-2-filled:before{content:'\E40B';}
+.t-icon-houses-2:before{content:'\E40C';}
+.t-icon-houses-filled:before{content:'\E40D';}
+.t-icon-houses:before{content:'\E40E';}
+.t-icon-html5-filled:before{content:'\E40F';}
+.t-icon-html5:before{content:'\E410';}
+.t-icon-https-filled:before{content:'\E411';}
+.t-icon-https:before{content:'\E412';}
+.t-icon-ice-cream-filled:before{content:'\E413';}
+.t-icon-ice-cream:before{content:'\E414';}
+.t-icon-icon-filled:before{content:'\E415';}
+.t-icon-icon:before{content:'\E416';}
+.t-icon-image-1-filled:before{content:'\E417';}
+.t-icon-image-1:before{content:'\E418';}
+.t-icon-image-add-filled:before{content:'\E419';}
+.t-icon-image-add:before{content:'\E41A';}
+.t-icon-image-edit-filled:before{content:'\E41B';}
+.t-icon-image-edit:before{content:'\E41C';}
+.t-icon-image-error-filled:before{content:'\E41D';}
+.t-icon-image-error:before{content:'\E41E';}
+.t-icon-image-filled:before{content:'\E41F';}
+.t-icon-image-off-filled:before{content:'\E420';}
+.t-icon-image-off:before{content:'\E421';}
+.t-icon-image-search-filled:before{content:'\E422';}
+.t-icon-image-search:before{content:'\E423';}
+.t-icon-image:before{content:'\E424';}
+.t-icon-indent-left:before{content:'\E425';}
+.t-icon-indent-right:before{content:'\E426';}
+.t-icon-indicator-filled:before{content:'\E427';}
+.t-icon-indicator:before{content:'\E428';}
+.t-icon-info-circle-filled:before{content:'\E429';}
+.t-icon-info-circle:before{content:'\E42A';}
+.t-icon-ink-filled:before{content:'\E42B';}
+.t-icon-ink:before{content:'\E42C';}
+.t-icon-install-desktop-filled:before{content:'\E42D';}
+.t-icon-install-desktop:before{content:'\E42E';}
+.t-icon-install-filled:before{content:'\E42F';}
+.t-icon-install-mobile-filled:before{content:'\E430';}
+.t-icon-install-mobile:before{content:'\E431';}
+.t-icon-install:before{content:'\E432';}
+.t-icon-institution-checked-filled:before{content:'\E433';}
+.t-icon-institution-checked:before{content:'\E434';}
+.t-icon-institution-filled:before{content:'\E435';}
+.t-icon-institution:before{content:'\E436';}
+.t-icon-internet-filled:before{content:'\E437';}
+.t-icon-internet:before{content:'\E438';}
+.t-icon-ipod-filled:before{content:'\E439';}
+.t-icon-ipod:before{content:'\E43A';}
+.t-icon-joyful-filled:before{content:'\E43B';}
+.t-icon-joyful:before{content:'\E43C';}
+.t-icon-jump-double:before{content:'\E43D';}
+.t-icon-jump-off:before{content:'\E43E';}
+.t-icon-jump:before{content:'\E43F';}
+.t-icon-key-filled:before{content:'\E440';}
+.t-icon-key:before{content:'\E441';}
+.t-icon-keyboard-filled:before{content:'\E442';}
+.t-icon-keyboard:before{content:'\E443';}
+.t-icon-laptop-filled:before{content:'\E444';}
+.t-icon-laptop:before{content:'\E445';}
+.t-icon-layers-filled:before{content:'\E446';}
+.t-icon-layers:before{content:'\E447';}
+.t-icon-layout-filled:before{content:'\E448';}
+.t-icon-layout:before{content:'\E449';}
+.t-icon-leaderboard-filled:before{content:'\E44A';}
+.t-icon-leaderboard:before{content:'\E44B';}
+.t-icon-lemon-filled:before{content:'\E44C';}
+.t-icon-lemon-slice-filled:before{content:'\E44D';}
+.t-icon-lemon-slice:before{content:'\E44E';}
+.t-icon-lemon:before{content:'\E44F';}
+.t-icon-less-than-or-equal:before{content:'\E450';}
+.t-icon-less-than:before{content:'\E451';}
+.t-icon-letters-a:before{content:'\E452';}
+.t-icon-letters-b:before{content:'\E453';}
+.t-icon-letters-c:before{content:'\E454';}
+.t-icon-letters-d:before{content:'\E455';}
+.t-icon-letters-e:before{content:'\E456';}
+.t-icon-letters-f:before{content:'\E457';}
+.t-icon-letters-g:before{content:'\E458';}
+.t-icon-letters-h:before{content:'\E459';}
+.t-icon-letters-i:before{content:'\E45A';}
+.t-icon-letters-j:before{content:'\E45B';}
+.t-icon-letters-k:before{content:'\E45C';}
+.t-icon-letters-l:before{content:'\E45D';}
+.t-icon-letters-m:before{content:'\E45E';}
+.t-icon-letters-n:before{content:'\E45F';}
+.t-icon-letters-o:before{content:'\E460';}
+.t-icon-letters-p:before{content:'\E461';}
+.t-icon-letters-q:before{content:'\E462';}
+.t-icon-letters-r:before{content:'\E463';}
+.t-icon-letters-s:before{content:'\E464';}
+.t-icon-letters-t:before{content:'\E465';}
+.t-icon-letters-u:before{content:'\E466';}
+.t-icon-letters-v:before{content:'\E467';}
+.t-icon-letters-w:before{content:'\E468';}
+.t-icon-letters-x:before{content:'\E469';}
+.t-icon-letters-y:before{content:'\E46A';}
+.t-icon-letters-z:before{content:'\E46B';}
+.t-icon-lightbulb-circle-filled:before{content:'\E46C';}
+.t-icon-lightbulb-circle:before{content:'\E46D';}
+.t-icon-lightbulb-filled:before{content:'\E46E';}
+.t-icon-lightbulb:before{content:'\E46F';}
+.t-icon-lighthouse-1-filled:before{content:'\E470';}
+.t-icon-lighthouse-1:before{content:'\E471';}
+.t-icon-lighthouse-2-filled:before{content:'\E472';}
+.t-icon-lighthouse-2:before{content:'\E473';}
+.t-icon-lighthouse-filled:before{content:'\E474';}
+.t-icon-lighthouse:before{content:'\E475';}
+.t-icon-lighting-circle-filled:before{content:'\E476';}
+.t-icon-lighting-circle:before{content:'\E477';}
+.t-icon-line-height:before{content:'\E478';}
+.t-icon-link-1:before{content:'\E479';}
+.t-icon-link-unlink:before{content:'\E47A';}
+.t-icon-link:before{content:'\E47B';}
+.t-icon-liquor-filled:before{content:'\E47C';}
+.t-icon-liquor:before{content:'\E47D';}
+.t-icon-list-numbered:before{content:'\E47E';}
+.t-icon-load:before{content:'\E47F';}
+.t-icon-loading:before{content:'\E480';}
+.t-icon-location-1-filled:before{content:'\E481';}
+.t-icon-location-1:before{content:'\E482';}
+.t-icon-location-enlargement-filled:before{content:'\E483';}
+.t-icon-location-enlargement:before{content:'\E484';}
+.t-icon-location-error-filled:before{content:'\E485';}
+.t-icon-location-error:before{content:'\E486';}
+.t-icon-location-filled:before{content:'\E487';}
+.t-icon-location-parking-place-filled:before{content:'\E488';}
+.t-icon-location-parking-place:before{content:'\E489';}
+.t-icon-location-reduction-filled:before{content:'\E48A';}
+.t-icon-location-reduction:before{content:'\E48B';}
+.t-icon-location-setting-filled:before{content:'\E48C';}
+.t-icon-location-setting:before{content:'\E48D';}
+.t-icon-location:before{content:'\E48E';}
+.t-icon-lock-off-filled:before{content:'\E48F';}
+.t-icon-lock-off:before{content:'\E490';}
+.t-icon-lock-on-filled:before{content:'\E491';}
+.t-icon-lock-on:before{content:'\E492';}
+.t-icon-lock-time-filled:before{content:'\E493';}
+.t-icon-lock-time:before{content:'\E494';}
+.t-icon-login:before{content:'\E495';}
+.t-icon-logo-adobe-illustrate-filled:before{content:'\E496';}
+.t-icon-logo-adobe-illustrate:before{content:'\E497';}
+.t-icon-logo-adobe-lightroom-filled:before{content:'\E498';}
+.t-icon-logo-adobe-lightroom:before{content:'\E499';}
+.t-icon-logo-adobe-photoshop-filled:before{content:'\E49A';}
+.t-icon-logo-adobe-photoshop:before{content:'\E49B';}
+.t-icon-logo-alipay-filled:before{content:'\E49C';}
+.t-icon-logo-alipay:before{content:'\E49D';}
+.t-icon-logo-android-filled:before{content:'\E49E';}
+.t-icon-logo-android:before{content:'\E49F';}
+.t-icon-logo-apple-filled:before{content:'\E4A0';}
+.t-icon-logo-apple:before{content:'\E4A1';}
+.t-icon-logo-behance-filled:before{content:'\E4A2';}
+.t-icon-logo-behance:before{content:'\E4A3';}
+.t-icon-logo-chrome-filled:before{content:'\E4A4';}
+.t-icon-logo-chrome:before{content:'\E4A5';}
+.t-icon-logo-cinema4d-filled:before{content:'\E4A6';}
+.t-icon-logo-cinema4d:before{content:'\E4A7';}
+.t-icon-logo-cnb-filled:before{content:'\E4A8';}
+.t-icon-logo-cnb:before{content:'\E4A9';}
+.t-icon-logo-codepen:before{content:'\E4AA';}
+.t-icon-logo-codesandbox:before{content:'\E4AB';}
+.t-icon-logo-dribbble-filled:before{content:'\E4AC';}
+.t-icon-logo-dribbble:before{content:'\E4AD';}
+.t-icon-logo-facebook-filled:before{content:'\E4AE';}
+.t-icon-logo-facebook:before{content:'\E4AF';}
+.t-icon-logo-figma-filled:before{content:'\E4B0';}
+.t-icon-logo-figma:before{content:'\E4B1';}
+.t-icon-logo-framer-filled:before{content:'\E4B2';}
+.t-icon-logo-framer:before{content:'\E4B3';}
+.t-icon-logo-github-filled:before{content:'\E4B4';}
+.t-icon-logo-github:before{content:'\E4B5';}
+.t-icon-logo-gitlab-filled:before{content:'\E4B6';}
+.t-icon-logo-gitlab:before{content:'\E4B7';}
+.t-icon-logo-ie-filled:before{content:'\E4B8';}
+.t-icon-logo-ie:before{content:'\E4B9';}
+.t-icon-logo-instagram-filled:before{content:'\E4BA';}
+.t-icon-logo-instagram:before{content:'\E4BB';}
+.t-icon-logo-miniprogram-filled:before{content:'\E4BC';}
+.t-icon-logo-miniprogram:before{content:'\E4BD';}
+.t-icon-logo-qq-filled:before{content:'\E4BE';}
+.t-icon-logo-qq:before{content:'\E4BF';}
+.t-icon-logo-stackblitz-filled:before{content:'\E4C0';}
+.t-icon-logo-stackblitz:before{content:'\E4C1';}
+.t-icon-logo-twitter-filled:before{content:'\E4C2';}
+.t-icon-logo-twitter:before{content:'\E4C3';}
+.t-icon-logo-wechat-stroke-filled:before{content:'\E4C4';}
+.t-icon-logo-wechat-stroke:before{content:'\E4C5';}
+.t-icon-logo-wechatpay-filled:before{content:'\E4C6';}
+.t-icon-logo-wechatpay:before{content:'\E4C7';}
+.t-icon-logo-wecom-filled:before{content:'\E4C8';}
+.t-icon-logo-wecom:before{content:'\E4C9';}
+.t-icon-logo-windows-filled:before{content:'\E4CA';}
+.t-icon-logo-windows:before{content:'\E4CB';}
+.t-icon-logo-youtube-filled:before{content:'\E4CC';}
+.t-icon-logo-youtube:before{content:'\E4CD';}
+.t-icon-logout:before{content:'\E4CE';}
+.t-icon-look-around-filled:before{content:'\E4CF';}
+.t-icon-look-around:before{content:'\E4D0';}
+.t-icon-loudspeaker-filled:before{content:'\E4D1';}
+.t-icon-loudspeaker:before{content:'\E4D2';}
+.t-icon-mail-filled:before{content:'\E4D3';}
+.t-icon-mail:before{content:'\E4D4';}
+.t-icon-map-3d-filled:before{content:'\E4D5';}
+.t-icon-map-3d:before{content:'\E4D6';}
+.t-icon-map-add-filled:before{content:'\E4D7';}
+.t-icon-map-add:before{content:'\E4D8';}
+.t-icon-map-aiming-filled:before{content:'\E4D9';}
+.t-icon-map-aiming:before{content:'\E4DA';}
+.t-icon-map-blocked-filled:before{content:'\E4DB';}
+.t-icon-map-blocked:before{content:'\E4DC';}
+.t-icon-map-bubble-filled:before{content:'\E4DD';}
+.t-icon-map-bubble:before{content:'\E4DE';}
+.t-icon-map-cancel-filled:before{content:'\E4DF';}
+.t-icon-map-cancel:before{content:'\E4E0';}
+.t-icon-map-chat-filled:before{content:'\E4E1';}
+.t-icon-map-chat:before{content:'\E4E2';}
+.t-icon-map-checked-filled:before{content:'\E4E3';}
+.t-icon-map-checked:before{content:'\E4E4';}
+.t-icon-map-collection-filled:before{content:'\E4E5';}
+.t-icon-map-collection:before{content:'\E4E6';}
+.t-icon-map-connection-filled:before{content:'\E4E7';}
+.t-icon-map-connection:before{content:'\E4E8';}
+.t-icon-map-distance-filled:before{content:'\E4E9';}
+.t-icon-map-distance:before{content:'\E4EA';}
+.t-icon-map-double-filled:before{content:'\E4EB';}
+.t-icon-map-double:before{content:'\E4EC';}
+.t-icon-map-edit-filled:before{content:'\E4ED';}
+.t-icon-map-edit:before{content:'\E4EE';}
+.t-icon-map-filled:before{content:'\E4EF';}
+.t-icon-map-grid-filled:before{content:'\E4F0';}
+.t-icon-map-grid:before{content:'\E4F1';}
+.t-icon-map-information-1-filled:before{content:'\E4F2';}
+.t-icon-map-information-1:before{content:'\E4F3';}
+.t-icon-map-information-2-filled:before{content:'\E4F4';}
+.t-icon-map-information-2:before{content:'\E4F5';}
+.t-icon-map-information-filled:before{content:'\E4F6';}
+.t-icon-map-information:before{content:'\E4F7';}
+.t-icon-map-location-filled:before{content:'\E4F8';}
+.t-icon-map-location:before{content:'\E4F9';}
+.t-icon-map-locked-filled:before{content:'\E4FA';}
+.t-icon-map-locked:before{content:'\E4FB';}
+.t-icon-map-marked-filled:before{content:'\E4FC';}
+.t-icon-map-marked:before{content:'\E4FD';}
+.t-icon-map-navigation-filled:before{content:'\E4FE';}
+.t-icon-map-navigation:before{content:'\E4FF';}
+.t-icon-map-outline-filled:before{content:'\E500';}
+.t-icon-map-outline:before{content:'\E501';}
+.t-icon-map-route-planning-filled:before{content:'\E502';}
+.t-icon-map-route-planning:before{content:'\E503';}
+.t-icon-map-ruler-filled:before{content:'\E504';}
+.t-icon-map-ruler:before{content:'\E505';}
+.t-icon-map-safety-filled:before{content:'\E506';}
+.t-icon-map-safety:before{content:'\E507';}
+.t-icon-map-search-1-filled:before{content:'\E508';}
+.t-icon-map-search-1:before{content:'\E509';}
+.t-icon-map-search-filled:before{content:'\E50A';}
+.t-icon-map-search:before{content:'\E50B';}
+.t-icon-map-setting-filled:before{content:'\E50C';}
+.t-icon-map-setting:before{content:'\E50D';}
+.t-icon-map-unlocked-filled:before{content:'\E50E';}
+.t-icon-map-unlocked:before{content:'\E50F';}
+.t-icon-map:before{content:'\E510';}
+.t-icon-mark-as-unread-filled:before{content:'\E511';}
+.t-icon-mark-as-unread:before{content:'\E512';}
+.t-icon-markup-filled:before{content:'\E513';}
+.t-icon-markup:before{content:'\E514';}
+.t-icon-mathematics-filled:before{content:'\E515';}
+.t-icon-mathematics:before{content:'\E516';}
+.t-icon-measurement-1-filled:before{content:'\E517';}
+.t-icon-measurement-1:before{content:'\E518';}
+.t-icon-measurement-2-filled:before{content:'\E519';}
+.t-icon-measurement-2:before{content:'\E51A';}
+.t-icon-measurement-filled:before{content:'\E51B';}
+.t-icon-measurement:before{content:'\E51C';}
+.t-icon-meat-pepper-filled:before{content:'\E51D';}
+.t-icon-meat-pepper:before{content:'\E51E';}
+.t-icon-media-library-filled:before{content:'\E51F';}
+.t-icon-media-library:before{content:'\E520';}
+.t-icon-member-filled:before{content:'\E521';}
+.t-icon-member:before{content:'\E522';}
+.t-icon-menu-application:before{content:'\E523';}
+.t-icon-menu-filled:before{content:'\E524';}
+.t-icon-menu-fold:before{content:'\E525';}
+.t-icon-menu-unfold:before{content:'\E526';}
+.t-icon-menu:before{content:'\E527';}
+.t-icon-merge-cells-filled:before{content:'\E528';}
+.t-icon-merge-cells:before{content:'\E529';}
+.t-icon-microphone-1-filled:before{content:'\E52A';}
+.t-icon-microphone-1:before{content:'\E52B';}
+.t-icon-microphone-2-filled:before{content:'\E52C';}
+.t-icon-microphone-2:before{content:'\E52D';}
+.t-icon-microphone-filled:before{content:'\E52E';}
+.t-icon-microphone:before{content:'\E52F';}
+.t-icon-milk-filled:before{content:'\E530';}
+.t-icon-milk:before{content:'\E531';}
+.t-icon-minus-circle-filled:before{content:'\E532';}
+.t-icon-minus-circle:before{content:'\E533';}
+.t-icon-minus-rectangle-filled:before{content:'\E534';}
+.t-icon-minus-rectangle:before{content:'\E535';}
+.t-icon-minus:before{content:'\E536';}
+.t-icon-mirror-filled:before{content:'\E537';}
+.t-icon-mirror:before{content:'\E538';}
+.t-icon-mobile-blocked-filled:before{content:'\E539';}
+.t-icon-mobile-blocked:before{content:'\E53A';}
+.t-icon-mobile-filled:before{content:'\E53B';}
+.t-icon-mobile-list-filled:before{content:'\E53C';}
+.t-icon-mobile-list:before{content:'\E53D';}
+.t-icon-mobile-navigation-filled:before{content:'\E53E';}
+.t-icon-mobile-navigation:before{content:'\E53F';}
+.t-icon-mobile-shortcut-filled:before{content:'\E540';}
+.t-icon-mobile-shortcut:before{content:'\E541';}
+.t-icon-mobile-vibrate-filled:before{content:'\E542';}
+.t-icon-mobile-vibrate:before{content:'\E543';}
+.t-icon-mobile:before{content:'\E544';}
+.t-icon-mode-dark-filled:before{content:'\E545';}
+.t-icon-mode-dark:before{content:'\E546';}
+.t-icon-mode-light-filled:before{content:'\E547';}
+.t-icon-mode-light:before{content:'\E548';}
+.t-icon-module-filled:before{content:'\E549';}
+.t-icon-module:before{content:'\E54A';}
+.t-icon-money-filled:before{content:'\E54B';}
+.t-icon-money:before{content:'\E54C';}
+.t-icon-monument-filled:before{content:'\E54D';}
+.t-icon-monument:before{content:'\E54E';}
+.t-icon-moon-fall-filled:before{content:'\E54F';}
+.t-icon-moon-fall:before{content:'\E550';}
+.t-icon-moon-filled:before{content:'\E551';}
+.t-icon-moon-rising-filled:before{content:'\E552';}
+.t-icon-moon-rising:before{content:'\E553';}
+.t-icon-moon:before{content:'\E554';}
+.t-icon-more:before{content:'\E555';}
+.t-icon-mosque-1-filled:before{content:'\E556';}
+.t-icon-mosque-1:before{content:'\E557';}
+.t-icon-mosque-filled:before{content:'\E558';}
+.t-icon-mosque:before{content:'\E559';}
+.t-icon-mouse-filled:before{content:'\E55A';}
+.t-icon-mouse:before{content:'\E55B';}
+.t-icon-move-1:before{content:'\E55C';}
+.t-icon-move:before{content:'\E55D';}
+.t-icon-movie-clapper-filled:before{content:'\E55E';}
+.t-icon-movie-clapper:before{content:'\E55F';}
+.t-icon-multiply:before{content:'\E560';}
+.t-icon-museum-1-filled:before{content:'\E561';}
+.t-icon-museum-1:before{content:'\E562';}
+.t-icon-museum-2-filled:before{content:'\E563';}
+.t-icon-museum-2:before{content:'\E564';}
+.t-icon-museum-filled:before{content:'\E565';}
+.t-icon-museum:before{content:'\E566';}
+.t-icon-mushroom-1-filled:before{content:'\E567';}
+.t-icon-mushroom-1:before{content:'\E568';}
+.t-icon-mushroom-filled:before{content:'\E569';}
+.t-icon-mushroom:before{content:'\E56A';}
+.t-icon-music-1-filled:before{content:'\E56B';}
+.t-icon-music-1:before{content:'\E56C';}
+.t-icon-music-2-filled:before{content:'\E56D';}
+.t-icon-music-2:before{content:'\E56E';}
+.t-icon-music-filled:before{content:'\E56F';}
+.t-icon-music-rectangle-add-filled:before{content:'\E570';}
+.t-icon-music-rectangle-add:before{content:'\E571';}
+.t-icon-music:before{content:'\E572';}
+.t-icon-navigation-arrow-filled:before{content:'\E573';}
+.t-icon-navigation-arrow:before{content:'\E574';}
+.t-icon-next-filled:before{content:'\E575';}
+.t-icon-next:before{content:'\E576';}
+.t-icon-no-expression-filled:before{content:'\E577';}
+.t-icon-no-expression:before{content:'\E578';}
+.t-icon-no-result-filled:before{content:'\E579';}
+.t-icon-no-result:before{content:'\E57A';}
+.t-icon-noodle-filled:before{content:'\E57B';}
+.t-icon-noodle:before{content:'\E57C';}
+.t-icon-notification-add-filled:before{content:'\E57D';}
+.t-icon-notification-add:before{content:'\E57E';}
+.t-icon-notification-circle-filled:before{content:'\E57F';}
+.t-icon-notification-circle:before{content:'\E580';}
+.t-icon-notification-error-filled:before{content:'\E581';}
+.t-icon-notification-error:before{content:'\E582';}
+.t-icon-notification-filled:before{content:'\E583';}
+.t-icon-notification:before{content:'\E584';}
+.t-icon-numbers-0-1:before{content:'\E585';}
+.t-icon-numbers-0:before{content:'\E586';}
+.t-icon-numbers-1-1:before{content:'\E587';}
+.t-icon-numbers-1:before{content:'\E588';}
+.t-icon-numbers-2-1:before{content:'\E589';}
+.t-icon-numbers-2:before{content:'\E58A';}
+.t-icon-numbers-3-1:before{content:'\E58B';}
+.t-icon-numbers-3:before{content:'\E58C';}
+.t-icon-numbers-4-1:before{content:'\E58D';}
+.t-icon-numbers-4:before{content:'\E58E';}
+.t-icon-numbers-5-1:before{content:'\E58F';}
+.t-icon-numbers-5:before{content:'\E590';}
+.t-icon-numbers-6-1:before{content:'\E591';}
+.t-icon-numbers-6:before{content:'\E592';}
+.t-icon-numbers-7-1:before{content:'\E593';}
+.t-icon-numbers-7:before{content:'\E594';}
+.t-icon-numbers-8-1:before{content:'\E595';}
+.t-icon-numbers-8:before{content:'\E596';}
+.t-icon-numbers-9-1:before{content:'\E597';}
+.t-icon-numbers-9:before{content:'\E598';}
+.t-icon-nut-filled:before{content:'\E599';}
+.t-icon-nut:before{content:'\E59A';}
+.t-icon-object-storage:before{content:'\E59B';}
+.t-icon-open-mouth-filled:before{content:'\E59C';}
+.t-icon-open-mouth:before{content:'\E59D';}
+.t-icon-opera-filled:before{content:'\E59E';}
+.t-icon-opera:before{content:'\E59F';}
+.t-icon-order-adjustment-column:before{content:'\E5A0';}
+.t-icon-order-ascending:before{content:'\E5A1';}
+.t-icon-order-descending:before{content:'\E5A2';}
+.t-icon-outbox-filled:before{content:'\E5A3';}
+.t-icon-outbox:before{content:'\E5A4';}
+.t-icon-page-first:before{content:'\E5A5';}
+.t-icon-page-head-filled:before{content:'\E5A6';}
+.t-icon-page-head:before{content:'\E5A7';}
+.t-icon-page-last:before{content:'\E5A8';}
+.t-icon-palace-1-filled:before{content:'\E5A9';}
+.t-icon-palace-1:before{content:'\E5AA';}
+.t-icon-palace-2-filled:before{content:'\E5AB';}
+.t-icon-palace-2:before{content:'\E5AC';}
+.t-icon-palace-3-filled:before{content:'\E5AD';}
+.t-icon-palace-3:before{content:'\E5AE';}
+.t-icon-palace-4-filled:before{content:'\E5AF';}
+.t-icon-palace-4:before{content:'\E5B0';}
+.t-icon-palace-filled:before{content:'\E5B1';}
+.t-icon-palace:before{content:'\E5B2';}
+.t-icon-palette-1-filled:before{content:'\E5B3';}
+.t-icon-palette-1:before{content:'\E5B4';}
+.t-icon-palette-filled:before{content:'\E5B5';}
+.t-icon-palette:before{content:'\E5B6';}
+.t-icon-panorama-horizontal-filled:before{content:'\E5B7';}
+.t-icon-panorama-horizontal:before{content:'\E5B8';}
+.t-icon-panorama-vertical-filled:before{content:'\E5B9';}
+.t-icon-panorama-vertical:before{content:'\E5BA';}
+.t-icon-pantone-filled:before{content:'\E5BB';}
+.t-icon-pantone:before{content:'\E5BC';}
+.t-icon-parabola:before{content:'\E5BD';}
+.t-icon-parentheses:before{content:'\E5BE';}
+.t-icon-paste-filled:before{content:'\E5BF';}
+.t-icon-paste:before{content:'\E5C0';}
+.t-icon-patio-filled:before{content:'\E5C1';}
+.t-icon-patio:before{content:'\E5C2';}
+.t-icon-pause-circle-filled:before{content:'\E5C3';}
+.t-icon-pause-circle-stroke-filled:before{content:'\E5C4';}
+.t-icon-pause-circle-stroke:before{content:'\E5C5';}
+.t-icon-pause-circle:before{content:'\E5C6';}
+.t-icon-pause:before{content:'\E5C7';}
+.t-icon-pea-filled:before{content:'\E5C8';}
+.t-icon-pea:before{content:'\E5C9';}
+.t-icon-peach-filled:before{content:'\E5CA';}
+.t-icon-peach:before{content:'\E5CB';}
+.t-icon-pear-filled:before{content:'\E5CC';}
+.t-icon-pear:before{content:'\E5CD';}
+.t-icon-pearl-of-the-orient-filled:before{content:'\E5CE';}
+.t-icon-pearl-of-the-orient:before{content:'\E5CF';}
+.t-icon-pen-ball-filled:before{content:'\E5D0';}
+.t-icon-pen-ball:before{content:'\E5D1';}
+.t-icon-pen-brush-filled:before{content:'\E5D2';}
+.t-icon-pen-brush:before{content:'\E5D3';}
+.t-icon-pen-filled:before{content:'\E5D4';}
+.t-icon-pen-mark-filled:before{content:'\E5D5';}
+.t-icon-pen-mark:before{content:'\E5D6';}
+.t-icon-pen-quill-filled:before{content:'\E5D7';}
+.t-icon-pen-quill:before{content:'\E5D8';}
+.t-icon-pen:before{content:'\E5D9';}
+.t-icon-pending-filled:before{content:'\E5DA';}
+.t-icon-pending:before{content:'\E5DB';}
+.t-icon-percent:before{content:'\E5DC';}
+.t-icon-personal-information-filled:before{content:'\E5DD';}
+.t-icon-personal-information:before{content:'\E5DE';}
+.t-icon-phone-locked-filled:before{content:'\E5DF';}
+.t-icon-phone-locked:before{content:'\E5E0';}
+.t-icon-phone-search-filled:before{content:'\E5E1';}
+.t-icon-phone-search:before{content:'\E5E2';}
+.t-icon-pi:before{content:'\E5E3';}
+.t-icon-piano-filled:before{content:'\E5E4';}
+.t-icon-piano:before{content:'\E5E5';}
+.t-icon-pin-filled:before{content:'\E5E6';}
+.t-icon-pin:before{content:'\E5E7';}
+.t-icon-play-circle-filled:before{content:'\E5E8';}
+.t-icon-play-circle-stroke-add-filled:before{content:'\E5E9';}
+.t-icon-play-circle-stroke-add:before{content:'\E5EA';}
+.t-icon-play-circle-stroke-filled:before{content:'\E5EB';}
+.t-icon-play-circle-stroke:before{content:'\E5EC';}
+.t-icon-play-circle:before{content:'\E5ED';}
+.t-icon-play-demo-filled:before{content:'\E5EE';}
+.t-icon-play-demo:before{content:'\E5EF';}
+.t-icon-play-rectangle-filled:before{content:'\E5F0';}
+.t-icon-play-rectangle:before{content:'\E5F1';}
+.t-icon-play:before{content:'\E5F2';}
+.t-icon-plus:before{content:'\E5F3';}
+.t-icon-popsicle-filled:before{content:'\E5F4';}
+.t-icon-popsicle:before{content:'\E5F5';}
+.t-icon-portrait-filled:before{content:'\E5F6';}
+.t-icon-portrait:before{content:'\E5F7';}
+.t-icon-pout-filled:before{content:'\E5F8';}
+.t-icon-pout:before{content:'\E5F9';}
+.t-icon-poweroff:before{content:'\E5FA';}
+.t-icon-precise-monitor:before{content:'\E5FB';}
+.t-icon-previous-filled:before{content:'\E5FC';}
+.t-icon-previous:before{content:'\E5FD';}
+.t-icon-print-filled:before{content:'\E5FE';}
+.t-icon-print:before{content:'\E5FF';}
+.t-icon-pumpkin-filled:before{content:'\E600';}
+.t-icon-pumpkin:before{content:'\E601';}
+.t-icon-pyramid-filled:before{content:'\E602';}
+.t-icon-pyramid-maya-filled:before{content:'\E603';}
+.t-icon-pyramid-maya:before{content:'\E604';}
+.t-icon-pyramid:before{content:'\E605';}
+.t-icon-qrcode:before{content:'\E606';}
+.t-icon-quadratic:before{content:'\E607';}
+.t-icon-questionnaire-double-filled:before{content:'\E608';}
+.t-icon-questionnaire-double:before{content:'\E609';}
+.t-icon-questionnaire-filled:before{content:'\E60A';}
+.t-icon-questionnaire:before{content:'\E60B';}
+.t-icon-queue-filled:before{content:'\E60C';}
+.t-icon-queue:before{content:'\E60D';}
+.t-icon-quote-filled:before{content:'\E60E';}
+.t-icon-quote:before{content:'\E60F';}
+.t-icon-radar:before{content:'\E610';}
+.t-icon-radio-1-filled:before{content:'\E611';}
+.t-icon-radio-1:before{content:'\E612';}
+.t-icon-radio-2-filled:before{content:'\E613';}
+.t-icon-radio-2:before{content:'\E614';}
+.t-icon-radish-filled:before{content:'\E615';}
+.t-icon-radish:before{content:'\E616';}
+.t-icon-rain-heavy:before{content:'\E617';}
+.t-icon-rain-light-filled:before{content:'\E618';}
+.t-icon-rain-light:before{content:'\E619';}
+.t-icon-rain-medium:before{content:'\E61A';}
+.t-icon-rainbow:before{content:'\E61B';}
+.t-icon-rectangle-filled:before{content:'\E61C';}
+.t-icon-rectangle:before{content:'\E61D';}
+.t-icon-refresh:before{content:'\E61E';}
+.t-icon-relation:before{content:'\E61F';}
+.t-icon-relativity-filled:before{content:'\E620';}
+.t-icon-relativity:before{content:'\E621';}
+.t-icon-remote-wave-filled:before{content:'\E622';}
+.t-icon-remote-wave:before{content:'\E623';}
+.t-icon-remove:before{content:'\E624';}
+.t-icon-replay-filled:before{content:'\E625';}
+.t-icon-replay:before{content:'\E626';}
+.t-icon-rice-ball-filled:before{content:'\E627';}
+.t-icon-rice-ball:before{content:'\E628';}
+.t-icon-rice-filled:before{content:'\E629';}
+.t-icon-rice:before{content:'\E62A';}
+.t-icon-roast-filled:before{content:'\E62B';}
+.t-icon-roast:before{content:'\E62C';}
+.t-icon-rocket-filled:before{content:'\E62D';}
+.t-icon-rocket:before{content:'\E62E';}
+.t-icon-rollback:before{content:'\E62F';}
+.t-icon-rollfront:before{content:'\E630';}
+.t-icon-root-list-filled:before{content:'\E631';}
+.t-icon-root-list:before{content:'\E632';}
+.t-icon-rotate-locked-filled:before{content:'\E633';}
+.t-icon-rotate-locked:before{content:'\E634';}
+.t-icon-rotate:before{content:'\E635';}
+.t-icon-rotation:before{content:'\E636';}
+.t-icon-round-filled:before{content:'\E637';}
+.t-icon-round:before{content:'\E638';}
+.t-icon-router-wave-filled:before{content:'\E639';}
+.t-icon-router-wave:before{content:'\E63A';}
+.t-icon-rss:before{content:'\E63B';}
+.t-icon-ruler-filled:before{content:'\E63C';}
+.t-icon-ruler:before{content:'\E63D';}
+.t-icon-sailing-hotel-filled:before{content:'\E63E';}
+.t-icon-sailing-hotel:before{content:'\E63F';}
+.t-icon-sandwich-filled:before{content:'\E640';}
+.t-icon-sandwich:before{content:'\E641';}
+.t-icon-saturation-filled:before{content:'\E642';}
+.t-icon-saturation:before{content:'\E643';}
+.t-icon-sausage-filled:before{content:'\E644';}
+.t-icon-sausage:before{content:'\E645';}
+.t-icon-save-filled:before{content:'\E646';}
+.t-icon-save:before{content:'\E647';}
+.t-icon-saving-pot-filled:before{content:'\E648';}
+.t-icon-saving-pot:before{content:'\E649';}
+.t-icon-scan:before{content:'\E64A';}
+.t-icon-screen-4k-filled:before{content:'\E64B';}
+.t-icon-screen-4k:before{content:'\E64C';}
+.t-icon-screencast-filled:before{content:'\E64D';}
+.t-icon-screencast:before{content:'\E64E';}
+.t-icon-screenshot:before{content:'\E64F';}
+.t-icon-scroll-bar-filled:before{content:'\E650';}
+.t-icon-scroll-bar:before{content:'\E651';}
+.t-icon-sd-card-1-filled:before{content:'\E652';}
+.t-icon-sd-card-1:before{content:'\E653';}
+.t-icon-sd-card-filled:before{content:'\E654';}
+.t-icon-sd-card:before{content:'\E655';}
+.t-icon-seal-filled:before{content:'\E656';}
+.t-icon-seal:before{content:'\E657';}
+.t-icon-search-error-filled:before{content:'\E658';}
+.t-icon-search-error:before{content:'\E659';}
+.t-icon-search-filled:before{content:'\E65A';}
+.t-icon-search:before{content:'\E65B';}
+.t-icon-secured-filled:before{content:'\E65C';}
+.t-icon-secured:before{content:'\E65D';}
+.t-icon-send-cancel-filled:before{content:'\E65E';}
+.t-icon-send-cancel:before{content:'\E65F';}
+.t-icon-send-filled:before{content:'\E660';}
+.t-icon-send:before{content:'\E661';}
+.t-icon-sensors-1:before{content:'\E662';}
+.t-icon-sensors-2:before{content:'\E663';}
+.t-icon-sensors-off:before{content:'\E664';}
+.t-icon-sensors:before{content:'\E665';}
+.t-icon-sequence-filled:before{content:'\E666';}
+.t-icon-sequence:before{content:'\E667';}
+.t-icon-serenity-filled:before{content:'\E668';}
+.t-icon-serenity:before{content:'\E669';}
+.t-icon-server-filled:before{content:'\E66A';}
+.t-icon-server:before{content:'\E66B';}
+.t-icon-service-filled:before{content:'\E66C';}
+.t-icon-service:before{content:'\E66D';}
+.t-icon-setting-1-filled:before{content:'\E66E';}
+.t-icon-setting-1:before{content:'\E66F';}
+.t-icon-setting-filled:before{content:'\E670';}
+.t-icon-setting:before{content:'\E671';}
+.t-icon-share-1-filled:before{content:'\E672';}
+.t-icon-share-1:before{content:'\E673';}
+.t-icon-share-filled:before{content:'\E674';}
+.t-icon-share:before{content:'\E675';}
+.t-icon-sharpness-filled:before{content:'\E676';}
+.t-icon-sharpness:before{content:'\E677';}
+.t-icon-shield-error-filled:before{content:'\E678';}
+.t-icon-shield-error:before{content:'\E679';}
+.t-icon-shimen-filled:before{content:'\E67A';}
+.t-icon-shimen:before{content:'\E67B';}
+.t-icon-shop-1-filled:before{content:'\E67C';}
+.t-icon-shop-1:before{content:'\E67D';}
+.t-icon-shop-2-filled:before{content:'\E67E';}
+.t-icon-shop-2:before{content:'\E67F';}
+.t-icon-shop-3-filled:before{content:'\E680';}
+.t-icon-shop-3:before{content:'\E681';}
+.t-icon-shop-4-filled:before{content:'\E682';}
+.t-icon-shop-4:before{content:'\E683';}
+.t-icon-shop-5-filled:before{content:'\E684';}
+.t-icon-shop-5:before{content:'\E685';}
+.t-icon-shop-filled:before{content:'\E686';}
+.t-icon-shop:before{content:'\E687';}
+.t-icon-shrimp-filled:before{content:'\E688';}
+.t-icon-shrimp:before{content:'\E689';}
+.t-icon-shrink-horizontal:before{content:'\E68A';}
+.t-icon-shrink-vertical:before{content:'\E68B';}
+.t-icon-shutter-filled:before{content:'\E68C';}
+.t-icon-shutter:before{content:'\E68D';}
+.t-icon-shutup-filled:before{content:'\E68E';}
+.t-icon-shutup:before{content:'\E68F';}
+.t-icon-sim-card-1-filled:before{content:'\E690';}
+.t-icon-sim-card-1:before{content:'\E691';}
+.t-icon-sim-card-2-filled:before{content:'\E692';}
+.t-icon-sim-card-2:before{content:'\E693';}
+.t-icon-sim-card-filled:before{content:'\E694';}
+.t-icon-sim-card:before{content:'\E695';}
+.t-icon-sinister-smile-filled:before{content:'\E696';}
+.t-icon-sinister-smile:before{content:'\E697';}
+.t-icon-sip-filled:before{content:'\E698';}
+.t-icon-sip:before{content:'\E699';}
+.t-icon-sitemap-filled:before{content:'\E69A';}
+.t-icon-sitemap:before{content:'\E69B';}
+.t-icon-slash:before{content:'\E69C';}
+.t-icon-sleep-filled:before{content:'\E69D';}
+.t-icon-sleep:before{content:'\E69E';}
+.t-icon-slice-filled:before{content:'\E69F';}
+.t-icon-slice:before{content:'\E6A0';}
+.t-icon-slideshow-filled:before{content:'\E6A1';}
+.t-icon-slideshow:before{content:'\E6A2';}
+.t-icon-smile-filled:before{content:'\E6A3';}
+.t-icon-smile:before{content:'\E6A4';}
+.t-icon-sneer-filled:before{content:'\E6A5';}
+.t-icon-sneer:before{content:'\E6A6';}
+.t-icon-snowflake:before{content:'\E6A7';}
+.t-icon-sonic:before{content:'\E6A8';}
+.t-icon-sound-down-filled:before{content:'\E6A9';}
+.t-icon-sound-down:before{content:'\E6AA';}
+.t-icon-sound-filled:before{content:'\E6AB';}
+.t-icon-sound-high-filled:before{content:'\E6AC';}
+.t-icon-sound-high:before{content:'\E6AD';}
+.t-icon-sound-low-filled:before{content:'\E6AE';}
+.t-icon-sound-low:before{content:'\E6AF';}
+.t-icon-sound-mute-1-filled:before{content:'\E6B0';}
+.t-icon-sound-mute-1:before{content:'\E6B1';}
+.t-icon-sound-mute-filled:before{content:'\E6B2';}
+.t-icon-sound-mute:before{content:'\E6B3';}
+.t-icon-sound-up-filled:before{content:'\E6B4';}
+.t-icon-sound-up:before{content:'\E6B5';}
+.t-icon-sound:before{content:'\E6B6';}
+.t-icon-space:before{content:'\E6B7';}
+.t-icon-speechless-1-filled:before{content:'\E6B8';}
+.t-icon-speechless-1:before{content:'\E6B9';}
+.t-icon-speechless-filled:before{content:'\E6BA';}
+.t-icon-speechless:before{content:'\E6BB';}
+.t-icon-star-filled:before{content:'\E6BC';}
+.t-icon-star:before{content:'\E6BD';}
+.t-icon-statue-of-jesus-filled:before{content:'\E6BE';}
+.t-icon-statue-of-jesus:before{content:'\E6BF';}
+.t-icon-sticky-note-filled:before{content:'\E6C0';}
+.t-icon-sticky-note:before{content:'\E6C1';}
+.t-icon-stop-circle-filled:before{content:'\E6C2';}
+.t-icon-stop-circle-stroke-filled:before{content:'\E6C3';}
+.t-icon-stop-circle-stroke:before{content:'\E6C4';}
+.t-icon-stop-circle:before{content:'\E6C5';}
+.t-icon-stop:before{content:'\E6C6';}
+.t-icon-store-filled:before{content:'\E6C7';}
+.t-icon-store:before{content:'\E6C8';}
+.t-icon-street-road-1-filled:before{content:'\E6C9';}
+.t-icon-street-road-1:before{content:'\E6CA';}
+.t-icon-street-road-filled:before{content:'\E6CB';}
+.t-icon-street-road:before{content:'\E6CC';}
+.t-icon-subtitle-filled:before{content:'\E6CD';}
+.t-icon-subtitle:before{content:'\E6CE';}
+.t-icon-subway-line-filled:before{content:'\E6CF';}
+.t-icon-subway-line:before{content:'\E6D0';}
+.t-icon-sum:before{content:'\E6D1';}
+.t-icon-sun-fall-filled:before{content:'\E6D2';}
+.t-icon-sun-fall:before{content:'\E6D3';}
+.t-icon-sun-rising-filled:before{content:'\E6D4';}
+.t-icon-sun-rising:before{content:'\E6D5';}
+.t-icon-sunny-filled:before{content:'\E6D6';}
+.t-icon-sunny:before{content:'\E6D7';}
+.t-icon-support-filled:before{content:'\E6D8';}
+.t-icon-support:before{content:'\E6D9';}
+.t-icon-surprised-1-filled:before{content:'\E6DA';}
+.t-icon-surprised-1:before{content:'\E6DB';}
+.t-icon-surprised-filled:before{content:'\E6DC';}
+.t-icon-surprised:before{content:'\E6DD';}
+.t-icon-swap-left:before{content:'\E6DE';}
+.t-icon-swap-right:before{content:'\E6DF';}
+.t-icon-swap:before{content:'\E6E0';}
+.t-icon-swear-1-filled:before{content:'\E6E1';}
+.t-icon-swear-1:before{content:'\E6E2';}
+.t-icon-swear-2-filled:before{content:'\E6E3';}
+.t-icon-swear-2:before{content:'\E6E4';}
+.t-icon-system-2:before{content:'\E6E5';}
+.t-icon-system-3-filled:before{content:'\E6E6';}
+.t-icon-system-3:before{content:'\E6E7';}
+.t-icon-system-application-filled:before{content:'\E6E8';}
+.t-icon-system-application:before{content:'\E6E9';}
+.t-icon-system-blocked-filled:before{content:'\E6EA';}
+.t-icon-system-blocked:before{content:'\E6EB';}
+.t-icon-system-code-filled:before{content:'\E6EC';}
+.t-icon-system-code:before{content:'\E6ED';}
+.t-icon-system-components-filled:before{content:'\E6EE';}
+.t-icon-system-components:before{content:'\E6EF';}
+.t-icon-system-coordinate-filled:before{content:'\E6F0';}
+.t-icon-system-coordinate:before{content:'\E6F1';}
+.t-icon-system-device-filled:before{content:'\E6F2';}
+.t-icon-system-device:before{content:'\E6F3';}
+.t-icon-system-interface-filled:before{content:'\E6F4';}
+.t-icon-system-interface:before{content:'\E6F5';}
+.t-icon-system-location-filled:before{content:'\E6F6';}
+.t-icon-system-location:before{content:'\E6F7';}
+.t-icon-system-locked-filled:before{content:'\E6F8';}
+.t-icon-system-locked:before{content:'\E6F9';}
+.t-icon-system-log-filled:before{content:'\E6FA';}
+.t-icon-system-log:before{content:'\E6FB';}
+.t-icon-system-marked-filled:before{content:'\E6FC';}
+.t-icon-system-marked:before{content:'\E6FD';}
+.t-icon-system-messages-filled:before{content:'\E6FE';}
+.t-icon-system-messages:before{content:'\E6FF';}
+.t-icon-system-regulation-filled:before{content:'\E700';}
+.t-icon-system-regulation:before{content:'\E701';}
+.t-icon-system-search-filled:before{content:'\E702';}
+.t-icon-system-search:before{content:'\E703';}
+.t-icon-system-setting-filled:before{content:'\E704';}
+.t-icon-system-setting:before{content:'\E705';}
+.t-icon-system-storage-filled:before{content:'\E706';}
+.t-icon-system-storage:before{content:'\E707';}
+.t-icon-system-sum:before{content:'\E708';}
+.t-icon-system-unlocked-filled:before{content:'\E709';}
+.t-icon-system-unlocked:before{content:'\E70A';}
+.t-icon-tab-filled:before{content:'\E70B';}
+.t-icon-tab:before{content:'\E70C';}
+.t-icon-table-1-filled:before{content:'\E70D';}
+.t-icon-table-1:before{content:'\E70E';}
+.t-icon-table-2-filled:before{content:'\E70F';}
+.t-icon-table-2:before{content:'\E710';}
+.t-icon-table-add-filled:before{content:'\E711';}
+.t-icon-table-add:before{content:'\E712';}
+.t-icon-table-filled:before{content:'\E713';}
+.t-icon-table-split-filled:before{content:'\E714';}
+.t-icon-table-split:before{content:'\E715';}
+.t-icon-table:before{content:'\E716';}
+.t-icon-tag-filled:before{content:'\E717';}
+.t-icon-tag:before{content:'\E718';}
+.t-icon-tangerinr-filled:before{content:'\E719';}
+.t-icon-tangerinr:before{content:'\E71A';}
+.t-icon-tape-filled:before{content:'\E71B';}
+.t-icon-tape:before{content:'\E71C';}
+.t-icon-task-1-filled:before{content:'\E71D';}
+.t-icon-task-1:before{content:'\E71E';}
+.t-icon-task-add-1:before{content:'\E71F';}
+.t-icon-task-add-filled:before{content:'\E720';}
+.t-icon-task-add:before{content:'\E721';}
+.t-icon-task-checked-1:before{content:'\E722';}
+.t-icon-task-checked-filled:before{content:'\E723';}
+.t-icon-task-checked:before{content:'\E724';}
+.t-icon-task-double-filled:before{content:'\E725';}
+.t-icon-task-double:before{content:'\E726';}
+.t-icon-task-error-filled:before{content:'\E727';}
+.t-icon-task-error:before{content:'\E728';}
+.t-icon-task-filled:before{content:'\E729';}
+.t-icon-task-location-filled:before{content:'\E72A';}
+.t-icon-task-location:before{content:'\E72B';}
+.t-icon-task-marked-filled:before{content:'\E72C';}
+.t-icon-task-marked:before{content:'\E72D';}
+.t-icon-task-setting-filled:before{content:'\E72E';}
+.t-icon-task-setting:before{content:'\E72F';}
+.t-icon-task-time-filled:before{content:'\E730';}
+.t-icon-task-time:before{content:'\E731';}
+.t-icon-task-visible-filled:before{content:'\E732';}
+.t-icon-task-visible:before{content:'\E733';}
+.t-icon-task:before{content:'\E734';}
+.t-icon-tea-filled:before{content:'\E735';}
+.t-icon-tea:before{content:'\E736';}
+.t-icon-teahouse-filled:before{content:'\E737';}
+.t-icon-teahouse:before{content:'\E738';}
+.t-icon-template-filled:before{content:'\E739';}
+.t-icon-template:before{content:'\E73A';}
+.t-icon-temple-filled:before{content:'\E73B';}
+.t-icon-temple:before{content:'\E73C';}
+.t-icon-terminal-rectangle-1-filled:before{content:'\E73D';}
+.t-icon-terminal-rectangle-1:before{content:'\E73E';}
+.t-icon-terminal-rectangle-filled:before{content:'\E73F';}
+.t-icon-terminal-rectangle:before{content:'\E740';}
+.t-icon-terminal-window-filled:before{content:'\E741';}
+.t-icon-terminal-window:before{content:'\E742';}
+.t-icon-terminal:before{content:'\E743';}
+.t-icon-textbox-filled:before{content:'\E744';}
+.t-icon-textbox:before{content:'\E745';}
+.t-icon-textformat-bold:before{content:'\E746';}
+.t-icon-textformat-color:before{content:'\E747';}
+.t-icon-textformat-italic:before{content:'\E748';}
+.t-icon-textformat-strikethrough:before{content:'\E749';}
+.t-icon-textformat-underline:before{content:'\E74A';}
+.t-icon-textformat-wrap:before{content:'\E74B';}
+.t-icon-theaters-filled:before{content:'\E74C';}
+.t-icon-theaters:before{content:'\E74D';}
+.t-icon-thumb-down-1-filled:before{content:'\E74E';}
+.t-icon-thumb-down-1:before{content:'\E74F';}
+.t-icon-thumb-down-2-filled:before{content:'\E750';}
+.t-icon-thumb-down-2:before{content:'\E751';}
+.t-icon-thumb-down-filled:before{content:'\E752';}
+.t-icon-thumb-down:before{content:'\E753';}
+.t-icon-thumb-up-1-filled:before{content:'\E754';}
+.t-icon-thumb-up-1:before{content:'\E755';}
+.t-icon-thumb-up-2-filled:before{content:'\E756';}
+.t-icon-thumb-up-2:before{content:'\E757';}
+.t-icon-thumb-up-filled:before{content:'\E758';}
+.t-icon-thumb-up:before{content:'\E759';}
+.t-icon-thunder:before{content:'\E75A';}
+.t-icon-thunderstorm-night-filled:before{content:'\E75B';}
+.t-icon-thunderstorm-night:before{content:'\E75C';}
+.t-icon-thunderstorm-sunny-filled:before{content:'\E75D';}
+.t-icon-thunderstorm-sunny:before{content:'\E75E';}
+.t-icon-thunderstorm:before{content:'\E75F';}
+.t-icon-ticket-filled:before{content:'\E760';}
+.t-icon-ticket:before{content:'\E761';}
+.t-icon-time-filled:before{content:'\E762';}
+.t-icon-time:before{content:'\E763';}
+.t-icon-tips-double-filled:before{content:'\E764';}
+.t-icon-tips-double:before{content:'\E765';}
+.t-icon-tips-filled:before{content:'\E766';}
+.t-icon-tips:before{content:'\E767';}
+.t-icon-tomato-filled:before{content:'\E768';}
+.t-icon-tomato:before{content:'\E769';}
+.t-icon-tools-circle-filled:before{content:'\E76A';}
+.t-icon-tools-circle:before{content:'\E76B';}
+.t-icon-tools-filled:before{content:'\E76C';}
+.t-icon-tools:before{content:'\E76D';}
+.t-icon-tornado:before{content:'\E76E';}
+.t-icon-tower-1-filled:before{content:'\E76F';}
+.t-icon-tower-1:before{content:'\E770';}
+.t-icon-tower-2-filled:before{content:'\E771';}
+.t-icon-tower-2:before{content:'\E772';}
+.t-icon-tower-3-filled:before{content:'\E773';}
+.t-icon-tower-3:before{content:'\E774';}
+.t-icon-tower-clock-filled:before{content:'\E775';}
+.t-icon-tower-clock:before{content:'\E776';}
+.t-icon-tower-filled:before{content:'\E777';}
+.t-icon-tower:before{content:'\E778';}
+.t-icon-town-filled:before{content:'\E779';}
+.t-icon-town:before{content:'\E77A';}
+.t-icon-traffic-events-filled:before{content:'\E77B';}
+.t-icon-traffic-events:before{content:'\E77C';}
+.t-icon-traffic-filled:before{content:'\E77D';}
+.t-icon-traffic:before{content:'\E77E';}
+.t-icon-transform-1-filled:before{content:'\E77F';}
+.t-icon-transform-1:before{content:'\E780';}
+.t-icon-transform-2:before{content:'\E781';}
+.t-icon-transform-3:before{content:'\E782';}
+.t-icon-transform-filled:before{content:'\E783';}
+.t-icon-transform:before{content:'\E784';}
+.t-icon-translate-1:before{content:'\E785';}
+.t-icon-translate:before{content:'\E786';}
+.t-icon-tree-list:before{content:'\E787';}
+.t-icon-tree-round-dot-filled:before{content:'\E788';}
+.t-icon-tree-round-dot-vertical-filled:before{content:'\E789';}
+.t-icon-tree-round-dot-vertical:before{content:'\E78A';}
+.t-icon-tree-round-dot:before{content:'\E78B';}
+.t-icon-tree-square-dot-filled:before{content:'\E78C';}
+.t-icon-tree-square-dot-vertical-filled:before{content:'\E78D';}
+.t-icon-tree-square-dot-vertical:before{content:'\E78E';}
+.t-icon-tree-square-dot:before{content:'\E78F';}
+.t-icon-trending-down:before{content:'\E790';}
+.t-icon-trending-up:before{content:'\E791';}
+.t-icon-tv-1-filled:before{content:'\E792';}
+.t-icon-tv-1:before{content:'\E793';}
+.t-icon-tv-2-filled:before{content:'\E794';}
+.t-icon-tv-2:before{content:'\E795';}
+.t-icon-tv-filled:before{content:'\E796';}
+.t-icon-tv:before{content:'\E797';}
+.t-icon-typography-filled:before{content:'\E798';}
+.t-icon-typography:before{content:'\E799';}
+.t-icon-uncomfortable-1-filled:before{content:'\E79A';}
+.t-icon-uncomfortable-1:before{content:'\E79B';}
+.t-icon-uncomfortable-2-filled:before{content:'\E79C';}
+.t-icon-uncomfortable-2:before{content:'\E79D';}
+.t-icon-uncomfortable-filled:before{content:'\E79E';}
+.t-icon-uncomfortable:before{content:'\E79F';}
+.t-icon-undertake-delivery-filled:before{content:'\E7A0';}
+.t-icon-undertake-delivery:before{content:'\E7A1';}
+.t-icon-undertake-environment-protection-filled:before{content:'\E7A2';}
+.t-icon-undertake-environment-protection:before{content:'\E7A3';}
+.t-icon-undertake-filled:before{content:'\E7A4';}
+.t-icon-undertake-hold-up-filled:before{content:'\E7A5';}
+.t-icon-undertake-hold-up:before{content:'\E7A6';}
+.t-icon-undertake-transaction-filled:before{content:'\E7A7';}
+.t-icon-undertake-transaction:before{content:'\E7A8';}
+.t-icon-undertake:before{content:'\E7A9';}
+.t-icon-unfold-less:before{content:'\E7AA';}
+.t-icon-unfold-more:before{content:'\E7AB';}
+.t-icon-unhappy-1-filled:before{content:'\E7AC';}
+.t-icon-unhappy-1:before{content:'\E7AD';}
+.t-icon-unhappy-filled:before{content:'\E7AE';}
+.t-icon-unhappy:before{content:'\E7AF';}
+.t-icon-uninstall-filled:before{content:'\E7B0';}
+.t-icon-uninstall:before{content:'\E7B1';}
+.t-icon-upload-1:before{content:'\E7B2';}
+.t-icon-upload:before{content:'\E7B3';}
+.t-icon-upscale:before{content:'\E7B4';}
+.t-icon-usb-filled:before{content:'\E7B5';}
+.t-icon-usb:before{content:'\E7B6';}
+.t-icon-user-1-filled:before{content:'\E7B7';}
+.t-icon-user-1:before{content:'\E7B8';}
+.t-icon-user-add-filled:before{content:'\E7B9';}
+.t-icon-user-add:before{content:'\E7BA';}
+.t-icon-user-arrow-down-filled:before{content:'\E7BB';}
+.t-icon-user-arrow-down:before{content:'\E7BC';}
+.t-icon-user-arrow-left-filled:before{content:'\E7BD';}
+.t-icon-user-arrow-left:before{content:'\E7BE';}
+.t-icon-user-arrow-right-filled:before{content:'\E7BF';}
+.t-icon-user-arrow-right:before{content:'\E7C0';}
+.t-icon-user-arrow-up-filled:before{content:'\E7C1';}
+.t-icon-user-arrow-up:before{content:'\E7C2';}
+.t-icon-user-avatar-filled:before{content:'\E7C3';}
+.t-icon-user-avatar:before{content:'\E7C4';}
+.t-icon-user-blocked-filled:before{content:'\E7C5';}
+.t-icon-user-blocked:before{content:'\E7C6';}
+.t-icon-user-business-filled:before{content:'\E7C7';}
+.t-icon-user-business:before{content:'\E7C8';}
+.t-icon-user-checked-1-filled:before{content:'\E7C9';}
+.t-icon-user-checked-1:before{content:'\E7CA';}
+.t-icon-user-checked-filled:before{content:'\E7CB';}
+.t-icon-user-checked:before{content:'\E7CC';}
+.t-icon-user-circle-filled:before{content:'\E7CD';}
+.t-icon-user-circle:before{content:'\E7CE';}
+.t-icon-user-clear-filled:before{content:'\E7CF';}
+.t-icon-user-clear:before{content:'\E7D0';}
+.t-icon-user-error-1-filled:before{content:'\E7D1';}
+.t-icon-user-error-1:before{content:'\E7D2';}
+.t-icon-user-filled:before{content:'\E7D3';}
+.t-icon-user-invisible-filled:before{content:'\E7D4';}
+.t-icon-user-invisible:before{content:'\E7D5';}
+.t-icon-user-list-filled:before{content:'\E7D6';}
+.t-icon-user-list:before{content:'\E7D7';}
+.t-icon-user-locked-filled:before{content:'\E7D8';}
+.t-icon-user-locked:before{content:'\E7D9';}
+.t-icon-user-marked-filled:before{content:'\E7DA';}
+.t-icon-user-marked:before{content:'\E7DB';}
+.t-icon-user-password-filled:before{content:'\E7DC';}
+.t-icon-user-password:before{content:'\E7DD';}
+.t-icon-user-safety-filled:before{content:'\E7DE';}
+.t-icon-user-safety:before{content:'\E7DF';}
+.t-icon-user-search-filled:before{content:'\E7E0';}
+.t-icon-user-search:before{content:'\E7E1';}
+.t-icon-user-setting-filled:before{content:'\E7E2';}
+.t-icon-user-setting:before{content:'\E7E3';}
+.t-icon-user-talk-1-filled:before{content:'\E7E4';}
+.t-icon-user-talk-1:before{content:'\E7E5';}
+.t-icon-user-talk-filled:before{content:'\E7E6';}
+.t-icon-user-talk-off-1-filled:before{content:'\E7E7';}
+.t-icon-user-talk-off-1:before{content:'\E7E8';}
+.t-icon-user-talk:before{content:'\E7E9';}
+.t-icon-user-time-filled:before{content:'\E7EA';}
+.t-icon-user-time:before{content:'\E7EB';}
+.t-icon-user-transmit-filled:before{content:'\E7EC';}
+.t-icon-user-transmit:before{content:'\E7ED';}
+.t-icon-user-unknown-filled:before{content:'\E7EE';}
+.t-icon-user-unknown:before{content:'\E7EF';}
+.t-icon-user-unlocked-filled:before{content:'\E7F0';}
+.t-icon-user-unlocked:before{content:'\E7F1';}
+.t-icon-user-vip-filled:before{content:'\E7F2';}
+.t-icon-user-vip:before{content:'\E7F3';}
+.t-icon-user-visible-filled:before{content:'\E7F4';}
+.t-icon-user-visible:before{content:'\E7F5';}
+.t-icon-user:before{content:'\E7F6';}
+.t-icon-usercase-filled:before{content:'\E7F7';}
+.t-icon-usercase-link-filled:before{content:'\E7F8';}
+.t-icon-usercase-link:before{content:'\E7F9';}
+.t-icon-usercase:before{content:'\E7FA';}
+.t-icon-usergroup-add-filled:before{content:'\E7FB';}
+.t-icon-usergroup-add:before{content:'\E7FC';}
+.t-icon-usergroup-clear-filled:before{content:'\E7FD';}
+.t-icon-usergroup-clear:before{content:'\E7FE';}
+.t-icon-usergroup-filled:before{content:'\E7FF';}
+.t-icon-usergroup:before{content:'\E800';}
+.t-icon-vehicle-filled:before{content:'\E801';}
+.t-icon-vehicle:before{content:'\E802';}
+.t-icon-verified-filled:before{content:'\E803';}
+.t-icon-verified:before{content:'\E804';}
+.t-icon-verify-filled:before{content:'\E805';}
+.t-icon-verify:before{content:'\E806';}
+.t-icon-vertical-filled:before{content:'\E807';}
+.t-icon-vertical:before{content:'\E808';}
+.t-icon-video-camera-1-filled:before{content:'\E809';}
+.t-icon-video-camera-1:before{content:'\E80A';}
+.t-icon-video-camera-2-filled:before{content:'\E80B';}
+.t-icon-video-camera-2:before{content:'\E80C';}
+.t-icon-video-camera-dollar-filled:before{content:'\E80D';}
+.t-icon-video-camera-dollar:before{content:'\E80E';}
+.t-icon-video-camera-filled:before{content:'\E80F';}
+.t-icon-video-camera-minus-filled:before{content:'\E810';}
+.t-icon-video-camera-minus:before{content:'\E811';}
+.t-icon-video-camera-music-filled:before{content:'\E812';}
+.t-icon-video-camera-music:before{content:'\E813';}
+.t-icon-video-camera-off-filled:before{content:'\E814';}
+.t-icon-video-camera-off:before{content:'\E815';}
+.t-icon-video-camera:before{content:'\E816';}
+.t-icon-video-filled:before{content:'\E817';}
+.t-icon-video-library-filled:before{content:'\E818';}
+.t-icon-video-library:before{content:'\E819';}
+.t-icon-video:before{content:'\E81A';}
+.t-icon-view-agenda-filled:before{content:'\E81B';}
+.t-icon-view-agenda:before{content:'\E81C';}
+.t-icon-view-column:before{content:'\E81D';}
+.t-icon-view-in-ar-filled:before{content:'\E81E';}
+.t-icon-view-in-ar:before{content:'\E81F';}
+.t-icon-view-list:before{content:'\E820';}
+.t-icon-view-module-filled:before{content:'\E821';}
+.t-icon-view-module:before{content:'\E822';}
+.t-icon-visual-recognition-filled:before{content:'\E823';}
+.t-icon-visual-recognition:before{content:'\E824';}
+.t-icon-wallet-filled:before{content:'\E825';}
+.t-icon-wallet:before{content:'\E826';}
+.t-icon-watch-filled:before{content:'\E827';}
+.t-icon-watch:before{content:'\E828';}
+.t-icon-watermelon-filled:before{content:'\E829';}
+.t-icon-watermelon:before{content:'\E82A';}
+.t-icon-wave-bye-filled:before{content:'\E82B';}
+.t-icon-wave-bye:before{content:'\E82C';}
+.t-icon-wave-left-filled:before{content:'\E82D';}
+.t-icon-wave-left:before{content:'\E82E';}
+.t-icon-wave-right-filled:before{content:'\E82F';}
+.t-icon-wave-right:before{content:'\E830';}
+.t-icon-wealth-1-filled:before{content:'\E831';}
+.t-icon-wealth-1:before{content:'\E832';}
+.t-icon-wealth-filled:before{content:'\E833';}
+.t-icon-wealth:before{content:'\E834';}
+.t-icon-widget-filled:before{content:'\E835';}
+.t-icon-widget:before{content:'\E836';}
+.t-icon-wifi-1-filled:before{content:'\E837';}
+.t-icon-wifi-1:before{content:'\E838';}
+.t-icon-wifi-no-filled:before{content:'\E839';}
+.t-icon-wifi-no:before{content:'\E83A';}
+.t-icon-wifi-off-1-filled:before{content:'\E83B';}
+.t-icon-wifi-off-1:before{content:'\E83C';}
+.t-icon-wifi-off:before{content:'\E83D';}
+.t-icon-wifi:before{content:'\E83E';}
+.t-icon-window-1-filled:before{content:'\E83F';}
+.t-icon-window-1:before{content:'\E840';}
+.t-icon-window-filled:before{content:'\E841';}
+.t-icon-window:before{content:'\E842';}
+.t-icon-windy-rain:before{content:'\E843';}
+.t-icon-windy:before{content:'\E844';}
+.t-icon-wink-filled:before{content:'\E845';}
+.t-icon-wink:before{content:'\E846';}
+.t-icon-work-filled:before{content:'\E847';}
+.t-icon-work-history-filled:before{content:'\E848';}
+.t-icon-work-history:before{content:'\E849';}
+.t-icon-work-off-filled:before{content:'\E84A';}
+.t-icon-work-off:before{content:'\E84B';}
+.t-icon-work:before{content:'\E84C';}
+.t-icon-wry-smile-filled:before{content:'\E84D';}
+.t-icon-wry-smile:before{content:'\E84E';}
+.t-icon-zoom-in-filled:before{content:'\E84F';}
+.t-icon-zoom-in:before{content:'\E850';}
+.t-icon-zoom-out-filled:before{content:'\E851';}
+.t-icon-zoom-out:before{content:'\E852';}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/props.d.ts
new file mode 100644
index 0000000..a472c01
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/props.d.ts
@@ -0,0 +1,3 @@
+import { TdIconProps } from './type';
+declare const props: TdIconProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/props.js
new file mode 100644
index 0000000..b05c530
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/props.js
@@ -0,0 +1 @@
+const props={color:{type:String,value:""},name:{type:String,value:"",required:!0},prefix:{type:String,value:""},size:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/type.d.ts
new file mode 100644
index 0000000..c92226c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/type.d.ts
@@ -0,0 +1,19 @@
+export interface TdIconProps {
+ color?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ name: {
+ type: StringConstructor;
+ value?: string;
+ required?: boolean;
+ };
+ prefix?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ size?: {
+ type: null;
+ value?: string | number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/icon/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.d.ts
new file mode 100644
index 0000000..d5766e9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.d.ts
@@ -0,0 +1,93 @@
+import { SuperComponent } from '../common/src/index';
+export default class ImageViewer extends SuperComponent {
+ externalClasses: string[];
+ properties: {
+ backgroundColor?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ closeBtn?: {
+ type: null;
+ value?: string | boolean | object;
+ };
+ deleteBtn?: {
+ type: null;
+ value?: string | boolean | object;
+ };
+ images?: {
+ type: ArrayConstructor;
+ value?: string[];
+ };
+ initialIndex?: {
+ type: NumberConstructor;
+ value?: Number;
+ };
+ lazy?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ showIndex?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ usingCustomNavbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ defaultVisible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ };
+ data: {
+ prefix: string;
+ classPrefix: string;
+ currentSwiperIndex: number;
+ loadedImageIndexes: any[];
+ windowHeight: number;
+ windowWidth: number;
+ swiperStyle: {};
+ imagesStyle: {};
+ maskTop: number;
+ };
+ options: {
+ multipleSlots: boolean;
+ };
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ ready(): void;
+ observers: {
+ 'visible,initialIndex,images'(visible: any, initialIndex: any, images: any): void;
+ closeBtn(v: any): void;
+ deleteBtn(v: any): void;
+ };
+ methods: {
+ calcMaskTop(): void;
+ saveScreenSize(): void;
+ calcImageDisplayStyle(imageWidth: any, imageHeight: any): {
+ styleObj: {
+ width: string;
+ height: string;
+ left: string;
+ transform: string;
+ };
+ } | {
+ styleObj: {
+ width: string;
+ height: string;
+ left?: undefined;
+ transform?: undefined;
+ };
+ };
+ onImageLoadSuccess(e: WechatMiniprogram.TouchEvent): void;
+ onSwiperChange(e: WechatMiniprogram.TouchEvent): void;
+ onClose(e: any): void;
+ onDelete(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.js
new file mode 100644
index 0000000..2de47d7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import{styles,calcIcon,systemInfo}from"../common/utils";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-image-viewer`;let ImageViewer=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.properties=Object.assign({},props),this.data={prefix:prefix,classPrefix:name,currentSwiperIndex:0,loadedImageIndexes:[],windowHeight:0,windowWidth:0,swiperStyle:{},imagesStyle:{},maskTop:0},this.options={multipleSlots:!0},this.controlledProps=[{key:"visible",event:"close"}],this.observers={"visible,initialIndex,images"(e,t,s){e&&(null==s?void 0:s.length)&&this.setData({loadedImageIndexes:[],currentSwiperIndex:t>=s.length?s.length-1:t})},closeBtn(e){this.setData({_closeBtn:calcIcon(e,"close")})},deleteBtn(e){this.setData({_deleteBtn:calcIcon(e,"delete")})}},this.methods={calcMaskTop(){if(this.data.usingCustomNavbar){const e=(null===wx||void 0===wx?void 0:wx.getMenuButtonBoundingClientRect())||null,{statusBarHeight:t}=systemInfo;e&&t&&this.setData({maskTop:e.top-t+e.bottom})}},saveScreenSize(){const{windowHeight:e,windowWidth:t}=systemInfo;this.setData({windowHeight:e,windowWidth:t})},calcImageDisplayStyle(e,t){const{windowWidth:s,windowHeight:i}=this.data,a=e/t;if(e=1)return{styleObj:{width:"100vw",height:s/a*2+"rpx"}};const n=a*i*2;return n{{currentSwiperIndex + 1}}/{{images.length}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.wxs
new file mode 100644
index 0000000..780bb4e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.wxs
@@ -0,0 +1,7 @@
+function shouldLoadImage(index, currentIndex, loadedIndexes) {
+ return Math.abs(index - currentIndex) <= 1 || (loadedIndexes && loadedIndexes.indexOf(index) !== -1);
+}
+
+module.exports = {
+ shouldLoadImage: shouldLoadImage,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.wxss
new file mode 100644
index 0000000..3f0d5a7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.wxss
@@ -0,0 +1,13 @@
+@import '../common/style/index.wxss';.t-image-viewer{position:fixed;top:var(--td-image-viewer-top,var(--td-position-fixed-top,0));left:0;bottom:0;right:0;z-index:1001;transform:translateZ(0);overflow:hidden;}
+.t-image-viewer__mask{position:absolute;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:var(--td-image-viewer-mask-bg-color,var(--td-mask-active,rgba(0,0,0,.6)));}
+.t-image-viewer__content{width:100vw;display:inline-block;position:absolute;top:50%;transform:translateY(-50%);z-index:1005;}
+.t-image-viewer .swiper{outline:0;}
+.t-image-viewer__image{width:100%;display:inline-block;position:absolute;top:50%;transform:translateY(-50%);}
+.t-image-viewer .t-image--external{width:inherit;height:inherit;display:block;}
+.t-image-viewer__nav{width:100%;position:absolute;display:flex;align-items:center;justify-content:space-between;height:var(--td-image-viewer-nav-height,96rpx);background-color:var(--td-image-viewer-nav-bg-color,#000);left:0;color:var(--td-image-viewer-nav-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));z-index:1005;}
+.t-image-viewer__nav-close{margin-left:var(--td-image-viewer-close-margin-left,var(--td-spacer-1,24rpx));}
+.t-image-viewer__nav-close:empty{display:none;}
+.t-image-viewer__nav-delete{margin-right:var(--td-image-viewer-delete-margin-right,var(--td-spacer-1,24rpx));}
+.t-image-viewer__nav-delete:empty{display:none;}
+.t-image-viewer__nav-close,.t-image-viewer__nav-delete{font-size:48rpx;}
+.t-image-viewer__nav-index{flex:1;font-size:var(--td-image-viewer-nav-index-font-size,var(--td-font-size-base,28rpx));text-align:center;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/props.d.ts
new file mode 100644
index 0000000..9fec1e1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/props.d.ts
@@ -0,0 +1,3 @@
+import { TdImageViewerProps } from './type';
+declare const props: TdImageViewerProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/props.js
new file mode 100644
index 0000000..0b63044
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/props.js
@@ -0,0 +1 @@
+const props={backgroundColor:{type:String,value:""},closeBtn:{type:null,value:!1},deleteBtn:{type:null,value:!1},images:{type:Array,value:[]},initialIndex:{type:Number,value:0},lazy:{type:Boolean,value:!0},showIndex:{type:Boolean,value:!1},usingCustomNavbar:{type:Boolean,value:!1},visible:{type:Boolean,value:null},defaultVisible:{type:Boolean,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/type.d.ts
new file mode 100644
index 0000000..8a5da94
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/type.d.ts
@@ -0,0 +1,42 @@
+export interface TdImageViewerProps {
+ backgroundColor?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ closeBtn?: {
+ type: null;
+ value?: string | boolean | object;
+ };
+ deleteBtn?: {
+ type: null;
+ value?: string | boolean | object;
+ };
+ images?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ initialIndex?: {
+ type: NumberConstructor;
+ value?: Number;
+ };
+ lazy?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ showIndex?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ usingCustomNavbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ defaultVisible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image-viewer/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image-info.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image-info.json
new file mode 100644
index 0000000..e4999ff
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image-info.json
@@ -0,0 +1 @@
+{"key":"Image","label":"图片","icon":"","properties":[{"key":"error","type":["String","TNode"],"defaultValue":"'default'","desc":"加载失败时显示的内容。值为 `default` 则表示使用默认加载失败风格;值为空或者 `slot` 表示使用插槽渲染,插槽名称为 `error`;值为其他则表示普通文本内容,如“加载失败”","label":""},{"key":"externalClasses","type":["Array"],"defaultValue":"","desc":"组件类名,分别用于设置加载组件外层元素,中间内容等元素类名","label":""},{"key":"lazy","type":["Boolean"],"defaultValue":"false","desc":"是否开启图片懒加载","label":""},{"key":"loading","type":["String","TNode"],"defaultValue":"'default'","desc":"加载态内容。值为 `default` 则表示使用默认加载中风格;值为空或者 `slot` 表示使用插槽渲染,插槽名称为 `loading`;值为其他则表示普通文本内容,如“加载中”","label":""},{"key":"MP_EXCLUDE_PROPS","type":["String"],"defaultValue":"","desc":"为避免重复或冲突,需要过滤掉的小程序原生属性","label":""},{"key":"MP_PROPS","type":["String"],"defaultValue":"","desc":"[小程序原生属性](https://developers.weixin.qq.com/miniprogram/dev/component/image.html)","label":""},{"key":"shape","type":["String"],"defaultValue":"square","desc":"图片圆角类型","label":""},{"key":"src","type":["String"],"defaultValue":"","desc":"图片链接","label":""}],"events":[{"key":"error","desc":"图片加载失败时触发","label":""},{"key":"load","desc":"图片加载完成时触发","label":""}]}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.d.ts
new file mode 100644
index 0000000..36dc635
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.d.ts
@@ -0,0 +1,26 @@
+import { SuperComponent } from '../common/src/index';
+export default class Image extends SuperComponent {
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ properties: import("./type").TdImageProps;
+ data: {
+ prefix: string;
+ isLoading: boolean;
+ isFailed: boolean;
+ innerStyle: string;
+ classPrefix: string;
+ };
+ preSrc: any;
+ observers: {
+ src(): void;
+ 'width, height'(width: any, height: any): void;
+ };
+ methods: {
+ onLoaded(e: any): void;
+ onLoadError(e: any): void;
+ calcSize(width: any, height: any): void;
+ update(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.js
new file mode 100644
index 0000000..849238d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import ImageProps from"./props";import config from"../common/config";import{addUnit,getRect,appBaseInfo}from"../common/utils";import{compareVersion}from"../common/version";const{prefix:prefix}=config,name=`${prefix}-image`;let Image=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-load`,`${prefix}-class-image`,`${prefix}-class-error`],this.options={multipleSlots:!0},this.properties=ImageProps,this.data={prefix:prefix,isLoading:!0,isFailed:!1,innerStyle:"",classPrefix:name},this.preSrc=void 0,this.observers={src(){this.preSrc!==this.properties.src&&this.update()},"width, height"(e,i){this.calcSize(e,i)}},this.methods={onLoaded(e){const i=appBaseInfo.SDKVersion,{mode:t,tId:s}=this.properties,r=compareVersion(i,"2.10.3")<0;if("heightFix"===t&&r){const{height:i,width:t}=e.detail;getRect(this,`#${s||"image"}`).then(e=>{const{height:s}=e,r=(s/i*t).toFixed(2);this.setData({innerStyle:`height: ${addUnit(s)}; width: ${r}px;`})})}this.setData({isLoading:!1,isFailed:!1}),this.triggerEvent("load",e.detail)},onLoadError(e){this.setData({isLoading:!1,isFailed:!0}),this.triggerEvent("error",e.detail)},calcSize(e,i){let t="";e&&(t+=`width: ${addUnit(e)};`),i&&(t+=`height: ${addUnit(i)};`),this.setData({innerStyle:t})},update(){const{src:e}=this.properties;this.preSrc=e,e?this.setData({isLoading:!0,isFailed:!1}):this.onLoadError({errMsg:"图片链接为空"})}}}};Image=__decorate([wxComponent()],Image);export default Image;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.json
new file mode 100644
index 0000000..3b6ed8c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-loading":"../loading/loading","t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.wxml
new file mode 100644
index 0000000..c735d3c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.wxml
@@ -0,0 +1 @@
+{{loading}}{{error}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.wxss
new file mode 100644
index 0000000..95df216
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/image.wxss
@@ -0,0 +1,9 @@
+@import '../common/style/index.wxss';.t-image{position:relative;display:inline-block;}
+.t-image__img,.t-image__mask{color:var(--td-image-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));vertical-align:top;width:inherit;height:inherit;}
+.t-image__mask{display:flex;align-items:center;justify-content:center;background-color:var(--td-image-loading-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));color:var(--td-image-loading-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.t-image--loading-text{width:0;height:0;}
+.t-image__common{width:100%;height:100%;}
+.t-image--lazy{position:absolute;top:0;left:0;z-index:-1;}
+.t-image--shape-circle{border-radius:50%;overflow:hidden;}
+.t-image--shape-round{border-radius:var(--td-image-round-radius,var(--td-radius-default,12rpx));overflow:hidden;}
+.t-image--shape-square{border-radius:0;overflow:hidden;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/index.d.ts
new file mode 100644
index 0000000..0f85c43
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/index.d.ts
@@ -0,0 +1,4 @@
+import { TdImageProps } from './type';
+export declare type ImageProps = TdImageProps;
+export * from './props';
+export * from './image';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/index.js
new file mode 100644
index 0000000..b2b8ed2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/index.js
@@ -0,0 +1 @@
+export*from"./props";export*from"./image";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/props.d.ts
new file mode 100644
index 0000000..0ab571b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/props.d.ts
@@ -0,0 +1,3 @@
+import { TdImageProps } from './type';
+declare const props: TdImageProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/props.js
new file mode 100644
index 0000000..dd7132a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/props.js
@@ -0,0 +1 @@
+const props={error:{type:String,value:"default"},height:{type:null},lazy:{type:Boolean,value:!1},loading:{type:String,value:"default"},mode:{type:String,value:"scaleToFill"},shape:{type:String,value:"square"},showMenuByLongpress:{type:Boolean,value:!1},src:{type:String,value:""},tId:{type:String,value:""},webp:{type:Boolean,value:!1},width:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/type.d.ts
new file mode 100644
index 0000000..4279319
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/type.d.ts
@@ -0,0 +1,46 @@
+export interface TdImageProps {
+ error?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ height?: {
+ type: null;
+ value?: string | number;
+ };
+ lazy?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ loading?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ mode?: {
+ type: StringConstructor;
+ value?: 'scaleToFill' | 'aspectFit' | 'aspectFill' | 'widthFix' | 'heightFix' | 'top' | 'bottom' | 'center' | 'left' | 'right' | 'top left' | 'top right' | 'bottom left' | 'bottom right';
+ };
+ shape?: {
+ type: StringConstructor;
+ value?: 'circle' | 'round' | 'square';
+ };
+ showMenuByLongpress?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ src?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ tId?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ webp?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ width?: {
+ type: null;
+ value?: string | number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/image/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/image/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/index.d.ts
new file mode 100644
index 0000000..61905bd
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/index.d.ts
@@ -0,0 +1,4 @@
+export { default as ActionSheet, ActionSheetItem, ActionSheetTheme, ActionSheetShowOption } from './action-sheet/index';
+export { default as Dialog } from './dialog/index';
+export { default as Message } from './message/index';
+export { default as Toast, showToast, hideToast } from './toast/index';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/index.js
new file mode 100644
index 0000000..1fe87cf
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/index.js
@@ -0,0 +1 @@
+export{default as ActionSheet,ActionSheetTheme}from"./action-sheet/index";export{default as Dialog}from"./dialog/index";export{default as Message}from"./message/index";export{default as Toast,showToast,hideToast}from"./toast/index";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.d.ts
new file mode 100644
index 0000000..62d07a1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.d.ts
@@ -0,0 +1,13 @@
+import { RelationsOptions, SuperComponent } from '../common/src/index';
+export default class IndexesAnchor extends SuperComponent {
+ externalClasses: string[];
+ properties: import("./type").TdIndexesAnchorProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ anchorStyle: string;
+ sticky: boolean;
+ active: boolean;
+ };
+ relations: RelationsOptions;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.js
new file mode 100644
index 0000000..7da837b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-indexes-anchor`;let IndexesAnchor=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.properties=props,this.data={prefix:prefix,classPrefix:name,anchorStyle:"",sticky:!1,active:!1},this.relations={"../indexes/indexes":{type:"parent"}}}};IndexesAnchor=__decorate([wxComponent()],IndexesAnchor);export default IndexesAnchor;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.json
new file mode 100644
index 0000000..1bbd8ba
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared"}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.wxml
new file mode 100644
index 0000000..5a5311b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.wxss
new file mode 100644
index 0000000..27a58a0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.wxss
@@ -0,0 +1,10 @@
+@import '../common/style/index.wxss';.t-indexes-anchor{color:var(--td-indexes-anchor-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font-size:var(--td-indexes-anchor-font-size,28rpx);line-height:var(--td-indexes-anchor-line-height,44rpx);}
+.t-indexes-anchor__header{display:none;padding:var(--td-indexes-anchor-padding,8rpx 32rpx);background-color:var(--td-indexes-anchor-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-indexes-anchor__header--active{background-color:var(--td-indexes-anchor-active-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));position:relative;}
+.t-indexes-anchor__header--active::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-indexes-anchor-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
+.t-indexes-anchor__header--active::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-indexes-anchor__slot{overflow:hidden;}
+.t-indexes-anchor__slot:empty+.t-indexes-anchor__header{display:block;}
+.t-indexes-anchor__wrapper{will-change:transform;}
+.t-indexes-anchor__wrapper--sticky{position:fixed;top:var(--td-indexes-anchor-top,0);left:0;width:100%;z-index:1;}
+.t-indexes-anchor__wrapper--active{color:var(--td-indexes-anchor-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));font-weight:var(--td-indexes-anchor-active-font-weight,600);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/props.d.ts
new file mode 100644
index 0000000..7b52adf
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/props.d.ts
@@ -0,0 +1,3 @@
+import { TdIndexesAnchorProps } from './type';
+declare const props: TdIndexesAnchorProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/props.js
new file mode 100644
index 0000000..d33a8b7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/props.js
@@ -0,0 +1 @@
+const props={index:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/type.d.ts
new file mode 100644
index 0000000..1e7fe4c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/type.d.ts
@@ -0,0 +1,6 @@
+export interface TdIndexesAnchorProps {
+ index?: {
+ type: null;
+ value?: string | number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes-anchor/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.d.ts
new file mode 100644
index 0000000..875ffa9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.d.ts
@@ -0,0 +1,49 @@
+import { RelationsOptions, SuperComponent } from '../common/src/index';
+export default class Indexes extends SuperComponent {
+ externalClasses: string[];
+ properties: import("./type").TdIndexesProps;
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ data: {
+ prefix: string;
+ classPrefix: string;
+ _height: number;
+ _indexList: any[];
+ scrollTop: number;
+ activeAnchor: any;
+ showTips: boolean;
+ };
+ relations: RelationsOptions;
+ behaviors: string[];
+ timer: any;
+ groupTop: any[];
+ sidebar: any;
+ observers: {
+ indexList(v: any): void;
+ height(v: any): void;
+ current(current: string | number): void;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ methods: {
+ setHeight(height: string | number): void;
+ setIndexList(list: any): void;
+ getAllRect(): void;
+ getAnchorsRect(): Promise;
+ getSidebarRect(): void;
+ toggleTips(flag: boolean): void;
+ setAnchorByCurrent(current: string | number, source: 'init' | 'click' | 'touch' | 'update'): void;
+ onClick(e: any): void;
+ onTouchMove(e: any): void;
+ onTouchCancel(): void;
+ onTouchEnd(e: any): void;
+ onAnchorTouch: (...args: any[]) => void;
+ setAnchorOnScroll(scrollTop: number): void;
+ onScroll({ scrollTop }: {
+ scrollTop: any;
+ }): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.js
new file mode 100644
index 0000000..d28b790
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{getRect,throttle,systemInfo}from"../common/utils";import pageScrollMixin from"../mixins/page-scroll";const{prefix:prefix}=config,name=`${prefix}-indexes`;let Indexes=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-sidebar`,`${prefix}-class-sidebar-item`],this.properties=props,this.controlledProps=[{key:"current",event:"change"}],this.data={prefix:prefix,classPrefix:name,_height:0,_indexList:[],scrollTop:0,activeAnchor:null,showTips:!1},this.relations={"../indexes-anchor/indexes-anchor":{type:"child"}},this.behaviors=[pageScrollMixin()],this.timer=null,this.groupTop=[],this.sidebar=null,this.observers={indexList(t){this.setIndexList(t),this.setHeight(this.data._height)},height(t){this.setHeight(t)},current(t){t&&this.data.activeAnchor&&t!==this.data.activeAnchor&&this.setAnchorByCurrent(t,"update")}},this.lifetimes={ready(){this.timer=null,this.groupTop=[],this.sidebar=null,0===this.data._height&&this.setHeight(),null===this.data.indexList&&this.setIndexList()}},this.methods={setHeight(t){if(!t){const{windowHeight:e}=systemInfo;t=e}this.setData({_height:t},()=>{this.getAllRect()})},setIndexList(t){if(t)this.setData({_indexList:t});else{const t="A".charCodeAt(0),e=[];for(let i=t,s=t+26;i{this.groupTop.forEach((t,e)=>{const i=this.groupTop[e+1];t.totalHeight=((null==i?void 0:i.top)||1/0)-t.top});const t=this.data.current||this.data._indexList[0];this.setAnchorByCurrent(t,"init")}),this.getSidebarRect()},getAnchorsRect(){return Promise.all(this.$children.map(t=>getRect(t,`.${name}-anchor`).then(e=>{this.groupTop.push({height:e.height,top:e.top,anchor:t.data.index})})))},getSidebarRect(){getRect(this,`#id-${name}__bar`).then(t=>{const{top:e,height:i}=t,{length:s}=this.data._indexList;this.sidebar={top:e,height:i,itemHeight:(i-2*(s-1))/s}})},toggleTips(t){t?this.setData({showTips:!0}):(clearInterval(this.timer),this.timer=setTimeout(()=>{this.setData({showTips:!1})},300))},setAnchorByCurrent(t,e){const{stickyOffset:i}=this.data;if(null!==this.data.activeAnchor&&this.data.activeAnchor===t)return;const s=this.groupTop.find(e=>e.anchor===t);if(s){const o=s.top-i;0===o&&"init"===e?this.setAnchorOnScroll(o):wx.pageScrollTo({scrollTop:o,duration:0}),["click","touch"].includes(e)&&(this.toggleTips(!0),this.triggerEvent("select",{index:t}))}},onClick(t){const{current:e}=t.currentTarget.dataset;this.setAnchorByCurrent(e,"click")},onTouchMove(t){this.onAnchorTouch(t)},onTouchCancel(){this.toggleTips(!1)},onTouchEnd(t){this.toggleTips(!1),this.onAnchorTouch(t)},onAnchorTouch:throttle(function(t){const e=(t=>{const e=t-this.sidebar.top;return e<=0?0:e>this.sidebar.height?this.data._indexList.length-1:Math.floor(e/this.sidebar.itemHeight)})(t.changedTouches[0].clientY);this.setAnchorByCurrent(this.data._indexList[e],"touch")},1e3/30),setAnchorOnScroll(t){if(!this.groupTop)return;const{sticky:e,stickyOffset:i}=this.data;t+=i;const s=this.groupTop.findIndex(e=>t>=e.top-e.height&&t<=e.top+e.totalHeight-e.height);if(-1===s)return;const o=this.groupTop[s];if(this.setData({activeAnchor:o.anchor},()=>{this._trigger("change",{index:o.anchor,current:o.anchor})}),e){const e=o.top-t,h=e0&&t>i;this.$children.forEach((r,n)=>{if(n===s){const s=t>i,n=`transform: translate3d(0, ${h?e:0}px, 0); top: ${i}px`;n===r.data.anchorStyle&&s===r.data.sticky||r.setData({sticky:s,active:!0,style:`height: ${o.height}px`,anchorStyle:n})}else if(n+1===s){const t=`transform: translate3d(0, ${h?e-o.height:0}px, 0); top: ${i}px`;t!==r.data.anchorStyle&&r.setData({sticky:!0,active:!0,style:`height: ${o.height}px`,anchorStyle:t})}else r.setData({active:!1,sticky:!1,anchorStyle:""})})}},onScroll({scrollTop:t}){this.setAnchorOnScroll(t)}}}};Indexes=__decorate([wxComponent()],Indexes);export default Indexes;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.json
new file mode 100644
index 0000000..020034e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-cell":"../cell/cell","t-cell-group":"../cell-group/cell-group"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxml
new file mode 100644
index 0000000..8cb3cb7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxs
new file mode 100644
index 0000000..e8bbe2b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxs
@@ -0,0 +1,7 @@
+function getFirstCharacter(str) {
+ return str.toString().substring(0, 1);
+}
+
+module.exports = {
+ getFirstCharacter: getFirstCharacter,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxss
new file mode 100644
index 0000000..9702302
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxss
@@ -0,0 +1,6 @@
+@import '../common/style/index.wxss';.t-indexes{position:relative;height:100vh;}
+.t-indexes__sidebar{position:fixed;right:var(--td-indexes-sidebar-right,16rpx);width:var(--td-indexes-sidebar-item-size,40rpx);color:var(--td-indexes-sidebar-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font-size:var(--td-indexes-sidebar-font-size,24rpx);line-height:var(--td-indexes-sidebar-line-height,40rpx);display:flex;flex-flow:column nowrap;top:50%;transform:translateY(-50%);z-index:1;}
+.t-indexes__sidebar-item{border-radius:50%;position:relative;text-align:center;}
+.t-indexes__sidebar-item--active{background-color:var(--td-indexes-sidebar-active-bg-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));color:var(--td-indexes-sidebar-active-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));}
+.t-indexes__sidebar-item+.t-indexes__sidebar-item{margin-top:4rpx;}
+.t-indexes__sidebar-tips{min-width:var(--td-indexes-sidebar-tips-size,96rpx);max-width:198rpx;padding:0 32rpx;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:var(--td-indexes-sidebar-tips-size,96rpx);line-height:var(--td-indexes-sidebar-tips-size,96rpx);text-align:center;font-size:var(--td-indexes-sidebar-tips-font-size,40rpx);font-weight:700;color:var(--td-indexes-sidebar-tips-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-indexes-sidebar-tips-bg-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));border-radius:var(--td-indexes-sidebar-tips-size,96rpx);position:absolute;top:50%;bottom:0;transform:translateY(-50%);right:var(--td-indexes-sidebar-tips-right,calc(100% + 32rpx));}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/props.d.ts
new file mode 100644
index 0000000..a3e1619
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/props.d.ts
@@ -0,0 +1,3 @@
+import { TdIndexesProps } from './type';
+declare const props: TdIndexesProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/props.js
new file mode 100644
index 0000000..2df7538
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/props.js
@@ -0,0 +1 @@
+const props={current:{type:null,value:null},defaultCurrent:{type:null},indexList:{type:Array},sticky:{type:Boolean,value:!0},stickyOffset:{type:Number,value:0}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/type.d.ts
new file mode 100644
index 0000000..84c7db4
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/type.d.ts
@@ -0,0 +1,22 @@
+export interface TdIndexesProps {
+ current?: {
+ type: null;
+ value?: string | number;
+ };
+ defaultCurrent?: {
+ type: null;
+ value?: string | number;
+ };
+ indexList?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ sticky?: {
+ type: BooleanConstructor;
+ value?: Boolean;
+ };
+ stickyOffset?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/indexes/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.d.ts
new file mode 100644
index 0000000..155d687
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.d.ts
@@ -0,0 +1,38 @@
+import { SuperComponent } from '../common/src/index';
+export default class Input extends SuperComponent {
+ options: {
+ multipleSlots: boolean;
+ };
+ externalClasses: string[];
+ behaviors: string[];
+ properties: import("./type").TdInputProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ classBasePrefix: string;
+ showClearIcon: boolean;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ observers: {
+ prefixIcon(v: any): void;
+ suffixIcon(v: any): void;
+ clearable(v: any): void;
+ 'clearTrigger, clearable, disabled, readonly'(): void;
+ };
+ methods: {
+ updateValue(value: any): void;
+ updateClearIconVisible(value?: boolean): void;
+ onInput(e: any): void;
+ onChange(e: any): void;
+ onFocus(e: any): void;
+ onBlur(e: any): void;
+ onConfirm(e: any): void;
+ onSuffixClick(): void;
+ onSuffixIconClick(): void;
+ clearInput(e: any): void;
+ onKeyboardHeightChange(e: any): void;
+ onNickNameReview(e: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.js
new file mode 100644
index 0000000..2df0bc0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{getCharacterLength,calcIcon}from"../common/utils";import{isDef}from"../common/validator";const{prefix:prefix}=config,name=`${prefix}-input`;let Input=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.externalClasses=[`${prefix}-class`,`${prefix}-class-prefix-icon`,`${prefix}-class-label`,`${prefix}-class-input`,`${prefix}-class-clearable`,`${prefix}-class-suffix`,`${prefix}-class-suffix-icon`,`${prefix}-class-tips`],this.behaviors=["wx://form-field"],this.properties=props,this.data={prefix:prefix,classPrefix:name,classBasePrefix:prefix,showClearIcon:!0},this.lifetimes={ready(){var e;const{value:t,defaultValue:i}=this.properties;this.updateValue(null!==(e=null!=t?t:i)&&void 0!==e?e:"")}},this.observers={prefixIcon(e){this.setData({_prefixIcon:calcIcon(e)})},suffixIcon(e){this.setData({_suffixIcon:calcIcon(e)})},clearable(e){this.setData({_clearIcon:calcIcon(e,"close-circle-filled")})},"clearTrigger, clearable, disabled, readonly"(){this.updateClearIconVisible()}},this.methods={updateValue(e){const{allowInputOverMax:t,maxcharacter:i,maxlength:a}=this.properties;if(!t&&i&&i>0&&!Number.isNaN(i)){const{length:t,characters:a}=getCharacterLength("maxcharacter",e,i);this.setData({value:a,count:t})}else if(!t&&a&&a>0&&!Number.isNaN(a)){const{length:t,characters:i}=getCharacterLength("maxlength",e,a);this.setData({value:i,count:t})}else this.setData({value:e,count:isDef(e)?String(e).length:0})},updateClearIconVisible(e=!1){const{clearTrigger:t,disabled:i,readonly:a}=this.properties;i||a?this.setData({showClearIcon:!1}):this.setData({showClearIcon:e||"always"===t})},onInput(e){const{value:t,cursor:i,keyCode:a}=e.detail;this.updateValue(t),this.triggerEvent("change",{value:this.data.value,cursor:i,keyCode:a})},onChange(e){if("nickname"!==this.properties.type)return;const{value:t}=e.detail;this.updateValue(t),this.triggerEvent("change",{value:this.data.value})},onFocus(e){this.updateClearIconVisible(!0),this.triggerEvent("focus",e.detail)},onBlur(e){if(this.updateClearIconVisible(),"function"==typeof this.properties.format){const t=this.properties.format(e.detail.value);return this.updateValue(t),void this.triggerEvent("blur",{value:this.data.value,cursor:this.data.count})}this.triggerEvent("blur",e.detail)},onConfirm(e){this.triggerEvent("enter",e.detail)},onSuffixClick(){this.triggerEvent("click",{trigger:"suffix"})},onSuffixIconClick(){this.triggerEvent("click",{trigger:"suffix-icon"})},clearInput(e){this.triggerEvent("clear",e.detail),this.setData({value:""})},onKeyboardHeightChange(e){this.triggerEvent("keyboardheightchange",e.detail)},onNickNameReview(e){this.triggerEvent("nicknamereview",e.detail)}}}};Input=__decorate([wxComponent()],Input);export default Input;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.json
new file mode 100644
index 0000000..9269b92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.wxml
new file mode 100644
index 0000000..82552d1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.wxml
@@ -0,0 +1 @@
+{{label}}{{suffix}}{{tips}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.wxs
new file mode 100644
index 0000000..ee9eb11
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.wxs
@@ -0,0 +1,16 @@
+function getInputClass(classPrefix, suffix, align, disabled) {
+ var className = [classPrefix + '__control'];
+
+ if (align) {
+ className.push(classPrefix + '--' + align);
+ }
+
+ if (disabled) {
+ className.push(classPrefix + '__control--disabled');
+ }
+ return className.join(' ');
+}
+
+module.exports = {
+ getInputClass: getInputClass,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.wxss
new file mode 100644
index 0000000..01c8b2e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/input.wxss
@@ -0,0 +1,33 @@
+@import '../common/style/index.wxss';.t-input{background-color:var(--td-input-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));display:flex;align-items:var(--td-input-align-items,center);flex:1;padding:var(--td-input-vertical-padding,32rpx);overflow:hidden;}
+.t-input--border{position:relative;}
+.t-input--border::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-input-border-color,var(--td-component-stroke,var(--td-gray-color-3,#e7e7e7)));}
+.t-input--border::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-input--border:after{left:var(--td-input-border-left-space,32rpx);right:var(--td-input-border-right-space,0);}
+.t-input--layout-vertical{flex-direction:column;align-items:start;}
+.t-input__wrap--prefix{display:flex;}
+.t-input__icon--prefix{font-size:48rpx;color:var(--td-input-prefix-icon-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-input__label:not(:empty){min-width:var(--td-input-label-min-width,2em);max-width:var(--td-input-label-max-width,5em);font-size:var(--td-font-size-m,32rpx);line-height:48rpx;color:var(--td-input-label-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));margin-right:var(--td-spacer-2,32rpx);word-wrap:break-word;}
+.t-input--layout-vertical .t-input__label:not(:empty){font-size:var(--td-font-size-base,28rpx);padding-bottom:8rpx;}
+.t-input__icon--prefix:not(:empty)+.t-input__label:not(:empty){padding-left:8rpx;}
+.t-input__label:not(:empty)+.t-input__wrap{margin-left:var(--td-spacer-2,32rpx);}
+.t-input__icon--prefix:not(:empty)+.t-input__label:empty{margin-right:var(--td-spacer-2,32rpx);}
+.t-input__wrap{width:100%;display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center;flex-shrink:1;flex:1;}
+.t-input__wrap .t-input__content{display:flex;width:100%;align-items:center;line-height:48rpx;font-size:var(--td-font-size-m,32rpx);}
+.t-input__wrap--clearable-icon,.t-input__wrap--suffix,.t-input__wrap--suffix-icon{flex:0 0 auto;padding-left:var(--td-spacer-1,24rpx);}
+.t-input__wrap--clearable-icon:empty,.t-input__wrap--suffix-icon:empty,.t-input__wrap--suffix:empty{display:none;}
+.t-input__wrap--clearable-icon,.t-input__wrap--suffix-icon{font-size:48rpx;color:var(--td-input-suffix-icon-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.t-input__wrap--suffix{font-size:var(--td-font-size-m,32rpx);color:var(--td-input-suffix-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-input__icon--prefix:empty,.t-input__tips:empty,.t-input__wrap--clearable-icon:empty,.t-input__wrap--suffix-icon:empty,.t-input__wrap--suffix:empty{display:none;}
+.t-input__control{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:48rpx;margin:0;padding:0;color:var(--td-input-default-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));line-height:inherit;background-color:transparent;border:0;resize:none;font-size:inherit;}
+.t-input__control--disabled{color:var(--td-input-disabled-text-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));cursor:not-allowed;opacity:1;-webkit-text-fill-color:currentColor;}
+.t-input__control--read-only{cursor:default;}
+.t-input--left{text-align:left;}
+.t-input--right{text-align:right;}
+.t-input--center{text-align:center;}
+.t-input__placeholder{color:var(--td-input-placeholder-text-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));font-size:var(--td-input-placeholder-text-font-size,var(--td-font-size-m,32rpx));}
+.t-input__placeholder--disabled{color:var(--td-input-disabled-text-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-input__tips{font-size:var(--td-font-size-s,24rpx);line-height:40rpx;padding-top:8rpx;}
+.t-input--default+.t-input__tips{color:var(--td-input-default-tips-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.t-input--success+.t-input__tips{color:var(--td-input-success-tips-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));}
+.t-input--warning+.t-input__tips{color:var(--td-input-warning-tips-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));}
+.t-input--error+.t-input__tips{color:var(--td-input-error-tips-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/input/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/props.d.ts
new file mode 100644
index 0000000..1bd2f9a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/props.d.ts
@@ -0,0 +1,3 @@
+import { TdInputProps } from './type';
+declare const props: TdInputProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/input/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/props.js
new file mode 100644
index 0000000..819dfb7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/props.js
@@ -0,0 +1 @@
+const props={adjustPosition:{type:Boolean,value:!0},align:{type:String,value:"left"},allowInputOverMax:{type:Boolean,value:!1},alwaysEmbed:{type:Boolean,value:!1},autoFocus:{type:Boolean,value:!1},borderless:{type:Boolean,value:!1},clearTrigger:{type:String,value:"always"},clearable:{type:null,value:!1},confirmHold:{type:Boolean,value:!1},confirmType:{type:String,value:"done"},cursor:{type:Number,value:-1,required:!0},cursorColor:{type:String,value:"#0052d9"},cursorSpacing:{type:Number,value:0},disabled:{type:null,value:void 0},focus:{type:Boolean,value:!1},format:{type:null},holdKeyboard:{type:Boolean,value:!1},label:{type:String},layout:{type:String,value:"horizontal"},maxcharacter:{type:Number},maxlength:{type:Number,value:-1},placeholder:{type:String,value:void 0},placeholderClass:{type:String,value:"input-placeholder"},placeholderStyle:{type:String,value:"",required:!0},prefixIcon:{type:null},readonly:{type:null,value:void 0},safePasswordCertPath:{type:String,value:""},safePasswordCustomHash:{type:String,value:""},safePasswordLength:{type:Number},safePasswordNonce:{type:String,value:""},safePasswordSalt:{type:String,value:""},safePasswordTimeStamp:{type:Number},selectionEnd:{type:Number,value:-1},selectionStart:{type:Number,value:-1},status:{type:String,value:"default"},suffix:{type:String},suffixIcon:{type:null},tips:{type:String},type:{type:String,value:"text"},value:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/input/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/type.d.ts
new file mode 100644
index 0000000..a5b6b8a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/type.d.ts
@@ -0,0 +1,166 @@
+export interface TdInputProps {
+ adjustPosition?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ align?: {
+ type: StringConstructor;
+ value?: 'left' | 'center' | 'right';
+ };
+ allowInputOverMax?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ alwaysEmbed?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ autoFocus?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ borderless?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ clearTrigger?: {
+ type: StringConstructor;
+ value?: 'always' | 'focus';
+ };
+ clearable?: {
+ type: null;
+ value?: boolean | object;
+ };
+ confirmHold?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ confirmType?: {
+ type: StringConstructor;
+ value?: 'send' | 'search' | 'next' | 'go' | 'done';
+ };
+ cursor: {
+ type: NumberConstructor;
+ value?: number;
+ required?: boolean;
+ };
+ cursorColor?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ cursorSpacing?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ focus?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ format?: {
+ type: undefined;
+ value?: InputFormatType;
+ };
+ holdKeyboard?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ label?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ layout?: {
+ type: StringConstructor;
+ value?: 'vertical' | 'horizontal';
+ };
+ maxcharacter?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ maxlength?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ placeholder?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ placeholderClass?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ placeholderStyle: {
+ type: StringConstructor;
+ value?: string;
+ required?: boolean;
+ };
+ prefixIcon?: {
+ type: null;
+ value?: string | object;
+ };
+ readonly?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ safePasswordCertPath?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ safePasswordCustomHash?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ safePasswordLength?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ safePasswordNonce?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ safePasswordSalt?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ safePasswordTimeStamp?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ selectionEnd?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ selectionStart?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ status?: {
+ type: StringConstructor;
+ value?: 'default' | 'success' | 'warning' | 'error';
+ };
+ suffix?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ suffixIcon?: {
+ type: null;
+ value?: string | object;
+ };
+ tips?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ type?: {
+ type: StringConstructor;
+ value?: 'text' | 'number' | 'idcard' | 'digit' | 'safe-password' | 'password' | 'nickname';
+ };
+ value?: {
+ type: null;
+ value?: InputValue;
+ };
+}
+export declare type InputFormatType = (value: InputValue) => string;
+export declare type InputValue = string | number;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/input/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/input/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.d.ts
new file mode 100644
index 0000000..f407a65
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.d.ts
@@ -0,0 +1,26 @@
+import { SuperComponent } from '../common/src/index';
+export default class Link extends SuperComponent {
+ externalClasses: string[];
+ properties: import("./type").TdLinkProps;
+ options: {
+ multipleSlots: boolean;
+ };
+ data: {
+ prefix: string;
+ classPrefix: string;
+ };
+ observers: {
+ 'theme, disabled, size, underline, navigatorProps'(): void;
+ prefixIcon(v: any): void;
+ suffixIcon(v: any): void;
+ };
+ lifetimes: {
+ attached(): void;
+ };
+ methods: {
+ setClass(): void;
+ onSuccess(e: any): void;
+ onFail(e: any): void;
+ onComplete(e: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.js
new file mode 100644
index 0000000..bb939a3
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{calcIcon}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-link`;let Link=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-hover`,`${prefix}-class-prefix-icon`,`${prefix}-class-content`,`${prefix}-class-suffix-icon`],this.properties=props,this.options={multipleSlots:!0},this.data={prefix:prefix,classPrefix:name},this.observers={"theme, disabled, size, underline, navigatorProps"(){this.setClass()},prefixIcon(e){this.setData({_prefixIcon:calcIcon(e)})},suffixIcon(e){this.setData({_suffixIcon:calcIcon(e)})}},this.lifetimes={attached(){this.setClass()}},this.methods={setClass(){const{theme:e,size:s,underline:i,navigatorProps:t,disabled:o}=this.properties,n=[name,`${name}--${e}`,`${name}--${s}`],{url:r,appId:a,shortLink:p,target:c,openType:l}=null!=t?t:{},m=!(r||"miniProgram"===c&&(a||p));i&&n.push(`${name}--underline`),(t&&m&&!["navigateBack","exit"].includes(l)||o)&&n.push(`${name}--disabled`),this.setData({className:n.join(" ")})},onSuccess(e){this.triggerEvent("success",e)},onFail(e){this.triggerEvent("fail",e)},onComplete(e){this.triggerEvent("complete",e)}}}};Link=__decorate([wxComponent()],Link);export default Link;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.json
new file mode 100644
index 0000000..9269b92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.wxml
new file mode 100644
index 0000000..8c2445e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.wxml
@@ -0,0 +1 @@
+{{content}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.wxss
new file mode 100644
index 0000000..f4e632b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/link.wxss
@@ -0,0 +1,35 @@
+@import '../common/style/index.wxss';.t-link--small .t-link__content{font-size:24rpx;line-height:40rpx;}
+.t-link--small .t-link__prefix-icon,.t-link--small .t-link__suffix-icon{font-size:28rpx;}
+.t-link--medium .t-link__content{font-size:28rpx;line-height:44rpx;}
+.t-link--medium .t-link__prefix-icon,.t-link--medium .t-link__suffix-icon{font-size:32rpx;}
+.t-link--large .t-link__content{font-size:32rpx;line-height:48rpx;}
+.t-link--large .t-link__prefix-icon,.t-link--large .t-link__suffix-icon{font-size:36rpx;}
+.t-link--primary{color:var(--td-link-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-link--primary.t-link--underline::after{border-color:var(--td-link-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-link--primary.t-link--disabled{color:var(--td-link-primary-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-link--primary.t-link--hover{color:var(--td-link-primary-active-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
+.t-link--primary.t-link--hover.t-link--underline::after{border-color:var(--td-link-primary-active-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
+.t-link--success{color:var(--td-link-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));}
+.t-link--success.t-link--underline::after{border-color:var(--td-link-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));}
+.t-link--success.t-link--disabled{color:var(--td-link-success-disabled-color,var(--td-success-color-disabled,var(--td-success-color-3,#92dab2)));}
+.t-link--success.t-link--hover{color:var(--td-link-success-active-color,var(--td-success-color-active,var(--td-success-color-6,#008858)));}
+.t-link--success.t-link--hover.t-link--underline::after{border-color:var(--td-link-success-active-color,var(--td-success-color-active,var(--td-success-color-6,#008858)));}
+.t-link--warning{color:var(--td-link-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));}
+.t-link--warning.t-link--underline::after{border-color:var(--td-link-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));}
+.t-link--warning.t-link--disabled{color:var(--td-link-warning-disabled-color,var(--td-warning-color-disabled,var(--td-warning-color-3,#ffb98c)));}
+.t-link--warning.t-link--hover{color:var(--td-link-warning-active-color,var(--td-warning-color-active,var(--td-warning-color-6,#be5a00)));}
+.t-link--warning.t-link--hover.t-link--underline::after{border-color:var(--td-link-warning-active-color,var(--td-warning-color-active,var(--td-warning-color-6,#be5a00)));}
+.t-link--default{color:var(--td-link-default-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-link--default.t-link--underline::after{border-color:var(--td-link-default-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-link--default.t-link--disabled{color:var(--td-link-default-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-link--default.t-link--hover{color:var(--td-link-default-active-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
+.t-link--default.t-link--hover.t-link--underline::after{border-color:var(--td-link-default-active-color,var(--td-brand-color-active,var(--td-primary-color-8,#003cab)));}
+.t-link--danger{color:var(--td-link-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-link--danger.t-link--underline::after{border-color:var(--td-link-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-link--danger.t-link--disabled{color:var(--td-link-danger-disabled-color,var(--td-error-color-disabled,var(--td-error-color-3,#ffb9b0)));}
+.t-link--danger.t-link--hover{color:var(--td-link-danger-active-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));}
+.t-link--danger.t-link--hover.t-link--underline::after{border-color:var(--td-link-danger-active-color,var(--td-error-color-active,var(--td-error-color-7,#ad352f)));}
+.t-link{position:relative;display:flex;align-items:center;box-sizing:content-box;}
+.t-link--underline::after{content:'';position:absolute;left:0;right:0;height:0;bottom:0;opacity:1;border-bottom:2rpx solid #cd0be7;}
+.t-link__prefix-icon:not(:empty)+.t-link__content:not(:empty){padding-left:8rpx;}
+.t-link__content:not(:empty)+.t-link__suffix-icon:not(:empty){padding-left:8rpx;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/link/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/props.d.ts
new file mode 100644
index 0000000..bbdacae
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/props.d.ts
@@ -0,0 +1,3 @@
+import { TdLinkProps } from './type';
+declare const props: TdLinkProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/link/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/props.js
new file mode 100644
index 0000000..b9738de
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/props.js
@@ -0,0 +1 @@
+const props={content:{type:String},disabled:{type:Boolean,value:!1},hover:{type:Boolean},navigatorProps:{type:Object},prefixIcon:{type:null},size:{type:String,value:"medium"},suffixIcon:{type:null},theme:{type:String,value:"default"},underline:{type:Boolean}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/link/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/type.d.ts
new file mode 100644
index 0000000..f261141
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/type.d.ts
@@ -0,0 +1,39 @@
+import { SizeEnum } from '../common/common';
+export interface TdLinkProps {
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ hover?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ navigatorProps?: {
+ type: ObjectConstructor;
+ value?: object;
+ };
+ prefixIcon?: {
+ type: null;
+ value?: string | object;
+ };
+ size?: {
+ type: StringConstructor;
+ value?: SizeEnum;
+ };
+ suffixIcon?: {
+ type: null;
+ value?: string | object;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'default' | 'primary' | 'danger' | 'warning' | 'success';
+ };
+ underline?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/link/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/link/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/index.d.ts
new file mode 100644
index 0000000..2806bd6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/index.d.ts
@@ -0,0 +1,3 @@
+export * from './props';
+export * from './type';
+export * from './loading';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/index.js
new file mode 100644
index 0000000..00a3bd6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/index.js
@@ -0,0 +1 @@
+export*from"./props";export*from"./type";export*from"./loading";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.d.ts
new file mode 100644
index 0000000..4d2f2d4
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.d.ts
@@ -0,0 +1,77 @@
+import { SuperComponent } from '../common/src/index';
+import type { TdLoadingProps } from './type';
+export interface LoadingProps extends TdLoadingProps {
+}
+export default class Loading extends SuperComponent {
+ externalClasses: string[];
+ data: {
+ prefix: string;
+ classPrefix: string;
+ show: boolean;
+ };
+ options: {
+ multipleSlots: boolean;
+ };
+ properties: {
+ delay?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ duration?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ fullscreen?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ indicator?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ inheritColor?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ layout?: {
+ type: StringConstructor;
+ value?: "horizontal" | "vertical";
+ };
+ loading?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ pause?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ progress?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ reverse?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ size?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ text?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: "circular" | "spinner" | "dots";
+ };
+ };
+ timer: any;
+ observers: {
+ loading(this: any, cur: any): void;
+ };
+ lifetimes: {
+ detached(): void;
+ };
+ refreshPage(): void;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.js
new file mode 100644
index 0000000..5ca2acd
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-loading`;let Loading=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-text`,`${prefix}-class-indicator`],this.data={prefix:prefix,classPrefix:name,show:!0},this.options={multipleSlots:!0},this.properties=Object.assign({},props),this.timer=null,this.observers={loading(e){const{delay:t}=this.properties;this.timer&&clearTimeout(this.timer),e&&t?this.timer=setTimeout(()=>{this.setData({show:e}),this.timer=null},t):this.setData({show:e})}},this.lifetimes={detached(){clearTimeout(this.timer)}}}refreshPage(){this.triggerEvent("reload")}};Loading=__decorate([wxComponent()],Loading);export default Loading;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.wxml
new file mode 100644
index 0000000..6ffc154
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.wxml
@@ -0,0 +1 @@
+{{text}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.wxss
new file mode 100644
index 0000000..8fd1b5f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/loading.wxss
@@ -0,0 +1,47 @@
+@import '../common/style/index.wxss';.t-loading{display:inline-flex;align-items:center;justify-content:center;font-size:24rpx;}
+.t-loading--fullscreen{position:fixed;display:flex;align-items:center;vertical-align:middle;justify-content:center;top:0;left:0;width:100%;height:100%;z-index:var(--td-loading-z-index,3500);background-color:var(--td-loading-full-bg-color,rgba(255,255,255,.6));}
+.t-loading__spinner{position:relative;box-sizing:border-box;width:100%;height:100%;max-width:100%;max-height:100%;animation:rotate .8s linear infinite;color:var(--td-loading-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-loading__spinner.reverse{animation-name:rotateReverse;}
+.t-loading__spinner--spinner{animation-timing-function:steps(12);color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));}
+.t-loading__spinner--spinner .t-loading__dot{position:absolute;top:0;left:0;width:100%;height:100%;}
+.t-loading__spinner--spinner .t-loading__dot::before{display:block;width:5rpx;height:25%;margin:0 auto;background-color:var(--td-loading-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-radius:40%;content:' ';}
+.t-loading__spinner--circular .t-loading__circular{border-radius:100%;width:100%;height:100%;background:conic-gradient(from 180deg at 50% 50%,rgba(255,255,255,0) 0deg,rgba(255,255,255,0) 60deg,currentColor 330deg,rgba(255,255,255,0) 360deg);mask:radial-gradient(transparent calc(50% - 1rpx),#fff 50%);-webkit-mask:radial-gradient(transparent calc(50% - 1rpx),#fff 50%);}
+.t-loading__spinner--dots{display:flex;justify-content:space-between;align-items:center;animation:none;}
+.t-loading__spinner--dots .t-loading__dot{width:20%;height:20%;border-radius:50%;background-color:var(--td-loading-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));animation-duration:1.8s;animation-name:dotting;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both;}
+.t-loading__text{color:var(--td-loading-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font-size:var(--td-loading-text-font-size,24rpx);line-height:var(--td-loading-text-line-height,40rpx);}
+.t-loading__text--vertical:not(:first-child):not(:empty){margin-top:12rpx;}
+.t-loading__text--horizontal:not(:first-child):not(:empty){margin-left:16rpx;}
+.t-loading--vertical{flex-direction:column;}
+.t-loading--horizontal{flex-direction:row;vertical-align:top;}
+@keyframes t-bar{
+0%{width:0;}
+50%{width:70%;}
+100%{width:80%;}}
+@keyframes t-bar-loaded{
+0%{height:6rpx;opacity:1;width:90%;}
+50%{height:6rpx;opacity:1;width:100%;}
+100%{height:0;opacity:0;width:100%;}}
+.t-loading__dot-1{transform:rotate(30deg);opacity:0;}
+.t-loading__dot-2{transform:rotate(60deg);opacity:.08333333;}
+.t-loading__dot-3{transform:rotate(90deg);opacity:.16666667;}
+.t-loading__dot-4{transform:rotate(120deg);opacity:.25;}
+.t-loading__dot-5{transform:rotate(150deg);opacity:.33333333;}
+.t-loading__dot-6{transform:rotate(180deg);opacity:.41666667;}
+.t-loading__dot-7{transform:rotate(210deg);opacity:.5;}
+.t-loading__dot-8{transform:rotate(240deg);opacity:.58333333;}
+.t-loading__dot-9{transform:rotate(270deg);opacity:.66666667;}
+.t-loading__dot-10{transform:rotate(300deg);opacity:.75;}
+.t-loading__dot-11{transform:rotate(330deg);opacity:.83333333;}
+.t-loading__dot-12{transform:rotate(360deg);opacity:.91666667;}
+@keyframes rotate{
+from{transform:rotate(0);}
+to{transform:rotate(360deg);}}
+@keyframes rotateReverse{
+from{transform:rotate(360deg);}
+to{transform:rotate(0);}}
+@keyframes dotting{
+0%{opacity:.15;}
+1%{opacity:.8;}
+33%{opacity:.8;}
+34%{opacity:.15;}
+100%{opacity:.15;}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/props.d.ts
new file mode 100644
index 0000000..a05a659
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/props.d.ts
@@ -0,0 +1,3 @@
+import { TdLoadingProps } from './type';
+declare const props: TdLoadingProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/props.js
new file mode 100644
index 0000000..2dcd35c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/props.js
@@ -0,0 +1 @@
+const props={delay:{type:Number,value:0},duration:{type:Number,value:800},fullscreen:{type:Boolean,value:!1},indicator:{type:Boolean,value:!0},inheritColor:{type:Boolean,value:!1},layout:{type:String,value:"horizontal"},loading:{type:Boolean,value:!0},pause:{type:Boolean,value:!1},progress:{type:Number},reverse:{type:Boolean},size:{type:String,value:"20px"},text:{type:String},theme:{type:String,value:"circular"}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/type.d.ts
new file mode 100644
index 0000000..1f9de06
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/type.d.ts
@@ -0,0 +1,54 @@
+export interface TdLoadingProps {
+ delay?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ duration?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ fullscreen?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ indicator?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ inheritColor?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ layout?: {
+ type: StringConstructor;
+ value?: 'horizontal' | 'vertical';
+ };
+ loading?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ pause?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ progress?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ reverse?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ size?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ text?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'circular' | 'spinner' | 'dots';
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/loading/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/index.d.ts
new file mode 100644
index 0000000..82441ea
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/index.d.ts
@@ -0,0 +1,17 @@
+///
+///
+///
+import { MessageProps } from '../message/message.interface';
+declare type Context = WechatMiniprogram.Page.TrivialInstance | WechatMiniprogram.Component.TrivialInstance;
+interface MessageActionOptionsType extends Optional {
+ context?: Context;
+ selector?: string;
+}
+declare const _default: {
+ info(options: MessageActionOptionsType): WechatMiniprogram.Component.TrivialInstance;
+ success(options: MessageActionOptionsType): WechatMiniprogram.Component.TrivialInstance;
+ warning(options: MessageActionOptionsType): WechatMiniprogram.Component.TrivialInstance;
+ error(options: MessageActionOptionsType): WechatMiniprogram.Component.TrivialInstance;
+ hide(options: MessageActionOptionsType): void;
+};
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/index.js
new file mode 100644
index 0000000..6bb8546
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/index.js
@@ -0,0 +1 @@
+import{__rest}from"tslib";import{MessageType}from"../message/message.interface";import{getInstance}from"../common/utils";const showMessage=function(e,s=MessageType.info){const{context:t,selector:o="#t-message"}=e,n=__rest(e,["context","selector"]),a=getInstance(t,o);if(a)return a.resetData(()=>{a.setData(Object.assign({theme:s},n),a.show.bind(a))}),a;console.error("未找到组件,请确认 selector && context 是否正确")};export default{info:e=>showMessage(e,MessageType.info),success:e=>showMessage(e,MessageType.success),warning:e=>showMessage(e,MessageType.warning),error:e=>showMessage(e,MessageType.error),hide(e){const{context:s,selector:t="#t-message"}=Object.assign({},e),o=getInstance(s,t);o&&o.hide()}};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.d.ts
new file mode 100644
index 0000000..49bdb7e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.d.ts
@@ -0,0 +1,39 @@
+///
+import { SuperComponent, ComponentsOptionsType } from '../common/src/index';
+import { MessageProps } from '../message/message.interface';
+export default class Message extends SuperComponent {
+ externalClasses: string[];
+ options: ComponentsOptionsType;
+ properties: MessageProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ loop: number;
+ animation: any[];
+ showAnimation: any[];
+ wrapTop: number;
+ fadeClass: string;
+ };
+ closeTimeoutContext: number;
+ nextAnimationContext: number;
+ resetAnimation: WechatMiniprogram.Animation;
+ observers: {
+ marquee(val: any): void;
+ 'icon, theme'(icon: any, theme: any): void;
+ link(v: any): void;
+ closeBtn(v: any): void;
+ };
+ lifetimes: {
+ ready(): void;
+ detached(): void;
+ };
+ memoInitialData(): void;
+ resetData(cb: () => void): void;
+ checkAnimation(): void;
+ clearMessageAnimation(): void;
+ show(offsetHeight?: number): void;
+ hide(): void;
+ reset(): void;
+ handleClose(): void;
+ handleLinkClick(): void;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.js
new file mode 100644
index 0000000..98adc9a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"../message/props";import{getRect,unitConvert,calcIcon}from"../common/utils";import{isObject}from"../common/validator";const{prefix:prefix}=config,name=`${prefix}-message`,SHOW_DURATION=500,THEME_ICON={info:"info-circle-filled",success:"check-circle-filled",warning:"error-circle-filled",error:"error-circle-filled"};let Message=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-icon`,`${prefix}-class-link`,`${prefix}-class-close-btn`],this.options={multipleSlots:!0},this.properties=Object.assign({},props),this.data={prefix:prefix,classPrefix:name,loop:-1,animation:[],showAnimation:[],wrapTop:-999,fadeClass:""},this.closeTimeoutContext=0,this.nextAnimationContext=0,this.resetAnimation=wx.createAnimation({duration:0,timingFunction:"linear"}),this.observers={marquee(t){"{}"!==JSON.stringify(t)&&"true"!==JSON.stringify(t)||this.setData({marquee:{speed:50,loop:-1,delay:0}})},"icon, theme"(t,e){this.setData({_icon:calcIcon(t,THEME_ICON[e])})},link(t){const e=isObject(t)?Object.assign({},t):{content:t};this.setData({_link:e})},closeBtn(t){this.setData({_closeBtn:calcIcon(t,"close")})}},this.lifetimes={ready(){this.memoInitialData()},detached(){this.clearMessageAnimation()}}}memoInitialData(){this.initialData=Object.assign(Object.assign({},this.properties),this.data)}resetData(t){this.setData(Object.assign({},this.initialData),t)}checkAnimation(){const{marquee:t}=this.properties;if(!t||0===t.loop)return;const e=t.speed;if(this.data.loop>0)this.data.loop-=1;else if(0===this.data.loop)return void this.setData({animation:this.resetAnimation.translateX(0).step().export()});this.nextAnimationContext&&this.clearMessageAnimation();const i=`#${name}__text-wrap`,s=`#${name}__text`;Promise.all([getRect(this,s),getRect(this,i)]).then(([t,i])=>{this.setData({animation:this.resetAnimation.translateX(i.width).step().export()},()=>{const s=(t.width+i.width)/e*1e3,a=wx.createAnimation({duration:s}).translateX(-t.width).step().export();setTimeout(()=>{this.nextAnimationContext=setTimeout(this.checkAnimation.bind(this),s),this.setData({animation:a})},20)})})}clearMessageAnimation(){clearTimeout(this.nextAnimationContext),this.nextAnimationContext=0}show(t=0){const{duration:e,marquee:i,offset:s,id:a}=this.properties;this.setData({visible:!0,loop:i.loop||this.data.loop,fadeClass:`${name}__fade`,wrapTop:unitConvert(s[0])+t}),this.reset(),this.checkAnimation(),e&&e>0&&(this.closeTimeoutContext=setTimeout(()=>{this.hide(),this.triggerEvent("duration-end",{self:this})},e));getRect(this,a?`#${a}`:`#${name}`).then(t=>{this.setData({height:t.height},()=>{this.setData({fadeClass:""})})})}hide(){this.reset(),this.setData({fadeClass:`${name}__fade`}),setTimeout(()=>{this.setData({visible:!1,animation:[]})},500),"function"==typeof this.onHide&&this.onHide()}reset(){this.nextAnimationContext&&this.clearMessageAnimation(),clearTimeout(this.closeTimeoutContext),this.closeTimeoutContext=0}handleClose(){this.hide(),this.triggerEvent("close-btn-click")}handleLinkClick(){this.triggerEvent("link-click")}};Message=__decorate([wxComponent()],Message);export default Message;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.json
new file mode 100644
index 0000000..ddbc1d7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-link":"../link/link"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxml
new file mode 100644
index 0000000..3022a37
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxml
@@ -0,0 +1 @@
+{{content}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxs
new file mode 100644
index 0000000..4cf0bd9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxs
@@ -0,0 +1,29 @@
+var isEmptyObj = function (obj) {
+ return JSON.stringify(obj) === '{}';
+};
+
+var changeNumToStr = function (arr) {
+ return arr.map(function (item) {
+ return typeof item === 'number' ? item + 'rpx' : item;
+ });
+};
+
+var getMessageStyles = function (zIndex, offset, wrapTop) {
+ var arr = changeNumToStr(offset || [0, 0]);
+ var left = arr[1] || 0;
+ var right = arr[1] || 0;
+
+ var zIndexStyle = zIndex ? 'z-index:' + zIndex + ';' : '';
+ var styleOffset = '';
+
+ styleOffset += 'top:' + wrapTop + 'px;';
+ styleOffset += 'left:' + left + ';';
+ styleOffset += 'right:' + right + ';';
+
+ return zIndexStyle + styleOffset;
+};
+
+module.exports = {
+ getMessageStyles: getMessageStyles,
+ isEmptyObj: isEmptyObj,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxss
new file mode 100644
index 0000000..44c8ca9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxss
@@ -0,0 +1,13 @@
+@import '../common/style/index.wxss';.t-message{position:fixed;top:0;left:0;right:0;transition:opacity .3s,transform .4s,top .4s;display:flex;justify-content:flex-start;height:96rpx;align-items:center;z-index:15000;padding:0 32rpx;box-sizing:border-box;border-radius:var(--td-message-border-radius,var(--td-radius-default,12rpx));line-height:1;background-color:var(--td-message-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));box-shadow:var(--td-message-box-shadow,var(--td-shadow-1,0 1px 10px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.08),0 2px 4px -1px rgba(0,0,0,.12)));}
+.t-message__text{display:inline-block;color:var(--td-message-content-font-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font-size:var(--td-font-size-base,28rpx);line-height:44rpx;}
+.t-message__text-wrap{flex:1 1 auto;overflow-x:hidden;text-overflow:ellipsis;}
+.t-message__text-nowrap{word-break:keep-all;white-space:nowrap;}
+.t-message--info{color:var(--td-message-info-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-message--success{color:var(--td-message-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));}
+.t-message--warning{color:var(--td-message-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));}
+.t-message--error{color:var(--td-message-error-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-message__icon--left,.t-message__icon--right{font-size:44rpx;}
+.t-message__icon--left:not(:empty){margin-right:var(--td-spacer,16rpx);}
+.t-message__icon--right{color:var(--td-message-close-icon-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.t-message__icon--right:not(:empty),.t-message__link{flex:0 0 auto;margin-left:var(--td-spacer,16rpx);}
+.t-message__fade{opacity:0;transform:translateY(-100%);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/index.d.ts
new file mode 100644
index 0000000..a8cf1e3
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/index.d.ts
@@ -0,0 +1,17 @@
+///
+///
+///
+import { MessageProps } from './message.interface';
+declare type Context = WechatMiniprogram.Page.TrivialInstance | WechatMiniprogram.Component.TrivialInstance;
+interface MessageActionOptionsType extends Optional {
+ context?: Context;
+ selector?: string;
+}
+declare const _default: {
+ info(options: MessageActionOptionsType): WechatMiniprogram.Component.TrivialInstance;
+ success(options: MessageActionOptionsType): WechatMiniprogram.Component.TrivialInstance;
+ warning(options: MessageActionOptionsType): WechatMiniprogram.Component.TrivialInstance;
+ error(options: MessageActionOptionsType): WechatMiniprogram.Component.TrivialInstance;
+ hide(options: MessageActionOptionsType): void;
+};
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/index.js
new file mode 100644
index 0000000..8016163
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/index.js
@@ -0,0 +1 @@
+import{__rest}from"tslib";import{MessageType}from"./message.interface";import{getInstance}from"../common/utils";const showMessage=function(e,s=MessageType.info){const{context:t,selector:o="#t-message"}=e,n=__rest(e,["context","selector"]),r=getInstance(t,o);if("boolean"!=typeof n.single&&(n.single=!0),r)return r.setMessage(n,s),r;console.error("未找到组件,请确认 selector && context 是否正确")};export default{info:e=>showMessage(e,MessageType.info),success:e=>showMessage(e,MessageType.success),warning:e=>showMessage(e,MessageType.warning),error:e=>showMessage(e,MessageType.error),hide(e){const{context:s,selector:t="#t-message"}=Object.assign({},e),o=getInstance(s,t);o&&o.hide()}};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.d.ts
new file mode 100644
index 0000000..e3de7ca
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.d.ts
@@ -0,0 +1,37 @@
+///
+import { SuperComponent, ComponentsOptionsType } from '../common/src/index';
+import { MessageType, MessageProps } from './message.interface';
+export default class Message extends SuperComponent {
+ options: ComponentsOptionsType;
+ properties: MessageProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ messageList: any[];
+ };
+ index: number;
+ instances: any[];
+ gap: number;
+ observers: {
+ visible(value: any): void;
+ };
+ pageLifetimes: {
+ show(): void;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ memoInitialData(): void;
+ setMessage(msg: MessageProps, theme?: MessageType): void;
+ addMessage(msgObj: MessageProps): void;
+ getOffsetHeight(index?: number): number;
+ showMessageItem(options: MessageProps, id: string, offsetHeight: number): WechatMiniprogram.Component.TrivialInstance;
+ close(id: any): void;
+ hide(id?: string): void;
+ hideAll(): void;
+ removeInstance(id: any): void;
+ removeMsg(id: any): void;
+ handleClose(): void;
+ handleLinkClick(): void;
+ handleDurationEnd(): void;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.interface.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.interface.d.ts
new file mode 100644
index 0000000..1cfe3d8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.interface.d.ts
@@ -0,0 +1,28 @@
+export declare enum MessageType {
+ info = "info",
+ success = "success",
+ warning = "warning",
+ error = "error"
+}
+export interface MessageMarquee {
+ speed?: number;
+ loop?: number;
+ delay?: number;
+}
+export interface MessageProps {
+ visible?: boolean;
+ content: string;
+ align?: string;
+ theme?: MessageType;
+ icon?: boolean | string;
+ link?: string | object;
+ closeBtn?: boolean;
+ action?: string;
+ marquee?: MessageMarquee;
+ offset?: object;
+ duration?: number;
+ zIndex?: number;
+ id?: string;
+ gap?: string | number;
+ single?: boolean;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.interface.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.interface.js
new file mode 100644
index 0000000..89ec4c4
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.interface.js
@@ -0,0 +1 @@
+export var MessageType;!function(e){e.info="info",e.success="success",e.warning="warning",e.error="error"}(MessageType||(MessageType={}));
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.js
new file mode 100644
index 0000000..44ae4b0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import{MessageType}from"./message.interface";import props from"./props";import{unitConvert}from"../common/utils";const SHOW_DURATION=400,{prefix:prefix}=config,name=`${prefix}-message`;let Message=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.properties=Object.assign({},props),this.data={prefix:prefix,classPrefix:name,messageList:[]},this.index=0,this.instances=[],this.gap=12,this.observers={visible(s){s?this.setMessage(this.properties,this.properties.theme):this.setData({messageList:[]})}},this.pageLifetimes={show(){this.hideAll()}},this.lifetimes={ready(){this.memoInitialData()}}}memoInitialData(){this.initialData=Object.assign(Object.assign({},this.properties),this.data)}setMessage(s,e=MessageType.info){let t=`${name}_${this.index}`;s.single&&(t=name),this.gap=unitConvert(s.gap||this.gap);const i=Object.assign(Object.assign({},s),{theme:e,id:t,gap:this.gap}),n=this.instances.findIndex(s=>s.id===t);if(n<0)this.addMessage(i);else{const s=this.instances[n],e=this.getOffsetHeight(n);s.resetData(()=>{s.setData(i,s.show.bind(s,e)),s.onHide=()=>{this.close(t)}})}}addMessage(s){const e=[...this.data.messageList,{id:s.id}];this.setData({messageList:e},()=>{const e=this.getOffsetHeight(),t=this.showMessageItem(s,s.id,e);this.instances&&(this.instances.push(t),this.index+=1)})}getOffsetHeight(s=-1){let e=0,t=s;(-1===t||t>this.instances.length)&&(t=this.instances.length);for(let s=0;s{i.setData(s,i.show.bind(i,t)),i.onHide=()=>{this.close(e)}}),i;console.error("未找到组件,请确认 selector && context 是否正确")}close(s){setTimeout(()=>{this.removeMsg(s)},400),this.removeInstance(s)}hide(s){s||this.hideAll();const e=this.instances.find(e=>e.id===s);e&&e.hide()}hideAll(){for(let s=0;se.id===s);if(e<0)return;const t=this.instances[e].data.height;this.instances.splice(e,1);for(let s=e;se.id===s);e>-1&&(this.data.messageList.splice(e,1),this.setData({messageList:this.data.messageList}))}handleClose(){this.triggerEvent("close-btn-click")}handleLinkClick(){this.triggerEvent("link-click")}handleDurationEnd(){this.triggerEvent("duration-end")}};Message=__decorate([wxComponent()],Message);export default Message;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.json
new file mode 100644
index 0000000..d44facc
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-message-item":"../message-item/message-item"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.wxml
new file mode 100644
index 0000000..de8c248
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.wxss
new file mode 100644
index 0000000..aed803e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/message.wxss
@@ -0,0 +1 @@
+@import '../common/style/index.wxss';
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/props.d.ts
new file mode 100644
index 0000000..c5a8f65
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/props.d.ts
@@ -0,0 +1,3 @@
+import { TdMessageProps } from './type';
+declare const props: TdMessageProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/props.js
new file mode 100644
index 0000000..b95c20a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/props.js
@@ -0,0 +1 @@
+const props={align:{type:String,value:"left"},closeBtn:{type:null,value:!1},content:{type:String},duration:{type:Number,value:3e3},gap:{type:null,value:12},icon:{type:null,value:!0},link:{type:null},marquee:{type:null,value:!1},offset:{type:Array},single:{type:Boolean,value:!0},theme:{type:String,value:"info"},visible:{type:Boolean,value:!1},defaultVisible:{type:Boolean,value:!1},zIndex:{type:Number,value:15e3}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/type.d.ts
new file mode 100644
index 0000000..718bb3a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/type.d.ts
@@ -0,0 +1,65 @@
+export interface TdMessageProps {
+ align?: {
+ type: StringConstructor;
+ value?: MessageAlignType;
+ };
+ closeBtn?: {
+ type: null;
+ value?: string | boolean | object;
+ };
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ duration?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ gap?: {
+ type: null;
+ value?: string | number | boolean;
+ };
+ icon?: {
+ type: null;
+ value?: string | boolean | object;
+ };
+ link?: {
+ type: null;
+ value?: string | object;
+ };
+ marquee?: {
+ type: null;
+ value?: boolean | MessageMarquee;
+ };
+ offset?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ single?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: MessageThemeList;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ defaultVisible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ zIndex?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+}
+export declare type MessageAlignType = 'left' | 'center';
+export interface MessageMarquee {
+ speed?: number;
+ loop?: number;
+ delay?: number;
+}
+export declare type MessageThemeList = 'info' | 'success' | 'warning' | 'error';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/message/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/message/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/index.js
new file mode 100644
index 0000000..7a1eadf
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/index.js
@@ -0,0 +1 @@
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,function(){"use strict";var t=6e4,e=36e5,n="millisecond",r="second",i="minute",s="hour",u="day",a="week",o="month",c="quarter",f="year",h="date",d="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,$=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,y={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},M=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},m={s:M,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+M(r,2,"0")+":"+M(i,2,"0")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;g[a]=e,i=a}return!r&&i&&(v=i),i||!r&&v},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new b(n)},O=m;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var b=function(){function y(t){this.$L=S(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[D]=!0}var M=y.prototype;return M.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},M.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},M.$utils=function(){return O},M.isValid=function(){return!(this.$d.toString()===d)},M.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},M.isAfter=function(t,e){return w(t)=2&&n%10<=4&&(n%100<10||n%100>=20)?s[1]:s[2])}var d=function(_,t){return o.test(t)?e[_.month()]:n[_.month()]};d.s=n,d.f=e;var u=function(_,t){return o.test(t)?s[_.month()]:r[_.month()]};u.s=r,u.f=s;var a={name:"ru",weekdays:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),weekdaysShort:"вск_пнд_втр_срд_чтв_птн_сбт".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),months:d,monthsShort:u,weekStart:1,yearStart:4,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:i,mm:i,h:"час",hh:i,d:"день",dd:i,M:"месяц",MM:i,y:"год",yy:i},ordinal:function(_){return _},meridiem:function(_){return _<4?"ночи":_<12?"утра":_<17?"дня":"вечера"}};return t.default.locale(a,null,!0),a});
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/zh-cn.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/zh-cn.js
new file mode 100644
index 0000000..25424c2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/zh-cn.js
@@ -0,0 +1 @@
+!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_locale_zh_cn=_(e.dayjs)}(this,function(e){"use strict";var _=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(e),t={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(e,_){return"W"===_?e+"周":e+"日"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(e,_){var t=100*e+_;return t<600?"凌晨":t<900?"早上":t<1100?"上午":t<1300?"中午":t<1800?"下午":"晚上"}};return _.default.locale(t,null,!0),t});
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/zh-tw.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/zh-tw.js
new file mode 100644
index 0000000..eb414e8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/zh-tw.js
@@ -0,0 +1 @@
+!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):(_="undefined"!=typeof globalThis?globalThis:_||self).dayjs_locale_zh_tw=e(_.dayjs)}(this,function(_){"use strict";var e=function(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}(_),t={name:"zh-tw",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(_,e){return"W"===e?_+"週":_+"日"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"},meridiem:function(_,e){var t=100*_+e;return t<600?"凌晨":t<900?"早上":t<1100?"上午":t<1300?"中午":t<1800?"下午":"晚上"}};return e.default.locale(t,null,!0),t});
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/plugin/localeData.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/plugin/localeData.js
new file mode 100644
index 0000000..0062655
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/plugin/localeData.js
@@ -0,0 +1 @@
+!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(n="undefined"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,function(){"use strict";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map(function(n){return n.slice(0,r)});if(!u)return f;var d=i.weekStart;return f.map(function(n,e){return f[(e+(d||0))%7]})},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(n,e,t){return e||t.slice(1)})}(n.formats[e.toUpperCase()])},s=function(){var n=this;return{months:function(e){return e?e.format("MMMM"):u(n,"months")},monthsShort:function(e){return e?e.format("MMM"):u(n,"monthsShort","months",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format("dddd"):u(n,"weekdays")},weekdaysMin:function(e){return e?e.format("dd"):u(n,"weekdaysMin","weekdays",2)},weekdaysShort:function(e){return e?e.format("ddd"):u(n,"weekdaysShort","weekdays",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),"months")},t.monthsShort=function(){return u(i(),"monthsShort","months",3)},t.weekdays=function(n){return u(i(),"weekdays",null,null,n)},t.weekdaysShort=function(n){return u(i(),"weekdaysShort","weekdays",3,n)},t.weekdaysMin=function(n){return u(i(),"weekdaysMin","weekdays",2,n)}}});
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/tinycolor2/esm/tinycolor.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/tinycolor2/esm/tinycolor.js
new file mode 100644
index 0000000..87d2670
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/tinycolor2/esm/tinycolor.js
@@ -0,0 +1 @@
+function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}var trimLeft=/^\s+/,trimRight=/\s+$/;function tinycolor(t,r){if(r=r||{},(t=t||"")instanceof tinycolor)return t;if(!(this instanceof tinycolor))return new tinycolor(t,r);var e=inputToRGB(t);this._originalInput=t,this._r=e.r,this._g=e.g,this._b=e.b,this._a=e.a,this._roundA=Math.round(100*this._a)/100,this._format=r.format||e.format,this._gradientType=r.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=e.ok}function inputToRGB(t){var r={r:0,g:0,b:0},e=1,n=null,a=null,o=null,i=!1,s=!1;return"string"==typeof t&&(t=stringInputToObject(t)),"object"==_typeof(t)&&(isValidCSSUnit(t.r)&&isValidCSSUnit(t.g)&&isValidCSSUnit(t.b)?(r=rgbToRgb(t.r,t.g,t.b),i=!0,s="%"===String(t.r).substr(-1)?"prgb":"rgb"):isValidCSSUnit(t.h)&&isValidCSSUnit(t.s)&&isValidCSSUnit(t.v)?(n=convertToPercentage(t.s),a=convertToPercentage(t.v),r=hsvToRgb(t.h,n,a),i=!0,s="hsv"):isValidCSSUnit(t.h)&&isValidCSSUnit(t.s)&&isValidCSSUnit(t.l)&&(n=convertToPercentage(t.s),o=convertToPercentage(t.l),r=hslToRgb(t.h,n,o),i=!0,s="hsl"),t.hasOwnProperty("a")&&(e=t.a)),e=boundAlpha(e),{ok:i,format:t.format||s,r:Math.min(255,Math.max(r.r,0)),g:Math.min(255,Math.max(r.g,0)),b:Math.min(255,Math.max(r.b,0)),a:e}}function rgbToRgb(t,r,e){return{r:255*bound01(t,255),g:255*bound01(r,255),b:255*bound01(e,255)}}function rgbToHsl(t,r,e){t=bound01(t,255),r=bound01(r,255),e=bound01(e,255);var n,a,o=Math.max(t,r,e),i=Math.min(t,r,e),s=(o+i)/2;if(o==i)n=a=0;else{var h=o-i;switch(a=s>.5?h/(2-o-i):h/(o+i),o){case t:n=(r-e)/h+(r1&&(e-=1),e<1/6?t+6*(r-t)*e:e<.5?r:e<2/3?t+(r-t)*(2/3-e)*6:t}if(t=bound01(t,360),r=bound01(r,100),e=bound01(e,100),0===r)n=a=o=e;else{var s=e<.5?e*(1+r):e+r-e*r,h=2*e-s;n=i(h,s,t+1/3),a=i(h,s,t),o=i(h,s,t-1/3)}return{r:255*n,g:255*a,b:255*o}}function rgbToHsv(t,r,e){t=bound01(t,255),r=bound01(r,255),e=bound01(e,255);var n,a,o=Math.max(t,r,e),i=Math.min(t,r,e),s=o,h=o-i;if(a=0===o?0:h/o,o==i)n=0;else{switch(o){case t:n=(r-e)/h+(r>1)+720)%360;--r;)n.h=(n.h+a)%360,o.push(tinycolor(n));return o}function _monochromatic(t,r){r=r||6;for(var e=tinycolor(t).toHsv(),n=e.h,a=e.s,o=e.v,i=[],s=1/r;r--;)i.push(tinycolor({h:n,s:a,v:o})),o=(o+s)%1;return i}tinycolor.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,r,e,n=this.toRgb();return t=n.r/255,r=n.g/255,e=n.b/255,.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.0722*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))},setAlpha:function(t){return this._a=boundAlpha(t),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var t=rgbToHsv(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=rgbToHsv(this._r,this._g,this._b),r=Math.round(360*t.h),e=Math.round(100*t.s),n=Math.round(100*t.v);return 1==this._a?"hsv("+r+", "+e+"%, "+n+"%)":"hsva("+r+", "+e+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=rgbToHsl(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=rgbToHsl(this._r,this._g,this._b),r=Math.round(360*t.h),e=Math.round(100*t.s),n=Math.round(100*t.l);return 1==this._a?"hsl("+r+", "+e+"%, "+n+"%)":"hsla("+r+", "+e+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return rgbToHex(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return rgbaToHex(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(100*bound01(this._r,255))+"%",g:Math.round(100*bound01(this._g,255))+"%",b:Math.round(100*bound01(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+Math.round(100*bound01(this._r,255))+"%, "+Math.round(100*bound01(this._g,255))+"%, "+Math.round(100*bound01(this._b,255))+"%)":"rgba("+Math.round(100*bound01(this._r,255))+"%, "+Math.round(100*bound01(this._g,255))+"%, "+Math.round(100*bound01(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(hexNames[rgbToHex(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var r="#"+rgbaToArgbHex(this._r,this._g,this._b,this._a),e=r,n=this._gradientType?"GradientType = 1, ":"";if(t){var a=tinycolor(t);e="#"+rgbaToArgbHex(a._r,a._g,a._b,a._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+r+",endColorstr="+e+")"},toString:function(t){var r=!!t;t=t||this._format;var e=!1,n=this._a<1&&this._a>=0;return r||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(e=this.toRgbString()),"prgb"===t&&(e=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(e=this.toHexString()),"hex3"===t&&(e=this.toHexString(!0)),"hex4"===t&&(e=this.toHex8String(!0)),"hex8"===t&&(e=this.toHex8String()),"name"===t&&(e=this.toName()),"hsl"===t&&(e=this.toHslString()),"hsv"===t&&(e=this.toHsvString()),e||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return tinycolor(this.toString())},_applyModification:function(t,r){var e=t.apply(null,[this].concat([].slice.call(r)));return this._r=e._r,this._g=e._g,this._b=e._b,this.setAlpha(e._a),this},lighten:function(){return this._applyModification(_lighten,arguments)},brighten:function(){return this._applyModification(_brighten,arguments)},darken:function(){return this._applyModification(_darken,arguments)},desaturate:function(){return this._applyModification(_desaturate,arguments)},saturate:function(){return this._applyModification(_saturate,arguments)},greyscale:function(){return this._applyModification(_greyscale,arguments)},spin:function(){return this._applyModification(_spin,arguments)},_applyCombination:function(t,r){return t.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(_analogous,arguments)},complement:function(){return this._applyCombination(_complement,arguments)},monochromatic:function(){return this._applyCombination(_monochromatic,arguments)},splitcomplement:function(){return this._applyCombination(_splitcomplement,arguments)},triad:function(){return this._applyCombination(polyad,[3])},tetrad:function(){return this._applyCombination(polyad,[4])}},tinycolor.fromRatio=function(t,r){if("object"==_typeof(t)){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]="a"===n?t[n]:convertToPercentage(t[n]));t=e}return tinycolor(t,r)},tinycolor.equals=function(t,r){return!(!t||!r)&&tinycolor(t).toRgbString()==tinycolor(r).toRgbString()},tinycolor.random=function(){return tinycolor.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})},tinycolor.mix=function(t,r,e){e=0===e?0:e||50;var n=tinycolor(t).toRgb(),a=tinycolor(r).toRgb(),o=e/100;return tinycolor({r:(a.r-n.r)*o+n.r,g:(a.g-n.g)*o+n.g,b:(a.b-n.b)*o+n.b,a:(a.a-n.a)*o+n.a})},tinycolor.readability=function(t,r){var e=tinycolor(t),n=tinycolor(r);return(Math.max(e.getLuminance(),n.getLuminance())+.05)/(Math.min(e.getLuminance(),n.getLuminance())+.05)},tinycolor.isReadable=function(t,r,e){var n,a,o=tinycolor.readability(t,r);switch(a=!1,(n=validateWCAG2Parms(e)).level+n.size){case"AAsmall":case"AAAlarge":a=o>=4.5;break;case"AAlarge":a=o>=3;break;case"AAAsmall":a=o>=7}return a},tinycolor.mostReadable=function(t,r,e){var n,a,o,i,s=null,h=0;a=(e=e||{}).includeFallbackColors,o=e.level,i=e.size;for(var l=0;lh&&(h=n,s=tinycolor(r[l]));return tinycolor.isReadable(t,s,{level:o,size:i})||!a?s:(e.includeFallbackColors=!1,tinycolor.mostReadable(t,["#fff","#000"],e))};var names=tinycolor.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},hexNames=tinycolor.hexNames=flip(names);function flip(t){var r={};for(var e in t)t.hasOwnProperty(e)&&(r[t[e]]=e);return r}function boundAlpha(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function bound01(t,r){isOnePointZero(t)&&(t="100%");var e=isPercentage(t);return t=Math.min(r,Math.max(0,parseFloat(t))),e&&(t=parseInt(t*r,10)/100),Math.abs(t-r)<1e-6?1:t%r/parseFloat(r)}function clamp01(t){return Math.min(1,Math.max(0,t))}function parseIntFromHex(t){return parseInt(t,16)}function isOnePointZero(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)}function isPercentage(t){return"string"==typeof t&&-1!=t.indexOf("%")}function pad2(t){return 1==t.length?"0"+t:""+t}function convertToPercentage(t){return t<=1&&(t=100*t+"%"),t}function convertDecimalToHex(t){return Math.round(255*parseFloat(t)).toString(16)}function convertHexToDecimal(t){return parseIntFromHex(t)/255}var matchers=function(){var t="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",r="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?",e="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?";return{CSS_UNIT:new RegExp(t),rgb:new RegExp("rgb"+r),rgba:new RegExp("rgba"+e),hsl:new RegExp("hsl"+r),hsla:new RegExp("hsla"+e),hsv:new RegExp("hsv"+r),hsva:new RegExp("hsva"+e),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function isValidCSSUnit(t){return!!matchers.CSS_UNIT.exec(t)}function stringInputToObject(t){t=t.replace(trimLeft,"").replace(trimRight,"").toLowerCase();var r,e=!1;if(names[t])t=names[t],e=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(r=matchers.rgb.exec(t))?{r:r[1],g:r[2],b:r[3]}:(r=matchers.rgba.exec(t))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=matchers.hsl.exec(t))?{h:r[1],s:r[2],l:r[3]}:(r=matchers.hsla.exec(t))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=matchers.hsv.exec(t))?{h:r[1],s:r[2],v:r[3]}:(r=matchers.hsva.exec(t))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=matchers.hex8.exec(t))?{r:parseIntFromHex(r[1]),g:parseIntFromHex(r[2]),b:parseIntFromHex(r[3]),a:convertHexToDecimal(r[4]),format:e?"name":"hex8"}:(r=matchers.hex6.exec(t))?{r:parseIntFromHex(r[1]),g:parseIntFromHex(r[2]),b:parseIntFromHex(r[3]),format:e?"name":"hex"}:(r=matchers.hex4.exec(t))?{r:parseIntFromHex(r[1]+""+r[1]),g:parseIntFromHex(r[2]+""+r[2]),b:parseIntFromHex(r[3]+""+r[3]),a:convertHexToDecimal(r[4]+""+r[4]),format:e?"name":"hex8"}:!!(r=matchers.hex3.exec(t))&&{r:parseIntFromHex(r[1]+""+r[1]),g:parseIntFromHex(r[2]+""+r[2]),b:parseIntFromHex(r[3]+""+r[3]),format:e?"name":"hex"}}function validateWCAG2Parms(t){var r,e;return"AA"!==(r=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase())&&"AAA"!==r&&(r="AA"),"small"!==(e=(t.size||"small").toLowerCase())&&"large"!==e&&(e="small"),{level:r,size:e}}export{tinycolor as default};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/tslib/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/tslib/index.js
new file mode 100644
index 0000000..ba9c5d8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/tslib/index.js
@@ -0,0 +1 @@
+var __extends,__assign,__rest,__decorate,__param,__esDecorate,__runInitializers,__propKey,__setFunctionName,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding,__addDisposableResource,__disposeResources,__rewriteRelativeImportExtension;!function(e){var t="object"==typeof global?global:"object"==typeof self?self:"object"==typeof this?this:{};function r(e,r){return e!==t&&("function"==typeof Object.create?Object.defineProperty(e,"__esModule",{value:!0}):e.__esModule=!0),function(t,n){return e[t]=r?r(t,n):n}}"function"==typeof define&&define.amd?define("tslib",["exports"],function(n){e(r(t,r(n)))}):"object"==typeof module&&"object"==typeof module.exports?e(r(t,r(module.exports))):e(r(t))}(function(e){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])};__extends=function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)},__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=0;c--)(o=e[c])&&(i=(a<3?o(i):a>3?o(t,r,i):o(t,r))||i);return a>3&&i&&Object.defineProperty(t,r,i),i},__param=function(e,t){return function(r,n){t(r,n,e)}},__esDecorate=function(e,t,r,n,o,a){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var c,s=n.kind,_="getter"===s?"get":"setter"===s?"set":"value",u=!t&&e?n.static?e:e.prototype:null,l=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),f=!1,p=r.length-1;p>=0;p--){var y={};for(var d in n)y[d]="access"===d?{}:n[d];for(var d in n.access)y.access[d]=n.access[d];y.addInitializer=function(e){if(f)throw new TypeError("Cannot add initializers after decoration has completed");a.push(i(e||null))};var v=(0,r[p])("accessor"===s?{get:l.get,set:l.set}:l[_],y);if("accessor"===s){if(void 0===v)continue;if(null===v||"object"!=typeof v)throw new TypeError("Object expected");(c=i(v.get))&&(l.get=c),(c=i(v.set))&&(l.set=c),(c=i(v.init))&&o.unshift(c)}else(c=i(v))&&("field"===s?o.unshift(c):l[_]=c)}u&&Object.defineProperty(u,n.name,l),f=!0},__runInitializers=function(e,t,r){for(var n=arguments.length>2,o=0;o0&&o[o.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i},__spread=function(){for(var e=[],t=0;t1||c(e,t)})},t&&(n[e]=t(n[e])))}function c(e,t){try{(r=o[e](t)).value instanceof __await?Promise.resolve(r.value.v).then(s,_):u(a[0][2],r)}catch(e){u(a[0][3],e)}var r}function s(e){c("next",e)}function _(e){c("throw",e)}function u(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}},__asyncDelegator=function(e){var t,r;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:__await(e[n](t)),done:!1}:o?o(t):t}:o}},__asyncValues=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise(function(n,o){(function(e,t,r,n){Promise.resolve(n).then(function(t){e({value:t,done:r})},t)})(n,o,(t=e[r](t)).done,t.value)})}}},__makeTemplateObject=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};var r=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)};__importStar=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o=n(e),a=0;a string;
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/page-scroll.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/page-scroll.js
new file mode 100644
index 0000000..a3c9e8c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/page-scroll.js
@@ -0,0 +1 @@
+import{getCurrentPage}from"../common/utils";const onPageScroll=function(r){const e=getCurrentPage();if(!e)return;const{pageScroller:o}=e;null==o||o.forEach(e=>{"function"==typeof e&&e(r)})};export default(r="onScroll")=>Behavior({attached(){var e;const o=getCurrentPage();if(!o)return;const l=null===(e=this[r])||void 0===e?void 0:e.bind(this);l&&(this._pageScroller=l),Array.isArray(o.pageScroller)?o.pageScroller.push(l):o.pageScroller="function"==typeof o.onPageScroll?[o.onPageScroll.bind(o),l]:[l],o.onPageScroll=onPageScroll},detached(){var r;const e=getCurrentPage();e&&(e.pageScroller=(null===(r=e.pageScroller)||void 0===r?void 0:r.filter(r=>r!==this._pageScroller))||[])}});
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/theme-change.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/theme-change.d.ts
new file mode 100644
index 0000000..4821f37
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/theme-change.d.ts
@@ -0,0 +1,2 @@
+declare const themeChangeBehavior: string;
+export default themeChangeBehavior;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/theme-change.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/theme-change.js
new file mode 100644
index 0000000..08ed827
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/theme-change.js
@@ -0,0 +1 @@
+import{appBaseInfo}from"../common/utils";const themeChangeBehavior=Behavior({data:{theme:"light"},attached(){this._initTheme()},methods:{_initTheme(){const e=this;e.setData({theme:appBaseInfo.theme}),wx.onThemeChange(t=>{e.setData({theme:t.theme})})}}});export default themeChangeBehavior;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/touch.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/touch.d.ts
new file mode 100644
index 0000000..ae80eca
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/touch.d.ts
@@ -0,0 +1,2 @@
+declare const _default: string;
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/touch.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/touch.js
new file mode 100644
index 0000000..0eccd27
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/touch.js
@@ -0,0 +1 @@
+const MinDistance=10,getDirection=(t,s)=>t>s&&t>10?"horizontal":s>t&&s>10?"vertical":"";export default Behavior({methods:{resetTouchStatus(){this.direction="",this.deltaX=0,this.deltaY=0,this.offsetX=0,this.offsetY=0},touchStart(t){this.resetTouchStatus();const[s]=t.touches;this.startX=s.clientX,this.startY=s.clientY},touchMove(t){const[s]=t.touches;this.deltaX=s.clientX-this.startX,this.deltaY=s.clientY-this.startY,this.offsetX=Math.abs(this.deltaX),this.offsetY=Math.abs(this.deltaY),this.direction=getDirection(this.offsetX,this.offsetY)}}});
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/transition.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/transition.d.ts
new file mode 100644
index 0000000..8c23e35
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/transition.d.ts
@@ -0,0 +1 @@
+export default function transition(): string;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/transition.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/transition.js
new file mode 100644
index 0000000..b9d80e7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/transition.js
@@ -0,0 +1 @@
+import config from"../common/config";const{prefix:prefix}=config;export default function transition(){return Behavior({properties:{visible:{type:Boolean,value:null,observer:"watchVisible"},appear:Boolean,name:{type:String,value:"fade"},durations:{type:Number,optionalTypes:[Array]}},data:{transitionClass:"",transitionDurations:300,className:"",realVisible:!1},created(){this.status="",this.transitionT=0},attached(){this.durations=this.getDurations(),this.data.visible&&this.enter(),this.inited=!0},detached(){clearTimeout(this.transitionT)},methods:{watchVisible(t,i){this.inited&&t!==i&&(t?this.enter():this.leave())},getDurations(){const{durations:t}=this.data;return Array.isArray(t)?t.map(t=>Number(t)):[Number(t),Number(t)]},enter(){const{name:t,transitionDurations:i}=this.data,[e]=this.durations;this.status="entering",this.setData({realVisible:!0,transitionClass:`${prefix}-${t}-enter ${prefix}-${t}-enter-active`}),clearTimeout(this.transitionT),setTimeout(()=>{this.setData({transitionClass:`${prefix}-${t}-enter-active ${prefix}-${t}-enter-to`})},30),this.transitionT="number"==typeof e&&e>0?setTimeout(this.entered.bind(this),e+30):setTimeout("entering"===this.status?this.entered.bind(this):null,i+30)},entered(){this.customDuration=!1,clearTimeout(this.transitionT),this.status="entered",this.setData({transitionClass:""})},leave(){const{name:t,transitionDurations:i}=this.data,[,e]=this.durations;this.status="leaving",this.setData({transitionClass:`${prefix}-${t}-leave ${prefix}-${t}-leave-active`}),clearTimeout(this.transitionT),setTimeout(()=>{this.setData({transitionClass:`${prefix}-${t}-leave-active ${prefix}-${t}-leave-to`})},30),"number"==typeof e&&e>0?(this.customDuration=!0,this.transitionT=setTimeout(this.leaved.bind(this),e+30)):this.transitionT=setTimeout("leaving"===this.status?this.leaved.bind(this):null,i+30)},leaved(){this.customDuration=!1,this.triggerEvent("leaved"),clearTimeout(this.transitionT),this.status="leaved",this.setData({transitionClass:"",realVisible:!1})},onTransitionEnd(){this.customDuration||(clearTimeout(this.transitionT),"entering"===this.status&&this.data.visible?this.entered():"leaving"!==this.status||this.data.visible||this.leaved())}}})}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/using-custom-navbar.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/using-custom-navbar.d.ts
new file mode 100644
index 0000000..908f771
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/using-custom-navbar.d.ts
@@ -0,0 +1,2 @@
+declare const useCustomNavbarBehavior: string;
+export default useCustomNavbarBehavior;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/using-custom-navbar.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/using-custom-navbar.js
new file mode 100644
index 0000000..d455c92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/mixins/using-custom-navbar.js
@@ -0,0 +1 @@
+import{systemInfo}from"../common/utils";const useCustomNavbarBehavior=Behavior({properties:{usingCustomNavbar:{type:Boolean,value:!1},customNavbarHeight:{type:Number,value:0}},data:{distanceTop:0},lifetimes:{attached(){this.properties.usingCustomNavbar&&this.calculateCustomNavbarDistanceTop()}},methods:{calculateCustomNavbarDistanceTop(){const{statusBarHeight:t}=systemInfo,a=wx.getMenuButtonBoundingClientRect(),e=a.top+a.bottom-t;this.setData({distanceTop:Math.max(e,this.properties.customNavbarHeight+t)})}}});export default useCustomNavbarBehavior;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.d.ts
new file mode 100644
index 0000000..1c80871
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.d.ts
@@ -0,0 +1,36 @@
+import { SuperComponent } from '../common/src/index';
+export default class Navbar extends SuperComponent {
+ externalClasses: string[];
+ timer: any;
+ options: {
+ multipleSlots: boolean;
+ };
+ properties: import("./type").TdNavbarProps;
+ observers: {
+ visible(this: Navbar, visible: any): void;
+ 'title,titleMaxLength'(this: any): void;
+ };
+ data: {
+ prefix: string;
+ classPrefix: string;
+ boxStyle: string;
+ showTitle: string;
+ hideLeft: boolean;
+ hideCenter: boolean;
+ _menuRect: any;
+ _leftRect: any;
+ _boxStyle: {};
+ };
+ attached(): void;
+ detached(): void;
+ methods: {
+ initStyle(): void;
+ calcCenterStyle(leftRect: WechatMiniprogram.BoundingClientRectResult, menuRect: WechatMiniprogram.BoundingClientRectResult, defaultStyle: object): void;
+ getLeftRect(): void;
+ getMenuRect(): void;
+ onMenuButtonBoundingClientRectWeightChange(): void;
+ offMenuButtonBoundingClientRectWeightChange(): void;
+ queryElements(capsuleRect: WechatMiniprogram.OnMenuButtonBoundingClientRectWeightChangeListenerResult): void;
+ goBack(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.js
new file mode 100644
index 0000000..bf3b0a9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import{getRect,systemInfo}from"../common/utils";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-navbar`;let Navbar=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-placeholder`,`${prefix}-class-content`,`${prefix}-class-title`,`${prefix}-class-left`,`${prefix}-class-center`,`${prefix}-class-left-icon`,`${prefix}-class-home-icon`,`${prefix}-class-capsule`,`${prefix}-class-nav-btn`],this.timer=null,this.options={multipleSlots:!0},this.properties=props,this.observers={visible(t){const{animation:e}=this.properties,i=`${name}${t?"--visible":"--hide"}`;this.setData({visibleClass:`${i}${e?"-animation":""}`}),this.timer&&clearTimeout(this.timer),e&&(this.timer=setTimeout(()=>{this.setData({visibleClass:i})},300))},"title,titleMaxLength"(){const{title:t}=this.properties,e=this.properties.titleMaxLength||Number.MAX_SAFE_INTEGER;let i=t.slice(0,e);e`${t}: ${e}`).join("; ");this.setData({boxStyle:a,_boxStyle:s})},getLeftRect(){getRect(this,`.${name}__left`).then(t=>{t.right>this.data._leftRect.right&&this.calcCenterStyle(t,this.data._menuRect,this.data._boxStyle)})},getMenuRect(){if(wx.getMenuButtonBoundingClientRect){const t=wx.getMenuButtonBoundingClientRect();this.setData({_menuRect:t,_leftRect:{right:systemInfo.windowWidth-t.left}})}},onMenuButtonBoundingClientRectWeightChange(){wx.onMenuButtonBoundingClientRectWeightChange&&(this.onMenuButtonBoundingClientRectWeightChangeCallback=t=>this.queryElements(t),wx.onMenuButtonBoundingClientRectWeightChange(this.onMenuButtonBoundingClientRectWeightChangeCallback))},offMenuButtonBoundingClientRectWeightChange(){this.onMenuButtonBoundingClientRectWeightChangeCallback&&wx.offMenuButtonBoundingClientRectWeightChange(this.onMenuButtonBoundingClientRectWeightChangeCallback)},queryElements(t){Promise.all([getRect(this,`.${this.data.classPrefix}__left`),getRect(this,`.${this.data.classPrefix}__center`)]).then(([e,i])=>{const n=Math.round(e.right),s=Math.round(i.right),a=t.left;this.setData({hideLeft:n>a,hideCenter:n>a||s>a})})},goBack(){const{delta:t}=this.data,e=this;this.triggerEvent("go-back"),t>0&&wx.navigateBack({delta:t,fail(t){e.triggerEvent("fail",t)},complete(t){e.triggerEvent("complete",t)},success(t){e.triggerEvent("success",t)}})}}}attached(){this.initStyle(),this.getLeftRect(),this.onMenuButtonBoundingClientRectWeightChange()}detached(){this.offMenuButtonBoundingClientRectWeightChange()}};Navbar=__decorate([wxComponent()],Navbar);export default Navbar;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.json
new file mode 100644
index 0000000..9269b92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxml
new file mode 100644
index 0000000..ddb1cb1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxml
@@ -0,0 +1 @@
+{{showTitle}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxss
new file mode 100644
index 0000000..7282913
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxss
@@ -0,0 +1,17 @@
+@import '../common/style/index.wxss';.t-navbar--fixed .t-navbar__content{position:fixed;top:0;left:0;z-index:5001;}
+.t-navbar--visible{display:'';}
+.t-navbar--visible-animation{opacity:1;transition:opacity .3s cubic-bezier(.645,.045,.355,1);}
+.t-navbar--hide-animation{opacity:0;transition:opacity .3s cubic-bezier(.645,.045,.355,1);}
+.t-navbar--hide{display:none;}
+.t-navbar__placeholder{height:var(--td-navbar-height,48px);padding-top:var(--td-navbar-padding-top,20px);position:relative;visibility:hidden;box-sizing:content-box;}
+.t-navbar__content{position:relative;z-index:1;height:var(--td-navbar-height,48px);width:calc(100% - var(--td-navbar-right,95px));padding-right:var(--td-navbar-right,95px);padding-top:var(--td-navbar-padding-top,20px);color:var(--td-navbar-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));background:var(--td-navbar-background,var(--td-navbar-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff))));display:flex;align-items:center;box-sizing:content-box;}
+.t-navbar__left{position:relative;box-sizing:border-box;max-width:var(--td-navbar-left-max-width);overflow:hidden;display:flex;align-items:center;margin-left:var(--td-spacer-1,24rpx);transition:opacity .3s cubic-bezier(.645,.045,.355,1);}
+.t-navbar__left-arrow{font-size:var(--td-navbar-left-arrow-size,24px);}
+.t-navbar__left--hide{opacity:0;}
+.t-navbar__capsule{box-sizing:border-box;width:var(--td-navbar-capsule-width,88px);height:var(--td-navbar-capsule-height,32px);display:flex;align-items:center;}
+.t-navbar__capsule::before{content:'';position:absolute;z-index:-1;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;box-sizing:border-box;border-radius:calc(var(--td-navbar-capsule-border-radius,16px) * 2);border:2rpx solid var(--td-navbar-capsule-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));}
+.t-navbar__capsule:empty{display:none;}
+.t-navbar__center{font-size:18px;text-align:center;position:absolute;bottom:0;left:var(--td-navbar-center-left,var(--td-navbar-right,95px));width:var(--td-navbar-center-width,187px);height:var(--td-navbar-height,48px);line-height:var(--td-navbar-height,48px);flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .3s cubic-bezier(.645,.045,.355,1);}
+.t-navbar__center:empty{display:none;}
+.t-navbar__center-title{font-size:var(--td-navbar-title-font-size,18px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-weight:var(--td-navbar-title-font-weight,600);}
+.t-navbar__center--hide{opacity:0;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/props.d.ts
new file mode 100644
index 0000000..168bee2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/props.d.ts
@@ -0,0 +1,3 @@
+import { TdNavbarProps } from './type';
+declare const props: TdNavbarProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/props.js
new file mode 100644
index 0000000..ed824a0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/props.js
@@ -0,0 +1 @@
+const props={animation:{type:Boolean,value:!0},delta:{type:Number,value:1},fixed:{type:Boolean,value:!0},leftArrow:{type:Boolean,value:!1},safeAreaInsetTop:{type:Boolean,value:!0},title:{type:String},titleMaxLength:{type:Number},visible:{type:Boolean,value:!0}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/type.d.ts
new file mode 100644
index 0000000..f0c9ab3
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/type.d.ts
@@ -0,0 +1,34 @@
+export interface TdNavbarProps {
+ animation?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ delta?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ fixed?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ leftArrow?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ safeAreaInsetTop?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ title?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ titleMaxLength?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/navbar/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.d.ts
new file mode 100644
index 0000000..783c09b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.d.ts
@@ -0,0 +1,36 @@
+import { SuperComponent, ComponentsOptionsType } from '../common/src/index';
+export default class NoticeBar extends SuperComponent {
+ externalClasses: string[];
+ options: ComponentsOptionsType;
+ properties: import("./type").TdNoticeBarProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ loop: number;
+ __ready: boolean;
+ };
+ observers: {
+ marquee(val: any): void;
+ visible(visible: any): void;
+ prefixIcon(prefixIcon: any): void;
+ suffixIcon(v: any): void;
+ content(): void;
+ };
+ lifetimes: {
+ created(): void;
+ detached(): void;
+ ready(): void;
+ };
+ methods: {
+ initAnimation(): void;
+ startScrollAnimation(isFirstScroll?: boolean): void;
+ show(): void;
+ clearNoticeBarAnimation(): void;
+ setPrefixIcon(v: any): void;
+ onChange(e: WechatMiniprogram.SwiperChange): void;
+ clickPrefixIcon(): void;
+ clickContent(): void;
+ clickSuffixIcon(): void;
+ clickOperation(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.js
new file mode 100644
index 0000000..fbd25df
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import{getRect,getAnimationFrame,calcIcon}from"../common/utils";import props from"./props";import config from"../common/config";const{prefix:prefix}=config,name=`${prefix}-notice-bar`,THEME_ICON={info:"info-circle-filled",success:"check-circle-filled",warning:"error-circle-filled",error:"error-circle-filled"};let NoticeBar=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-prefix-icon`,`${prefix}-class-operation`,`${prefix}-class-suffix-icon`],this.options={multipleSlots:!0,pureDataPattern:/^__/},this.properties=props,this.data={prefix:prefix,classPrefix:name,loop:-1,__ready:!1},this.observers={marquee(t){"{}"!==JSON.stringify(t)&&"true"!==JSON.stringify(t)||this.setData({marquee:{speed:50,loop:-1,delay:0}})},visible(t){this.data.__ready&&(t?this.show():this.clearNoticeBarAnimation())},prefixIcon(t){this.setPrefixIcon(t)},suffixIcon(t){this.setData({_suffixIcon:calcIcon(t)})},content(){this.data.__ready&&(this.clearNoticeBarAnimation(),this.initAnimation())}},this.lifetimes={created(){this.resetAnimation=wx.createAnimation({duration:0,timingFunction:"linear"})},detached(){this.clearNoticeBarAnimation()},ready(){this.show(),this.setData({__ready:!0})}},this.methods={initAnimation(){const t=`.${name}__content-wrap`,i=`.${name}__content`;getAnimationFrame(this,()=>{Promise.all([getRect(this,i),getRect(this,t)]).then(([t,i])=>{const{marquee:e}=this.properties;if(null!=t&&null!=i&&t.width&&i.width&&!1!==e&&(e||i.width{})})},startScrollAnimation(t=!1){this.clearNoticeBarAnimation();const{wrapWidth:i,nodeWidth:e,firstAnimationDuration:n,animationDuration:o,delay:a}=this.data,r=t?a:0,s=t?n:o;this.setData({animationData:this.resetAnimation.translateX(t?0:i).step().export()}),getAnimationFrame(this,()=>{this.setData({animationData:wx.createAnimation({duration:s,timingFunction:"linear",delay:r}).translateX(-e).step().export()})}),this.nextAnimationContext=setTimeout(()=>{this.data.loop>0?(this.data.loop-=1,this.startScrollAnimation()):0===this.data.loop?this.setData({animationData:this.resetAnimation.translateX(0).step().export()}):this.data.loop<0&&this.startScrollAnimation()},s+r)},show(){this.clearNoticeBarAnimation(),this.setPrefixIcon(this.properties.prefixIcon),this.initAnimation()},clearNoticeBarAnimation(){this.nextAnimationContext&&clearTimeout(this.nextAnimationContext),this.nextAnimationContext=null},setPrefixIcon(t){const{theme:i}=this.properties;this.setData({_prefixIcon:calcIcon(t,THEME_ICON[i])})},onChange(t){const{current:i,source:e}=t.detail;this.triggerEvent("change",{current:i,source:e})},clickPrefixIcon(){this.triggerEvent("click",{trigger:"prefix-icon"})},clickContent(){this.triggerEvent("click",{trigger:"content"})},clickSuffixIcon(){this.triggerEvent("click",{trigger:"suffix-icon"})},clickOperation(){this.triggerEvent("click",{trigger:"operation"})}}}};NoticeBar=__decorate([wxComponent()],NoticeBar);export default NoticeBar;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.json
new file mode 100644
index 0000000..9269b92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.wxml
new file mode 100644
index 0000000..63ec32d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.wxml
@@ -0,0 +1 @@
+{{item}}{{content}}{{operation}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.wxss
new file mode 100644
index 0000000..d5f44c1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.wxss
@@ -0,0 +1,18 @@
+@import '../common/style/index.wxss';.t-notice-bar{display:flex;align-items:flex-start;padding:26rpx 32rpx;font-size:var(--td-font-size-base,28rpx);}
+.t-notice-bar__content-wrap{flex:1;overflow-x:hidden;line-height:44rpx;color:var(--td-notice-bar-font-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-notice-bar__content{display:inline-block;white-space:nowrap;}
+.t-notice-bar__content-wrapable{white-space:normal;}
+.t-notice-bar__content--vertical{display:block;height:44rpx;line-height:44rpx;}
+.t-notice-bar__content--vertical-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
+.t-notice-bar__prefix-icon{color:inherit;}
+.t-notice-bar__prefix-icon:not(:empty){padding-right:var(--td-spacer,16rpx);width:44rpx;}
+.t-notice-bar__suffix-icon{color:var(--td-notice-bar-suffix-icon-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.t-notice-bar__prefix-icon,.t-notice-bar__suffix-icon{font-size:44rpx;}
+.t-notice-bar__prefix-icon:empty,.t-notice-bar__suffix-icon:empty{display:none;}
+.t-notice-bar__operation{display:inline-flex;vertical-align:top;color:var(--td-notice-bar-operation-font-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));font-weight:700;}
+.t-notice-bar__operation:empty{display:none;}
+.t-notice-bar__suffix-icon:not(:empty){padding-left:var(--td-spacer,16rpx);width:44rpx;}
+.t-notice-bar--info{color:var(--td-notice-bar-info-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-notice-bar-info-bg-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-notice-bar--success{color:var(--td-notice-bar-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));background-color:var(--td-notice-bar-success-bg-color,var(--td-success-color-1,#e3f9e9));}
+.t-notice-bar--warning{color:var(--td-notice-bar-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));background-color:var(--td-notice-bar-warning-bg-color,var(--td-warning-color-1,#fff1e9));}
+.t-notice-bar--error{color:var(--td-notice-bar-error-color,var(--td-error-color,var(--td-error-color-6,#d54941)));background-color:var(--td-notice-bar-error-bg-color,var(--td-error-color-1,#fff0ed));}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/props.d.ts
new file mode 100644
index 0000000..5fe19dc
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/props.d.ts
@@ -0,0 +1,3 @@
+import { TdNoticeBarProps } from './type';
+declare const props: TdNoticeBarProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/props.js
new file mode 100644
index 0000000..fed5df5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/props.js
@@ -0,0 +1 @@
+const props={content:{type:null},direction:{type:String,value:"horizontal"},interval:{type:Number,value:2e3},marquee:{type:null,value:!1},operation:{type:String},prefixIcon:{type:null,value:!0},suffixIcon:{type:null},theme:{type:String,value:"info"},visible:{type:Boolean,value:null},defaultVisible:{type:Boolean,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/type.d.ts
new file mode 100644
index 0000000..61c7ca6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/type.d.ts
@@ -0,0 +1,47 @@
+export interface TdNoticeBarProps {
+ content?: {
+ type: null;
+ value?: string | string[];
+ };
+ direction?: {
+ type: StringConstructor;
+ value?: 'horizontal' | 'vertical';
+ };
+ interval?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ marquee?: {
+ type: null;
+ value?: boolean | NoticeBarMarquee;
+ };
+ operation?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ prefixIcon?: {
+ type: null;
+ value?: string | boolean | object;
+ };
+ suffixIcon?: {
+ type: null;
+ value?: string | object;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'info' | 'success' | 'warning' | 'error';
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ defaultVisible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}
+export interface NoticeBarMarquee {
+ speed?: number;
+ loop?: number;
+ delay?: number;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/notice-bar/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/index.d.ts
new file mode 100644
index 0000000..164efb7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/index.d.ts
@@ -0,0 +1,3 @@
+export * from './props';
+export * from './type';
+export * from './overlay';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/index.js
new file mode 100644
index 0000000..fdfba01
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/index.js
@@ -0,0 +1 @@
+export*from"./props";export*from"./type";export*from"./overlay";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.d.ts
new file mode 100644
index 0000000..98ff36d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.d.ts
@@ -0,0 +1,22 @@
+import { SuperComponent } from '../common/src/index';
+import { TdOverlayProps } from './type';
+export interface OverlayProps extends TdOverlayProps {
+}
+export default class Overlay extends SuperComponent {
+ properties: TdOverlayProps;
+ behaviors: string[];
+ data: {
+ prefix: string;
+ classPrefix: string;
+ computedStyle: string;
+ _zIndex: number;
+ };
+ observers: {
+ backgroundColor(v: any): void;
+ zIndex(v: any): void;
+ };
+ methods: {
+ handleClick(): void;
+ noop(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.js
new file mode 100644
index 0000000..98718b1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import transition from"../mixins/transition";import useCustomNavbar from"../mixins/using-custom-navbar";const{prefix:prefix}=config,name=`${prefix}-overlay`;let Overlay=class extends SuperComponent{constructor(){super(...arguments),this.properties=props,this.behaviors=[transition(),useCustomNavbar],this.data={prefix:prefix,classPrefix:name,computedStyle:"",_zIndex:11e3},this.observers={backgroundColor(o){this.setData({computedStyle:o?`background-color: ${o};`:""})},zIndex(o){0!==o&&this.setData({_zIndex:o})}},this.methods={handleClick(){this.triggerEvent("click",{visible:!this.properties.visible})},noop(){}}}};Overlay=__decorate([wxComponent()],Overlay);export default Overlay;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.json
new file mode 100644
index 0000000..1bbd8ba
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared"}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.wxml
new file mode 100644
index 0000000..5543e5b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.wxss
new file mode 100644
index 0000000..ed589f1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/overlay.wxss
@@ -0,0 +1,3 @@
+@import '../common/style/index.wxss';.t-overlay{position:fixed;top:0;left:0;width:100%;bottom:0;background-color:var(--td-overlay-bg-color,var(--td-mask-active,rgba(0,0,0,.6)));transition-property:opacity;transition-duration:var(--td-overlay-transition-duration,300ms);transition-timing-function:ease;}
+.t-fade-enter{opacity:0;}
+.t-fade-leave-to{opacity:0;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/props.d.ts
new file mode 100644
index 0000000..e42d7f1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/props.d.ts
@@ -0,0 +1,3 @@
+import { TdOverlayProps } from './type';
+declare const props: TdOverlayProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/props.js
new file mode 100644
index 0000000..d0ffe55
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/props.js
@@ -0,0 +1 @@
+const props={backgroundColor:{type:String,value:""},duration:{type:Number,value:300},preventScrollThrough:{type:Boolean,value:!0},zIndex:{type:Number,value:11e3}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/type.d.ts
new file mode 100644
index 0000000..e46cec9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/type.d.ts
@@ -0,0 +1,26 @@
+export interface TdOverlayProps {
+ backgroundColor?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ duration?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ preventScrollThrough?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ usingCustomNavbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ zIndex?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/overlay/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.d.ts
new file mode 100644
index 0000000..893ac12
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.d.ts
@@ -0,0 +1,58 @@
+import { SuperComponent, RelationsOptions, ComponentsOptionsType } from '../common/src/index';
+import { PickerItemOption } from './type';
+export default class PickerItem extends SuperComponent {
+ relations: RelationsOptions;
+ options: ComponentsOptionsType;
+ externalClasses: string[];
+ properties: import("./type").TdPickerItemProps;
+ observers: {
+ 'options, pickerKeys'(): void;
+ };
+ data: {
+ prefix: string;
+ classPrefix: string;
+ offset: number;
+ duration: number;
+ value: string;
+ curIndex: number;
+ columnIndex: number;
+ pickerKeys: {
+ value: string;
+ label: string;
+ icon: string;
+ };
+ formatOptions: PickerItemOption[];
+ enableVirtualScroll: boolean;
+ visibleOptions: any[];
+ virtualStartIndex: number;
+ virtualOffsetY: number;
+ totalHeight: number;
+ itemHeight: number;
+ visibleItemCount: number;
+ wrapperPaddingY: number;
+ };
+ lifetimes: {
+ created(): void;
+ detached(): void;
+ };
+ methods: {
+ onClickItem(event: WechatMiniprogram.TouchEvent): void;
+ onTouchStart(event: any): void;
+ onTouchMove(event: any): void;
+ onTouchEnd(event: any): void;
+ formatOption(options: PickerItemOption[], columnIndex: number, format: any): any[];
+ updateSelected(index: number, trigger: boolean): void;
+ update(): void;
+ computeVirtualRange(offset: number, totalCount: number, itemHeight: number, isFastScroll?: boolean): {
+ startIndex: number;
+ endIndex: number;
+ };
+ updateVisibleOptions(offset?: number, isFastScroll?: boolean): void;
+ getCount(): any;
+ getCurrentSelected(): {
+ index: number;
+ value: any;
+ label: any;
+ };
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.js
new file mode 100644
index 0000000..59718f6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-picker-item`,ANIMATION_DURATION=1e3,INERTIA_TIME=300,INERTIA_DISTANCE=15,VIRTUAL_SCROLL_CONFIG={ENABLE_THRESHOLD:100,BUFFER_COUNT:8,THROTTLE_TIME:16,FAST_SCROLL_BUFFER:12,FAST_SCROLL_THRESHOLD:50},range=function(t,e,i){return Math.min(Math.max(t,e),i)},momentum=(t,e)=>{let i=t;return i=Math.abs(i/e)/.005*(i<0?-1:1),i};let PickerItem=class extends SuperComponent{constructor(){super(...arguments),this.relations={"../picker/picker":{type:"parent",linked(t){if("keys"in t.data){const{keys:e}=t.data;if(null===e||JSON.stringify(this.data.pickerKeys)===JSON.stringify(e))return;this.setData({pickerKeys:Object.assign(Object.assign({},this.data.pickerKeys),e)})}}}},this.options={multipleSlots:!0},this.externalClasses=[`${prefix}-class`],this.properties=props,this.observers={"options, pickerKeys"(){this.update()}},this.data={prefix:prefix,classPrefix:name,offset:0,duration:0,value:"",curIndex:0,columnIndex:0,pickerKeys:{value:"value",label:"label",icon:"icon"},formatOptions:props.options.value,enableVirtualScroll:!1,visibleOptions:[],virtualStartIndex:0,virtualOffsetY:0,totalHeight:0,itemHeight:40,visibleItemCount:5,wrapperPaddingY:72},this.lifetimes={created(){this.StartY=0,this.StartOffset=0,this.startTime=0,this._moveTimer=null,this._animationTimer=null,this._lastOffset=0,this._lastMoveTime=0,this._scrollDirection=0},detached(){this._moveTimer&&(clearTimeout(this._moveTimer),this._moveTimer=null),this._animationTimer&&(clearInterval(this._animationTimer),this._animationTimer=null)}},this.methods={onClickItem(t){const{index:e}=t.currentTarget.dataset,{itemHeight:i}=this.data,a=range(e,0,this.getCount()-1);a!==this._selectedIndex&&this.setData({offset:-a*i,curIndex:a,duration:200}),this.updateSelected(a,!0)},onTouchStart(t){this.StartY=t.touches[0].clientY,this.StartOffset=this.data.offset,this.startTime=Date.now(),this.setData({duration:0})},onTouchMove(t){const{StartY:e,StartOffset:i}=this,{itemHeight:a,enableVirtualScroll:s}=this.data,n=Date.now(),o=t.touches[0].clientY-e,r=range(i+o,-this.getCount()*a,0),l=r-this._lastOffset,h=n-this._lastMoveTime||16,m=16*Math.abs(l/h);this._scrollDirection=l>0?1:l<0?-1:0;const d=m>VIRTUAL_SCROLL_CONFIG.FAST_SCROLL_THRESHOLD;this._moveTimer&&!d||(this._moveTimer&&(clearTimeout(this._moveTimer),this._moveTimer=null),this.setData({offset:r}),s&&this.updateVisibleOptions(r,d),this._moveTimer=setTimeout(()=>{this._moveTimer=null},VIRTUAL_SCROLL_CONFIG.THROTTLE_TIME)),this._lastOffset=r,this._lastMoveTime=n},onTouchEnd(t){this._moveTimer&&(clearTimeout(this._moveTimer),this._moveTimer=null);const{offset:e,itemHeight:i}=this.data,{startTime:a}=this;if(e===this.StartOffset)return;let s=0;const n=t.changedTouches[0].clientY-this.StartY,o=Date.now()-a;o<300&&Math.abs(n)>15&&(s=momentum(n,o));const r=range(e+s,-this.getCount()*i,0),l=range(Math.round(-r/i),0,this.getCount()-1),h=Math.abs(s)>3*i;if(this.data.enableVirtualScroll&&this.updateVisibleOptions(-l*i,h),this._animationTimer&&(clearInterval(this._animationTimer),this._animationTimer=null),this.data.enableVirtualScroll&&Math.abs(s)>0){const t=e,a=-l*i,s=Date.now();this._animationTimer=setInterval(()=>{const e=Date.now()-s,i=Math.min(e/1e3,1),n=1-Math.pow(1-i,3),o=t+(a-t)*n;this.updateVisibleOptions(o,h),i>=1&&(clearInterval(this._animationTimer),this._animationTimer=null)},16)}this.setData({offset:-l*i,duration:1e3,curIndex:l},()=>{this._animationTimer&&(clearInterval(this._animationTimer),this._animationTimer=null),this.data.enableVirtualScroll&&this.updateVisibleOptions(-l*i,!1)}),l!==this._selectedIndex&&this.updateSelected(l,!0)},formatOption:(t,e,i)=>"function"!=typeof i?t:t.map(t=>i(t,e)),updateSelected(t,e){var i,a,s;const{columnIndex:n,pickerKeys:o,formatOptions:r}=this.data;this._selectedIndex=t,this._selectedValue=null===(i=r[t])||void 0===i?void 0:i[null==o?void 0:o.value],this._selectedLabel=null===(a=r[t])||void 0===a?void 0:a[null==o?void 0:o.label],e&&(null===(s=this.$parent)||void 0===s||s.triggerColumnChange({index:t,column:n}))},update(){var t;const{options:e,value:i,pickerKeys:a,format:s,columnIndex:n,itemHeight:o,visibleItemCount:r}=this.data,l=this.formatOption(e,n,s),h=l.length,m=h>=VIRTUAL_SCROLL_CONFIG.ENABLE_THRESHOLD;let d=-1;if(h>500){d=null!==(t=new Map(l.map((t,e)=>[t[null==a?void 0:a.value],e])).get(i))&&void 0!==t?t:-1}else d=l.findIndex(t=>t[null==a?void 0:a.value]===i);const u=d>0?d:0,c={formatOptions:l,offset:-u*o,curIndex:u,enableVirtualScroll:m,totalHeight:h*o,wrapperPaddingY:(r-1)/2*o};if(m){const t=this.computeVirtualRange(-u*o,h,o);c.visibleOptions=l.slice(t.startIndex,t.endIndex),c.virtualStartIndex=t.startIndex,c.virtualOffsetY=t.startIndex*o}else c.visibleOptions=l,c.virtualStartIndex=0,c.virtualOffsetY=0;this.setData(c,()=>{this.updateSelected(u,!1)})},computeVirtualRange(t,e,i,a=!1){const s=Math.abs(t),{BUFFER_COUNT:n,FAST_SCROLL_BUFFER:o}=VIRTUAL_SCROLL_CONFIG,{visibleItemCount:r}=this.data,l=a?o:n,h=-1===this._scrollDirection?l+2:l,m=1===this._scrollDirection?l+2:l,d=Math.floor(s/i);return{startIndex:Math.max(0,d-h),endIndex:Math.min(e,d+r+m)}},updateVisibleOptions(t,e=!1){const{formatOptions:i,itemHeight:a,enableVirtualScroll:s}=this.data;if(!s)return;const n=void 0!==t?t:this.data.offset,o=this.computeVirtualRange(n,i.length,a,e);o.startIndex===this.data.virtualStartIndex&&o.endIndex===this.data.virtualStartIndex+this.data.visibleOptions.length||this.setData({visibleOptions:i.slice(o.startIndex,o.endIndex),virtualStartIndex:o.startIndex,virtualOffsetY:o.startIndex*a})},getCount(){var t,e;return null===(e=null===(t=this.data)||void 0===t?void 0:t.options)||void 0===e?void 0:e.length},getCurrentSelected(){var t,e;const{offset:i,itemHeight:a,formatOptions:s,pickerKeys:n}=this.data,o=Math.max(0,Math.min(Math.round(-i/a),this.getCount()-1));return{index:o,value:null===(t=s[o])||void 0===t?void 0:t[null==n?void 0:n.value],label:null===(e=s[o])||void 0===e?void 0:e[null==n?void 0:n.label]}}}}};PickerItem=__decorate([wxComponent()],PickerItem);export default PickerItem;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.json
new file mode 100644
index 0000000..9269b92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.wxml
new file mode 100644
index 0000000..ff276c2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.wxml
@@ -0,0 +1 @@
+{{option[pickerKeys.label]}}{{option[pickerKeys.label]}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.wxss
new file mode 100644
index 0000000..282eba6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.wxss
@@ -0,0 +1,7 @@
+@import '../common/style/index.wxss';:host{display:flex;}
+.t-picker-item__group{overflow:hidden;flex:1;z-index:1;}
+.t-picker-item__wrapper{will-change:transform;}
+.t-picker-item__item{display:flex;justify-content:center;align-items:center;color:var(--td-picker-item-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));font-size:var(--td-picker-item-font-size,var(--td-font-size-m,32rpx));contain:layout style paint;}
+.t-picker-item__item-icon{font-size:36rpx;margin-right:var(--td-spacer,16rpx);}
+.t-picker-item__item-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}
+.t-picker-item__item--active{color:var(--td-picker-item-active-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font-weight:600;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/props.d.ts
new file mode 100644
index 0000000..1140c78
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/props.d.ts
@@ -0,0 +1,3 @@
+import { TdPickerItemProps } from './type';
+declare const props: TdPickerItemProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/props.js
new file mode 100644
index 0000000..ab01464
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/props.js
@@ -0,0 +1 @@
+const props={format:{type:null},options:{type:Array,value:[]}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/type.d.ts
new file mode 100644
index 0000000..213ddda
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/type.d.ts
@@ -0,0 +1,15 @@
+export interface TdPickerItemProps {
+ format?: {
+ type: undefined;
+ value?: (option: PickerItemOption, columnIndex: number) => PickerItemOption;
+ };
+ options?: {
+ type: ArrayConstructor;
+ value?: PickerItemOption[];
+ };
+}
+export interface PickerItemOption {
+ label: string;
+ value: string | number;
+ icon?: string;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker-item/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.d.ts
new file mode 100644
index 0000000..8be6d14
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.d.ts
@@ -0,0 +1,36 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class Picker extends SuperComponent {
+ behaviors: string[];
+ properties: import("./type").TdPickerProps;
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ relations: RelationsOptions;
+ observers: {
+ 'value, visible'(value: any, visible: any): void;
+ 'itemHeight, visibleItemCount'(): void;
+ };
+ data: {
+ prefix: string;
+ classPrefix: string;
+ defaultPopUpProps: {};
+ defaultPopUpzIndex: number;
+ indicatorTop: number;
+ };
+ methods: {
+ updateChildren(): void;
+ getSelectedValue(): any[];
+ getColumnIndexes(): any;
+ onConfirm(): void;
+ triggerColumnChange({ column, index }: {
+ column: any;
+ index: any;
+ }): void;
+ onCancel(): void;
+ onPopupChange(e: any): void;
+ close(trigger: any): void;
+ updateIndicatorPosition(): void;
+ };
+ ready(): void;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.js
new file mode 100644
index 0000000..ed8ce8c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import useCustomNavbar from"../mixins/using-custom-navbar";const{prefix:prefix}=config,name=`${prefix}-picker`;let Picker=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[useCustomNavbar],this.properties=props,this.externalClasses=[`${prefix}-class`,`${prefix}-class-confirm`,`${prefix}-class-cancel`,`${prefix}-class-title`],this.options={multipleSlots:!0},this.relations={"../picker-item/picker-item":{type:"child",linked(){this.updateChildren()}}},this.observers={"value, visible"(e,t){t&&(this.updateChildren(),this.updateIndicatorPosition())},"itemHeight, visibleItemCount"(){this.updateIndicatorPosition()}},this.data={prefix:prefix,classPrefix:name,defaultPopUpProps:{},defaultPopUpzIndex:11500,indicatorTop:72},this.methods={updateChildren(){const{value:e,defaultValue:t,itemHeight:i,visibleItemCount:s}=this.properties;this.$children.forEach((o,n)=>{var r,l;o.setData({value:null!==(l=null!==(r=null==e?void 0:e[n])&&void 0!==r?r:null==t?void 0:t[n])&&void 0!==l?l:"",columnIndex:n,itemHeight:i,visibleItemCount:s}),o.update()})},getSelectedValue(){return[this.$children.map(e=>e._selectedValue),this.$children.map(e=>e._selectedLabel)]},getColumnIndexes(){return this.$children.map((e,t)=>({column:t,index:e._selectedIndex}))},onConfirm(){const e=[],t=[],i=[];this.$children.forEach((s,o)=>{const n=s.getCurrentSelected();e.push(n.value),t.push(n.label),i.push({column:o,index:n.index})}),this.close("confirm-btn"),this.triggerEvent("confirm",{value:e,label:t,columns:i}),JSON.stringify(this.data.value)!==JSON.stringify(e)&&this.triggerEvent("change",{value:e,label:t,columns:i})},triggerColumnChange({column:e,index:t}){const[i,s]=this.getSelectedValue();this.triggerEvent("pick",{value:i,label:s,column:e,index:t})},onCancel(){this.close("cancel-btn"),this.triggerEvent("cancel")},onPopupChange(e){const{visible:t}=e.detail;this.close("overlay"),this.triggerEvent("visible-change",{visible:t})},close(e){this.data.autoClose&&this.setData({visible:!1}),this.triggerEvent("close",{trigger:e})},updateIndicatorPosition(){const{itemHeight:e,visibleItemCount:t}=this.properties,i=(t-1)/2*e;this.setData({indicatorTop:i})}}}ready(){this.$children.map((e,t)=>e.columnIndex=t),this.updateIndicatorPosition()}};Picker=__decorate([wxComponent()],Picker);export default Picker;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.json
new file mode 100644
index 0000000..f34a4c1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-popup":"../popup/popup"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.wxml
new file mode 100644
index 0000000..7f79f57
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.wxss
new file mode 100644
index 0000000..bbd7b84
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/picker.wxss
@@ -0,0 +1,11 @@
+@import '../common/style/index.wxss';.t-picker{position:relative;background-color:var(--td-picker-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));border-top-left-radius:var(--td-picker-border-radius,24rpx);border-top-right-radius:var(--td-picker-border-radius,24rpx);}
+.t-picker__toolbar{display:flex;align-items:center;justify-content:space-between;overflow:hidden;height:var(--td-picker-toolbar-height,116rpx);}
+.t-picker__title{flex:1;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--td-picker-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));line-height:var(--td-picker-title-line-height,52rpx);font-weight:var(--td-picker-title-font-weight,600);font-size:var(--td-picker-title-font-size,36rpx);}
+.t-picker__cancel,.t-picker__confirm{display:flex;align-items:center;justify-content:center;user-select:none;font-size:var(--td-picker-button-font-size,32rpx);height:100%;padding:0 32rpx;}
+.t-picker__cancel{color:var(--td-picker-cancel-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));}
+.t-picker__confirm{color:var(--td-picker-confirm-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-picker__main{position:relative;display:flex;justify-content:center;padding-left:64rpx;padding-right:64rpx;}
+.t-picker__mask{position:absolute;left:0;right:0;z-index:3;backface-visibility:hidden;pointer-events:none;height:96rpx;}
+.t-picker__mask--top{top:0;background:linear-gradient(180deg,var(--td-picker-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff))) 0,var(--td-picker-transparent-color) 100%);}
+.t-picker__mask--bottom{bottom:0;background:linear-gradient(180deg,var(--td-picker-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff))) 0,var(--td-picker-transparent-color) 100%);transform:matrix(1,0,0,-1,0,0);}
+.t-picker__indicator{position:absolute;left:32rpx;right:32rpx;pointer-events:none;background-color:var(--td-picker-indicator-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));border-radius:var(--td-picker-indicator-border-radius,12rpx);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/props.d.ts
new file mode 100644
index 0000000..d673411
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/props.d.ts
@@ -0,0 +1,3 @@
+import { TdPickerProps } from './type';
+declare const props: TdPickerProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/props.js
new file mode 100644
index 0000000..ff415c7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/props.js
@@ -0,0 +1 @@
+const props={autoClose:{type:Boolean,value:!0},cancelBtn:{type:null,value:!0},confirmBtn:{type:null,value:!0},header:{type:Boolean,value:!0},itemHeight:{type:Number,value:40},keys:{type:Object},popupProps:{type:Object,value:{}},title:{type:String,value:""},usePopup:{type:Boolean,value:!0},usingCustomNavbar:{type:Boolean,value:!1},value:{type:Array,value:null},defaultValue:{type:Array},visible:{type:Boolean,value:!1},visibleItemCount:{type:Number,value:5}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/template.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/template.wxml
new file mode 100644
index 0000000..e835dea
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/template.wxml
@@ -0,0 +1 @@
+{{cancelBtn}}{{title}}{{confirmBtn}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/type.d.ts
new file mode 100644
index 0000000..20a8686
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/type.d.ts
@@ -0,0 +1,61 @@
+import { PopupProps } from '../popup/index';
+import { KeysType } from '../common/common';
+export interface TdPickerProps {
+ autoClose?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ cancelBtn?: {
+ type: null;
+ value?: boolean | string;
+ };
+ confirmBtn?: {
+ type: null;
+ value?: boolean | string;
+ };
+ header?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ itemHeight?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ keys?: {
+ type: ObjectConstructor;
+ value?: KeysType;
+ };
+ popupProps?: {
+ type: ObjectConstructor;
+ value?: PopupProps;
+ };
+ title?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ usePopup?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ usingCustomNavbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ value?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ defaultValue?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ visibleItemCount?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+}
+export declare type PickerValue = string | number;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/picker/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/index.d.ts
new file mode 100644
index 0000000..03c4cf3
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/index.d.ts
@@ -0,0 +1,3 @@
+export * from './props';
+export * from './type';
+export * from './popup';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/index.js
new file mode 100644
index 0000000..64b982f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/index.js
@@ -0,0 +1 @@
+export*from"./props";export*from"./type";export*from"./popup";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.d.ts
new file mode 100644
index 0000000..23dae8c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.d.ts
@@ -0,0 +1,19 @@
+import { TdPopupProps } from './type';
+import { SuperComponent } from '../common/src/index';
+export declare type PopupProps = TdPopupProps;
+export default class Popup extends SuperComponent {
+ externalClasses: string[];
+ behaviors: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ properties: TdPopupProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ };
+ methods: {
+ handleOverlayClick(): void;
+ handleClose(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.js
new file mode 100644
index 0000000..7cde77f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import transition from"../mixins/transition";import useCustomNavbar from"../mixins/using-custom-navbar";delete props.visible;const{prefix:prefix}=config,name=`${prefix}-popup`;let Popup=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`],this.behaviors=[transition(),useCustomNavbar],this.options={multipleSlots:!0},this.properties=props,this.data={prefix:prefix,classPrefix:name},this.methods={handleOverlayClick(){const{closeOnOverlayClick:e}=this.properties;e&&this.triggerEvent("visible-change",{visible:!1,trigger:"overlay"})},handleClose(){this.triggerEvent("visible-change",{visible:!1,trigger:"close-btn"})}}}};Popup=__decorate([wxComponent()],Popup);export default Popup;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.json
new file mode 100644
index 0000000..7782d34
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-overlay":"../overlay/overlay","t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.wxml
new file mode 100644
index 0000000..97fc8d2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.wxs
new file mode 100644
index 0000000..2f4a01f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.wxs
@@ -0,0 +1,18 @@
+function getPopupStyles(zIndex, distanceTop, placement) {
+ var zIndexStyle = zIndex ? 'z-index:' + zIndex + ';' : '';
+ if ((placement === 'top' || placement === 'left' || placement === 'right') && distanceTop) {
+ zIndexStyle = zIndexStyle + 'top:' + distanceTop + 'px;' + '--td-popup-distance-top:' + distanceTop + 'px;';
+ }
+ return zIndexStyle;
+}
+
+function onContentTouchMove(e) {
+ if (e.target && e.target.dataset.prevention) {
+ return false;
+ }
+}
+
+module.exports = {
+ getPopupStyles: getPopupStyles,
+ onContentTouchMove: onContentTouchMove,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.wxss
new file mode 100644
index 0000000..88940ce
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/popup.wxss
@@ -0,0 +1,14 @@
+@import '../common/style/index.wxss';.t-popup{position:fixed;z-index:11500;max-height:calc(100vh - var(--td-popup-distance-top,0));transition:var(--td-popup-transition,all 300ms ease);background-color:var(--td-popup-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-popup__content{position:relative;height:100%;z-index:1;}
+.t-popup__close{position:absolute;top:0;right:0;padding:20rpx;line-height:1;color:var(--td-popup-close-btn-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-popup--top{top:0;left:0;width:100%;border-bottom-left-radius:var(--td-popup-border-radius,var(--td-radius-extraLarge,24rpx));border-bottom-right-radius:var(--td-popup-border-radius,var(--td-radius-extraLarge,24rpx));}
+.t-popup--bottom{bottom:0;left:0;width:100%;border-top-left-radius:var(--td-popup-border-radius,var(--td-radius-extraLarge,24rpx));border-top-right-radius:var(--td-popup-border-radius,var(--td-radius-extraLarge,24rpx));padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom);}
+.t-popup--left{top:0;left:0;height:100%;}
+.t-popup--right{top:0;right:0;height:100%;}
+.t-popup--center{top:50%;left:50%;transform:scale(1) translate3d(-50%,-50%,0);transform-origin:0 0;border-radius:var(--td-popup-border-radius,var(--td-radius-extraLarge,24rpx));}
+.t-popup.t-fade-enter.t-popup--top,.t-popup.t-fade-leave-to.t-popup--top{transform:translateY(-100%);transform-origin:0 0;}
+.t-popup.t-fade-enter.t-popup--bottom,.t-popup.t-fade-leave-to.t-popup--bottom{transform:translateY(100%);}
+.t-popup.t-fade-enter.t-popup--left,.t-popup.t-fade-leave-to.t-popup--left{transform:translateX(-100%);}
+.t-popup.t-fade-enter.t-popup--right,.t-popup.t-fade-leave-to.t-popup--right{transform:translateX(100%);}
+.t-popup.t-fade-enter.t-popup--center,.t-popup.t-fade-leave-to.t-popup--center{transform:scale(.6) translate3d(-50%,-50%,0);opacity:0;}
+.t-popup.t-dialog-enter.t-popup--center,.t-popup.t-dialog-leave-to.t-popup--center{transform:scale(.6) translate3d(-50%,-50%,0);opacity:0;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/props.d.ts
new file mode 100644
index 0000000..e23cd6c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/props.d.ts
@@ -0,0 +1,3 @@
+import { TdPopupProps } from './type';
+declare const props: TdPopupProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/props.js
new file mode 100644
index 0000000..cafc65c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/props.js
@@ -0,0 +1 @@
+const props={closeBtn:{type:Boolean},closeOnOverlayClick:{type:Boolean,value:!0},content:{type:String},duration:{type:Number,value:240},overlayProps:{type:Object,value:{}},placement:{type:String,value:"top"},preventScrollThrough:{type:Boolean,value:!0},showOverlay:{type:Boolean,value:!0},usingCustomNavbar:{type:Boolean,value:!1},visible:{type:Boolean,value:null},defaultVisible:{type:Boolean},zIndex:{type:Number,value:11500}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/type.d.ts
new file mode 100644
index 0000000..57305df
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/type.d.ts
@@ -0,0 +1,51 @@
+import { OverlayProps } from '../overlay/index';
+export interface TdPopupProps {
+ closeBtn?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ closeOnOverlayClick?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ duration?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ overlayProps?: {
+ type: ObjectConstructor;
+ value?: OverlayProps;
+ };
+ placement?: {
+ type: StringConstructor;
+ value?: 'top' | 'left' | 'right' | 'bottom' | 'center';
+ };
+ preventScrollThrough?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ showOverlay?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ usingCustomNavbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ defaultVisible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ zIndex?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/popup/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.d.ts
new file mode 100644
index 0000000..ea66946
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.d.ts
@@ -0,0 +1,24 @@
+import { SuperComponent } from '../common/src/index';
+export default class Progress extends SuperComponent {
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ properties: import("./type").TdProgressProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ colorBar: string;
+ heightBar: string;
+ computedStatus: string;
+ computedProgress: number;
+ isIOS: boolean;
+ };
+ attached(): void;
+ observers: {
+ percentage(percentage: any): void;
+ color(color: any): void;
+ strokeWidth(strokeWidth: any): string;
+ trackColor(trackColor: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.js
new file mode 100644
index 0000000..02f2d59
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{getBackgroundColor}from"./utils";import{unitConvert,isIOS as isIOSValidator}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-progress`;let Progress=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-bar`,`${prefix}-class-label`],this.options={multipleSlots:!0},this.properties=props,this.data={prefix:prefix,classPrefix:name,colorBar:"",heightBar:"",computedStatus:"",computedProgress:0,isIOS:!1},this.observers={percentage(o){o=Math.max(0,Math.min(o,100)),this.setData({computedStatus:100===o?"success":"",computedProgress:o})},color(o){this.setData({colorBar:getBackgroundColor(o),colorCircle:"object"==typeof o?"":o})},strokeWidth(o){if(!o)return"";this.setData({heightBar:unitConvert(o)})},trackColor(o){this.setData({bgColorBar:o})}}}attached(){const o=isIOSValidator();this.setData({isIOS:o})}};Progress=__decorate([wxComponent()],Progress);export default Progress;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.json
new file mode 100644
index 0000000..9269b92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.wxml
new file mode 100644
index 0000000..7a504e3
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.wxml
@@ -0,0 +1 @@
+{{ _.isString(label)? label: computedProgress + '%' }}{{ _.isString(label)? label: computedProgress + '%' }}{{ _.isString(label)? label: computedProgress + '%' }}{{ _.isString(label)? label: computedProgress + '%' }}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.wxs
new file mode 100644
index 0000000..2a514ea
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.wxs
@@ -0,0 +1,80 @@
+var utils = require('../common/utils.wxs');
+
+var STATUS = ['success', 'error', 'warning'];
+var STATUS_TEXT = ['success', 'error', 'warning', 'active'];
+
+var PRO_THEME = {
+ LINE: 'line',
+ PLUMP: 'plump',
+ CIRCLE: 'circle',
+};
+
+var STATUS_COLOR = {
+ success: '#00a870',
+ error: '#e34d59',
+ warning: '#ed7b2f',
+};
+
+var LINE_STATUS_ICON = {
+ success: 'check-circle-filled',
+ error: 'error-circle-filled',
+ warning: 'error-circle-filled',
+};
+
+var CIRCLE_STATUS_ICON = {
+ success: 'check',
+ error: 'close',
+ warning: 'error',
+};
+
+/**
+ *
+ * 1. getIOSAriaLabel, getAndroidAriaLabel 两个函数的初衷是处理progress异常情况的文案识别。
+ * 2. iOS可以识别%,而安卓不会识别%,如 80, iOS可以识别成 80%, 而安卓只会80,因此android部分做了一个% 拼接,后续看是否有更好的方案去解决。
+ * 3. 安卓 talkback 版本为 8.1.0.278818032 ,只会读一次 80, 最新版本talkback 会读 80.0, 80。(目前也是一个痛点,啰嗦了)
+ *
+ */
+
+function getIOSAriaLabel(status) {
+ if (status === 'error') {
+ return '进度失败';
+ }
+ if (status === 'warning') {
+ return '进度异常';
+ }
+ return '';
+}
+
+function getAndroidAriaLabel(status) {
+ if (status === 'error') {
+ return '%' + ',进度失败';
+ }
+ if (status === 'warning') {
+ return '%' + ',进度异常';
+ }
+ return '%';
+}
+
+function getCircleStyle(size, strokeWidth) {
+ var styles = {
+ '--td-progress-stroke-circle-width': utils.addUnit(strokeWidth),
+ };
+
+ if (!utils.includes(['default', 'micro'], size)) {
+ styles['--td-progress-circle-width'] = utils.addUnit(size);
+ }
+
+ return utils._style(styles);
+}
+
+module.exports = {
+ STATUS: STATUS,
+ STATUS_TEXT: STATUS_TEXT,
+ PRO_THEME: PRO_THEME,
+ STATUS_COLOR: STATUS_COLOR,
+ LINE_STATUS_ICON: LINE_STATUS_ICON,
+ CIRCLE_STATUS_ICON: CIRCLE_STATUS_ICON,
+ getAndroidAriaLabel: getAndroidAriaLabel,
+ getIOSAriaLabel: getIOSAriaLabel,
+ getCircleStyle: getCircleStyle,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.wxss
new file mode 100644
index 0000000..14b8f6b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/progress.wxss
@@ -0,0 +1,26 @@
+@import '../common/style/index.wxss';.t-progress{--td-progress-inner-bg-color:var(--td-brand-color, var(--td-primary-color-7, #0052d9));--td-progress-track-bg-color:var(--td-bg-color-component, var(--td-gray-color-3, #e7e7e7));--td-progress-circle-from:0deg;}
+.t-progress__inner{position:relative;height:100%;background:var(--td-progress-inner-bg-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-radius:var(--td-radius-round,999px);transition:all var(--td-anim-duration-base,.2s) var(--td-anim-time-fn-easing,cubic-bezier(.38,0,.24,1));}
+.t-progress__bar{width:100%;height:var(--td-progress-line-stroke-width,12rpx);overflow:hidden;background:var(--td-progress-track-bg-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));border-radius:var(--td-radius-round,999px);}
+.t-progress__info{padding-left:var(--td-spacer,16rpx);box-sizing:border-box;color:var(--td-progress-info-dark-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));white-space:nowrap;display:inline-flex;}
+.t-progress--thin{display:flex;justify-content:space-between;align-items:center;}
+.t-progress--thin .t-progress__icon{font-size:calc(var(--td-font-size-base,28rpx) + 2px);}
+.t-progress--plump{height:var(--td-progress-stroke-plump-width,40rpx);border-radius:calc(var(--td-progress-stroke-plump-width,40rpx)/ 2);display:flex;align-items:center;}
+.t-progress--plump .t-progress__info{font-size:var(--td-font-size-s,24rpx);}
+.t-progress--over-ten .t-progress__info{position:absolute;top:50%;right:var(--td-spacer,16rpx);color:var(--td-progress-info-light-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));transform:translateY(-50%);}
+.t-progress--under-ten .t-progress__info,.t-progress--under-ten .t-progress__inner{display:inline-block;}
+.t-progress--under-ten .t-progress__info{vertical-align:top;}
+.t-progress__canvas--circle{position:relative;width:var(--td-progress-circle-width,224rpx);height:var(--td-progress-circle-width,224rpx);border-radius:var(--td-radius-circle,50%);}
+.t-progress__canvas--circle .t-progress__canvas--inner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - var(--td-progress-stroke-circle-width,12rpx)*2);height:calc(100% - var(--td-progress-stroke-circle-width,12rpx)*2);border-radius:var(--td-radius-circle,50%);display:flex;flex-direction:row;justify-content:center;align-items:center;background-color:var(--td-progress-circle-inner-bg-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));}
+.t-progress__canvas--circle .t-progress__info{margin:0;font-size:var(--td-progress-circle-label-font-size,40rpx);font-weight:var(--td-progress-circle-label-font-weight,700);line-height:var(--td-progress-circle-label-line-height,56rpx);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
+.t-progress__canvas--circle--micro{--td-progress-circle-width:48rpx;--td-progress-stroke-circle-width:4rpx;--td-progress-circle-icon-font-size:40rpx;}
+.t-progress--status--active .t-progress__inner::before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:'';animation:progress-active-animation 2s cubic-bezier(.23,.99,.86,.2) infinite;background:var(--td-progress-inner-bg-color-active,var(--td-bg-color-container,var(--td-font-white-1,#fff)));opacity:.2;}
+.t-progress--status--success .t-progress__inner{background:var(--td-progress-inner-bg-color-success,var(--td-success-color,var(--td-success-color-5,#2ba471)));}
+.t-progress--status--success .t-progress__icon{color:var(--td-success-color,var(--td-success-color-5,#2ba471));}
+.t-progress--status--warning .t-progress__inner{background:var(--td-progress-inner-bg-color-warning,var(--td-warning-color,var(--td-warning-color-5,#e37318)));}
+.t-progress--status--warning .t-progress__icon{color:var(--td-warning-color,var(--td-warning-color-5,#e37318));}
+.t-progress--status--error .t-progress__inner{background:var(--td-progress-inner-bg-color-error,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-progress--status--error .t-progress__icon{color:var(--td-error-color,var(--td-error-color-6,#d54941));}
+@keyframes progress-active-animation{
+0%{width:0;opacity:.1;}
+35%{width:50%;opacity:.4;}
+100%{width:100%;opacity:0;}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/props.d.ts
new file mode 100644
index 0000000..214f11a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/props.d.ts
@@ -0,0 +1,3 @@
+import { TdProgressProps } from './type';
+declare const props: TdProgressProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/props.js
new file mode 100644
index 0000000..a9d2f19
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/props.js
@@ -0,0 +1 @@
+const props={color:{type:null,value:""},label:{type:null,value:!0},percentage:{type:Number,value:0},size:{type:null,value:"default"},status:{type:String},strokeWidth:{type:null},theme:{type:String,value:"line"},trackColor:{type:String,value:""}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/type.d.ts
new file mode 100644
index 0000000..a77b327
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/type.d.ts
@@ -0,0 +1,36 @@
+export interface TdProgressProps {
+ color?: {
+ type: null;
+ value?: string | Array | Record;
+ };
+ label?: {
+ type: null;
+ value?: string | boolean;
+ };
+ percentage?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ size?: {
+ type: null;
+ value?: string | number;
+ };
+ status?: {
+ type: StringConstructor;
+ value?: ProgressStatus;
+ };
+ strokeWidth?: {
+ type: null;
+ value?: string | number;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: ProgressTheme;
+ };
+ trackColor?: {
+ type: StringConstructor;
+ value?: string;
+ };
+}
+export declare type ProgressStatus = 'success' | 'error' | 'warning' | 'active';
+export declare type ProgressTheme = 'line' | 'plump' | 'circle';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/utils.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/utils.d.ts
new file mode 100644
index 0000000..84b7889
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/utils.d.ts
@@ -0,0 +1,11 @@
+export declare type Gradients = {
+ [percent: string]: string;
+};
+export declare type FromTo = {
+ from: string;
+ to: string;
+};
+export declare type LinearGradient = {
+ direction?: string;
+} & (Gradients | FromTo);
+export declare function getBackgroundColor(color: string | string[] | LinearGradient): string;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/utils.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/utils.js
new file mode 100644
index 0000000..6015640
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/progress/utils.js
@@ -0,0 +1 @@
+import{__rest}from"tslib";export function getBackgroundColor(r){if("string"==typeof r)return r;if(Array.isArray(r))return r[0]&&"#"===r[0][0]&&r.unshift("90deg"),`linear-gradient( ${r.join(",")} )`;const{from:t,to:e,direction:n="to right"}=r,i=__rest(r,["from","to","direction"]);let o=Object.keys(i);if(o.length){o=o.sort((r,t)=>parseFloat(r.substr(0,r.length-1))-parseFloat(t.substr(0,t.length-1)));return`linear-gradient(${n}, ${o.map(r=>`${i[r]} ${r}`).join(",")})`}return`linear-gradient(${n}, ${t}, ${e})`}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/props.d.ts
new file mode 100644
index 0000000..b7cb543
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/props.d.ts
@@ -0,0 +1,3 @@
+import { TdPullDownRefreshProps } from './type';
+declare const props: TdPullDownRefreshProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/props.js
new file mode 100644
index 0000000..89e7586
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/props.js
@@ -0,0 +1 @@
+const props={disabled:{type:Boolean,value:!1},enableBackToTop:{type:Boolean,value:!0},enablePassive:{type:Boolean,value:!1},loadingBarHeight:{type:null,value:50},loadingProps:{type:Object},loadingTexts:{type:Array,value:[]},lowerThreshold:{type:null,value:50},maxBarHeight:{type:null,value:80},refreshTimeout:{type:Number,value:3e3},scrollIntoView:{type:String,value:""},showScrollbar:{type:Boolean,value:!0},successDuration:{type:null,value:500},upperThreshold:{type:null,value:50},usingCustomNavbar:{type:Boolean,value:!1},value:{type:Boolean,value:null},defaultValue:{type:Boolean,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.d.ts
new file mode 100644
index 0000000..badc23e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.d.ts
@@ -0,0 +1,60 @@
+import { RelationsOptions, SuperComponent } from '../common/src/index';
+export default class PullDownRefresh extends SuperComponent {
+ pixelRatio: number;
+ startPoint: {
+ pageX: number;
+ pageY: number;
+ } | null;
+ isPulling: boolean;
+ maxRefreshAnimateTimeFlag: number;
+ closingAnimateTimeFlag: number;
+ refreshStatusTimer: any;
+ externalClasses: string[];
+ behaviors: string[];
+ options: {
+ multipleSlots: boolean;
+ pureDataPattern: RegExp;
+ };
+ relations: RelationsOptions;
+ properties: import("./type").TdPullDownRefreshProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ distanceTop: number;
+ barHeight: number;
+ tipsHeight: number;
+ refreshStatus: number;
+ loosing: boolean;
+ enableToRefresh: boolean;
+ scrollTop: number;
+ _maxBarHeight: number;
+ _loadingBarHeight: number;
+ };
+ lifetimes: {
+ attached(): void;
+ detached(): void;
+ };
+ observers: {
+ value(val: any): void;
+ barHeight(val: any): void;
+ maxBarHeight(v: any): void;
+ loadingBarHeight(v: any): void;
+ };
+ methods: {
+ updateDistanceTop(): void;
+ resetTimer(): void;
+ onScrollToBottom(): void;
+ onScrollToTop(): void;
+ onScroll(e: any): void;
+ onTouchStart(e: WechatMiniprogram.Component.TrivialInstance): void;
+ onTouchMove(e: WechatMiniprogram.Component.TrivialInstance): void;
+ onTouchEnd(e: WechatMiniprogram.Component.TrivialInstance): void;
+ onDragStart(e: WechatMiniprogram.ScrollViewDragStart): void;
+ onDragging(e: WechatMiniprogram.ScrollViewDragging): void;
+ onDragEnd(e: WechatMiniprogram.ScrollViewDragEnd): void;
+ doRefresh(): void;
+ setRefreshBarHeight(value: number): Promise;
+ setScrollTop(scrollTop: number): void;
+ scrollToTop(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.js
new file mode 100644
index 0000000..c158544
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{getObserver}from"../common/wechat";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{getRect,systemInfo,unitConvert}from"../common/utils";import{canUseProxyScrollView}from"../common/version";const{prefix:prefix}=config,name=`${prefix}-pull-down-refresh`,defaultLoadingTexts=["下拉刷新","松手刷新","正在刷新","刷新完成"];let PullDownRefresh=class extends SuperComponent{constructor(){super(...arguments),this.pixelRatio=1,this.startPoint=null,this.isPulling=!1,this.maxRefreshAnimateTimeFlag=0,this.closingAnimateTimeFlag=0,this.refreshStatusTimer=null,this.externalClasses=[`${prefix}-class`,`${prefix}-class-loading`,`${prefix}-class-text`,`${prefix}-class-indicator`],this.behaviors=canUseProxyScrollView()?["wx://proxy-scroll-view"]:[],this.options={multipleSlots:!0,pureDataPattern:/^_/},this.relations={"../back-top/back-top":{type:"descendant"}},this.properties=props,this.data={prefix:prefix,classPrefix:name,distanceTop:0,barHeight:0,tipsHeight:0,refreshStatus:-1,loosing:!1,enableToRefresh:!0,scrollTop:0,_maxBarHeight:0,_loadingBarHeight:0},this.lifetimes={attached(){const{screenWidth:t}=systemInfo,{loadingTexts:e,maxBarHeight:s,loadingBarHeight:i}=this.properties,r=Array.isArray(e)&&e.length>=4;this.setData({_maxBarHeight:unitConvert(s),_loadingBarHeight:unitConvert(i),loadingTexts:r?e:defaultLoadingTexts}),this.pixelRatio=750/t,this.updateDistanceTop()},detached(){clearTimeout(this.maxRefreshAnimateTimeFlag),clearTimeout(this.closingAnimateTimeFlag),this.resetTimer()}},this.observers={value(t){t?this.doRefresh():(clearTimeout(this.maxRefreshAnimateTimeFlag),this.data.refreshStatus>0&&this.setData({refreshStatus:3}),this.setData({barHeight:0}))},barHeight(t){this.resetTimer(),0===t&&-1!==this.data.refreshStatus&&(this.refreshStatusTimer=setTimeout(()=>{this.setData({refreshStatus:-1})},240)),this.setData({tipsHeight:Math.min(t,this.data._loadingBarHeight)})},maxBarHeight(t){this.setData({_maxBarHeight:unitConvert(t)})},loadingBarHeight(t){this.setData({_loadingBarHeight:unitConvert(t)})}},this.methods={updateDistanceTop(){const t=t=>{this.setData({distanceTop:t})};getRect(this,`.${name}`).then(e=>{e.top?t(e.top):getObserver(this,`.${name}`).then(e=>{e.intersectionRatio>0&&t(e.boundingClientRect.top)})})},resetTimer(){this.refreshStatusTimer&&(clearTimeout(this.refreshStatusTimer),this.refreshStatusTimer=null)},onScrollToBottom(){this.triggerEvent("scrolltolower")},onScrollToTop(){this.setData({enableToRefresh:!0})},onScroll(t){const{scrollTop:e}=t.detail;this.setData({enableToRefresh:0===e}),this.triggerEvent("scroll",{scrollTop:e})},onTouchStart(t){if(this.isPulling||!this.data.enableToRefresh||this.properties.disabled)return;const{touches:e}=t;if(1!==e.length)return;const{pageX:s,pageY:i}=e[0];this.setData({loosing:!1}),this.startPoint={pageX:s,pageY:i},this.isPulling=!0},onTouchMove(t){if(!this.startPoint||this.properties.disabled)return;const{touches:e}=t;if(1!==e.length)return;const{pageY:s}=e[0],i=s-this.startPoint.pageY;i>0&&this.setRefreshBarHeight(i)},onTouchEnd(t){if(!this.startPoint||this.properties.disabled)return;const{changedTouches:e}=t;if(1!==e.length)return;const{pageY:s}=e[0],i=s-this.startPoint.pageY;this.startPoint=null,this.isPulling=!1,this.setData({loosing:!0}),i>this.data._loadingBarHeight?(this._trigger("change",{value:!0}),this.triggerEvent("refresh")):this.setData({barHeight:0})},onDragStart(t){const{scrollTop:e,scrollLeft:s}=t.detail;this.triggerEvent("dragstart",{scrollTop:e,scrollLeft:s})},onDragging(t){const{scrollTop:e,scrollLeft:s}=t.detail;this.triggerEvent("dragging",{scrollTop:e,scrollLeft:s})},onDragEnd(t){const{scrollTop:e,scrollLeft:s}=t.detail;this.triggerEvent("dragend",{scrollTop:e,scrollLeft:s})},doRefresh(){this.properties.disabled||(this.setData({barHeight:this.data._loadingBarHeight,refreshStatus:2,loosing:!0}),this.maxRefreshAnimateTimeFlag=setTimeout(()=>{this.maxRefreshAnimateTimeFlag=null,2===this.data.refreshStatus&&(this.triggerEvent("timeout"),this._trigger("change",{value:!1}))},this.properties.refreshTimeout))},setRefreshBarHeight(t){const e=Math.min(t,this.data._maxBarHeight),s={barHeight:e};return e>=this.data._loadingBarHeight?s.refreshStatus=1:s.refreshStatus=0,new Promise(t=>{this.setData(s,()=>t(e))})},setScrollTop(t){this.setData({scrollTop:t})},scrollToTop(){this.setScrollTop(0)}}}};PullDownRefresh=__decorate([wxComponent()],PullDownRefresh);export default PullDownRefresh;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.json
new file mode 100644
index 0000000..656034e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-loading":"../loading/loading"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.wxml
new file mode 100644
index 0000000..39dd5df
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.wxml
@@ -0,0 +1 @@
+{{loadingTexts[refreshStatus]}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.wxss
new file mode 100644
index 0000000..ed3b21c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.wxss
@@ -0,0 +1,6 @@
+@import '../common/style/index.wxss';.t-pull-down-refresh{overflow:hidden;height:100%;}
+.t-pull-down-refresh__track{position:relative;}
+.t-pull-down-refresh__track--loosing{transition:transform ease .24s;}
+.t-pull-down-refresh__tips{position:absolute;color:var(--td-pull-down-refresh-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));font-size:24rpx;top:0;width:100%;transform:translateY(-100%);display:flex;justify-content:center;align-items:center;flex-direction:column;overflow:hidden;}
+.t-pull-down-refresh__tips--loosing{transition:height ease .24s;}
+.t-pull-down-refresh__text{margin:16rpx 0 0;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/type.d.ts
new file mode 100644
index 0000000..f52cb51
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/type.d.ts
@@ -0,0 +1,67 @@
+import { LoadingProps } from '../loading/index';
+export interface TdPullDownRefreshProps {
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ enableBackToTop?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ enablePassive?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ loadingBarHeight?: {
+ type: null;
+ value?: string | number;
+ };
+ loadingProps?: {
+ type: ObjectConstructor;
+ value?: LoadingProps;
+ };
+ loadingTexts?: {
+ type: ArrayConstructor;
+ value?: string[];
+ };
+ lowerThreshold?: {
+ type: null;
+ value?: string | number;
+ };
+ maxBarHeight?: {
+ type: null;
+ value?: string | number;
+ };
+ refreshTimeout?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ scrollIntoView?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ showScrollbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ successDuration?: {
+ type: null;
+ value?: string | number;
+ };
+ upperThreshold?: {
+ type: null;
+ value?: string | number;
+ };
+ usingCustomNavbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ value?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ defaultValue?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/props.d.ts
new file mode 100644
index 0000000..59f4a0a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/props.d.ts
@@ -0,0 +1,39 @@
+declare const _default: {
+ value: {
+ type: StringConstructor;
+ value: string;
+ };
+ icon: {
+ type: StringConstructor;
+ value: string;
+ };
+ size: {
+ type: NumberConstructor;
+ value: number;
+ };
+ iconSize: {
+ type: any;
+ value: null;
+ };
+ level: {
+ type: StringConstructor;
+ value: import("../../../common/shared/qrcode/types").ErrorCorrectionLevel;
+ };
+ bgColor: {
+ type: StringConstructor;
+ value: string;
+ };
+ color: {
+ type: StringConstructor;
+ value: string;
+ };
+ includeMargin: {
+ type: BooleanConstructor;
+ value: boolean;
+ };
+ marginSize: {
+ type: NumberConstructor;
+ value: number;
+ };
+};
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/props.js
new file mode 100644
index 0000000..e30717a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/props.js
@@ -0,0 +1 @@
+import{DEFAULT_MARGIN_SIZE,DEFAULT_NEED_MARGIN,DEFAULT_BACKGROUND_COLOR,DEFAULT_FRONT_COLOR}from"../../../common/shared/qrcode/utils";export default{value:{type:String,value:""},icon:{type:String,value:""},size:{type:Number,value:160},iconSize:{type:null,value:40},level:{type:String,value:"M"},bgColor:{type:String,value:DEFAULT_BACKGROUND_COLOR},color:{type:String,value:DEFAULT_FRONT_COLOR},includeMargin:{type:Boolean,value:DEFAULT_NEED_MARGIN},marginSize:{type:Number,value:DEFAULT_MARGIN_SIZE}};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.d.ts
new file mode 100644
index 0000000..d61a7f8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.d.ts
@@ -0,0 +1,60 @@
+import { SuperComponent } from '../../../common/src/index';
+export default class QRCode extends SuperComponent {
+ properties: {
+ value: {
+ type: StringConstructor;
+ value: string;
+ };
+ icon: {
+ type: StringConstructor;
+ value: string;
+ };
+ size: {
+ type: NumberConstructor;
+ value: number;
+ };
+ iconSize: {
+ type: any;
+ value: null;
+ };
+ level: {
+ type: StringConstructor;
+ value: import("../../../common/shared/qrcode/types").ErrorCorrectionLevel;
+ };
+ bgColor: {
+ type: StringConstructor;
+ value: string;
+ };
+ color: {
+ type: StringConstructor;
+ value: string;
+ };
+ includeMargin: {
+ type: BooleanConstructor;
+ value: boolean;
+ };
+ marginSize: {
+ type: NumberConstructor;
+ value: number;
+ };
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ observers: {
+ '**': () => void;
+ };
+ methods: {
+ initCanvas(): Promise;
+ drawQrcode(canvas: WechatMiniprogram.Canvas, ctx: WechatMiniprogram.CanvasContext): Promise;
+ getSizeProp(iconSize: number | {
+ width: number;
+ height: number;
+ } | null | undefined): {
+ width: number;
+ height: number;
+ };
+ checkDefaultValue(): void;
+ getCanvasNode(): Promise;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.js
new file mode 100644
index 0000000..94567ca
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.js
@@ -0,0 +1 @@
+import{__awaiter,__decorate}from"tslib";import props from"./props";import useQRCode from"../../hooks/useQRCode";import{SuperComponent,wxComponent}from"../../../common/src/index";import{DEFAULT_MINVERSION,excavateModules}from"../../../common/shared/qrcode/utils";let QRCode=class extends SuperComponent{constructor(){super(...arguments),this.properties=props,this.lifetimes={ready(){this.checkDefaultValue(),this.initCanvas()}},this.observers={"**":function(){this.checkDefaultValue(),this.initCanvas()}},this.methods={initCanvas(){return __awaiter(this,void 0,void 0,function*(){wx.createSelectorQuery().in(this).select("#qrcodeCanvas").fields({node:!0,size:!0}).exec(e=>__awaiter(this,void 0,void 0,function*(){var t;if(!(null===(t=e[0])||void 0===t?void 0:t.node))return;const i=e[0].node,o=i.getContext("2d");yield this.drawQrcode(i,o)}))})},drawQrcode(e,t){var i;return __awaiter(this,void 0,void 0,function*(){if(!t)return;const{value:o,icon:r,size:a,iconSize:l,level:n,bgColor:s,color:c,includeMargin:d,marginSize:h}=this.properties,u=this.getSizeProp(l);try{const l=useQRCode({value:o,level:n,minVersion:DEFAULT_MINVERSION,includeMargin:d,marginSize:h,size:a,imageSettings:r?{src:r,width:u.width,height:u.height,excavate:!0}:void 0}),g=wx.getWindowInfo().pixelRatio||1;e.width=a*g,e.height=a*g;const m=a*g/l.numCells;t.scale(m,m),t.fillStyle=s,t.fillRect(0,0,l.numCells,l.numCells);let v=l.cells;if(r&&(null===(i=l.calculatedImageSettings)||void 0===i?void 0:i.excavation)&&(v=excavateModules(l.cells,l.calculatedImageSettings.excavation)),t.fillStyle=c,v.forEach((e,i)=>{e.forEach((e,o)=>{e&&t.fillRect(o+l.margin,i+l.margin,1.05,1.05)})}),r&&l.calculatedImageSettings){const i=e.createImage();yield new Promise((e,t)=>{i.onload=e,i.onerror=t,i.src=this.properties.icon}),t.drawImage(i,l.calculatedImageSettings.x+l.margin,l.calculatedImageSettings.y+l.margin,l.calculatedImageSettings.w,l.calculatedImageSettings.h)}this.triggerEvent("drawCompleted")}catch(e){this.triggerEvent("drawError",{error:e})}})},getSizeProp:e=>e?"number"==typeof e?{width:e,height:e}:{width:e.width,height:e.height}:{width:0,height:0},checkDefaultValue(){const e={bgColor:"",color:""};let t=!1;const{bgColor:i,color:o}=this.properties,{bgColor:r,color:a}=props;""===i&&r.value&&(e.bgColor=r.value,t=!0),""===o&&a.value&&(e.color=a.value,t=!0),t&&this.setData(e)},getCanvasNode(){return new Promise(e=>{wx.createSelectorQuery().in(this).select("#qrcodeCanvas").fields({node:!0,size:!0}).exec(t=>{var i;e(null===(i=t[0])||void 0===i?void 0:i.node)})})}}}};QRCode=__decorate([wxComponent()],QRCode);export default QRCode;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.json
new file mode 100644
index 0000000..a8456c1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.json
@@ -0,0 +1 @@
+{"component":true}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.wxml
new file mode 100644
index 0000000..a2d3e7c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.wxss
new file mode 100644
index 0000000..3ff98e0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.wxss
@@ -0,0 +1 @@
+@import '../../../common/style/index.wxss';canvas{width:100%;height:100%;align-self:stretch;min-width:0;flex:auto;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/type.d.ts
new file mode 100644
index 0000000..cdc0aee
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/type.d.ts
@@ -0,0 +1,12 @@
+import { ErrorCorrectionLevel } from '../../../common/shared/qrcode/types';
+export interface TdQRCodeProps {
+ value?: string;
+ icon?: string;
+ size?: number;
+ iconSize?: null;
+ level?: ErrorCorrectionLevel;
+ bgColor?: string;
+ color?: string;
+ includeMargin?: boolean;
+ marginSize?: number;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/props.d.ts
new file mode 100644
index 0000000..fcbf4d0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/props.d.ts
@@ -0,0 +1,19 @@
+declare const _default: {
+ status: {
+ type: StringConstructor;
+ value: "loading" | "active" | "expired" | "scanned";
+ };
+ locale: {
+ type: ObjectConstructor;
+ value: {
+ expiredText?: string;
+ refreshText?: string;
+ scannedText?: string;
+ };
+ };
+ statusRender: {
+ type: BooleanConstructor;
+ value: boolean;
+ };
+};
+export default _default;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/props.js
new file mode 100644
index 0000000..4dc1bde
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/props.js
@@ -0,0 +1 @@
+export default{status:{type:String,value:""},locale:{type:Object,value:{expiredText:"二维码过期",refreshText:"点击刷新",scannedText:"已扫描"}},statusRender:{type:Boolean,value:!1}};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.d.ts
new file mode 100644
index 0000000..ef2d19a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.d.ts
@@ -0,0 +1,35 @@
+import { SuperComponent } from '../../../common/src/index';
+export default class QRCode extends SuperComponent {
+ options: {
+ multipleSlots: boolean;
+ };
+ properties: {
+ statusRender: {
+ type: BooleanConstructor;
+ value: boolean;
+ };
+ status: {
+ type: StringConstructor;
+ value: "loading" | "active" | "expired" | "scanned";
+ };
+ locale: {
+ type: ObjectConstructor;
+ value: {
+ expiredText?: string;
+ refreshText?: string;
+ scannedText?: string;
+ };
+ };
+ };
+ data: {
+ prefix: string;
+ classPrefix: string;
+ isSkyline: boolean;
+ };
+ lifetimes: {
+ attached(): void;
+ };
+ methods: {
+ handleRefresh(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.js
new file mode 100644
index 0000000..721f28c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import props from"./props";import config from"../../../common/config";import{SuperComponent,wxComponent}from"../../../common/src/index";const{prefix:prefix}=config,name=`${prefix}-qrcode`;let QRCode=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.properties=Object.assign(Object.assign({},props),{statusRender:{type:Boolean,value:!1}}),this.data={prefix:prefix,classPrefix:name,isSkyline:!1},this.lifetimes={attached(){this.setData({isSkyline:"skyline"===this.renderer})}},this.methods={handleRefresh(){this.triggerEvent("refresh")}}}};QRCode=__decorate([wxComponent()],QRCode);export default QRCode;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.json
new file mode 100644
index 0000000..1222b7a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.json
@@ -0,0 +1 @@
+{"component":true,"usingComponents":{"t-loading":"../../../loading/loading","t-icon":"../../../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.wxml
new file mode 100644
index 0000000..9c4105b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.wxml
@@ -0,0 +1 @@
+{{locale.expiredText}}{{locale.refreshText}}{{locale.scannedText}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.wxss
new file mode 100644
index 0000000..5a62826
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.wxss
@@ -0,0 +1,5 @@
+@import '../../../common/style/index.wxss';.t-expired__text{color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));font-weight:600;}
+.t-expired__button{display:flex;color:var(--td-brand-color,var(--td-primary-color-7,#0052d9));box-shadow:none;cursor:pointer;column-gap:8px;align-items:center;height:32px;transition:all .2s cubic-bezier(.215,.61,.355,1);}
+.t-expired__button:hover{color:var(--td-brand-color-hover);}
+.t-scanned{display:flex;column-gap:8px;align-items:center;}
+.t-scanned__icon{color:var(--td-success-color);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/type.d.ts
new file mode 100644
index 0000000..9e18ac0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/type.d.ts
@@ -0,0 +1,9 @@
+export interface QRCodeStatusProps {
+ status?: 'active' | 'expired' | 'loading' | 'scanned';
+ locale?: {
+ expiredText?: string;
+ refreshText?: string;
+ scannedText?: string;
+ };
+ statusRender?: boolean;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/hooks/useQRCode.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/hooks/useQRCode.d.ts
new file mode 100644
index 0000000..5ac4e58
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/hooks/useQRCode.d.ts
@@ -0,0 +1,27 @@
+import { QrCode } from '../../common/shared/qrcode/qrcodegen';
+import type { ErrorCorrectionLevel, Excavation, ImageSettings } from '../../common/shared/qrcode/types';
+interface Options {
+ value: string;
+ level: ErrorCorrectionLevel;
+ minVersion: number;
+ includeMargin: boolean;
+ marginSize?: number;
+ imageSettings?: ImageSettings;
+ size: number;
+}
+interface QRCodeResult {
+ cells: boolean[][];
+ margin: number;
+ numCells: number;
+ calculatedImageSettings: {
+ x: number;
+ y: number;
+ h: number;
+ w: number;
+ excavation: Excavation | null;
+ opacity: number;
+ } | null;
+ qrcode: QrCode;
+}
+declare const useQRCode: (opt: Options) => QRCodeResult;
+export default useQRCode;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/hooks/useQRCode.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/hooks/useQRCode.js
new file mode 100644
index 0000000..17a136f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/hooks/useQRCode.js
@@ -0,0 +1 @@
+import{QrCode,QrSegment}from"../../common/shared/qrcode/qrcodegen";import{ERROR_LEVEL_MAP,getImageSettings,getMarginSize}from"../../common/shared/qrcode/utils";const useQRCode=e=>{const{value:t,level:n,minVersion:r,includeMargin:g,marginSize:o,imageSettings:m,size:i}=e,s=(()=>{const e=QrSegment.makeSegments(t);return QrCode.encodeSegments(e,ERROR_LEVEL_MAP[n],r)})(),a=s.getModules(),d=getMarginSize(g,o),c=getImageSettings(a,i,d,m);return{cells:a,margin:d,numCells:a.length+2*d,calculatedImageSettings:c,qrcode:s}};export default useQRCode;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/props.d.ts
new file mode 100644
index 0000000..f98b229
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/props.d.ts
@@ -0,0 +1,3 @@
+import { TdQRCodeProps } from './type';
+declare const props: TdQRCodeProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/props.js
new file mode 100644
index 0000000..e056fa0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/props.js
@@ -0,0 +1 @@
+const props={bgColor:{type:String,value:""},borderless:{type:Boolean,value:!1},color:{type:String,value:""},icon:{type:String,value:""},iconSize:{type:null,value:40},level:{type:String,value:"M"},size:{type:Number,value:160},status:{type:String,value:"active"},value:{type:String,value:""}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.d.ts
new file mode 100644
index 0000000..75a6751
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.d.ts
@@ -0,0 +1,80 @@
+import { SuperComponent } from '../common/src/index';
+export default class QRCode extends SuperComponent {
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ virtualHost: boolean;
+ };
+ properties: {
+ statusRender: {
+ type: BooleanConstructor;
+ value: boolean;
+ };
+ style: {
+ type: StringConstructor;
+ value: string;
+ };
+ customStyle: {
+ type: StringConstructor;
+ value: string;
+ };
+ bgColor?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ borderless?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ color?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ icon?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ iconSize?: {
+ type: null;
+ value?: number | {
+ width: number;
+ height: number;
+ };
+ };
+ level?: {
+ type: StringConstructor;
+ value?: "M" | "L" | "Q" | "H";
+ };
+ size?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ status?: {
+ type: StringConstructor;
+ value?: import("./type").QRStatus;
+ };
+ value?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ };
+ data: {
+ prefix: string;
+ showMask: boolean;
+ classPrefix: string;
+ canvasReady: boolean;
+ };
+ lifetimes: {
+ ready(): Promise;
+ attached(): void;
+ };
+ observers: {
+ status: (newVal: string) => void;
+ };
+ methods: {
+ handleDrawCompleted(): void;
+ handleDrawError(err: any): void;
+ handleRefresh(): void;
+ handleDownload(): Promise;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.js
new file mode 100644
index 0000000..12ee3ad
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.js
@@ -0,0 +1 @@
+import{__awaiter,__decorate}from"tslib";import props from"./props";import config from"../common/config";import{SuperComponent,wxComponent}from"../common/src/index";const{prefix:prefix}=config,name=`${prefix}-qrcode`;let QRCode=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-canvas`],this.options={multipleSlots:!0,virtualHost:!0},this.properties=Object.assign(Object.assign({},props),{statusRender:{type:Boolean,value:!1},style:{type:String,value:""},customStyle:{type:String,value:""}}),this.data={prefix:prefix,showMask:!1,classPrefix:name,canvasReady:!1},this.lifetimes={ready(){return __awaiter(this,void 0,void 0,function*(){const e=this.selectComponent("#qrcodeCanvas"),t=yield e.getCanvasNode();this.setData({canvasNode:t})})},attached(){this.setData({showMask:"active"!==this.properties.status})}},this.observers={status:function(e){this.setData({showMask:"active"!==e})}},this.methods={handleDrawCompleted(){this.setData({canvasReady:!0})},handleDrawError(e){console.error("二维码绘制失败",e)},handleRefresh(){this.triggerEvent("refresh")},handleDownload(){return __awaiter(this,void 0,void 0,function*(){this.data.canvasNode?wx.canvasToTempFilePath({canvas:this.data.canvasNode,success:e=>{wx.saveImageToPhotosAlbum({filePath:e.tempFilePath})},fail:e=>{console.error("canvasToTempFilePath failed",e)}},this):console.error("未找到 canvas 节点")})}}}};QRCode=__decorate([wxComponent()],QRCode);export default QRCode;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.json
new file mode 100644
index 0000000..c15e55d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"qrcode-canvas":"./components/qrcode-canvas/qrcode-canvas","qrcode-status":"./components/qrcode-status/qrcode-status"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxml
new file mode 100644
index 0000000..680e96a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxss
new file mode 100644
index 0000000..4fc4ec7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxss
@@ -0,0 +1,3 @@
+@import '../common/style/index.wxss';.t-qrcode{position:relative;display:flex;box-sizing:border-box;background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));padding:12px;border-radius:6px;border:1px solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));}
+.t-qrcode.t-borderless{border-color:transparent;}
+.t-qrcode .t-mask{left:0;top:0;position:absolute;inset-block-start:0;inset-inline-start:0;z-index:300;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));line-height:22px;background-color:var(--td-mask-background,rgba(255,255,255,.96));text-align:center;border-radius:6px;font-size:var(--td-font-size-title-small);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/type.d.ts
new file mode 100644
index 0000000..2dd5e77
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/type.d.ts
@@ -0,0 +1,46 @@
+export interface TdQRCodeProps {
+ bgColor?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ borderless?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ color?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ icon?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ iconSize?: {
+ type: null;
+ value?: number | {
+ width: number;
+ height: number;
+ };
+ };
+ level?: {
+ type: StringConstructor;
+ value?: 'L' | 'M' | 'Q' | 'H';
+ };
+ size?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ status?: {
+ type: StringConstructor;
+ value?: QRStatus;
+ };
+ value?: {
+ type: StringConstructor;
+ value?: string;
+ };
+}
+export declare type QRStatus = 'active' | 'expired' | 'loading' | 'scanned';
+export declare type StatusRenderInfo = {
+ status: QRStatus;
+ onRefresh?: () => void;
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/qrcode/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/props.d.ts
new file mode 100644
index 0000000..40dcb03
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/props.d.ts
@@ -0,0 +1,3 @@
+import { TdRadioGroupProps } from './type';
+declare const props: TdRadioGroupProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/props.js
new file mode 100644
index 0000000..850d529
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/props.js
@@ -0,0 +1 @@
+const props={allowUncheck:{type:Boolean,value:!1},borderless:{type:Boolean,value:!1},disabled:{type:null,value:void 0},icon:{type:null,value:"circle"},keys:{type:Object},name:{type:String,value:""},options:{type:Array},placement:{type:String,value:"left"},readonly:{type:null,value:void 0},value:{type:null,value:null},defaultValue:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.d.ts
new file mode 100644
index 0000000..ee08cb5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.d.ts
@@ -0,0 +1,27 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class RadioGroup extends SuperComponent {
+ behaviors: string[];
+ externalClasses: string[];
+ data: {
+ prefix: string;
+ classPrefix: string;
+ radioOptions: any[];
+ };
+ relations: RelationsOptions;
+ properties: import("./type").TdRadioGroupProps;
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ observers: {
+ value(v: any): void;
+ options(): void;
+ disabled(v: any): void;
+ };
+ methods: {
+ getChildren(): any;
+ updateValue(value: any): void;
+ handleRadioChange(e: any): void;
+ initWithOptions(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.js
new file mode 100644
index 0000000..0c35dfb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import config from"../common/config";import{SuperComponent,wxComponent}from"../common/src/index";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-radio-group`;let RadioGroup=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=["wx://form-field"],this.externalClasses=[`${prefix}-class`],this.data={prefix:prefix,classPrefix:name,radioOptions:[]},this.relations={"../radio/radio":{type:"descendant",linked(e){const{value:t,disabled:i,readonly:o}=this.data;e.setData({checked:t===e.data.value}),e.setDisabled(i),e.setReadonly(o)}}},this.properties=props,this.controlledProps=[{key:"value",event:"change"}],this.observers={value(e){this.getChildren().forEach(t=>{t.setData({checked:e===t.data.value})})},options(){this.initWithOptions()},disabled(e){var t;(null===(t=this.data.options)||void 0===t?void 0:t.length)?this.initWithOptions():this.getChildren().forEach(t=>{t.setDisabled(e)})}},this.methods={getChildren(){let e=this.$children;return(null==e?void 0:e.length)||(e=this.selectAllComponents(`.${prefix}-radio-option`)),e},updateValue(e){this._trigger("change",{value:e})},handleRadioChange(e){const{checked:t}=e.detail,{value:i,index:o,allowUncheck:a}=e.target.dataset;this._trigger("change",!1===t&&a?{value:null,index:o}:{value:i,index:o})},initWithOptions(){const{options:e,value:t,keys:i,disabled:o,readonly:a}=this.data;if(!(null==e?void 0:e.length)||!Array.isArray(e))return void this.setData({radioOptions:[]});const s=[];try{e.forEach(e=>{var l,r,n;const d=typeof e;"number"===d||"string"===d?s.push({label:`${e}`,value:e,checked:t===e,disabled:o,readonly:a}):"object"===d&&s.push(Object.assign(Object.assign({},e),{label:e[null!==(l=null==i?void 0:i.label)&&void 0!==l?l:"label"],value:e[null!==(r=null==i?void 0:i.value)&&void 0!==r?r:"value"],checked:t===e[null!==(n=null==i?void 0:i.value)&&void 0!==n?n:"value"],disabled:e.disabled||o,readonly:e.readonly||a}))}),this.setData({radioOptions:s})}catch(e){console.error("error",e)}}}}};RadioGroup=__decorate([wxComponent()],RadioGroup);export default RadioGroup;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.json
new file mode 100644
index 0000000..2e52c48
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-radio":"../radio/radio"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.wxml
new file mode 100644
index 0000000..b5679a9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.wxss
new file mode 100644
index 0000000..aed803e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/radio-group.wxss
@@ -0,0 +1 @@
+@import '../common/style/index.wxss';
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/type.d.ts
new file mode 100644
index 0000000..d7954bd
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/type.d.ts
@@ -0,0 +1,56 @@
+import { KeysType } from '../common/common';
+export interface TdRadioGroupProps {
+ allowUncheck?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ borderless?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ icon?: {
+ type: null;
+ value?: 'circle' | 'line' | 'dot' | Array;
+ };
+ keys?: {
+ type: ObjectConstructor;
+ value?: KeysType;
+ };
+ name?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ options?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ placement?: {
+ type: StringConstructor;
+ value?: 'left' | 'right';
+ };
+ readonly?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ value?: {
+ type: null;
+ value?: T;
+ };
+ defaultValue?: {
+ type: null;
+ value?: T;
+ };
+}
+export declare type RadioOption = string | number | RadioOptionObj;
+export interface RadioOptionObj {
+ label?: string;
+ value?: string | number;
+ readonly?: boolean;
+ disabled?: boolean;
+ allowUncheck?: boolean;
+}
+export declare type RadioValue = string | number | boolean;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio-group/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/props.d.ts
new file mode 100644
index 0000000..c59a8d0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/props.d.ts
@@ -0,0 +1,3 @@
+import { TdRadioProps } from './type';
+declare const props: TdRadioProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/props.js
new file mode 100644
index 0000000..0fcbdaf
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/props.js
@@ -0,0 +1 @@
+const props={allowUncheck:{type:Boolean,value:!1},block:{type:Boolean,value:!0},checked:{type:Boolean,value:null},defaultChecked:{type:Boolean,value:!1},content:{type:String},contentDisabled:{type:Boolean,value:!1},disabled:{type:null,value:void 0},icon:{type:null,value:"circle"},label:{type:String},maxContentRow:{type:Number,value:5},maxLabelRow:{type:Number,value:3},name:{type:String,value:""},placement:{type:String},readonly:{type:null,value:void 0},value:{type:null,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.d.ts
new file mode 100644
index 0000000..5e142e1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.d.ts
@@ -0,0 +1,107 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class Radio extends SuperComponent {
+ externalClasses: string[];
+ behaviors: string[];
+ relations: RelationsOptions;
+ options: {
+ multipleSlots: boolean;
+ };
+ lifetimes: {
+ attached(): void;
+ };
+ properties: {
+ borderless: {
+ type: BooleanConstructor;
+ value: boolean;
+ };
+ tId: {
+ type: StringConstructor;
+ };
+ allowUncheck?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ block?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ checked?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ defaultChecked?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ contentDisabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ icon?: {
+ type: null;
+ value?: string[] | "circle" | "line" | "dot";
+ };
+ label?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ maxContentRow?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ maxLabelRow?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ name?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ placement?: {
+ type: StringConstructor;
+ value?: "left" | "right";
+ };
+ readonly?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ value?: {
+ type: null;
+ value?: import("./type").RadioValue;
+ };
+ };
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ data: {
+ prefix: string;
+ classPrefix: string;
+ customIcon: boolean;
+ slotIcon: boolean;
+ optionLinked: boolean;
+ iconVal: any[];
+ _placement: string;
+ _disabled: boolean;
+ _readonly: boolean;
+ };
+ observers: {
+ disabled(v: any): void;
+ readonly(v: any): void;
+ };
+ methods: {
+ handleTap(e: any): void;
+ doChange(): void;
+ init(): void;
+ setDisabled(disabled: Boolean): void;
+ setReadonly(readonly: Boolean): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.js
new file mode 100644
index 0000000..6178e80
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import config from"../common/config";import{SuperComponent,wxComponent}from"../common/src/index";import Props from"./props";const{prefix:prefix}=config,name=`${prefix}-radio`;let Radio=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-label`,`${prefix}-class-icon`,`${prefix}-class-content`,`${prefix}-class-border`],this.behaviors=["wx://form-field"],this.relations={"../radio-group/radio-group":{type:"ancestor",linked(e){e.data.borderless&&this.setData({borderless:!0})}}},this.options={multipleSlots:!0},this.lifetimes={attached(){this.init()}},this.properties=Object.assign(Object.assign({},Props),{borderless:{type:Boolean,value:!1},tId:{type:String}}),this.controlledProps=[{key:"checked",event:"change"}],this.data={prefix:prefix,classPrefix:name,customIcon:!1,slotIcon:!1,optionLinked:!1,iconVal:[],_placement:"",_disabled:!1,_readonly:!1},this.observers={disabled(e){this.setData({_disabled:e})},readonly(e){this.setData({_readonly:e})}},this.methods={handleTap(e){const{_disabled:t,_readonly:a,contentDisabled:o}=this.data,{target:s}=e.currentTarget.dataset;t||a||"text"===s&&o||this.doChange()},doChange(){var e;const{value:t,checked:a,allowUncheck:o}=this.data,s=Boolean(o||(null===(e=this.$parent)||void 0===e?void 0:e.data.allowUncheck));this.$parent?this.$parent.updateValue(a&&s?null:t):this._trigger("change",{checked:!s||!a})},init(){var e,t,a,o;const{icon:s}=this.data,i=Array.isArray((null===(e=this.$parent)||void 0===e?void 0:e.icon)||s);this.setData({customIcon:i,slotIcon:"slot"===s,iconVal:i?(null===(t=this.$parent)||void 0===t?void 0:t.icon)||s:[],_placement:this.data.placement||(null===(o=null===(a=this.$parent)||void 0===a?void 0:a.data)||void 0===o?void 0:o.placement)||"left"})},setDisabled(e){this.setData({_disabled:this.data.disabled||e})},setReadonly(e){this.setData({_readonly:this.data.readonly||e})}}}};Radio=__decorate([wxComponent()],Radio);export default Radio;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.json
new file mode 100644
index 0000000..9269b92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.wxml
new file mode 100644
index 0000000..53dd5f2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.wxml
@@ -0,0 +1 @@
+{{label}}{{content}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.wxss
new file mode 100644
index 0000000..bd9adae
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/radio.wxss
@@ -0,0 +1,35 @@
+@import '../common/style/index.wxss';.limit-title-row{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}
+.t-radio{position:relative;display:inline-flex;vertical-align:middle;font-size:var(--td-radio-font-size,32rpx);background:var(--td-radio-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-radio:focus{outline:0;}
+.t-radio--block{display:flex;padding:var(--td-radio-vertical-padding,32rpx);}
+.t-radio--right{flex-direction:row-reverse;}
+.t-radio__icon{position:relative;margin-top:calc((var(--td-radio-label-line-height,48rpx) - var(--td-radio-icon-size,48rpx))/ 2);width:var(--td-radio-icon-size,48rpx);height:var(--td-radio-icon-size,48rpx);font-size:var(--td-radio-icon-size,48rpx);color:var(--td-radio-icon-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));overflow:hidden;}
+.t-radio__icon:empty{display:none;}
+.t-radio__icon--left{margin-right:16rpx;}
+.t-radio__icon--checked{color:var(--td-radio-icon-checked-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-radio__icon--disabled{cursor:not-allowed;color:var(--td-radio-icon-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-radio__icon-circle{width:var(--td-radio-icon-size,48rpx);height:var(--td-radio-icon-size,48rpx);box-sizing:border-box;}
+.t-radio__icon-circle::after{content:'';width:calc(200% - 6rpx);height:calc(200% - 6rpx);border-radius:50%;border:3px solid var(--td-radio-icon-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);box-sizing:border-box;}
+.t-radio__icon-circle--disabled::after{background:var(--td-radio-icon-disabled-bg-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
+.t-radio__icon-line::after,.t-radio__icon-line::before{content:'';display:block;position:absolute;width:5rpx;border-radius:2rpx;background:var(--td-radio-icon-checked-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));transform-origin:top center;}
+.t-radio__icon-line::before{height:16rpx;left:8rpx;top:22rpx;transform:rotate(-45deg);}
+.t-radio__icon-line::after{height:26rpx;right:8rpx;top:14rpx;transform:rotate(45deg);}
+.t-radio__icon-line--disabled::after,.t-radio__icon-line--disabled::before{background:var(--td-radio-icon-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-radio__icon-dot{width:calc((var(--td-radio-icon-size,48rpx) - 6rpx) * 2);height:calc((var(--td-radio-icon-size,48rpx) - 6rpx) * 2);border:6rpx solid var(--td-radio-icon-checked-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);box-sizing:border-box;display:flex;align-items:center;justify-content:center;}
+.t-radio__icon-dot::after{content:'';display:block;width:var(--td-radio-icon-size,48rpx);height:var(--td-radio-icon-size,48rpx);background:var(--td-radio-icon-checked-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-radius:50%;}
+.t-radio__icon-dot--disabled{border-color:var(--td-radio-icon-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-radio__icon-dot--disabled::after{background:var(--td-radio-icon-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-radio__image{line-height:var(--td-radio-icon-size,48rpx);}
+.t-radio-icon__image{height:var(--td-radio-icon-size,48rpx);width:var(--td-radio-icon-size,48rpx);vertical-align:sub;}
+.t-radio__content{flex:1;}
+.t-radio__content:empty{display:none;}
+.t-radio__title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;color:var(--td-radio-label-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));line-height:var(--td-radio-label-line-height,48rpx);}
+.t-radio__title--checked{color:var(--td-radio-label-checked-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-radio__title--disabled{cursor:not-allowed;color:var(--td-radio-label-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-radio__description{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;color:var(--td-radio-content-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));font-size:var(--td-radio-content-font-size,28rpx);line-height:var(--td-radio-content-line-height,44rpx);}
+.t-radio__description--checked{color:var(--td-radio-content-checked-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));}
+.t-radio__description--disabled{cursor:not-allowed;color:var(--td-radio-content-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-radio__description:empty{display:none;}
+.t-radio__title+.t-radio__description{margin-top:8rpx;}
+.t-radio__border{position:absolute;bottom:0;height:1px;background:var(--td-radio-border-color,var(--td-component-stroke,var(--td-gray-color-3,#e7e7e7)));left:96rpx;right:0;transform:scaleY(.5);}
+.t-radio__border--right{left:32rpx;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/type.d.ts
new file mode 100644
index 0000000..c39da7f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/type.d.ts
@@ -0,0 +1,63 @@
+export interface TdRadioProps {
+ allowUncheck?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ block?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ checked?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ defaultChecked?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ contentDisabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ icon?: {
+ type: null;
+ value?: 'circle' | 'line' | 'dot' | Array;
+ };
+ label?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ maxContentRow?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ maxLabelRow?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ name?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ placement?: {
+ type: StringConstructor;
+ value?: 'left' | 'right';
+ };
+ readonly?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ value?: {
+ type: null;
+ value?: T;
+ };
+}
+export declare type RadioValue = string | number | boolean;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/radio/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/props.d.ts
new file mode 100644
index 0000000..f908fa5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/props.d.ts
@@ -0,0 +1,3 @@
+import { TdRateProps } from './type';
+declare const props: TdRateProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/props.js
new file mode 100644
index 0000000..98acf92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/props.js
@@ -0,0 +1 @@
+const props={allowHalf:{type:Boolean,value:!1},color:{type:null,value:"#ED7B2F"},count:{type:Number,value:5},disabled:{type:null,value:void 0},gap:{type:null,value:8},icon:{type:null},iconPrefix:{type:String,value:void 0},placement:{type:String,value:"top"},showText:{type:Boolean,value:!1},size:{type:String,value:"24px"},texts:{type:Array,value:[]},value:{type:Number,value:null},defaultValue:{type:Number,value:0},variant:{type:String,value:"outline"}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.d.ts
new file mode 100644
index 0000000..e6070ab
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.d.ts
@@ -0,0 +1,29 @@
+import { SuperComponent } from '../common/src/index';
+export default class Rate extends SuperComponent {
+ externalClasses: string[];
+ properties: import("./type").TdRateProps;
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ data: {
+ prefix: string;
+ classPrefix: string;
+ defaultTexts: string[];
+ tipsVisible: boolean;
+ tipsLeft: number;
+ actionType: string;
+ scaleIndex: number;
+ isVisibleToScreenReader: boolean;
+ };
+ methods: {
+ onTouch(e: WechatMiniprogram.TouchEvent, eventType: 'tap' | 'move'): void;
+ onTap(e: WechatMiniprogram.TouchEvent): void;
+ onTouchStart(): void;
+ onTouchMove(e: WechatMiniprogram.TouchEvent): void;
+ onTouchEnd(): void;
+ hideTips(): void;
+ onSelect(e: WechatMiniprogram.TouchEvent): void;
+ showAlertText(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.js
new file mode 100644
index 0000000..12ad7e3
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{unitConvert,getRect}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-rate`;let Rate=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-icon`,`${prefix}-class-text`],this.properties=props,this.controlledProps=[{key:"value",event:"change"}],this.data={prefix:prefix,classPrefix:name,defaultTexts:["极差","失望","一般","满意","惊喜"],tipsVisible:!1,tipsLeft:0,actionType:"",scaleIndex:-1,isVisibleToScreenReader:!1},this.methods={onTouch(e,t){const{count:i,allowHalf:s,gap:o,value:a,size:n}=this.properties,[r]=e.changedTouches,c=unitConvert(o);getRect(this,`.${name}__wrapper`).then(e=>{const{width:p,left:h}=e,l=(p-(i-1)*c)/i,d=(r.pageX-h+c)/(l+c),u=d%1,m=d-u;let T=u<=.5&&s?m+.5:m+1;T>i?T=i:T<0&&(T=0);const x=Math.ceil(T-1)*(unitConvert(o)+unitConvert(n))+.5*unitConvert(n);this.setData({tipsVisible:!0,actionType:t,scaleIndex:Math.ceil(T),tipsLeft:Math.max(x,0)}),T!==a&&this._trigger("change",{value:T}),this.touchEnd&&this.hideTips()})},onTap(e){const{disabled:t}=this.properties;t||this.onTouch(e,"tap")},onTouchStart(){this.touchEnd=!1},onTouchMove(e){this.onTouch(e,"move"),this.showAlertText()},onTouchEnd(){this.touchEnd=!0,this.hideTips()},hideTips(){"move"===this.data.actionType&&this.setData({tipsVisible:!1,scaleIndex:-1})},onSelect(e){const{value:t}=e.currentTarget.dataset,{actionType:i}=this.data;"move"!==i&&(this._trigger("change",{value:t}),setTimeout(()=>this.setData({tipsVisible:!1,scaleIndex:-1}),300))},showAlertText(){!0!==this.data.isVisibleToScreenReader&&(this.setData({isVisibleToScreenReader:!0}),setTimeout(()=>{this.setData({isVisibleToScreenReader:!1})},2e3))}}}};Rate=__decorate([wxComponent()],Rate);export default Rate;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.json
new file mode 100644
index 0000000..9269b92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.wxml
new file mode 100644
index 0000000..0dbd117
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.wxml
@@ -0,0 +1 @@
+{{utils.getText(texts,value,defaultTexts)}}{{value+'星'}} {{utils.getText(texts,value,defaultTexts)}}{{utils.ceil(value) - 0.5}}{{utils.ceil(value)}}{{value}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.wxs
new file mode 100644
index 0000000..8387b10
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.wxs
@@ -0,0 +1,65 @@
+module.exports = {
+ getText: function (texts, val, defaultTexts) {
+ if (!texts.length) {
+ texts = defaultTexts;
+ }
+ var curVal = Math.floor(val - 1);
+ return texts[curVal] || '未评分';
+ },
+
+ getIconName: function (defaultValue, value, index, icon) {
+ var curVal = value >= 0 ? value : defaultValue;
+ var name = ['star-filled', 'star-filled'];
+
+ if (icon) {
+ name = icon.constructor == 'Array' ? icon : [icon, icon];
+ }
+
+ return name[curVal >= index + 1 ? 0 : 1];
+ },
+
+ getIconClass: function (classPrefix, defaultValue, value, index, allowHalf, disabled, scaleIndex) {
+ var curVal = value >= 0 ? value : defaultValue;
+ var className = [];
+ if (curVal >= index + 1) {
+ className.push(classPrefix + '--selected');
+ if (disabled) {
+ className.push(classPrefix + '--disabled');
+ }
+ if (scaleIndex === index + 1) {
+ className.push(classPrefix + '--current');
+ }
+ } else if (allowHalf && curVal - index > 0) {
+ className.push(classPrefix + '--selected-half');
+ if (scaleIndex === index + 1) {
+ className.push(classPrefix + '--current');
+ }
+ if (disabled) {
+ className.push(classPrefix + '--disabled-half');
+ }
+ } else {
+ className.push(classPrefix + '--unselected');
+ }
+ return className.join(' ');
+ },
+
+ ceil: function (value) {
+ return Math.ceil(value);
+ },
+
+ getColor: function (color) {
+ if (color.constructor === 'Array' && color.length === 2) {
+ return ';--td-rate-selected-color: ' + color[0] + '; --td-rate-unselected-color: ' + color[1];
+ }
+
+ if (typeof color === 'string') {
+ return ';--td-rate-selected-color: ' + color;
+ }
+
+ return '';
+ },
+
+ regSize: function (val) {
+ return val.indexOf('px') ? val : val + 'px';
+ },
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.wxss
new file mode 100644
index 0000000..f391fc2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/rate.wxss
@@ -0,0 +1,15 @@
+@import '../common/style/index.wxss';.t-rate{position:relative;display:flex;align-items:center;justify-content:flex-start;}
+.t-rate__wrapper{line-height:1em;display:inline-flex;}
+.t-rate__icon{display:block;line-height:1em;width:1em;transition:transform .3s ease;}
+.t-rate__icon--current{transform:scale(var(--td-rate-icon-scale,1.33));}
+.t-rate__icon--selected{color:var(--td-rate-selected-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));}
+.t-rate__icon--selected-half{color:transparent;background:linear-gradient(to right,var(--td-rate-selected-color,var(--td-warning-color,var(--td-warning-color-5,#e37318))) 0,var(--td-rate-selected-color,var(--td-warning-color,var(--td-warning-color-5,#e37318))) 50%,var(--td-rate-unselected-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc))) 51%,var(--td-rate-unselected-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc))) 100%);-webkit-background-clip:text;background-clip:text;}
+.t-rate__icon--unselected{color:var(--td-rate-unselected-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
+.t-rate__text{font-size:var(--td-rate-text-font-size,var(--td-font-size-m,32rpx));color:var(--td-rate-text-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));margin-left:32rpx;vertical-align:middle;}
+.t-rate__text--active{color:var(--td-rate-text-active-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font-weight:var(--td-rate-text-active-font-weight,600);}
+.t-rate__text--sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0;}
+.t-rate__tips{position:absolute;display:flex;align-items:center;bottom:calc(100% + 16rpx);padding:8rpx;border-radius:12rpx;box-shadow:var(--td-shadow-1,0 1px 10px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.08),0 2px 4px -1px rgba(0,0,0,.12));background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));transform:translateX(-50%);}
+.t-rate__tips--bottom{top:calc(100% + 16rpx);bottom:auto;}
+.t-rate__tips-item{display:flex;flex-direction:column;align-items:center;width:64rpx;border-radius:6rpx;}
+.t-rate__tips-item--active{background-color:var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7));}
+.t-rate__tips-text{text-align:center;font-size:24rpx;line-height:40rpx;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/type.d.ts
new file mode 100644
index 0000000..0518e2e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/type.d.ts
@@ -0,0 +1,58 @@
+export interface TdRateProps {
+ allowHalf?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ color?: {
+ type: null;
+ value?: string | Array;
+ };
+ count?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ gap?: {
+ type: null;
+ value?: string | number;
+ };
+ icon?: {
+ type: null;
+ value?: string | string[];
+ };
+ iconPrefix?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ placement?: {
+ type: StringConstructor;
+ value?: 'top' | 'bottom' | '';
+ };
+ showText?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ size?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ texts?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ value?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ defaultValue?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ variant?: {
+ type: StringConstructor;
+ value?: 'outline' | 'filled';
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/rate/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/result/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/index.d.ts
new file mode 100644
index 0000000..74469ef
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/index.d.ts
@@ -0,0 +1,3 @@
+export * from './type';
+export * from './props';
+export * from './result';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/result/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/index.js
new file mode 100644
index 0000000..3f23200
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/index.js
@@ -0,0 +1 @@
+export*from"./type";export*from"./props";export*from"./result";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/result/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/props.d.ts
new file mode 100644
index 0000000..7336c63
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/props.d.ts
@@ -0,0 +1,3 @@
+import { TdResultProps } from './type';
+declare const props: TdResultProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/result/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/props.js
new file mode 100644
index 0000000..12fb666
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/props.js
@@ -0,0 +1 @@
+const props={description:{type:String},icon:{type:null,value:!0},image:{type:String},theme:{type:String,value:"default"},title:{type:String,value:""}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.d.ts
new file mode 100644
index 0000000..9dfa5ff
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.d.ts
@@ -0,0 +1,21 @@
+import { SuperComponent } from '../common/src/index';
+export default class extends SuperComponent {
+ options: {
+ multipleSlots: boolean;
+ };
+ externalClasses: string[];
+ properties: import("./type").TdResultProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ observers: {
+ 'icon, theme'(): void;
+ };
+ methods: {
+ initIcon(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.js
new file mode 100644
index 0000000..009a276
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import props from"./props";import config from"../common/config";import{calcIcon}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-result`,THEME_ICON={default:"error-circle",success:"check-circle",warning:"error-circle",error:"close-circle"};let default_1=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.externalClasses=[`${prefix}-class`,`${prefix}-class-image`,`${prefix}-class-title`,`${prefix}-class-description`],this.properties=props,this.data={prefix:prefix,classPrefix:name},this.lifetimes={ready(){this.initIcon()}},this.observers={"icon, theme"(){this.initIcon()}},this.methods={initIcon(){const{icon:e,theme:o}=this.properties;this.setData({_icon:calcIcon(e,THEME_ICON[o])})}}}};default_1=__decorate([wxComponent()],default_1);export default default_1;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.json
new file mode 100644
index 0000000..dd7b01e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-image":"../image/image"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.wxml
new file mode 100644
index 0000000..8a101a8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.wxml
@@ -0,0 +1 @@
+{{title}}{{description}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.wxss
new file mode 100644
index 0000000..6996101
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/result.wxss
@@ -0,0 +1,10 @@
+@import '../common/style/index.wxss';.t-result{display:flex;flex-direction:column;align-items:center;}
+.t-result__icon{font-size:160rpx;}
+.t-result__title{line-height:var(--td-result-title-line-height,56rpx);font-size:var(--td-result-title-font-size,var(--td-font-size-xl,40rpx));font-weight:700;color:var(--td-result-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-result__thumb:not(:empty)+.t-result__title:not(:empty){margin-top:var(--td-result-title-margin-top,var(--td-spacer-1,24rpx));}
+.t-result__description{text-align:center;color:var(--td-result-description-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));font-size:var(--td-result-description-font-size,var(--td-font-size-base,28rpx));line-height:var(--td-result-description-line-height,44rpx);}
+.t-result__title+.t-result__description:not(:empty){margin-top:var(--td-result-description-margin-top,var(--td-spacer,16rpx));}
+.t-result--theme-default{color:var(--td-result-icon-default-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-result--theme-success{color:var(--td-result-icon-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));}
+.t-result--theme-warning{color:var(--td-result-icon-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));}
+.t-result--theme-error{color:var(--td-result-icon-error-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/result/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/type.d.ts
new file mode 100644
index 0000000..80b4136
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/type.d.ts
@@ -0,0 +1,22 @@
+export interface TdResultProps {
+ description?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ icon?: {
+ type: null;
+ value?: string | boolean | object;
+ };
+ image?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'default' | 'success' | 'warning' | 'error';
+ };
+ title?: {
+ type: StringConstructor;
+ value?: string;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/result/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/result/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/row/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/props.d.ts
new file mode 100644
index 0000000..34bd697
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/props.d.ts
@@ -0,0 +1,3 @@
+import { TdRowProps } from './type';
+declare const props: TdRowProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/row/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/props.js
new file mode 100644
index 0000000..3710d43
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/props.js
@@ -0,0 +1 @@
+const props={gutter:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.d.ts
new file mode 100644
index 0000000..136e65c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.d.ts
@@ -0,0 +1,15 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class Row extends SuperComponent {
+ externalClasses: any[];
+ properties: import("./type").TdRowProps;
+ data: {
+ prefix: string;
+ };
+ relations: RelationsOptions;
+ observers: {
+ gutter(): void;
+ };
+ methods: {
+ setGutter(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.js
new file mode 100644
index 0000000..6211242
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config;let Row=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[],this.properties=props,this.data={prefix:prefix},this.relations={"../col/col":{type:"child",linked(t){const{gutter:o}=this.data;o&&t.setData({gutter:o})}}},this.observers={gutter(){this.setGutter()}},this.methods={setGutter(){const{gutter:t}=this.data;this.$children.forEach(o=>{o.setData({gutter:t})})}}}};Row=__decorate([wxComponent()],Row);export default Row;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.wxml
new file mode 100644
index 0000000..a438348
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.wxs
new file mode 100644
index 0000000..9d83b9d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.wxs
@@ -0,0 +1,17 @@
+var utils = require('../common/utils.wxs');
+
+function getRowStyles(gutter, style, customStyle) {
+ var _style = '';
+ if (gutter) {
+ _style = utils._style({
+ 'margin-right': utils.addUnit(-gutter / 2),
+ 'margin-left': utils.addUnit(-gutter / 2),
+ });
+ }
+
+ return utils._style([style, customStyle]) + _style;
+}
+
+module.exports = {
+ getRowStyles: getRowStyles,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.wxss
new file mode 100644
index 0000000..794b406
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/row.wxss
@@ -0,0 +1 @@
+@import '../common/style/index.wxss';.t-row{display:flex;flex-direction:row;flex-wrap:wrap;box-sizing:border-box;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/row/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/type.d.ts
new file mode 100644
index 0000000..f151c1c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/type.d.ts
@@ -0,0 +1,6 @@
+export interface TdRowProps {
+ gutter?: {
+ type: null;
+ value?: string | number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/row/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/row/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.d.ts
new file mode 100644
index 0000000..e42dd4c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.d.ts
@@ -0,0 +1,10 @@
+import { SuperComponent } from '../common/src/index';
+export default class ScrollView extends SuperComponent {
+ externalClasses: string[];
+ behaviors: string[];
+ properties: {
+ scrollIntoView: {
+ type: StringConstructor;
+ };
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.js
new file mode 100644
index 0000000..1dc78d2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import{canUseProxyScrollView}from"../common/version";const{prefix:prefix}=config;let ScrollView=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.behaviors=canUseProxyScrollView()?["wx://proxy-scroll-view"]:[],this.properties={scrollIntoView:{type:String}}}};ScrollView=__decorate([wxComponent()],ScrollView);export default ScrollView;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.wxml
new file mode 100644
index 0000000..c17227d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.wxss
new file mode 100644
index 0000000..aed803e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/scroll-view/scroll-view.wxss
@@ -0,0 +1 @@
+@import '../common/style/index.wxss';
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/search/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/props.d.ts
new file mode 100644
index 0000000..81c5bff
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/props.d.ts
@@ -0,0 +1,3 @@
+import { TdSearchProps } from './type';
+declare const props: TdSearchProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/search/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/props.js
new file mode 100644
index 0000000..372e8a7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/props.js
@@ -0,0 +1 @@
+const props={action:{type:String,value:""},adjustPosition:{type:Boolean,value:!0},alwaysEmbed:{type:Boolean,value:!1},center:{type:Boolean,value:!1},clearTrigger:{type:String,value:"always"},clearable:{type:Boolean,value:!0},confirmHold:{type:Boolean,value:!1},confirmType:{type:String,value:"search"},cursor:{type:Number,value:-1,required:!0},cursorSpacing:{type:Number,value:0},disabled:{type:Boolean,value:!1},focus:{type:Boolean,value:!1},holdKeyboard:{type:Boolean,value:!1},leftIcon:{type:String,value:"search"},maxcharacter:{type:Number},maxlength:{type:Number,value:-1},placeholder:{type:String,value:""},placeholderClass:{type:String,value:"input-placeholder"},placeholderStyle:{type:String,value:"",required:!0},readonly:{type:null,value:void 0},resultList:{type:Array,value:[]},selectionEnd:{type:Number,value:-1},selectionStart:{type:Number,value:-1},shape:{type:String,value:"square"},type:{type:String,value:"text"},value:{type:String,value:""}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.d.ts
new file mode 100644
index 0000000..bb16745
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.d.ts
@@ -0,0 +1,27 @@
+import { SuperComponent } from '../common/src/index';
+export default class Search extends SuperComponent {
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ properties: import("./type").TdSearchProps;
+ observers: {
+ resultList(val: any): void;
+ 'clearTrigger, clearable, disabled, readonly'(): void;
+ };
+ data: {
+ classPrefix: string;
+ prefix: string;
+ isShowResultList: boolean;
+ isSelected: boolean;
+ showClearIcon: boolean;
+ };
+ updateClearIconVisible(value?: boolean): void;
+ onInput(e: any): void;
+ onFocus(e: any): void;
+ onBlur(e: any): void;
+ handleClear(): void;
+ onConfirm(e: any): void;
+ onActionClick(): void;
+ onSelectResultItem(e: any): void;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.js
new file mode 100644
index 0000000..a65b718
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{getCharacterLength}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-search`;let Search=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-input-container`,`${prefix}-class-input`,`${prefix}-class-action`,`${prefix}-class-left`,`${prefix}-class-clear`],this.options={multipleSlots:!0},this.properties=props,this.observers={resultList(e){const{isSelected:t}=this.data;e.length?t?this.setData({isShowResultList:!1,isSelected:!1}):this.setData({isShowResultList:!0}):this.setData({isShowResultList:!1})},"clearTrigger, clearable, disabled, readonly"(){this.updateClearIconVisible()}},this.data={classPrefix:name,prefix:prefix,isShowResultList:!1,isSelected:!1,showClearIcon:!0}}updateClearIconVisible(e=!1){const{clearTrigger:t,disabled:s,readonly:i}=this.properties;s||i?this.setData({showClearIcon:!1}):this.setData({showClearIcon:e||"always"===String(t)})}onInput(e){let{value:t}=e.detail;const{maxcharacter:s}=this.properties;if(s&&"number"==typeof s&&s>0){const{characters:e}=getCharacterLength("maxcharacter",t,s);t=e}this.setData({value:t}),this.triggerEvent("change",{value:t})}onFocus(e){const{value:t}=e.detail;this.updateClearIconVisible(!0),this.triggerEvent("focus",{value:t})}onBlur(e){const{value:t}=e.detail;this.updateClearIconVisible(),this.triggerEvent("blur",{value:t})}handleClear(){this.setData({value:""}),this.triggerEvent("clear",{value:""}),this.triggerEvent("change",{value:""})}onConfirm(e){const{value:t}=e.detail;this.triggerEvent("submit",{value:t})}onActionClick(){this.triggerEvent("action-click")}onSelectResultItem(e){const{index:t}=e.currentTarget.dataset,s=this.properties.resultList[t];this.setData({value:s,isSelected:!0}),this.triggerEvent("change",{value:s}),this.triggerEvent("selectresult",{index:t,item:s})}};Search=__decorate([wxComponent()],Search);export default Search;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.json
new file mode 100644
index 0000000..e7cf83b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-cell":"../cell/cell"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.wxml
new file mode 100644
index 0000000..5118c56
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.wxml
@@ -0,0 +1 @@
+{{action}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.wxs
new file mode 100644
index 0000000..ac86989
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.wxs
@@ -0,0 +1,6 @@
+var highLight = function (label, keyword) {
+ return label.replace(keyword, '' + keyword + '');
+};
+module.exports = {
+ highLight: highLight,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.wxss
new file mode 100644
index 0000000..5b69177
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/search.wxss
@@ -0,0 +1,17 @@
+@import '../common/style/index.wxss';.t-search{display:flex;justify-content:space-between;align-items:center;}
+.t-search__label{padding:8rpx;color:var(--td-search-label-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-search__input-box{flex:1;box-sizing:border-box;display:flex;height:var(--td-search-height,80rpx);align-items:center;border:2rpx solid var(--td-search-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));background:var(--td-search-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));padding:var(--td-search-padding,16rpx 24rpx);}
+.t-search__input-box.t-is-focused{border-color:var(--td-search-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-search__input-box--round{border-radius:calc(var(--td-search-height,80rpx)/ 2);}
+.t-search__input-box--square{border-radius:var(--td-search-square-radius,var(--td-radius-default,12rpx));}
+.t-search__input-box--center{text-align:center;}
+.t-search__input-box .t-input__keyword{display:inline-block;flex:1;color:var(--td-search-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font-size:var(--td-search-font-size,var(--td-font-size-m,32rpx));padding-left:10rpx;min-height:48rpx;line-height:48rpx;}
+.t-search__input-box .t-input--disabled{color:var(--td-search-disabled-text-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));cursor:not-allowed;opacity:1;-webkit-text-fill-color:currentColor;}
+.t-search__input-box .t-icon{color:var(--td-search-icon-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));font-size:var(--td-search-icon-font-size,48rpx);}
+.t-search__clear{position:relative;margin-left:10px;font-size:var(--td-search-clear-icon-font-size,48rpx);color:var(--td-search-clear-icon-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.t-search__search-action{margin-left:30rpx;font-size:var(--td-search-font-size,var(--td-font-size-m,32rpx));color:var(--td-search-action-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-search__placeholder{color:var(--td-search-placeholder-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.t-search__placeholder--center{text-align:center;}
+.t-search__result-item--highLight{color:var(--td-search-result-high-light-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-search__result-list .t-search__result-item{padding-left:0;}
+.t-search__result-list .t-search__result-item::after{left:0;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/search/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/type.d.ts
new file mode 100644
index 0000000..c7f2370
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/type.d.ts
@@ -0,0 +1,108 @@
+export interface TdSearchProps {
+ action?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ adjustPosition?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ alwaysEmbed?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ center?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ clearTrigger?: {
+ type: StringConstructor;
+ value?: 'always' | 'focus';
+ };
+ clearable?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ confirmHold?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ confirmType?: {
+ type: StringConstructor;
+ value?: 'send' | 'search' | 'next' | 'go' | 'done';
+ };
+ cursor: {
+ type: NumberConstructor;
+ value?: number;
+ required?: boolean;
+ };
+ cursorSpacing?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ focus?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ holdKeyboard?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ leftIcon?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ maxcharacter?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ maxlength?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ placeholder?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ placeholderClass?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ placeholderStyle: {
+ type: StringConstructor;
+ value?: string;
+ required?: boolean;
+ };
+ readonly?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ resultList?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ selectionEnd?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ selectionStart?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ shape?: {
+ type: StringConstructor;
+ value?: 'square' | 'round';
+ };
+ type?: {
+ type: StringConstructor;
+ value?: 'text' | 'number' | 'idcard' | 'digit' | 'nickname';
+ };
+ value?: {
+ type: StringConstructor;
+ value?: string;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/search/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/search/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/props.d.ts
new file mode 100644
index 0000000..cdda046
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/props.d.ts
@@ -0,0 +1,3 @@
+import { TdSideBarItemProps } from './type';
+declare const props: TdSideBarItemProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/props.js
new file mode 100644
index 0000000..c442da0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/props.js
@@ -0,0 +1 @@
+const props={badgeProps:{type:Object},disabled:{type:Boolean,value:!1},icon:{type:null},label:{type:String,value:""},value:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.d.ts
new file mode 100644
index 0000000..17451d1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.d.ts
@@ -0,0 +1,45 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class SideBarItem extends SuperComponent {
+ externalClasses: string[];
+ properties: {
+ tId: {
+ type: StringConstructor;
+ };
+ badgeProps?: {
+ type: ObjectConstructor;
+ value?: import("../badge").BadgeProps;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ icon?: {
+ type: null;
+ value?: string | object;
+ };
+ label?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ value?: {
+ type: null;
+ value?: string | number;
+ };
+ };
+ relations: RelationsOptions;
+ observers: {
+ icon(v: any): void;
+ disabled(v: any): void;
+ };
+ data: {
+ classPrefix: string;
+ prefix: string;
+ active: boolean;
+ isPre: boolean;
+ isNext: boolean;
+ };
+ methods: {
+ updateActive(value: any): void;
+ handleClick(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.js
new file mode 100644
index 0000000..b192af9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-side-bar-item`;let SideBarItem=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.properties=Object.assign(Object.assign({},props),{tId:{type:String}}),this.relations={"../side-bar/side-bar":{type:"parent",linked(e){this.parent=e,this.updateActive(e.data.value)}}},this.observers={icon(e){this.setData({_icon:"string"==typeof e?{name:e}:e})},disabled(e){this.setData({active:!e&&this.data.active})}},this.data={classPrefix:name,prefix:prefix,active:!1,isPre:!1,isNext:!1},this.methods={updateActive(e){const t=e===this.data.value&&!this.data.disabled;this.setData({active:t})},handleClick(){var e;if(this.data.disabled)return;const{value:t,label:i}=this.data;null===(e=this.parent)||void 0===e||e.doChange({value:t,label:i})}}}};SideBarItem=__decorate([wxComponent()],SideBarItem);export default SideBarItem;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.json
new file mode 100644
index 0000000..53d0ea9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-badge":"../badge/badge","t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxml
new file mode 100644
index 0000000..c69a84a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxml
@@ -0,0 +1 @@
+{{label}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxss
new file mode 100644
index 0000000..a70d937
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxss
@@ -0,0 +1,11 @@
+@import '../common/style/index.wxss';.t-side-bar-item{display:flex;align-items:center;position:relative;padding:32rpx;font-size:var(--td-side-bar-font-size,32rpx);color:var(--td-side-bar-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));background:var(--td-side-bar-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));min-height:var(--td-side-bar-item-height,auto);box-sizing:border-box;white-space:wrap;line-height:var(--td-side-bar-item-line-height,48rpx);}
+.t-side-bar-item--active{font-weight:600;background:var(--td-bg-color-container,var(--td-font-white-1,#fff));color:var(--td-side-bar-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));--td-badge-content-text-color:var(--td-side-bar-active-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));}
+.t-side-bar-item__icon{font-size:var(--td-side-bar-icon-size,40rpx);margin-right:4rpx;}
+.t-side-bar-item__prefix,.t-side-bar-item__suffix{z-index:1;position:absolute;right:0;width:100%;height:calc(var(--td-side-bar-border-radius,18rpx) * 2);background:var(--td-bg-color-container,var(--td-font-white-1,#fff));pointer-events:none;}
+.t-side-bar-item__prefix::after,.t-side-bar-item__suffix::after{content:'';display:block;width:100%;height:100%;background-color:var(--td-side-bar-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-side-bar-item__prefix{top:calc(var(--td-side-bar-border-radius,18rpx) * -2);}
+.t-side-bar-item__prefix::after{border-bottom-right-radius:var(--td-side-bar-border-radius,18rpx);}
+.t-side-bar-item__suffix{bottom:calc(var(--td-side-bar-border-radius,18rpx) * -2);}
+.t-side-bar-item__suffix::after{border-top-right-radius:var(--td-side-bar-border-radius,18rpx);}
+.t-side-bar-item--disabled{color:var(--td-side-bar-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));--td-badge-content-text-color:var(--td-side-bar-disabled-color, var(--td-text-color-disabled, var(--td-font-gray-4, rgba(0, 0, 0, 0.26))));}
+.t-side-bar-item__line{width:6rpx;height:28rpx;position:absolute;left:0;top:50%;transform:translateY(-50%);background:var(--td-side-bar-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-radius:8rpx;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/type.d.ts
new file mode 100644
index 0000000..94aff15
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/type.d.ts
@@ -0,0 +1,23 @@
+import { BadgeProps } from '../badge/index';
+export interface TdSideBarItemProps {
+ badgeProps?: {
+ type: ObjectConstructor;
+ value?: BadgeProps;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ icon?: {
+ type: null;
+ value?: string | object;
+ };
+ label?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ value?: {
+ type: null;
+ value?: string | number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar-item/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/props.d.ts
new file mode 100644
index 0000000..fcab408
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/props.d.ts
@@ -0,0 +1,3 @@
+import { TdSideBarProps } from './type';
+declare const props: TdSideBarProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/props.js
new file mode 100644
index 0000000..cab6349
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/props.js
@@ -0,0 +1 @@
+const props={value:{type:null,value:null},defaultValue:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.d.ts
new file mode 100644
index 0000000..f5ac06e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.d.ts
@@ -0,0 +1,24 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class SideBar extends SuperComponent {
+ externalClasses: string[];
+ children: any[];
+ relations: RelationsOptions;
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ properties: import("./type").TdSideBarProps;
+ observers: {
+ value(v: any): void;
+ };
+ data: {
+ classPrefix: string;
+ prefix: string;
+ };
+ methods: {
+ doChange({ value, label }: {
+ value: any;
+ label: any;
+ }): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.js
new file mode 100644
index 0000000..6eabe00
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-side-bar`,relationsPath="../side-bar-item/side-bar-item";let SideBar=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.children=[],this.relations={[relationsPath]:{type:"child",linked(e){this.children.push(e)},unlinked(e){const i=this.children.findIndex(i=>i===e);this.children.splice(i,1)}}},this.controlledProps=[{key:"value",event:"change"}],this.properties=props,this.observers={value(e){this.$children.forEach(i=>{i.updateActive(e)})}},this.data={classPrefix:name,prefix:prefix},this.methods={doChange({value:e,label:i}){this._trigger("change",{value:e,label:i})}}}};SideBar=__decorate([wxComponent()],SideBar);export default SideBar;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.json
new file mode 100644
index 0000000..4b9f595
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-side-bar-item":"../side-bar-item/side-bar-item"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.wxml
new file mode 100644
index 0000000..eb0c986
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.wxss
new file mode 100644
index 0000000..41dbf1e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.wxss
@@ -0,0 +1,3 @@
+@import '../common/style/index.wxss';.t-side-bar{display:flex;flex-direction:column;width:var(--td-side-bar-width,206rpx);height:var(--td-side-bar-height,100%);overflow-y:auto;}
+.t-side-bar::-webkit-scrollbar{display:none;}
+.t-side-bar__padding{flex:1;background-color:var(--td-side-bar-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/type.d.ts
new file mode 100644
index 0000000..39d8876
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/type.d.ts
@@ -0,0 +1,10 @@
+export interface TdSideBarProps {
+ value?: {
+ type: null;
+ value?: string | number;
+ };
+ defaultValue?: {
+ type: null;
+ value?: string | number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/side-bar/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/props.d.ts
new file mode 100644
index 0000000..2c8f4af
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/props.d.ts
@@ -0,0 +1,3 @@
+import { TdSkeletonProps } from './type';
+declare const props: TdSkeletonProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/props.js
new file mode 100644
index 0000000..564c251
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/props.js
@@ -0,0 +1 @@
+const props={animation:{type:String,value:"none"},delay:{type:Number,value:0},loading:{type:Boolean,value:!0},rowCol:{type:Array},theme:{type:String,value:"text"}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.d.ts
new file mode 100644
index 0000000..436a3fa
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.d.ts
@@ -0,0 +1,28 @@
+import { SuperComponent } from '../common/src/index';
+import { SkeletonRowColObj } from './type';
+import { ClassName, Styles } from '../common/common';
+export default class Skeleton extends SuperComponent {
+ externalClasses: string[];
+ properties: import("./type").TdSkeletonProps;
+ timer: any;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ parsedRowCols: any[];
+ };
+ observers: {
+ rowCol(): void;
+ 'loading, delay'(): void;
+ };
+ lifetimes: {
+ attached(): void;
+ detached(): void;
+ };
+ methods: {
+ init(): void;
+ getColItemClass(obj: SkeletonRowColObj): ClassName;
+ getColItemStyle(obj: SkeletonRowColObj): Styles;
+ clearTimer(): void;
+ isShowSkeleton(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.js
new file mode 100644
index 0000000..fdcd2b2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{classNames}from"../common/utils";import{isNumber}from"../common/validator";const{prefix:prefix}=config,name=`${prefix}-skeleton`,ThemeMap={avatar:[{type:"circle",size:"96rpx"}],image:[{type:"rect",size:"144rpx"}],text:[[{width:"24%",height:"32rpx",marginRight:"32rpx"},{width:"76%",height:"32rpx"}],1],paragraph:[1,1,1,{width:"55%"}]};let Skeleton=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-col`,`${prefix}-class-row`],this.properties=props,this.timer=void 0,this.data={prefix:prefix,classPrefix:name,parsedRowCols:[]},this.observers={rowCol(){this.init()},"loading, delay"(){this.isShowSkeleton()}},this.lifetimes={attached(){this.init(),this.isShowSkeleton()},detached(){this.clearTimer()}},this.methods={init(){const{theme:e,rowCol:t}=this.properties,s=[];t.length?s.push(...t):s.push(...ThemeMap[e||"text"]);const i=s.map(e=>{if(isNumber(e))return new Array(e).fill({class:this.getColItemClass({type:"text"}),style:{}});if(Array.isArray(e))return e.map(e=>Object.assign(Object.assign({},e),{class:this.getColItemClass(e),style:this.getColItemStyle(e)}));const t=e;return[Object.assign(Object.assign({},t),{class:this.getColItemClass(t),style:this.getColItemStyle(t)})]});this.setData({parsedRowCols:i})},getColItemClass(e){return classNames([`${name}__col`,`${name}--type-${e.type||"text"}`,`${name}--animation-${this.properties.animation}`])},getColItemStyle(e){const t={};return["width","height","marginRight","marginLeft","margin","size","background","backgroundColor","borderRadius"].forEach(s=>{if(s in e){const i=isNumber(e[s])?`${e[s]}px`:e[s];"size"===s?[t.width,t.height]=[i,i]:t[s]=i}}),t},clearTimer(){this.timer&&(clearTimeout(this.timer),this.timer=null)},isShowSkeleton(){this.clearTimer();const{loading:e,delay:t}=this.properties;e&&0!==t?this.timer=setTimeout(()=>{this.setData({isShow:this.properties.loading})},t):this.setData({isShow:e})}}}};Skeleton=__decorate([wxComponent()],Skeleton);export default Skeleton;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.wxml
new file mode 100644
index 0000000..f0594ad
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.wxss
new file mode 100644
index 0000000..cfc7e5c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.wxss
@@ -0,0 +1,18 @@
+@import '../common/style/index.wxss';.t-skeleton{box-sizing:border-box;}
+.t-skeleton__row{display:flex;margin-bottom:var(--td-skeleton-row-spacing,var(--td-spacer-2,32rpx));align-items:center;justify-content:space-between;}
+.t-skeleton__row:last-child,.t-skeleton__row:only-child{margin-bottom:0;}
+.t-skeleton__col{background-color:var(--td-skeleton-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));display:flex;align-items:center;justify-content:center;margin-right:var(--td-spacer-2,32rpx);}
+.t-skeleton__col:first-child:last-child,.t-skeleton__col:last-child{margin-right:0;}
+.t-skeleton--type-text{width:100%;height:var(--td-skeleton-text-height,32rpx);border-radius:var(--td-skeleton-text-border-radius,var(--td-radius-small,6rpx));}
+.t-skeleton--type-rect{width:100%;height:var(--td-skeleton-rect-height,32rpx);border-radius:var(--td-skeleton-rect-border-radius,var(--td-radius-default,12rpx));}
+.t-skeleton--type-circle{width:var(--td-skeleton-circle-height,96rpx);height:var(--td-skeleton-circle-height,96rpx);border-radius:var(--td-skeleton-circle-border-radius,var(--td-skeleton-circle-border-radius,var(--td-radius-circle,50%)));flex-shrink:0;}
+.t-skeleton--animation-gradient{position:relative;overflow-x:hidden;}
+.t-skeleton--animation-gradient::after{content:' ';position:absolute;bottom:0;left:0;right:0;top:0;background:linear-gradient(90deg,rgba(255,255,255,0),var(--td-skeleton-animation-gradient,rgba(0,0,0,.04)),rgba(255,255,255,0));animation:t-skeleton--gradient 1.5s linear 0s infinite;}
+.t-skeleton--animation-flashed{animation:t-skeleton--flashed 2s linear 0s infinite;}
+@keyframes t-skeleton--gradient{
+0%{transform:translateX(-100%) skewX(-15deg);}
+100%{transform:translateX(100%) skewX(-15deg);}}
+@keyframes t-skeleton--flashed{
+0%{opacity:1;}
+50%{background-color:var(--td-skeleton-animation-flashed,rgba(230,230,230,.3));opacity:.3;}
+100%{opacity:1;}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/type.d.ts
new file mode 100644
index 0000000..c96ee71
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/type.d.ts
@@ -0,0 +1,32 @@
+export interface TdSkeletonProps {
+ animation?: {
+ type: StringConstructor;
+ value?: 'gradient' | 'flashed' | 'none';
+ };
+ delay?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ loading?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ rowCol?: {
+ type: ArrayConstructor;
+ value?: SkeletonRowCol;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'avatar' | 'image' | 'text' | 'paragraph';
+ };
+}
+export declare type SkeletonRowCol = Array>;
+export interface SkeletonRowColObj {
+ width?: string;
+ size?: string;
+ height?: string;
+ marginRight?: string;
+ marginLeft?: string;
+ margin?: string;
+ type?: 'rect' | 'circle' | 'text';
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/skeleton/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/props.d.ts
new file mode 100644
index 0000000..f6d03ac
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/props.d.ts
@@ -0,0 +1,3 @@
+import { TdSliderProps } from './type';
+declare const props: TdSliderProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/props.js
new file mode 100644
index 0000000..0afd3cb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/props.js
@@ -0,0 +1 @@
+const props={disabled:{type:null,value:void 0},label:{type:null,value:!1},marks:{type:null,value:{}},max:{type:Number,value:100},min:{type:Number,value:0},range:{type:Boolean,value:!1},showExtremeValue:{type:Boolean,value:!1},step:{type:Number,value:1},theme:{type:String,value:"default"},value:{type:null,value:null},defaultValue:{type:null,value:0},vertical:{type:Boolean,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.d.ts
new file mode 100644
index 0000000..c0cdd92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.d.ts
@@ -0,0 +1,73 @@
+///
+import { SuperComponent } from '../common/src/index';
+import type { SliderValue } from './type';
+declare type dataType = {
+ sliderStyles: string;
+ classPrefix: string;
+ initialLeft: number | null;
+ initialRight: number | null;
+ activeLeft: number;
+ activeRight: number;
+ maxRange: number;
+ lineLeft: number;
+ lineRight: number;
+ dotTopValue: number[];
+ blockSize: number;
+ isScale: boolean;
+ scaleArray: any[];
+ scaleTextArray: any[];
+ _value: SliderValue;
+ prefix: string;
+ realLabel: string | string[];
+ extremeLabel: string[];
+ isVisibleToScreenReader: boolean;
+ identifier: number[];
+ __inited: boolean;
+};
+export default class Slider extends SuperComponent {
+ externalClasses: string[];
+ options: {
+ pureDataPattern: RegExp;
+ };
+ properties: import("./type").TdSliderProps;
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ data: dataType;
+ observers: {
+ value(newValue: SliderValue): void;
+ _value(newValue: SliderValue): void;
+ marks(val: any): void;
+ label(val: any): void;
+ 'showExtremeValue, min, max'(): void;
+ };
+ getwExtremeLabel(): void;
+ lifetimes: {
+ created(): void;
+ attached(): void;
+ };
+ injectPageScroll(): void;
+ observerScrollTop(rest: any): void;
+ toggleA11yTips(): void;
+ renderLine(val: any): void;
+ triggerValue(value?: SliderValue): void;
+ getLabelByValue(value: SliderValue, position?: 'start' | 'end' | 'min' | 'max'): any;
+ handlePropsChange(newValue: SliderValue): void;
+ valueToPosition(value: number): number;
+ handleMark(marks: any): void;
+ setSingleBarWidth(value: number): void;
+ init(): Promise;
+ stepValue(value: number): number;
+ onSingleLineTap(e: WechatMiniprogram.TouchEvent): void;
+ getSingleChangeValue(e: WechatMiniprogram.TouchEvent): number;
+ convertPosToValue(posValue: number, dir: 0 | 1): number;
+ onLineTap(e: WechatMiniprogram.TouchEvent): void;
+ onTouchStart(e: WechatMiniprogram.TouchEvent): void;
+ onTouchMoveLeft(e: WechatMiniprogram.TouchEvent): void;
+ onTouchMoveRight(e: WechatMiniprogram.TouchEvent): void;
+ setLineStyle(left: number, right: number): void;
+ onTouchEnd(e: WechatMiniprogram.TouchEvent): void;
+ getPagePosition(touch: any): any;
+}
+export {};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.js
new file mode 100644
index 0000000..09a30b7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.js
@@ -0,0 +1 @@
+import{__awaiter,__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import{trimSingleValue,trimValue}from"./tool";import props from"./props";import{getRect}from"../common/utils";import{isString,isFunction}from"../common/validator";import Bus from"../common/bus";const{prefix:prefix}=config,name=`${prefix}-slider`;let Slider=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-bar`,`${prefix}-class-bar-active`,`${prefix}-class-bar-disabled`,`${prefix}-class-cursor`],this.options={pureDataPattern:/^__/},this.properties=props,this.controlledProps=[{key:"value",event:"change"}],this.data={sliderStyles:"",classPrefix:name,initialLeft:null,initialRight:null,activeLeft:0,activeRight:0,maxRange:0,lineLeft:0,lineRight:0,dotTopValue:[0,0],_value:0,blockSize:20,isScale:!1,scaleArray:[],scaleTextArray:[],prefix:prefix,realLabel:"",extremeLabel:[],isVisibleToScreenReader:!1,identifier:[-1,-1],__inited:!1},this.observers={value(e){this.handlePropsChange(e)},_value(e){this.bus.on("initial",()=>this.renderLine(e)),this.toggleA11yTips()},marks(e){this.bus.on("initial",()=>this.handleMark(e))},label(e){this.setData({isShowLabel:Boolean(e)})},"showExtremeValue, min, max"(){this.getwExtremeLabel()}},this.lifetimes={created(){this.bus=new Bus},attached(){const{value:e}=this.properties;e||this.handlePropsChange(0),this.init(),this.injectPageScroll()}}}getwExtremeLabel(){const{showExtremeValue:e,min:t,max:i}=this.properties;e&&this.setData({extremeLabel:[this.getLabelByValue(Number(t),"min"),this.getLabelByValue(Number(i),"max")]})}injectPageScroll(){const{range:e,vertical:t}=this.properties;if(!e||!t)return;const i=getCurrentPages()||[];let a=null;if(i&&i.length-1>=0&&(a=i[i.length-1]),!a)return;const r=null==a?void 0:a.onPageScroll;a.onPageScroll=e=>{null==r||r.call(this,e),this.observerScrollTop(e)}}observerScrollTop(e){const{scrollTop:t}=e||{};this.pageScrollTop=t}toggleA11yTips(){this.setData({isVisibleToScreenReader:!0}),setTimeout(()=>{this.setData({isVisibleToScreenReader:!1})},2e3)}renderLine(e){const{min:t,max:i,range:a}=this.properties,{maxRange:r}=this.data;if(a){const a=r*(e[0]-Number(t))/(Number(i)-Number(t)),s=r*(Number(i)-e[1])/(Number(i)-Number(t));this.setLineStyle(a,s)}else this.setSingleBarWidth(e)}triggerValue(e){this.preval!==e&&(this.preval=e,this._trigger("change",{value:trimValue(e,this.properties)}))}getLabelByValue(e,t){const{label:i}=this.properties;if(isString(i)){let t=String(e);try{const a=/\${value}%/g;if(!a.test(i))throw t=i,new Error;t=i.replace(a,String(e))}catch(e){console.warn("fail to parse label prop, please pass string such as '${value}%'")}return t}return isFunction(i)?i(e,t):String(e)}handlePropsChange(e){const t=trimValue(e,this.properties),i=this.getLabelByValue(t);this.triggerValue(t);const a=()=>{this.setData({_value:t,realLabel:i})};0!==this.data.maxRange?a():this.init().then(a)}valueToPosition(e){const{min:t,max:i,theme:a}=this.properties,{blockSize:r,maxRange:s}=this.data,n="capsule"===a?Number(r)/2:0;return Math.round((Number(e)-Number(t))/(Number(i)-Number(t))*s)+n}handleMark(e){const t=e=>e.map(e=>({val:e,left:this.valueToPosition(e)}));if((null==e?void 0:e.length)&&Array.isArray(e)&&this.setData({isScale:!0,scaleArray:t(e),scaleTextArray:[]}),"[object Object]"===Object.prototype.toString.call(e)){const i=Object.keys(e).map(e=>Number(e)),a=i.map(t=>e[t]);this.setData({isScale:i.length>0,scaleArray:t(i),scaleTextArray:a})}}setSingleBarWidth(e){const t=this.valueToPosition(e);this.setData({lineBarWidth:`${t}px`})}init(){return __awaiter(this,void 0,void 0,function*(){if(this.data.__inited)return;const e=yield getRect(this,"#sliderLine"),{blockSize:t}=this.data,{theme:i,vertical:a}=this.properties,r=Number(t)/2,{top:s,bottom:n,right:l,left:o}=e;let h=a?n-s:l-o,u=a?s:o,c=a?n:l;0===u&&0===c||("capsule"===i&&(h=h-Number(t)-6,u-=r,c-=r),this.setData({maxRange:h,initialLeft:u,initialRight:c,__inited:!0}),this.bus.emit("initial"))})}stepValue(e){const{step:t,min:i,max:a}=this.properties,r=String(t).indexOf(".")>-1?String(t).length-String(t).indexOf(".")-1:0;return trimSingleValue(Number((Math.round(e/Number(t))*Number(t)).toFixed(r)),Number(i),Number(a))}onSingleLineTap(e){const{disabled:t}=this.properties;if(t)return;const i=-1===this.data.identifier[0];if(i){const[t]=e.changedTouches;this.data.identifier[0]=t.identifier}const a=this.getSingleChangeValue(e);i&&(this.data.identifier[0]=-1),this.triggerValue(a)}getSingleChangeValue(e){const{min:t,max:i,theme:a,vertical:r}=this.properties,{initialLeft:s,maxRange:n,blockSize:l}=this.data,o=e.changedTouches.find(e=>e.identifier===this.data.identifier[0]),h=this.getPagePosition(o);let u=0;"capsule"===a?(u=Number(l),r&&(u*=2),u+=6):r&&(u=Number(l));const c=h-s-u;let g=0;return g=c<=0?Number(t):c>=n?Number(i):c/n*(Number(i)-Number(t))+Number(t),this.stepValue(g)}convertPosToValue(e,t){const{maxRange:i}=this.data,{max:a,min:r}=this.properties;return 0===t?e/i*(Number(a)-Number(r))+Number(r):Number(a)-e/i*(Number(a)-Number(r))}onLineTap(e){const{disabled:t,theme:i,vertical:a}=this.properties,{initialLeft:r,initialRight:s,maxRange:n,blockSize:l}=this.data;if(t)return;const[o]=e.changedTouches,h=this.getPagePosition(o),u="capsule"===i?Number(l)/2:0;h-r<0||-(h-s)>n+Number(l)||Promise.all([getRect(this,"#leftDot"),getRect(this,"#rightDot")]).then(([e,t])=>{const n=this.pageScrollTop||0,o=a?e.top+n:e.left,c=Math.abs(h-o-u),g=a?t.top+n:t.left,m=ce.identifier===this.data.identifier[0]),o=this.getPagePosition(l);let h=0;"capsule"===i&&(h+=Number(n)),a&&(h+=Number(n)+6);const u=o-r-h,c=[...s],g=this.convertPosToValue(u,0);c[0]=this.stepValue(g),this.triggerValue(c)}onTouchMoveRight(e){const{disabled:t,vertical:i}=this.properties,{initialRight:a,_value:r,blockSize:s}=this.data;if(t)return;const n=e.changedTouches.find(e=>e.identifier===this.data.identifier[1]),l=this.getPagePosition(n);let o=0;i&&(o+=Number(s)/2+6);const h=-(l-a-o),u=[...r],c=this.convertPosToValue(h,1);u[1]=this.stepValue(c),this.triggerValue(u)}setLineStyle(e,t){const{theme:i}=this.properties,{blockSize:a,maxRange:r}=this.data,s="capsule"===i?Number(a)/2:0,[n,l]=this.data._value,o=e=>parseInt(e,10);this.setData({dotTopValue:[n,l],realLabel:[this.getLabelByValue(n,"start"),this.getLabelByValue(l,"end")]}),e+t<=r?this.setData({lineLeft:o(e+s),lineRight:o(t+s)}):this.setData({lineLeft:o(r+s-t),lineRight:o(r-e+1.5*s)})}onTouchEnd(e){this.triggerEvent("dragend",{e:e,value:this.data._value}),"rightDot"===e.currentTarget.id?this.data.identifier[1]=-1:this.data.identifier[0]=-1}getPagePosition(e){const{pageX:t,pageY:i}=e,{vertical:a}=this.properties;return a?i:t}};Slider=__decorate([wxComponent()],Slider);export default Slider;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.wxml
new file mode 100644
index 0000000..e0e42fc
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.wxml
@@ -0,0 +1 @@
+{{extremeLabel[0]}}{{scaleTextArray[index]}}{{realLabel}}{{extremeLabel[1]}}{{extremeLabel[0]}}{{scaleTextArray[index]}}{{realLabel[0] || dotTopValue[0]}}{{realLabel[1] || dotTopValue[1]}}{{extremeLabel[1]}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.wxs
new file mode 100644
index 0000000..b4be3ff
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.wxs
@@ -0,0 +1,10 @@
+var REGEXP = getRegExp('[$][{value}]{7}');
+
+function getValue(label, value) {
+ if (label && label === 'true') return value;
+ if (REGEXP.test(label)) return label.replace(REGEXP, value);
+}
+
+module.exports = {
+ getValue: getValue,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.wxss
new file mode 100644
index 0000000..23067f0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/slider.wxss
@@ -0,0 +1,46 @@
+@import '../common/style/index.wxss';.t-slider{width:100%;font-size:14px;display:flex;align-items:center;}
+.t-slider--disabled .t-slider__dot-value,.t-slider--disabled .t-slider__range-extreme,.t-slider--disabled .t-slider__scale-desc,.t-slider--disabled .t-slider__value{color:var(--td-slider-disabled-text-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-slider--disabled .t-slider__dot{background-color:var(--td-slider-dot-disabled-bg-color,#fff);border-color:var(--td-slider-dot-disabled-border-color,#f3f3f3);}
+.t-slider--top{padding-top:40rpx;}
+.t-slider__line{position:absolute;top:0;height:var(--td-slider-bar-height,8rpx);border-radius:calc(var(--td-slider-bar-height,8rpx)/ 2);background-color:var(--td-slider-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-slider__line--disabled{background-color:var(--td-slider-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-slider__line--capsule{height:var(--td-slider-capsule-line-heihgt,36rpx);}
+.t-slider__line--capsule.t-slider__line--single{border-top-left-radius:calc(var(--td-slider-capsule-line-heihgt,36rpx)/ 2);border-bottom-left-radius:calc(var(--td-slider-capsule-line-heihgt,36rpx)/ 2);}
+.t-slider__dot{border-radius:50%;border:2rpx solid var(--td-slider-dot-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));position:absolute;top:50%;right:0;transform:translate3d(50%,-50%,0);z-index:2;background-color:var(--td-slider-dot-bg-color,#fff);width:var(--td-slider-dot-size,40rpx);height:var(--td-slider-dot-size,40rpx);box-shadow:var(--td-shadow-1,0 1px 10px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.08),0 2px 4px -1px rgba(0,0,0,.12));box-sizing:border-box;}
+.t-slider__dot--left{left:0;transform:translate3d(-50%,-50%,0);}
+.t-slider__dot-value{position:relative;left:50%;transform:translateX(-50%);top:-52rpx;text-align:center;width:96rpx;height:44rpx;line-height:44rpx;}
+.t-slider__dot-value,.t-slider__range-extreme,.t-slider__value{color:var(--td-slider-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-slider__dot-value--sr-only,.t-slider__range-extreme--sr-only,.t-slider__value--sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0;}
+.t-slider__dot-slider{width:100%;height:100%;position:absolute;left:0;top:0;}
+.t-slider__value--min{margin-left:32rpx;}
+.t-slider__value--max{margin-right:32rpx;}
+.t-slider__bar{margin:16rpx 32rpx;flex:10;background-clip:content-box;height:var(--td-slider-bar-height,8rpx);border-radius:calc(var(--td-slider-bar-height,8rpx)/ 2);position:relative;background-color:var(--td-slider-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));}
+.t-slider__bar--capsule{height:var(--td-slider-capsule-bar-heihgt,48rpx);border-radius:calc(var(--td-slider-capsule-bar-heihgt,48rpx)/ 2);background-color:var(--td-slider-capsule-bar-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));border:6rpx solid var(--td-slider-capsule-bar-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));box-sizing:border-box;}
+.t-slider__bar--marks{background-color:var(--td-slider-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));}
+.t-slider__bar--disabled{background-color:var(--td-slider-default-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
+.t-slider__range-extreme--min{margin-left:32rpx;text-align:left;}
+.t-slider__range-extreme--max{margin-right:32rpx;text-align:right;}
+.t-slider__scale-item{background-color:var(--td-slider-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));width:var(--td-slider-bar-height,8rpx);height:16rpx;width:16rpx;border-radius:50%;position:absolute;top:50%;margin-top:-8rpx;z-index:1;}
+.t-slider__scale-item--active{background-color:var(--td-slider-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-slider__scale-item--disabled{background-color:var(--td-slider-default-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
+.t-slider__scale-item--active.t-slider__scale-item--disabled{background-color:var(--td-slider-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-slider__scale-item--capsule{height:var(--td-slider-capsule-line-heihgt,36rpx);width:4rpx;border-radius:0;background-color:var(--td-slider-capsule-bar-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));margin-top:calc(-.5 * var(--td-slider-capsule-line-heihgt,36rpx));}
+.t-slider__scale-item--hidden{background-color:transparent;}
+.t-slider__scale-desc{position:absolute;left:50%;color:var(--td-slider-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));transform:translateX(-50%);bottom:32rpx;}
+.t-slider__scale-desc--capsule{bottom:46rpx;}
+.t-slider--vertical{--td-slider-bar-height:400rpx;height:var(--td-slider-bar-height,8rpx);justify-content:center;position:relative;}
+.t-slider--vertical .t-slider__bar{flex:none;height:100%;width:var(--td-slider-bar-width,8rpx);}
+.t-slider--vertical .t-slider__bar--capsule{width:var(--td-slider-capsule-bar-width,48rpx);border-radius:calc(var(--td-slider-capsule-bar-width,48rpx)/ 2);}
+.t-slider--vertical .t-slider__line{width:100%;height:unset;left:0;border-radius:calc(var(--td-slider-bar-width,8rpx)/ 2);}
+.t-slider--vertical .t-slider__line--capsule.t-slider__line--single{border-top-left-radius:calc(var(--td-slider-capsule-line-heihgt,36rpx)/ 2);border-top-right-radius:calc(var(--td-slider-capsule-line-heihgt,36rpx)/ 2);}
+.t-slider--vertical .t-slider__dot{left:50%;top:100%;transform:translate(-50%,-50%);}
+.t-slider--vertical .t-slider__dot--left{top:0;transform:translate(-50%,-50%);left:50%;}
+.t-slider--vertical .t-slider__dot--right{left:50%;transform:translate(-50%,-50%);top:100%;}
+.t-slider--vertical .t-slider__dot-value{left:54rpx;top:50%;transform:translate(0,-50%);width:auto;}
+.t-slider--vertical .t-slider__range-extreme{position:absolute;left:50%;transform:translateX(-50%);margin:0;}
+.t-slider--vertical .t-slider__range-extreme--min{top:0;}
+.t-slider--vertical .t-slider__range-extreme--max{bottom:0;}
+.t-slider--vertical .t-slider__scale-item{left:50%;margin-top:0;}
+.t-slider--vertical .t-slider__scale-item--capsule{height:4rpx;width:var(--td-slider-capsule-line-heihgt,36rpx);}
+.t-slider--vertical .t-slider__scale-desc{top:50%;transform:translateY(-50%);bottom:unset;left:38rpx;}
+.t-slider--vertical .t-slider__scale-desc--capsule{left:52rpx;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/tool.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/tool.d.ts
new file mode 100644
index 0000000..b9383e6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/tool.d.ts
@@ -0,0 +1,2 @@
+export declare const trimSingleValue: (value: any, min: number, max: number) => number;
+export declare const trimValue: (value: number | number[], props: any) => number | number[];
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/tool.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/tool.js
new file mode 100644
index 0000000..5f5cd96
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/tool.js
@@ -0,0 +1 @@
+export const trimSingleValue=(r,e,i)=>ri?i:r;export const trimValue=(r,e)=>{const{min:i,max:t,range:n}=e;return n&&Array.isArray(r)?(r[0]=trimSingleValue(r[0],i,t),r[1]=trimSingleValue(r[1],i,t),r[0]<=r[1]?r:[r[1],r[0]]):n?[i,t]:n?void 0:trimSingleValue(r,i,t)};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/type.d.ts
new file mode 100644
index 0000000..099ed6c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/type.d.ts
@@ -0,0 +1,51 @@
+export interface TdSliderProps {
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ label?: {
+ type: null;
+ value?: string | boolean;
+ };
+ marks?: {
+ type: null;
+ value?: Record | Array;
+ };
+ max?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ min?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ range?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ showExtremeValue?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ step?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'default' | 'capsule';
+ };
+ value?: {
+ type: null;
+ value?: SliderValue;
+ };
+ defaultValue?: {
+ type: null;
+ value?: SliderValue;
+ };
+ vertical?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}
+export declare type SliderValue = number | Array;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/slider/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/props.d.ts
new file mode 100644
index 0000000..d941a41
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/props.d.ts
@@ -0,0 +1,3 @@
+import { TdStepItemProps } from './type';
+declare const props: TdStepItemProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/props.js
new file mode 100644
index 0000000..e9e1cf2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/props.js
@@ -0,0 +1 @@
+const props={content:{type:String,value:""},extra:{type:String},icon:{type:String},status:{type:String,value:"default"},title:{type:String,value:""}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.d.ts
new file mode 100644
index 0000000..c2f2ecc
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.d.ts
@@ -0,0 +1,34 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class StepItem extends SuperComponent {
+ options: {
+ multipleSlots: boolean;
+ };
+ relations: RelationsOptions;
+ externalClasses: string[];
+ properties: import("./type").TdStepItemProps;
+ data: {
+ classPrefix: string;
+ prefix: string;
+ index: number;
+ isDot: boolean;
+ curStatus: string;
+ layout: string;
+ isLastChild: boolean;
+ sequence: string;
+ };
+ observers: {
+ status(value: any): void;
+ };
+ methods: {
+ updateStatus({ current, currentStatus, index, theme, layout, items, sequence }: {
+ current: any;
+ currentStatus: any;
+ index: any;
+ theme: any;
+ layout: any;
+ items: any;
+ sequence: any;
+ }): void;
+ onTap(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.js
new file mode 100644
index 0000000..5d02097
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{wxComponent,SuperComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-steps-item`;let StepItem=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.relations={"../steps/steps":{type:"parent"}},this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-title`,`${prefix}-class-description`,`${prefix}-class-extra`],this.properties=props,this.data={classPrefix:name,prefix:prefix,index:0,isDot:!1,curStatus:"",layout:"vertical",isLastChild:!1,sequence:"positive"},this.observers={status(t){const{curStatus:e}=this.data;""!==e&&t!==e&&this.setData({curStatus:t})}},this.methods={updateStatus({current:t,currentStatus:e,index:s,theme:i,layout:r,items:o,sequence:a}){let p=this.data.status;"default"===p&&(s{{index + 1}}{{ title }}{{ content }}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.wxs
new file mode 100644
index 0000000..491902c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.wxs
@@ -0,0 +1,7 @@
+function getAriaLabel(index, title, content) {
+ return '第' + (index + 1) + '步,' + title + ',' + content;
+}
+
+module.exports = {
+ getAriaLabel: getAriaLabel,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.wxss
new file mode 100644
index 0000000..3f8ac92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/step-item.wxss
@@ -0,0 +1,42 @@
+@import '../common/style/index.wxss';.t-steps-item{flex:1;vertical-align:top;position:relative;display:flex;}
+.t-steps-item__circle--default{color:var(--td-step-item-default-circle-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));background-color:var(--td-step-item-default-circle-bg,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-steps-item__title--default{color:var(--td-step-item-default-title-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.t-steps-item__icon--default{color:var(--td-step-item-default-icon-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.t-steps-item__dot--default{border-color:var(--td-step-item-default-dot-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));background-color:var(--td-step-item-default-dot-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
+.t-steps-item__circle--process{color:var(--td-step-item-process-circle-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));background-color:var(--td-step-item-process-circle-bg,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-steps-item__title--process{color:var(--td-step-item-process-title-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-steps-item__icon--process{color:var(--td-step-item-process-icon-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-steps-item__dot--process{border-color:var(--td-step-item-process-dot-border-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-step-item-process-dot-border-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-steps-item__circle--finish{color:var(--td-step-item-finish-circle-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-step-item-finish-circle-bg,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-steps-item__title--finish{color:var(--td-step-item-finish-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-steps-item__icon--finish{color:var(--td-step-item-finish-icon-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-steps-item__dot--finish{border-color:var(--td-step-item-finish-dot-border-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-step-item-finish-dot-border-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-steps-item__circle--error{color:var(--td-step-item-error-circle-color,var(--td-error-color,var(--td-error-color-6,#d54941)));background-color:var(--td-step-item-error-circle-bg,var(--td-error-color-1,#fff0ed));}
+.t-steps-item__title--error{color:var(--td-step-item-error-title-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-steps-item__icon--error{color:var(--td-step-item-error-icon-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-steps-item__dot--error{border-color:var(--td-step-item-error-dot-border-color,var(--td-error-color,var(--td-error-color-6,#d54941)));background-color:var(--td-step-item-error-dot-border-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-steps-item--horizontal{flex-direction:column;justify-content:center;align-items:center;}
+.t-steps-item--vertical{margin-bottom:16rpx;}
+.t-steps-item__anchor{display:flex;align-items:center;justify-content:center;}
+.t-steps-item__anchor--vertical{width:var(--td-step-item-circle-size,44rpx);height:var(--td-step-item-circle-size,44rpx);}
+.t-steps-item__circle{display:flex;justify-content:center;align-items:center;width:var(--td-step-item-circle-size,44rpx);height:var(--td-step-item-circle-size,44rpx);text-align:center;border-radius:50%;font-size:var(--td-step-item-circle-font-size,28rpx);}
+.t-steps-item__icon{z-index:1;vertical-align:top;font-size:var(--td-font-size-base,28rpx);position:relative;}
+.t-steps-item__dot{width:var(--td-step-item-dot-size,16rpx);height:var(--td-step-item-dot-size,16rpx);border-radius:50%;border-width:1px;border-style:solid;box-sizing:border-box;}
+.t-steps-item__content{text-align:center;}
+.t-steps-item__content--horizontal{max-width:80px;margin-top:16rpx;}
+.t-steps-item__content--vertical{margin-left:16rpx;flex:1;padding-bottom:32rpx;}
+.t-steps-item__content--vertical.t-steps-item__content--last{padding-bottom:0;}
+.t-steps-item__title{position:relative;line-height:var(--td-step-item-circle-size,44rpx);font-size:var(--td-font-size-base,28rpx);}
+.t-steps-item__title--process{font-weight:600;}
+.t-steps-item__title--vertical{text-align:left;display:flex;align-items:center;justify-content:space-between;}
+.t-steps-item__title+.t-steps-item__description:not(:empty){margin-top:8rpx;}
+.t-steps-item__description{color:var(--td-step-item-description-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));line-height:40rpx;font-size:var(--td-font-size-s,24rpx);}
+.t-steps-item__description--vertical{text-align:left;}
+.t-steps-item__extra:not(:empty){margin-top:16rpx;}
+.t-steps-item__line{background-color:var(--td-step-item-line-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));content:'';display:block;position:absolute;}
+.t-steps-item__line--horizontal{height:1px;transform:translateY(-50%);width:calc(100% - 32rpx - var(--td-step-item-circle-size,44rpx));top:calc(var(--td-step-item-circle-size,44rpx)/ 2 + 1px);left:calc(50% + var(--td-step-item-circle-size,44rpx)/ 2 + 16rpx);}
+.t-steps-item__line--horizontal.t-steps-item__line--dot{top:calc(var(--td-step-item-dot-size,16rpx)/ 2);}
+.t-steps-item__line--finish,.t-steps-item__line--reverse.t-steps-item__line--process{background-color:var(--td-step-item-finish-line-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-steps-item__line--vertical{height:calc(100% - 32rpx - var(--td-step-item-circle-size,44rpx));width:1px;transform:translateX(-50%);left:calc(var(--td-step-item-circle-size,44rpx)/ 2);top:calc(var(--td-step-item-circle-size,44rpx) + 16rpx);}
+.t-steps-item__line--vertical.t-steps-item__line--dot{top:var(--td-step-item-circle-size,44rpx);height:calc(100% - var(--td-step-item-circle-size,44rpx));}
+:host{flex:1;vertical-align:top;position:relative;align-self:flex-start;width:inherit;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/type.d.ts
new file mode 100644
index 0000000..3a362a5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/type.d.ts
@@ -0,0 +1,23 @@
+export interface TdStepItemProps {
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ extra?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ icon?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ status?: {
+ type: StringConstructor;
+ value?: StepStatus;
+ };
+ title?: {
+ type: StringConstructor;
+ value?: string;
+ };
+}
+export declare type StepStatus = 'default' | 'process' | 'finish' | 'error';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/step-item/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/props.d.ts
new file mode 100644
index 0000000..7f9e104
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/props.d.ts
@@ -0,0 +1,3 @@
+import { TdStepperProps } from './type';
+declare const props: TdStepperProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/props.js
new file mode 100644
index 0000000..f72fa3e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/props.js
@@ -0,0 +1 @@
+const props={disableInput:{type:Boolean,value:!1},disabled:{type:null,value:void 0},inputWidth:{type:Number},integer:{type:Boolean,value:!0},max:{type:Number,value:100},min:{type:Number,value:0},size:{type:String,value:"medium"},step:{type:Number,value:1},theme:{type:String,value:"normal"},value:{type:null,value:null},defaultValue:{type:null,value:0}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.d.ts
new file mode 100644
index 0000000..964eed8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.d.ts
@@ -0,0 +1,79 @@
+import { SuperComponent } from '../common/src/index';
+export default class Stepper extends SuperComponent {
+ externalClasses: string[];
+ properties: {
+ disableInput?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ inputWidth?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ integer?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ max?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ min?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ size?: {
+ type: StringConstructor;
+ value?: import("../common/common").SizeEnum;
+ };
+ step?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: "outline" | "filled" | "normal";
+ };
+ value?: {
+ type: null;
+ value?: string | number;
+ };
+ defaultValue?: {
+ type: null;
+ value?: string | number;
+ };
+ };
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ observers: {
+ value(v: any): void;
+ };
+ data: {
+ currentValue: number;
+ classPrefix: string;
+ prefix: string;
+ };
+ lifetimes: {
+ attached(): void;
+ };
+ methods: {
+ isDisabled(type: any): boolean;
+ getLen(num: number): number;
+ add(a: number, b: number): number;
+ format(value: any): string;
+ setValue(value: any): void;
+ minusValue(): boolean;
+ plusValue(): boolean;
+ filterIllegalChar(value: string | number): string;
+ updateCurrentValue(value: any): void;
+ handleFocus(e: any): void;
+ handleInput(e: any): void;
+ handleBlur(e: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.js
new file mode 100644
index 0000000..9da02c4
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-stepper`;let Stepper=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-input`,`${prefix}-class-minus`,`${prefix}-class-plus`],this.properties=Object.assign({},props),this.controlledProps=[{key:"value",event:"change"}],this.observers={value(e){this.preValue=Number(e),this.updateCurrentValue(this.format(this.preValue))}},this.data={currentValue:0,classPrefix:name,prefix:prefix},this.lifetimes={attached(){const{value:e,min:t}=this.properties;this.updateCurrentValue(e?Number(e):t)}},this.methods={isDisabled(e){const{min:t,max:s,disabled:r}=this.properties,{currentValue:i}=this.data;return!!r||("minus"===e&&i<=t||"plus"===e&&i>=s)},getLen(e){const t=e.toString();return-1===t.indexOf(".")?0:t.split(".")[1].length},add(e,t){const s=Math.max(this.getLen(e),this.getLen(t)),r=Math.pow(10,s);return Math.round(e*r+t*r)/r},format(e){const{min:t,max:s,step:r}=this.properties,i=Math.max(this.getLen(r),this.getLen(e));return Math.max(Math.min(s,e,Number.MAX_SAFE_INTEGER),t,Number.MIN_SAFE_INTEGER).toFixed(i)},setValue(e){const t=Number(this.format(e));this.updateCurrentValue(t),this.preValue!==t&&(this.preValue=t,this._trigger("change",{value:t}))},minusValue(){if(this.isDisabled("minus"))return this.triggerEvent("overlimit",{type:"minus"}),!1;const{currentValue:e,step:t}=this.data;this.setValue(this.add(e,-t))},plusValue(){if(this.isDisabled("plus"))return this.triggerEvent("overlimit",{type:"plus"}),!1;const{currentValue:e,step:t}=this.data;this.setValue(this.add(e,t))},filterIllegalChar(e){const t=String(e).replace(/[^0-9.]/g,""),s=t.indexOf(".");return this.properties.integer&&-1!==s?t.split(".")[0]:this.properties.integer||-1===s||s===t.lastIndexOf(".")?t:t.split(".",2).join(".")},updateCurrentValue(e){this.setData({currentValue:e})},handleFocus(e){const{value:t}=e.detail;this.triggerEvent("focus",{value:t})},handleInput(e){const{value:t}=e.detail;if(""===t)return;const s=this.filterIllegalChar(t),r=this.format(s);this.updateCurrentValue(this.data.integer?r:s),(this.data.integer||/\.\d+/.test(s))&&this.setValue(s)},handleBlur(e){const{value:t}=e.detail,s=this.format(t);this.setValue(s),this.triggerEvent("blur",{value:s})}}}};Stepper=__decorate([wxComponent()],Stepper);export default Stepper;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.json
new file mode 100644
index 0000000..eacfbb7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-cell":"../cell/cell","t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.wxml
new file mode 100644
index 0000000..ba2b243
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.wxss
new file mode 100644
index 0000000..bc44184
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/stepper.wxss
@@ -0,0 +1,23 @@
+@import '../common/style/index.wxss';.t-stepper{display:flex;align-items:center;color:var(--td-stepper-input-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-stepper__input{margin:0 8rpx;text-align:center;vertical-align:top;height:inherit;min-height:inherit;}
+.t-stepper__minus,.t-stepper__plus{padding:8rpx;box-sizing:border-box;}
+.t-stepper__input,.t-stepper__minus-icon,.t-stepper__plus-icon{color:inherit;}
+.t-stepper__input--filled,.t-stepper__input--normal,.t-stepper__input--outline{height:inherit;box-sizing:border-box;}
+.t-stepper--small{height:40rpx;font-size:20rpx;}
+.t-stepper--medium{height:48rpx;font-size:24rpx;}
+.t-stepper--large{height:56rpx;font-size:32rpx;}
+.t-stepper__input--small{width:68rpx;}
+.t-stepper__input--medium{height:48rpx;width:76rpx;}
+.t-stepper__input--large{width:90rpx;}
+.t-stepper__icon--small{width:40rpx;height:40rpx;font-size:24rpx;}
+.t-stepper__icon--medium{width:48rpx;height:48rpx;font-size:32rpx;}
+.t-stepper__icon--large{width:56rpx;height:56rpx;font-size:40rpx;}
+.t-stepper__minus--outline,.t-stepper__plus--outline{border:2rpx solid var(--td-stepper-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
+.t-stepper__input--outline{border:none;border-top:2rpx solid var(--td-stepper-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));border-bottom:2rpx solid var(--td-stepper-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
+.t-stepper__minus--filled,.t-stepper__minus--outline{border-radius:0;border-top-left-radius:var(--td-stepper-border-radius,var(--td-radius-small,6rpx));border-bottom-left-radius:var(--td-stepper-border-radius,var(--td-radius-small,6rpx));}
+.t-stepper__plus--filled,.t-stepper__plus--outline{border-radius:0;border-top-right-radius:var(--td-stepper-border-radius,var(--td-radius-small,6rpx));border-bottom-right-radius:var(--td-stepper-border-radius,var(--td-radius-small,6rpx));}
+.t-stepper__minus--filled,.t-stepper__plus--filled{background-color:var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3));}
+.t-stepper__input--filled{background-color:var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3));margin:0 8rpx;}
+.t-stepper__input--filled .t-stepper__input{margin:0;}
+.t-stepper--normal-disabled{color:var(--td-stepper-input-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-stepper--filled-disabled,.t-stepper--outline-disabled{color:var(--td-stepper-input-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));background-color:var(--td-stepper-input-disabled-bg,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/type.d.ts
new file mode 100644
index 0000000..31499e7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/type.d.ts
@@ -0,0 +1,47 @@
+import { SizeEnum } from '../common/common';
+export interface TdStepperProps {
+ disableInput?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ inputWidth?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ integer?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ max?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ min?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ size?: {
+ type: StringConstructor;
+ value?: SizeEnum;
+ };
+ step?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'normal' | 'filled' | 'outline';
+ };
+ value?: {
+ type: null;
+ value?: string | number;
+ };
+ defaultValue?: {
+ type: null;
+ value?: string | number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/stepper/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/props.d.ts
new file mode 100644
index 0000000..fef4049
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/props.d.ts
@@ -0,0 +1,3 @@
+import { TdStepsProps } from './type';
+declare const props: TdStepsProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/props.js
new file mode 100644
index 0000000..ca122b6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/props.js
@@ -0,0 +1 @@
+const props={current:{type:null,value:null},defaultCurrent:{type:null},currentStatus:{type:String,value:"process"},layout:{type:String,value:"horizontal"},readonly:{type:null,value:void 0},sequence:{type:String,value:"positive"},theme:{type:String,value:"default"}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.d.ts
new file mode 100644
index 0000000..9f4edc0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.d.ts
@@ -0,0 +1,22 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class Steps extends SuperComponent {
+ relations: RelationsOptions;
+ externalClasses: string[];
+ properties: import("./type").TdStepsProps;
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ data: {
+ prefix: string;
+ classPrefix: string;
+ };
+ observers: {
+ 'current, theme, sequence'(): void;
+ };
+ methods: {
+ updateChildren(): void;
+ updateLastChid(): void;
+ handleClick(index: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.js
new file mode 100644
index 0000000..5aa3c28
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{wxComponent,SuperComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-steps`;let Steps=class extends SuperComponent{constructor(){super(...arguments),this.relations={"../step-item/step-item":{type:"child",linked(e){this.updateChildren();const{readonly:t}=this.data;e.setData({readonly:t})},unlinked(){this.updateLastChid()}}},this.externalClasses=[`${prefix}-class`],this.properties=props,this.controlledProps=[{key:"current",event:"change"}],this.data={prefix:prefix,classPrefix:name},this.observers={"current, theme, sequence"(){this.updateChildren()}},this.methods={updateChildren(){const e=this.$children;e.forEach((t,s)=>{t.updateStatus(Object.assign({index:s,items:e},this.data))})},updateLastChid(){const e=this.$children;e.forEach((t,s)=>t.setData({isLastChild:s===e.length-1}))},handleClick(e){if(!this.data.readonly){const t=this.data.current;this._trigger("change",{previous:t,current:e})}}}}};Steps=__decorate([wxComponent()],Steps);export default Steps;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.json
new file mode 100644
index 0000000..d2480dd
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-step":"../step-item/step-item"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.wxml
new file mode 100644
index 0000000..56b7a9d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.wxss
new file mode 100644
index 0000000..eb8b55f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/steps.wxss
@@ -0,0 +1,6 @@
+@import '../common/style/index.wxss';:host{display:flex;}
+.t-step--vertical{padding-right:32rpx;}
+.t-steps{display:flex;width:100%;}
+.t-steps--vertical{flex-direction:column;}
+.t-steps--reverse{flex-direction:row-reverse;}
+.t-steps--vertical.t-steps--reverse{flex-direction:column-reverse;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/type.d.ts
new file mode 100644
index 0000000..d0e9147
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/type.d.ts
@@ -0,0 +1,30 @@
+export interface TdStepsProps {
+ current?: {
+ type: null;
+ value?: string | number;
+ };
+ defaultCurrent?: {
+ type: null;
+ value?: string | number;
+ };
+ currentStatus?: {
+ type: StringConstructor;
+ value?: 'default' | 'process' | 'finish' | 'error';
+ };
+ layout?: {
+ type: StringConstructor;
+ value?: 'horizontal' | 'vertical';
+ };
+ readonly?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ sequence?: {
+ type: StringConstructor;
+ value?: 'positive' | 'reverse';
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'default' | 'dot';
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/steps/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/index.d.ts
new file mode 100644
index 0000000..a6df66d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/index.d.ts
@@ -0,0 +1,3 @@
+export * from './props';
+export * from './type';
+export * from './sticky';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/index.js
new file mode 100644
index 0000000..af29307
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/index.js
@@ -0,0 +1 @@
+export*from"./props";export*from"./type";export*from"./sticky";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/props.d.ts
new file mode 100644
index 0000000..175af72
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/props.d.ts
@@ -0,0 +1,3 @@
+import { TdStickyProps } from './type';
+declare const props: TdStickyProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/props.js
new file mode 100644
index 0000000..cdab8a5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/props.js
@@ -0,0 +1 @@
+const props={container:{type:null},disabled:{type:Boolean,value:!1},offsetTop:{type:null,value:0},zIndex:{type:Number,value:99}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.d.ts
new file mode 100644
index 0000000..89ba546
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.d.ts
@@ -0,0 +1,30 @@
+import { SuperComponent } from '../common/src/index';
+import type { TdStickyProps } from './type';
+export interface StickyProps extends TdStickyProps {
+}
+export default class Sticky extends SuperComponent {
+ externalClasses: string[];
+ properties: TdStickyProps;
+ behaviors: string[];
+ observers: {
+ 'offsetTop, disabled, container'(): void;
+ };
+ data: {
+ prefix: string;
+ classPrefix: string;
+ containerStyle: string;
+ contentStyle: string;
+ };
+ ready(): void;
+ methods: {
+ onScroll(event?: {
+ scrollTop: number;
+ }): void;
+ setDataAfterDiff(data: {
+ isFixed: boolean;
+ height?: number;
+ transform?: number;
+ }): void;
+ getContainerRect(): Promise;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.js
new file mode 100644
index 0000000..310833f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import props from"./props";import config from"../common/config";import pageScrollMixin from"../mixins/page-scroll";import{getRect}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-sticky`,ContainerClass=`.${name}`;let Sticky=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`],this.properties=props,this.behaviors=[pageScrollMixin()],this.observers={"offsetTop, disabled, container"(){this.onScroll()}},this.data={prefix:prefix,classPrefix:name,containerStyle:"",contentStyle:""},this.methods={onScroll(t){const{scrollTop:e}=t||{},{container:i,offsetTop:o,disabled:s}=this.properties;s?this.setDataAfterDiff({isFixed:!1,transform:0}):(this.scrollTop=e||this.scrollTop,"function"!=typeof i?getRect(this,ContainerClass).then(t=>{t&&(o>=t.top?(this.setDataAfterDiff({isFixed:!0,height:t.height}),this.transform=0):this.setDataAfterDiff({isFixed:!1}))}):Promise.all([getRect(this,ContainerClass),this.getContainerRect()]).then(([t,e])=>{t&&e&&(o+t.height>e.height+e.top?this.setDataAfterDiff({isFixed:!1,transform:e.height-t.height}):o>=t.top?this.setDataAfterDiff({isFixed:!0,height:t.height,transform:0}):this.setDataAfterDiff({isFixed:!1,transform:0}))}))},setDataAfterDiff(t){const{offsetTop:e}=this.properties,{containerStyle:i,contentStyle:o}=this.data,{isFixed:s,height:r,transform:n}=t;wx.nextTick(()=>{let t="",a="";if(s&&(t+=`height:${r}px;`,a+=`position:fixed;top:${e}px;left:0;right:0;`),n){const t=`translate3d(0, ${n}px, 0)`;a+=`-webkit-transform:${t};transform:${t};`}i===t&&o===a||this.setData({containerStyle:t,contentStyle:a}),this.triggerEvent("scroll",{scrollTop:this.scrollTop,isFixed:s})})},getContainerRect(){const t=this.properties.container();return new Promise(e=>t.boundingClientRect(e).exec())}}}ready(){this.onScroll()}};Sticky=__decorate([wxComponent()],Sticky);export default Sticky;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.wxml
new file mode 100644
index 0000000..802adb8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.wxss
new file mode 100644
index 0000000..365db2b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/sticky.wxss
@@ -0,0 +1 @@
+@import '../common/style/index.wxss';.t-sticky{position:relative;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/type.d.ts
new file mode 100644
index 0000000..36195d9
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/type.d.ts
@@ -0,0 +1,18 @@
+export interface TdStickyProps {
+ container?: {
+ type: undefined;
+ value?: null;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ offsetTop?: {
+ type: null;
+ value?: string | number;
+ };
+ zIndex?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/sticky/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/props.d.ts
new file mode 100644
index 0000000..9a3159c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/props.d.ts
@@ -0,0 +1,3 @@
+import { TdSwipeCellProps } from './type';
+declare const props: TdSwipeCellProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/props.js
new file mode 100644
index 0000000..6846617
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/props.js
@@ -0,0 +1 @@
+const props={disabled:{type:Boolean},left:{type:Array},opened:{type:null,value:!1},right:{type:Array}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.d.ts
new file mode 100644
index 0000000..8faa283
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.d.ts
@@ -0,0 +1,31 @@
+import { SuperComponent } from '../common/src/index';
+export default class SwiperCell extends SuperComponent {
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ properties: import("./type").TdSwipeCellProps;
+ data: {
+ prefix: string;
+ wrapperStyle: string;
+ closed: boolean;
+ classPrefix: string;
+ skipMove: boolean;
+ };
+ observers: {
+ 'left, right'(): void;
+ };
+ lifetimes: {
+ attached(): void;
+ ready(): void;
+ detached(): void;
+ };
+ setSwipeWidth(): void;
+ skipMove(): void;
+ catchMove(): void;
+ open(): void;
+ close(): void;
+ closeOther(): void;
+ onTap(): void;
+ onActionTap(event: any): void;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.js
new file mode 100644
index 0000000..5cd3e5b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{getRect}from"../common/utils";import{getObserver}from"../common/wechat";let ARRAY=[];const{prefix:prefix}=config,name=`${prefix}-swipe-cell`,ContainerClass=`.${name}`;let SwiperCell=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.options={multipleSlots:!0},this.properties=props,this.data={prefix:prefix,wrapperStyle:"",closed:!0,classPrefix:name,skipMove:!1},this.observers={"left, right"(){this.setSwipeWidth()}},this.lifetimes={attached(){ARRAY.push(this)},ready(){this.setSwipeWidth()},detached(){ARRAY=ARRAY.filter(e=>e!==this)}}}setSwipeWidth(){Promise.all([getRect(this,`${ContainerClass}__left`),getRect(this,`${ContainerClass}__right`)]).then(([e,t])=>{0!==e.width||0!==t.width||this._hasObserved||(this._hasObserved=!0,getObserver(this,`.${name}`).then(()=>{this.setSwipeWidth()})),this.setData({leftWidth:e.width,rightWidth:t.width})})}skipMove(){this.data.skipMove||this.setData({skipMove:!0})}catchMove(){this.data.skipMove&&this.setData({skipMove:!1})}open(){this.setData({opened:!0})}close(){this.setData({opened:!1})}closeOther(){ARRAY.filter(e=>e!==this).forEach(e=>e.close())}onTap(){this.close()}onActionTap(e){const{currentTarget:{dataset:{action:t}}}=e;this.triggerEvent("click",t)}};SwiperCell=__decorate([wxComponent()],SwiperCell);export default SwiperCell;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.json
new file mode 100644
index 0000000..9269b92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxml
new file mode 100644
index 0000000..3a3c776
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxml
@@ -0,0 +1 @@
+{{item.text}}{{item.text}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxs
new file mode 100644
index 0000000..14efbf6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxs
@@ -0,0 +1,185 @@
+var THRESHOLD = 0.3;
+var MIN_DISTANCE = 10;
+var owner;
+var state;
+
+var getState = function (ownerInstance) {
+ owner = ownerInstance;
+ state = owner.getState();
+ state.leftWidth = state.leftWidth || 0;
+ state.rightWidth = state.rightWidth || 0;
+ state.offset = state.offset || 0;
+ state.startOffset = state.startOffset || 0;
+ state.opened = state.opened || false;
+};
+
+var initRightWidth = function (newVal, oldVal, ownerInstance) {
+ getState(ownerInstance);
+ state.rightWidth = newVal;
+ initOpen(ownerInstance);
+};
+
+var initLeftWidth = function (newVal, oldVal, ownerInstance) {
+ getState(ownerInstance);
+ state.leftWidth = newVal;
+ initOpen(ownerInstance);
+};
+
+var initOpen = function (ownerInstance) {
+ getState(ownerInstance);
+ if (state.opened.constructor === 'Boolean') {
+ // opened为boolean类型,判断默认打开
+ if (state.opened && state.rightWidth > 0) {
+ swipeMove(-state.rightWidth);
+ } else if (state.opened && state.leftWidth > 0) {
+ swipeMove(state.leftWidth);
+ }
+ }
+
+ if (state.opened.constructor === 'Array') {
+ // opened为array类型,判断默认打开,同时设定左右action时优先打开右边
+ if (state.opened[1] && state.rightWidth > 0) {
+ swipeMove(-state.rightWidth);
+ } else if (state.opened[0] && state.leftWidth > 0) {
+ swipeMove(state.leftWidth);
+ }
+ }
+};
+
+var resetTouchStatus = function () {
+ state.direction = '';
+ state.deltaX = 0;
+ state.deltaY = 0;
+ state.offsetX = 0;
+ state.offsetY = 0;
+};
+
+var touchMove = function (event) {
+ var touchPoint = event.touches[0];
+ state.deltaX = touchPoint.clientX - state.startX;
+ state.deltaY = touchPoint.clientY - state.startY;
+ state.offsetX = Math.abs(state.deltaX);
+ state.offsetY = Math.abs(state.deltaY);
+ state.direction = state.direction || getDirection(state.offsetX, state.offsetY);
+};
+
+var getDirection = function (x, y) {
+ if (x > y && x > MIN_DISTANCE) {
+ return 'horizontal';
+ }
+ if (y > x && y > MIN_DISTANCE) {
+ return 'vertical';
+ }
+ return '';
+};
+
+var range = function (num, min, max) {
+ return Math.min(Math.max(num, min), max);
+};
+
+var swipeMove = function (_offset) {
+ if (_offset === undefined) _offset = 0;
+ state.offset = range(_offset, -state.rightWidth, +state.leftWidth);
+ var transform = 'translate3d(' + state.offset + 'px, 0, 0)';
+ var transition = state.dragging ? 'none' : 'transform .6s cubic-bezier(0.18, 0.89, 0.32, 1)';
+ owner.selectComponent('#wrapper').setStyle({
+ '-webkit-transform': transform,
+ '-webkit-transition': transition,
+ transform: transform,
+ transition: transition,
+ });
+};
+
+var close = function () {
+ swipeMove(0);
+};
+
+var onCloseChange = function (newVal, oldVal, ownerInstance) {
+ getState(ownerInstance);
+ if (newVal === oldVal) return;
+ if (newVal) {
+ close();
+ }
+};
+
+var onOpenedChange = function (newVal, oldVal, ownerInstance) {
+ getState(ownerInstance);
+ state.opened = newVal;
+ if (newVal === oldVal) return;
+ if (!newVal) {
+ close();
+ }
+};
+
+var touchStart = function (event) {
+ resetTouchStatus();
+ state.startOffset = state.offset;
+ var touchPoint = event.touches[0];
+ state.startX = touchPoint.clientX;
+ state.startY = touchPoint.clientY;
+ owner.callMethod('closeOther');
+};
+
+var startDrag = function (event, ownerInstance) {
+ ownerInstance.callMethod('catchMove');
+ getState(ownerInstance);
+ touchStart(event);
+};
+
+var onDrag = function (event, ownerInstance) {
+ getState(ownerInstance);
+ touchMove(event);
+ if (state.direction === 'vertical') {
+ ownerInstance.callMethod('skipMove');
+ }
+ if (state.direction !== 'horizontal') {
+ return;
+ }
+ if (!state.dragging) {
+ ownerInstance.triggerEvent('dragstart');
+ }
+ state.dragging = true;
+ swipeMove(state.startOffset + state.deltaX);
+ return false;
+};
+
+var open = function (position) {
+ var _offset = position === 'left' ? +state.leftWidth : -state.rightWidth;
+ owner.callMethod('open', { position: position });
+ swipeMove(_offset);
+};
+
+var endDrag = function (event, ownerInstance) {
+ getState(ownerInstance);
+ state.dragging = false;
+ // 左/右侧有可滑动区域,且当前不是已open状态,且滑动幅度超过阈值时open左/右侧(滚动到该侧的最边上)
+ if (
+ +state.rightWidth > 0 &&
+ -state.startOffset < +state.rightWidth &&
+ -state.offset > +state.rightWidth * THRESHOLD
+ ) {
+ open('right');
+ } else if (
+ +state.leftWidth > 0 &&
+ state.startOffset < +state.leftWidth &&
+ state.offset > +state.leftWidth * THRESHOLD
+ ) {
+ open('left');
+ } else {
+ // 仅在有发生侧滑的情况下自动关闭(由js控制是否异步关闭)
+ if (state.startOffset !== state.offset) {
+ close();
+ }
+ }
+ ownerInstance.triggerEvent('dragend');
+};
+
+module.exports = {
+ initLeftWidth: initLeftWidth,
+ initRightWidth: initRightWidth,
+ startDrag: startDrag,
+ onDrag: onDrag,
+ endDrag: endDrag,
+ onCloseChange: onCloseChange,
+ onOpenedChange: onOpenedChange,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxss
new file mode 100644
index 0000000..5698bf7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxss
@@ -0,0 +1,7 @@
+@import '../common/style/index.wxss';.t-swipe-cell{position:relative;overflow:hidden;}
+.t-swipe-cell__left,.t-swipe-cell__right{position:absolute;top:0;height:100%;}
+.t-swipe-cell__left{left:0;transform:translate3d(-100%,0,0);}
+.t-swipe-cell__right{right:0;transform:translate3d(100%,0,0);}
+.t-swipe-cell__content{display:inline-flex;justify-content:center;align-items:center;padding:0 var(--td-spacer-2,32rpx);}
+.t-swipe-cell__icon{font-size:var(--td-font-size-xl,40rpx);}
+.t-swipe-cell__icon+.t-swipe-cell__text:not(:empty){margin-left:var(--td-spacer,16rpx);font-size:var(--td-font-size-base,28rpx);line-height:44rpx;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/type.d.ts
new file mode 100644
index 0000000..92f5f5f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/type.d.ts
@@ -0,0 +1,26 @@
+export interface TdSwipeCellProps {
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ left?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ opened?: {
+ type: null;
+ value?: boolean | Array;
+ };
+ right?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+}
+export interface SwipeActionItem {
+ text?: string;
+ icon?: string | object;
+ className?: string;
+ style?: string;
+ onClick?: () => void;
+ [key: string]: any;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swipe-cell/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/index.d.ts
new file mode 100644
index 0000000..5dcaf6b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/index.d.ts
@@ -0,0 +1,3 @@
+export * from './type';
+export * from './props';
+export * from './swiper-nav';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/index.js
new file mode 100644
index 0000000..315c833
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/index.js
@@ -0,0 +1 @@
+export*from"./type";export*from"./props";export*from"./swiper-nav";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/props.d.ts
new file mode 100644
index 0000000..70971ea
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/props.d.ts
@@ -0,0 +1,3 @@
+import { TdSwiperNavProps } from './type';
+declare const props: TdSwiperNavProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/props.js
new file mode 100644
index 0000000..adbb8a7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/props.js
@@ -0,0 +1 @@
+const props={current:{type:Number,value:0},direction:{type:String,value:"horizontal"},minShowNum:{type:Number,value:2},paginationPosition:{type:String,value:"bottom"},showControls:{type:Boolean,value:!1},total:{type:Number,value:0},type:{type:String,value:"dots"}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.d.ts
new file mode 100644
index 0000000..ce01166
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.d.ts
@@ -0,0 +1,45 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+import { TdSwiperNavProps } from './type';
+export interface SwiperNavProps extends TdSwiperNavProps {
+}
+export default class SwiperNav extends SuperComponent {
+ externalClasses: string[];
+ properties: {
+ current: {
+ type: NumberConstructor;
+ value: number;
+ };
+ total: {
+ type: NumberConstructor;
+ value: number;
+ };
+ type: {
+ type: StringConstructor;
+ value: string;
+ };
+ minShowNum: {
+ type: NumberConstructor;
+ value: number;
+ };
+ showControls: {
+ type: BooleanConstructor;
+ value: boolean;
+ };
+ direction: {
+ type: StringConstructor;
+ value: string;
+ };
+ paginationPosition: {
+ type: StringConstructor;
+ value: string;
+ };
+ };
+ relations: RelationsOptions;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ };
+ methods: {
+ nav(e: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.js
new file mode 100644
index 0000000..ad4da4f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";const{prefix:prefix}=config,name=`${prefix}-swiper-nav`;let SwiperNav=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.properties={current:{type:Number,value:0},total:{type:Number,value:0},type:{type:String,value:"dots"},minShowNum:{type:Number,value:2},showControls:{type:Boolean,value:!1},direction:{type:String,value:"horizontal"},paginationPosition:{type:String,value:"bottom"}},this.relations={"../swiper/swiper":{type:"parent"}},this.data={prefix:prefix,classPrefix:name},this.methods={nav(e){var t;const{dir:r}=e.target.dataset;this.triggerEvent("nav-btn-change",{dir:r,source:"nav"}),this.$parent&&(null===(t=this.$parent)||void 0===t||t.doNavBtnChange(r,"nav"))}}}};SwiperNav=__decorate([wxComponent()],SwiperNav);export default SwiperNav;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.json
new file mode 100644
index 0000000..1bbd8ba
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared"}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.wxml
new file mode 100644
index 0000000..2f3bf1a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.wxss
new file mode 100644
index 0000000..8eb8745
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.wxss
@@ -0,0 +1,23 @@
+@import '../common/style/index.wxss';.t-swiper-nav__dots,.t-swiper-nav__dots-bar{display:flex;flex-direction:row;}
+.t-swiper-nav__dots-bar-item,.t-swiper-nav__dots-item{width:var(--td-swiper-nav-dot-size,12rpx);height:var(--td-swiper-nav-dot-size,12rpx);background:var(--td-swiper-nav-dot-color,var(--td-font-white-2,rgba(255,255,255,.55)));border-radius:50%;margin:0 10rpx;transition:all .4s ease-in;}
+.t-swiper-nav__dots-bar-item--vertical,.t-swiper-nav__dots-item--vertical{margin:10rpx 0;}
+.t-swiper-nav__dots-bar-item--active,.t-swiper-nav__dots-item--active{background-color:var(--td-swiper-nav-dot-active-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));}
+.t-swiper-nav__dots-bar-item--vertical.t-swiper-nav__dots-bar-item--active{width:var(--td-swiper-nav-dot-size,12rpx);height:var(--td-swiper-nav-dots-bar-active-width,40rpx);}
+.t-swiper-nav__dots-bar-item--active{width:var(--td-swiper-nav-dots-bar-active-width,40rpx);border-radius:calc(var(--td-swiper-nav-dot-size,12rpx)/ 2);background-color:var(--td-swiper-nav-dot-active-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));}
+.t-swiper-nav--left{position:absolute;left:24rpx;top:50%;transform:translateY(-50%);}
+.t-swiper-nav--right{position:absolute;right:24rpx;top:50%;transform:translateY(-50%);}
+.t-swiper-nav--top-left{position:absolute;top:24rpx;left:24rpx;}
+.t-swiper-nav--top{position:absolute;left:50%;top:24rpx;transform:translateX(-50%);}
+.t-swiper-nav--top-right{position:absolute;top:24rpx;right:24rpx;}
+.t-swiper-nav--bottom-left{position:absolute;left:24rpx;bottom:24rpx;}
+.t-swiper-nav--bottom{position:absolute;left:50%;bottom:24rpx;transform:translateX(-50%);}
+.t-swiper-nav--bottom-right{position:absolute;right:24rpx;bottom:24rpx;}
+.t-swiper-nav--vertical{flex-direction:column;}
+.t-swiper-nav__fraction{padding:0 16rpx;height:var(--td-swiper-nav-fraction-height,48rpx);line-height:var(--td-swiper-nav-fraction-height,48rpx);border-radius:calc(var(--td-swiper-nav-fraction-height,48rpx)/ 2);background:var(--td-swiper-nav-fraction-bg-color,var(--td-font-gray-3,rgba(0,0,0,.4)));color:var(--td-swiper-nav-fraction-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));font-size:var(--td-swiper-nav-fraction-font-size,24rpx);}
+.t-swiper-nav__btn{width:100%;position:absolute;top:50%;transform:translateY(-50%);}
+.t-swiper-nav__btn--next,.t-swiper-nav__btn--prev{position:absolute;top:50%;transform:translateY(-50%);width:var(--td-swiper-nav-btn-size,48rpx);height:var(--td-swiper-nav-btn-size,48rpx);border-radius:50%;background:var(--td-swiper-nav-btn-bg-color,var(--td-font-gray-3,rgba(0,0,0,.4)));}
+.t-swiper-nav__btn--next::after,.t-swiper-nav__btn--prev::after{position:absolute;left:50%;top:50%;display:block;content:'';width:12rpx;height:12rpx;border-color:var(--td-swiper-nav-btn-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));border-style:solid;}
+.t-swiper-nav__btn--prev{left:30rpx;}
+.t-swiper-nav__btn--prev::after{margin-left:4rpx;border-width:2rpx 0 0 2rpx;transform:translate(-50%,-50%) rotateZ(-45deg);}
+.t-swiper-nav__btn--next{right:30rpx;}
+.t-swiper-nav__btn--next::after{margin-left:-4rpx;border-width:2rpx 2rpx 0 0;transform:translate(-50%,-50%) rotateZ(45deg);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/type.d.ts
new file mode 100644
index 0000000..5fa2712
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/type.d.ts
@@ -0,0 +1,31 @@
+export interface TdSwiperNavProps {
+ current?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ direction?: {
+ type: StringConstructor;
+ value?: 'horizontal' | 'vertical';
+ };
+ minShowNum?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ paginationPosition?: {
+ type: StringConstructor;
+ value?: 'top-left' | 'top' | 'top-right' | 'bottom-left' | 'bottom' | 'bottom-right';
+ };
+ showControls?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ total?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ type?: {
+ type: StringConstructor;
+ value?: SwiperNavigationType;
+ };
+}
+export declare type SwiperNavigationType = 'dots' | 'dots-bar' | 'fraction';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper-nav/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/index.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/index.wxs
new file mode 100644
index 0000000..41eca3d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/index.wxs
@@ -0,0 +1,25 @@
+function isPrev(current, index, list) {
+ return (current - 1 + list.length) % list.length === index;
+}
+
+function isNext(current, index, list) {
+ return (current + 1 + list.length) % list.length === index;
+}
+
+function getImageClass(prefix, current, index, list) {
+ var arr = [prefix + '-swiper__image-host', prefix + '-swiper__image', prefix + '-class-image'];
+
+ if (isPrev(current, index, list)) {
+ arr.push(prefix + '-class-prev-image');
+ }
+
+ if (isNext(current, index, list)) {
+ arr.push(prefix + '-class-next-image');
+ }
+
+ return arr.join(' ');
+}
+
+module.exports.isPrev = isPrev;
+module.exports.isNext = isNext;
+module.exports.getImageClass = getImageClass;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/props.d.ts
new file mode 100644
index 0000000..399c9af
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/props.d.ts
@@ -0,0 +1,3 @@
+import { TdSwiperProps } from './type';
+declare const props: TdSwiperProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/props.js
new file mode 100644
index 0000000..eb4c100
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/props.js
@@ -0,0 +1 @@
+const props={autoplay:{type:Boolean,value:!0},current:{type:Number,value:0},direction:{type:String,value:"horizontal"},displayMultipleItems:{type:Number,value:1},duration:{type:Number,value:300},easingFunction:{type:String,value:"default"},height:{type:null,value:192},imageProps:{type:Object},interval:{type:Number,value:5e3},list:{type:Array},loop:{type:Boolean,value:!0},navigation:{type:null,value:!0},nextMargin:{type:null,value:0},paginationPosition:{type:String,value:"bottom"},previousMargin:{type:null,value:0},snapToEdge:{type:Boolean,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.d.ts
new file mode 100644
index 0000000..4d9d016
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.d.ts
@@ -0,0 +1,31 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class Swiper extends SuperComponent {
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ pureDataPattern: RegExp;
+ };
+ properties: import("./type").TdSwiperProps;
+ observers: {
+ navCurrent(v: any): void;
+ };
+ $nav: any;
+ relations: RelationsOptions;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ _source: string;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ methods: {
+ updateNav(currentValue: any): void;
+ onTap(e: any): void;
+ onChange(e: any): void;
+ onAnimationFinish(e: WechatMiniprogram.SwiperAnimationFinish): void;
+ onNavBtnChange(e: any): void;
+ doNavBtnChange(dir: any, source: any): void;
+ onImageLoad(e: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.js
new file mode 100644
index 0000000..8d63d10
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-swiper`;let Swiper=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-nav`,`${prefix}-class-image`,`${prefix}-class-prev-image`,`${prefix}-class-next-image`],this.options={multipleSlots:!0,pureDataPattern:/^_/},this.properties=props,this.observers={navCurrent(t){this.updateNav(t)}},this.$nav=null,this.relations={"../swiper-nav/swiper-nav":{type:"child"}},this.data={prefix:prefix,classPrefix:name,_source:""},this.lifetimes={ready(){const{current:t}=this.properties;this.setData({navCurrent:t})}},this.methods={updateNav(t){var e;if(this.data.navigation)return;const r=null===(e=this.getRelationNodes("./swiper-nav"))||void 0===e?void 0:e[0];if(!r)return;const{direction:i,paginationPosition:n,list:s}=this.properties;r.setData({current:t,total:s.length,direction:i,paginationPosition:n})},onTap(t){const{index:e}=t.currentTarget.dataset;this.triggerEvent("click",{index:e})},onChange(t){const{current:e,source:r}=t.detail;r&&(this.setData({navCurrent:e,_source:r}),this.triggerEvent("change",{current:e,source:r}))},onAnimationFinish(t){const{current:e,source:r}=t.detail;this.triggerEvent("animationfinish",{current:e,source:r||this.data._source})},onNavBtnChange(t){const{dir:e,source:r}=t.detail;this.doNavBtnChange(e,r)},doNavBtnChange(t,e){const{current:r,list:i,loop:n}=this.data,s=i.length;let o="next"===t?r+1:r-1;o=n?"next"===t?(r+1)%s:(r-1+s)%s:o<0||o>=s?r:o,o!==r&&(this.setData({current:o,_source:e}),this.triggerEvent("change",{current:o,source:e}))},onImageLoad(t){this.triggerEvent("image-load",{index:t.target.dataset.custom})}}}};Swiper=__decorate([wxComponent()],Swiper);export default Swiper;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.json
new file mode 100644
index 0000000..fd6447e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-swiper-nav":"../swiper-nav/swiper-nav","t-image":"../image/image"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.wxml
new file mode 100644
index 0000000..4f659eb
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.wxss
new file mode 100644
index 0000000..c12c176
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/swiper.wxss
@@ -0,0 +1,5 @@
+@import '../common/style/index.wxss';.t-swiper{position:relative;}
+.t-swiper-host{border-radius:var(--td-swiper-radius,var(--td-radius-large,18rpx));overflow:hidden;transform:translateY(0);}
+.t-swiper__item{display:flex;align-items:center;box-sizing:border-box;padding:var(--td-swiper-item-padding,0);}
+.t-swiper__image{width:100%;transition:all .3s ease;}
+.t-swiper__image-host{width:100%;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/type.d.ts
new file mode 100644
index 0000000..2c4a1ce
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/type.d.ts
@@ -0,0 +1,71 @@
+import { SwiperNavProps } from '../swiper-nav/index';
+export interface TdSwiperProps {
+ autoplay?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ current?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ direction?: {
+ type: StringConstructor;
+ value?: 'horizontal' | 'vertical';
+ };
+ displayMultipleItems?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ duration?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ easingFunction?: {
+ type: StringConstructor;
+ value?: 'default' | 'linear' | 'easeInCubic' | 'easeOutCubic' | 'easeInOutCubic';
+ };
+ height?: {
+ type: null;
+ value?: string | number;
+ };
+ imageProps?: {
+ type: ObjectConstructor;
+ value?: object;
+ };
+ interval?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ list?: {
+ type: ArrayConstructor;
+ value?: string[] | SwiperList[];
+ };
+ loop?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ navigation?: {
+ type: null;
+ value?: SwiperNavProps | boolean;
+ };
+ nextMargin?: {
+ type: null;
+ value?: string | number;
+ };
+ paginationPosition?: {
+ type: StringConstructor;
+ value?: 'top-left' | 'top' | 'top-right' | 'bottom-left' | 'bottom' | 'bottom-right';
+ };
+ previousMargin?: {
+ type: null;
+ value?: string | number;
+ };
+ snapToEdge?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}
+export interface SwiperList {
+ value: string;
+ ariaLabel: string;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/swiper/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/props.d.ts
new file mode 100644
index 0000000..489f18a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/props.d.ts
@@ -0,0 +1,3 @@
+import { TdSwitchProps } from './type';
+declare const props: TdSwitchProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/props.js
new file mode 100644
index 0000000..a99a069
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/props.js
@@ -0,0 +1 @@
+const props={customValue:{type:Array,value:[!0,!1]},disabled:{type:null,value:void 0},icon:{type:Array,value:[]},label:{type:Array,value:[]},loading:{type:Boolean,value:!1},size:{type:String,value:"medium"},value:{type:null,value:null},defaultValue:{type:null,value:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.d.ts
new file mode 100644
index 0000000..7db8002
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.d.ts
@@ -0,0 +1,21 @@
+import { SuperComponent } from '../common/src/index';
+export default class Switch extends SuperComponent {
+ externalClasses: string[];
+ behaviors: string[];
+ properties: import("./type").TdSwitchProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ checked: boolean;
+ };
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ observers: {
+ value(val: any): void;
+ };
+ methods: {
+ handleSwitch(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.js
new file mode 100644
index 0000000..0d2cc5d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{wxComponent,SuperComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-switch`;let Switch=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-label`,`${prefix}-class-body`,`${prefix}-class-dot`],this.behaviors=["wx://form-field"],this.properties=props,this.data={prefix:prefix,classPrefix:name,checked:!1},this.controlledProps=[{key:"value",event:"change"}],this.observers={value(e){const[t]=this.data.customValue;this.setData({checked:e===t})}},this.methods={handleSwitch(){const{loading:e,disabled:t,value:s,customValue:o}=this.data,[i,r]=o;e||t||this._trigger("change",{value:s===i?r:i})}}}};Switch=__decorate([wxComponent()],Switch);export default Switch;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.json
new file mode 100644
index 0000000..18ba7f1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-loading":"../loading/loading"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.wxml
new file mode 100644
index 0000000..230310b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.wxml
@@ -0,0 +1 @@
+{{checked ? label[0] : label[1]}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.wxss
new file mode 100644
index 0000000..64da2e0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/switch.wxss
@@ -0,0 +1,28 @@
+@import '../common/style/index.wxss';.t-switch{display:flex;align-items:center;overflow:hidden;}
+.t-switch__label{position:absolute;top:0;left:0;bottom:0;width:100%;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;font-size:var(--td-switch-label-font-size,28rpx);color:var(--td-switch-label-color,var(--td-bg-color-secondarycontainer-active,var(--td-gray-color-4,#dcdcdc)));overflow:hidden;}
+.t-switch__label--checked{color:var(--td-switch-label-checked-color,var(--td-switch-checked-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9))));}
+.t-switch__label--disabled{color:var(--td-switch-unchecked-disabled-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
+.t-switch__label--checked.t-switch__label--disabled{color:var(--td-switch-checked-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-switch__label--large{font-size:var(--td-switch-label-large-font-size,32rpx);}
+.t-switch__label--small{font-size:var(--td-switch-label-small-font-size,24rpx);}
+.t-switch__label:empty{display:none;}
+.t-switch__icon{font-size:var(--td-switch-icon-size,40rpx);}
+.t-switch__icon--large{font-size:var(--td-switch-icon-large-size,48rpx);}
+.t-switch__icon--small{font-size:var(--td-switch-icon-small-size,32rpx);}
+.t-switch__loading{--td-loading-color:var(--td-switch-loading-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));}
+.t-switch__body{vertical-align:middle;width:var(--td-switch-width,90rpx);height:var(--td-switch-height,56rpx);border-radius:var(--td-switch-radius,calc(var(--td-switch-height,56rpx)/ 2));background-color:var(--td-switch-unchecked-color,var(--td-bg-color-secondarycontainer-active,var(--td-gray-color-4,#dcdcdc)));position:relative;transition:all .3s ease;overflow:hidden;}
+.t-switch__body--checked{background-color:var(--td-switch-checked-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-switch__body--disabled{background-color:var(--td-switch-unchecked-disabled-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));}
+.t-switch__body--checked.t-switch__body--disabled{background-color:var(--td-switch-checked-disabled-color,var(--td-brand-color-disabled,var(--td-primary-color-3,#b5c7ff)));}
+.t-switch__body--large{width:var(--td-switch-large-width,104rpx);height:var(--td-switch-large-height,64rpx);border-radius:var(--td-switch-large-radius,calc(var(--td-switch-large-height,64rpx)/ 2));}
+.t-switch__body--small{width:var(--td-switch-small-width,78rpx);height:var(--td-switch-small-height,48rpx);border-radius:var(--td-switch-small-radius,calc(var(--td-switch-small-height,48rpx)/ 2));}
+.t-switch__dot{position:absolute;left:var(--td-switch-dot-horizontal-margin,6rpx);top:50%;width:var(--td-switch-dot-size,44rpx);height:var(--td-switch-dot-size,44rpx);border-radius:50%;background-color:var(--td-text-color-anti,var(--td-font-white-1,#fff));transition:all .3s;transform:translateY(-50%);box-shadow:var(--td-switch-dot-shadow,var(--td-shadow-1,0 1px 10px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.08),0 2px 4px -1px rgba(0,0,0,.12)));}
+.t-switch__dot--disabled{background-color:var(--td-switch-dot-disabled-color,var(--td-font-white-1,#fff));}
+.t-switch__dot--large{width:var(--td-switch-dot-large-size,52rpx);height:var(--td-switch-dot-large-size,52rpx);}
+.t-switch__dot--small{width:var(--td-switch-dot-small-size,36rpx);height:var(--td-switch-dot-small-size,36rpx);}
+.t-switch__dot--checked{left:calc(var(--td-switch-width,90rpx) - var(--td-switch-dot-size,44rpx) - var(--td-switch-dot-horizontal-margin,6rpx));}
+.t-switch__dot--large.t-switch__dot--checked{left:calc(var(--td-switch-large-width,104rpx) - var(--td-switch-dot-large-size,52rpx) - var(--td-switch-dot-horizontal-margin,6rpx));}
+.t-switch__dot--small.t-switch__dot--checked{left:calc(var(--td-switch-small-width,78rpx) - var(--td-switch-dot-small-size,36rpx) - var(--td-switch-dot-horizontal-margin,6rpx));}
+.t-switch__dot--plain:not(.t-switch__dot--checked){width:var(--td-switch-dot-plain-size,36rpx);height:var(--td-switch-dot-plain-size,36rpx);left:var(--td-switch-dot-plain-horizontal-margin,10rpx);}
+.t-switch__dot--large.t-switch__dot--plain:not(.t-switch__dot--checked){width:var(--td-switch-dot-plain-large-size,44rpx);height:var(--td-switch-dot-plain-large-size,44rpx);}
+.t-switch__dot--small.t-switch__dot--plain:not(.t-switch__dot--checked){width:var(--td-switch-dot-plain-small-size,28rpx);height:var(--td-switch-dot-plain-small-size,28rpx);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/type.d.ts
new file mode 100644
index 0000000..eecf253
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/type.d.ts
@@ -0,0 +1,35 @@
+export interface TdSwitchProps {
+ customValue?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ icon?: {
+ type: ArrayConstructor;
+ value?: string[];
+ };
+ label?: {
+ type: ArrayConstructor;
+ value?: string[];
+ };
+ loading?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ size?: {
+ type: StringConstructor;
+ value?: 'small' | 'medium' | 'large';
+ };
+ value?: {
+ type: null;
+ value?: SwitchValue;
+ };
+ defaultValue?: {
+ type: null;
+ value?: SwitchValue;
+ };
+}
+export declare type SwitchValue = string | number | boolean;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/switch/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/props.d.ts
new file mode 100644
index 0000000..026ee8b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/props.d.ts
@@ -0,0 +1,3 @@
+import { TdTabBarItemProps } from './type';
+declare const props: TdTabBarItemProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/props.js
new file mode 100644
index 0000000..d92b620
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/props.js
@@ -0,0 +1 @@
+const props={badgeProps:{type:Object},icon:{type:null},subTabBar:{type:Array},value:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.d.ts
new file mode 100644
index 0000000..4efd9f7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.d.ts
@@ -0,0 +1,37 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class TabBarItem extends SuperComponent {
+ externalClasses: string[];
+ parent: any;
+ relations: RelationsOptions;
+ options: {
+ multipleSlots: boolean;
+ };
+ data: {
+ prefix: string;
+ classPrefix: string;
+ isSpread: boolean;
+ isChecked: boolean;
+ hasChildren: boolean;
+ currentName: string;
+ split: boolean;
+ iconOnly: boolean;
+ theme: string;
+ crowded: boolean;
+ shape: string;
+ };
+ properties: import("./type").TdTabBarItemProps;
+ observers: {
+ subTabBar(value: Record[]): void;
+ icon(v: any): void;
+ };
+ lifetimes: {
+ attached(): Promise;
+ };
+ methods: {
+ showSpread(): void;
+ toggle(): void;
+ selectChild(event: any): void;
+ checkActive(value: any): void;
+ closeSpread(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.js
new file mode 100644
index 0000000..68cb84b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.js
@@ -0,0 +1 @@
+import{__awaiter,__decorate}from"tslib";import{wxComponent,SuperComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{getRect,calcIcon}from"../common/utils";const{prefix:prefix}=config,classPrefix=`${prefix}-tab-bar-item`;let TabBarItem=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.parent=null,this.relations={"../tab-bar/tab-bar":{type:"ancestor",linked(t){const{theme:e,split:a,shape:s}=t.data;this.setData({theme:e,split:a,shape:s,currentName:this.properties.value?this.properties.value:t.initName()}),t.updateChildren()}}},this.options={multipleSlots:!0},this.data={prefix:prefix,classPrefix:classPrefix,isSpread:!1,isChecked:!1,hasChildren:!1,currentName:"",split:!0,iconOnly:!1,theme:"",crowded:!1,shape:"normal"},this.properties=props,this.observers={subTabBar(t){this.setData({hasChildren:t.length>0})},icon(t){this.setData({_icon:calcIcon(t)})}},this.lifetimes={attached(){return __awaiter(this,void 0,void 0,function*(){const t=yield getRect(this,`.${classPrefix}__text`);this.setData({iconOnly:0===t.height})})}},this.methods={showSpread(){this.setData({isSpread:!0})},toggle(){const{currentName:t,hasChildren:e,isSpread:a}=this.data;e&&this.setData({isSpread:!a}),this.$parent.updateValue(t),this.$parent.changeOtherSpread(t)},selectChild(t){const{value:e}=t.target.dataset;this.$parent.updateValue(e),this.setData({isSpread:!1})},checkActive(t){const{currentName:e,subTabBar:a}=this.data,s=(null==a?void 0:a.some(e=>e.value===t))||e===t;this.setData({isChecked:s})},closeSpread(){this.setData({isSpread:!1})}}}};TabBarItem=__decorate([wxComponent()],TabBarItem);export default TabBarItem;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.json
new file mode 100644
index 0000000..fb7b731
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-badge":"../badge/badge"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxml
new file mode 100644
index 0000000..6c9715d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxml
@@ -0,0 +1 @@
+{{ child.label }}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxss
new file mode 100644
index 0000000..2786739
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxss
@@ -0,0 +1,21 @@
+@import '../common/style/index.wxss';:host{flex:1;}
+.t-tab-bar-item{flex:1;height:var(--td-tab-bar-height,80rpx);box-sizing:border-box;user-select:none;position:relative;margin:16rpx 0;padding:0 24rpx;}
+.t-tab-bar-item--text-only{font-size:32rpx;}
+.t-tab-bar-item--split+.t-tab-bar-item--split::before{position:absolute;box-sizing:border-box;content:' ';pointer-events:none;top:0;bottom:0;left:0;border-left:1px solid var(--td-tab-bar-border-color,var(--td-border-color,var(--td-gray-color-3,#e7e7e7)));transform:scaleX(.5);top:16rpx;bottom:16rpx;}
+.t-tab-bar-item--crowded{padding:0 16rpx;}
+.t-tab-bar-item--round{border-radius:99px;}
+.t-tab-bar-item__content{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:16rpx;color:var(--td-tab-bar-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-tab-bar-item__content--checked{color:var(--td-tab-bar-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));font-weight:600;}
+.t-tab-bar-item__content--tag{border-radius:99px;}
+.t-tab-bar-item__content--tag.t-tab-bar-item__content--checked{background-color:var(--td-tab-bar-active-bg,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-tab-bar-item__icon{display:contents;}
+.t-tab-bar-item__icon:empty{display:none;}
+.t-tab-bar-item__text{display:flex;align-items:center;}
+.t-tab-bar-item__text--small{font-size:20rpx;line-height:32rpx;}
+.t-tab-bar-item__icon-menu{margin-right:8rpx;}
+.t-tab-bar-item__spread{position:absolute;top:0;left:7%;width:86%;background-color:var(--td-tab-bar-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));transform:translate3d(0,calc(-100% - 32rpx),0);z-index:1;border-radius:12rpx;color:var(--td-tab-bar-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));box-shadow:var(--td-tab-bar-spread-shadow,var(--td-shadow-3,0 6px 30px 5px rgba(0,0,0,.05),0 16px 24px 2px rgba(0,0,0,.04),0 8px 10px -5px rgba(0,0,0,.08)));}
+.t-tab-bar-item__spread::before{display:block;content:'';position:absolute;bottom:0;left:50%;width:0;height:0;border:16rpx solid transparent;border-top:16rpx solid var(--td-tab-bar-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));transform:translate3d(-50%,32rpx,0);}
+.t-tab-bar-item__spread-item{width:100%;height:96rpx;display:flex;align-items:center;justify-content:flex-start;position:relative;flex-direction:column;}
+.t-tab-bar-item__spread-item--active{background-color:var(--td-tab-bar-hover-bg-color,rgba(0,0,0,.05));}
+.t-tab-bar-item__spread-item-split{box-sizing:border-box;content:' ';pointer-events:none;background-color:var(--td-tab-bar-spread-border-color,var(--td-border-color,var(--td-gray-color-3,#e7e7e7)));width:80%;height:1px;transform:translateY(.5);}
+.t-tab-bar-item__spread-item-text{padding-top:24rpx;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/type.d.ts
new file mode 100644
index 0000000..6fbbd6c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/type.d.ts
@@ -0,0 +1,23 @@
+import { BadgeProps } from '../badge/index';
+export interface TdTabBarItemProps {
+ badgeProps?: {
+ type: ObjectConstructor;
+ value?: BadgeProps;
+ };
+ icon?: {
+ type: null;
+ value?: string | object;
+ };
+ subTabBar?: {
+ type: ArrayConstructor;
+ value?: SubTabBarItem[];
+ };
+ value?: {
+ type: null;
+ value?: string | number;
+ };
+}
+export interface SubTabBarItem {
+ value: string;
+ label: string;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar-item/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/props.d.ts
new file mode 100644
index 0000000..338c35e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/props.d.ts
@@ -0,0 +1,3 @@
+import { TdTabBarProps } from './type';
+declare const props: TdTabBarProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/props.js
new file mode 100644
index 0000000..0a883f5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/props.js
@@ -0,0 +1 @@
+const props={bordered:{type:Boolean,value:!0},fixed:{type:Boolean,value:!0},safeAreaInsetBottom:{type:Boolean,value:!0},shape:{type:String,value:"normal"},split:{type:Boolean,value:!0},theme:{type:String,value:"normal"},value:{type:null,value:null},defaultValue:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.d.ts
new file mode 100644
index 0000000..13e2da6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.d.ts
@@ -0,0 +1,28 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class Tabbar extends SuperComponent {
+ relations: RelationsOptions;
+ externalClasses: string[];
+ backupValue: number;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ };
+ properties: import("./type").TdTabBarProps;
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ observers: {
+ value(): void;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ methods: {
+ showChildren(): void;
+ updateChildren(): void;
+ updateValue(value: any): void;
+ changeOtherSpread(value: any): void;
+ initName(): any;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.js
new file mode 100644
index 0000000..4985b5b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{wxComponent,SuperComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,classPrefix=`${prefix}-tab-bar`;let Tabbar=class extends SuperComponent{constructor(){super(...arguments),this.relations={"../tab-bar-item/tab-bar-item":{type:"descendant"}},this.externalClasses=[`${prefix}-class`],this.backupValue=-1,this.data={prefix:prefix,classPrefix:classPrefix},this.properties=props,this.controlledProps=[{key:"value",event:"change"}],this.observers={value(){this.updateChildren()}},this.lifetimes={ready(){this.showChildren()}},this.methods={showChildren(){const{value:e}=this.data;this.$children.forEach(r=>{r.setData({crowded:this.$children.length>3}),r.properties.value===e&&r.showSpread()})},updateChildren(){const{value:e}=this.data;this.$children.forEach(r=>{r.checkActive(e)})},updateValue(e){this._trigger("change",{value:e})},changeOtherSpread(e){this.$children.forEach(r=>{r.properties.value!==e&&r.closeSpread()})},initName(){return this.backupValue+=1}}}};Tabbar=__decorate([wxComponent()],Tabbar);export default Tabbar;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxml
new file mode 100644
index 0000000..0f9e9c0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxss
new file mode 100644
index 0000000..2833f31
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxss
@@ -0,0 +1,6 @@
+@import '../common/style/index.wxss';.t-tab-bar{display:flex;flex-wrap:nowrap;align-items:center;position:relative;font-size:16px;background-color:var(--td-tab-bar-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));box-sizing:border-box;pointer-events:auto;}
+.t-tab-bar--normal.t-tab-bar--border::before{z-index:1;position:absolute;box-sizing:border-box;content:' ';pointer-events:none;right:0;left:0;top:0;border-top:1px solid var(--td-tab-bar-border-color,var(--td-border-level-1-color,var(--td-gray-color-3,#e7e7e7)));transform:scaleY(.5);transform-origin:0 0;}
+.t-tab-bar--fixed{position:fixed;left:0;bottom:0;right:0;}
+.t-tab-bar--normal.t-tab-bar--safe{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom);}
+.t-tab-bar--round{margin-left:32rpx;margin-right:32rpx;border-radius:999px;box-shadow:var(--td-tab-bar-round-shadow,var(--td-shadow-3,0 6px 30px 5px rgba(0,0,0,.05),0 16px 24px 2px rgba(0,0,0,.04),0 8px 10px -5px rgba(0,0,0,.08)));}
+.t-tab-bar--fixed.t-tab-bar--round.t-tab-bar--safe{bottom:constant(safe-area-inset-bottom);bottom:env(safe-area-inset-bottom);}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/type.d.ts
new file mode 100644
index 0000000..58ec2d5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/type.d.ts
@@ -0,0 +1,34 @@
+export interface TdTabBarProps {
+ bordered?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ fixed?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ safeAreaInsetBottom?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ shape?: {
+ type: StringConstructor;
+ value?: 'normal' | 'round';
+ };
+ split?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'normal' | 'tag';
+ };
+ value?: {
+ type: null;
+ value?: string | number | Array;
+ };
+ defaultValue?: {
+ type: null;
+ value?: string | number | Array;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-bar/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/props.d.ts
new file mode 100644
index 0000000..9329be0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/props.d.ts
@@ -0,0 +1,3 @@
+import { TdTabPanelProps } from './type';
+declare const props: TdTabPanelProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/props.js
new file mode 100644
index 0000000..a71e197
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/props.js
@@ -0,0 +1 @@
+const props={badgeProps:{type:Object},disabled:{type:Boolean,value:!1},icon:{type:null},label:{type:String,value:""},lazy:{type:Boolean,value:!1},panel:{type:String},value:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.d.ts
new file mode 100644
index 0000000..c1a18de
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.d.ts
@@ -0,0 +1,25 @@
+///
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class TabPanel extends SuperComponent {
+ externalClasses: string[];
+ relations: RelationsOptions;
+ options: {
+ multipleSlots: boolean;
+ };
+ properties: import("./type").TdTabPanelProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ active: boolean;
+ hide: boolean;
+ id: string;
+ hasActivated: boolean;
+ };
+ setId(id: any): void;
+ observers: {
+ 'label, badgeProps, disabled, icon, panel, value, lazy'(): void;
+ };
+ getComputedName(): string;
+ update(): void;
+ render(active: Boolean, parent: WechatMiniprogram.Component.TrivialInstance): void;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.js
new file mode 100644
index 0000000..048be2b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import props from"./props";import config from"../common/config";const{prefix:prefix}=config,name=`${prefix}-tab-panel`;let TabPanel=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.relations={"../tabs/tabs":{type:"ancestor"}},this.options={multipleSlots:!0},this.properties=props,this.data={prefix:prefix,classPrefix:name,active:!1,hide:!0,id:"",hasActivated:!1},this.observers={"label, badgeProps, disabled, icon, panel, value, lazy"(){this.update()}}}setId(e){this.setData({id:e})}getComputedName(){return null!=this.properties.value?`${this.properties.value}`:`${this.index}`}update(){var e;null===(e=this.$parent)||void 0===e||e.updateTabs()}render(e,t){this.initialized=this.initialized||e,e&&!this.data.hasActivated&&this.setData({hasActivated:!0}),this.setData({active:e,hide:!t.data.animation&&!e})}};TabPanel=__decorate([wxComponent()],TabPanel);export default TabPanel;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.wxml
new file mode 100644
index 0000000..d8acb0b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.wxml
@@ -0,0 +1 @@
+{{panel}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.wxss
new file mode 100644
index 0000000..281d826
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.wxss
@@ -0,0 +1,3 @@
+@import '../common/style/index.wxss';.t-tab-panel{flex-shrink:0;width:100%;height:100%;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;}
+.t-tab-panel--active{height:auto;}
+.t-tab-panel--inactive{height:0;overflow:visible;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/type.d.ts
new file mode 100644
index 0000000..8c84fec
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/type.d.ts
@@ -0,0 +1,31 @@
+import { TabValue } from '../tabs/index';
+export interface TdTabPanelProps {
+ badgeProps?: {
+ type: ObjectConstructor;
+ value?: object;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ icon?: {
+ type: null;
+ value?: string | object;
+ };
+ label?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ lazy?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ panel?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ value?: {
+ type: null;
+ value?: TabValue;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tab-panel/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/index.d.ts
new file mode 100644
index 0000000..2f91d15
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/index.d.ts
@@ -0,0 +1,3 @@
+export * from './tabs';
+export * from './type';
+export * from './props';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/index.js
new file mode 100644
index 0000000..6f0131f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/index.js
@@ -0,0 +1 @@
+export*from"./tabs";export*from"./type";export*from"./props";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/props.d.ts
new file mode 100644
index 0000000..215fa49
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/props.d.ts
@@ -0,0 +1,3 @@
+import { TdTabsProps } from './type';
+declare const props: TdTabsProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/props.js
new file mode 100644
index 0000000..7628ad0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/props.js
@@ -0,0 +1 @@
+const props={animation:{type:Object},bottomLineMode:{type:String,value:"fixed"},showBottomLine:{type:Boolean,value:!0},spaceEvenly:{type:Boolean,value:!0},split:{type:Boolean,value:!0},sticky:{type:Boolean,value:!1},stickyProps:{type:Object},swipeable:{type:Boolean,value:!0},theme:{type:String,value:"line"},value:{type:null,value:null},defaultValue:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.d.ts
new file mode 100644
index 0000000..254d030
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.d.ts
@@ -0,0 +1,59 @@
+import { RelationsOptions, SuperComponent } from '../common/src/index';
+import { TdTabsProps } from './type';
+export interface TabsProps extends TdTabsProps {
+}
+export default class Tabs extends SuperComponent {
+ options: {
+ pureDataPattern: RegExp;
+ };
+ behaviors: string[];
+ externalClasses: string[];
+ relations: RelationsOptions;
+ properties: TdTabsProps;
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ observers: {
+ value(name: any): void;
+ };
+ data: {
+ prefix: string;
+ classPrefix: string;
+ tabs: any[];
+ currentLabels: any[];
+ currentIndex: number;
+ trackOption: {
+ lineWidth: number;
+ distance: number;
+ isInit: boolean;
+ };
+ offset: number;
+ scrollLeft: number;
+ tabID: string;
+ placement: string;
+ };
+ lifetimes: {
+ created(): void;
+ attached(): void;
+ };
+ initChildId(): void;
+ methods: {
+ onScroll(e: any): void;
+ updateTabs(cb: any): void;
+ setCurrentIndexByName(name: any): void;
+ setCurrentIndex(index: number): void;
+ getCurrentName(): any;
+ calcScrollOffset(containerWidth: number, targetLeft: number, targetWidth: number, offset: number): number;
+ getTabHeight(): Promise;
+ getTrackSize(): Promise;
+ setTrack(): Promise;
+ onTabTap(event: any): void;
+ onTouchStart(event: any): void;
+ onTouchMove(event: any): void;
+ onTouchEnd(): void;
+ onTouchScroll(event: WechatMiniprogram.CustomEvent): void;
+ changeIndex(index: any): void;
+ getAvailableTabIndex(deltaX: number): any;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.js
new file mode 100644
index 0000000..4e3429e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.js
@@ -0,0 +1 @@
+import{__awaiter,__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import props from"./props";import config from"../common/config";import touch from"../mixins/touch";import{getRect,uniqueFactory}from"../common/utils";import{getObserver}from"../common/wechat";const{prefix:prefix}=config,name=`${prefix}-tabs`,getUniqueID=uniqueFactory("tabs");let Tabs=class extends SuperComponent{constructor(){super(...arguments),this.options={pureDataPattern:/^currentLabels$/},this.behaviors=[touch],this.externalClasses=[`${prefix}-class`,`${prefix}-class-item`,`${prefix}-class-active`,`${prefix}-class-track`,`${prefix}-class-content`],this.relations={"../tab-panel/tab-panel":{type:"descendant",linked(t){this.children.push(t),this.initChildId(),t.index=this.children.length-1,this.updateTabs()},unlinked(t){this.children=this.children.filter(e=>e.index!==t.index),this.updateTabs(()=>this.setTrack()),this.initChildId()}}},this.properties=props,this.controlledProps=[{key:"value",event:"change"}],this.observers={value(t){t!==this.getCurrentName()&&this.setCurrentIndexByName(t)}},this.data={prefix:prefix,classPrefix:name,tabs:[],currentLabels:[],currentIndex:-1,trackOption:{lineWidth:0,distance:0,isInit:!0},offset:0,scrollLeft:0,tabID:"",placement:"top"},this.lifetimes={created(){this.children=this.children||[]},attached(){wx.nextTick(()=>{this.setTrack()}),getRect(this,`.${name}`).then(t=>{this.containerWidth=t.width}),this.setData({tabID:getUniqueID()})}},this.methods={onScroll(t){const{scrollLeft:e}=t.detail;this.setData({scrollLeft:e})},updateTabs(t){const{children:e}=this,i=e.map(t=>t.data);i.forEach(t=>{"string"==typeof t.icon&&(t.icon={name:t.icon})}),this.setData({tabs:i},t),this.setCurrentIndexByName(this.properties.value)},setCurrentIndexByName(t){const{children:e}=this,i=e.findIndex(e=>e.getComputedName()===`${t}`);i>-1&&this.setCurrentIndex(i)},setCurrentIndex(t){if(t<=-1||t>=this.children.length)return;const e=[];this.children.forEach((i,s)=>{const r=t===s;r===i.data.active&&i.initialized||i.render(r,this),e.push(i.data.label)});const{currentIndex:i,currentLabels:s}=this.data;i===t&&s.join("")===e.join("")||this.setData({currentIndex:t,currentLabels:e},()=>{this.setTrack()})},getCurrentName(){if(this.children){const t=this.children[this.data.currentIndex];if(t)return t.getComputedName()}},calcScrollOffset:(t,e,i,s)=>s+e-.5*t+i/2,getTabHeight(){return getRect(this,`.${name}`)},getTrackSize(){const{bottomLineMode:t}=this.properties,e={fixed:`.${prefix}-tabs__track`,auto:`.${prefix}-tabs__item--active .${prefix}-tabs__item-inner`,full:`.${prefix}-tabs__item--active`};return new Promise((i,s)=>{this.trackWidth?i(this.trackWidth):getRect(this,e[t]||e.fixed).then(t=>{t&&i(t.width)}).catch(s)})},setTrack(){return __awaiter(this,void 0,void 0,function*(){const{children:t}=this;if(!t)return;const{currentIndex:e}=this.data;if(!(e<=-1))try{const t=yield getRect(this,`.${prefix}-tabs__item`,!0),i=t[e];if(!i)return;let s=0,r=0,n=0;if(t.forEach(t=>{sthis.setTrack()));const a=yield this.getTrackSize();"line"===this.data.theme&&(r+=(i.width-a)/2);const h=void 0===this.previousIndex;(h||this.previousIndex!==e)&&(this.previousIndex=e,this.setData({trackOption:{lineWidth:a,distance:r,isInit:h}}))}catch(t){this.triggerEvent("error",t)}})},onTabTap(t){const{index:e}=t.currentTarget.dataset;this.changeIndex(e)},onTouchStart(t){this.properties.swipeable&&this.touchStart(t)},onTouchMove(t){this.properties.swipeable&&this.touchMove(t)},onTouchEnd(){if(!this.properties.swipeable)return;const{direction:t,deltaX:e,offsetX:i}=this;if("horizontal"===t&&i>=50){const t=this.getAvailableTabIndex(e);-1!==t&&this.changeIndex(t)}},onTouchScroll(t){this._trigger("scroll",t.detail)},changeIndex(t){const e=this.data.tabs[t],{value:i,label:s}=e;(null==e?void 0:e.disabled)||t===this.data.currentIndex||this._trigger("change",{value:i,label:s}),this._trigger("click",{value:i,label:s})},getAvailableTabIndex(t){const e=t>0?-1:1,{currentIndex:i,tabs:s}=this.data,r=s.length;for(let t=e;i+e>=0&&i+e=0&&e{t.setId(`${this.data.tabID}_panel_${e}`)})}};Tabs=__decorate([wxComponent()],Tabs);export default Tabs;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.json
new file mode 100644
index 0000000..376444d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-sticky":"../sticky/sticky","t-badge":"../badge/badge","t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxml
new file mode 100644
index 0000000..54fb414
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxml
@@ -0,0 +1 @@
+{{item.label}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxs
new file mode 100644
index 0000000..7a173a1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxs
@@ -0,0 +1,30 @@
+var utils = require('../common/utils.wxs');
+
+function animate(options) {
+ if (options.duration) {
+ return utils._style({
+ 'transition-duration': options.duration + 's',
+ transform: 'translate3d( ' + -100 * options.currentIndex + '%,0, 0)',
+ });
+ }
+ return '';
+}
+
+function trackStyle(options) {
+ if (options.distance || options.lineWidth) {
+ return utils._style({
+ '-webkit-transform': 'translateX(' + options.distance + 'px)',
+ transform: 'translateX(' + options.distance + 'px)',
+ 'transition-duration': options.isInit ? '0' : '0.3s',
+ width: options.lineWidth + 'px',
+ opacity: 1,
+ });
+ }
+
+ return '';
+}
+
+module.exports = {
+ animate: animate,
+ trackStyle: trackStyle,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxss
new file mode 100644
index 0000000..b0211c1
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxss
@@ -0,0 +1,39 @@
+@import '../common/style/index.wxss';.t-tabs{position:relative;font-size:var(--td-tab-font-size,28rpx);background:var(--td-tab-nav-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));flex-wrap:wrap;}
+.t-tabs__wrapper{display:flex;overflow:hidden;background:var(--td-tab-nav-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-tabs__wrapper--card{background:var(--td-tab-item-tag-bg,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));--td-tab-border-color:transparent;}
+.t-tabs__item{position:relative;display:flex;flex:none;align-items:center;justify-content:center;font-weight:400;color:var(--td-tab-item-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));padding:0 var(--td-spacer-2,32rpx);box-sizing:border-box;white-space:nowrap;overflow:hidden;height:var(--td-tab-item-height,96rpx);}
+.t-tabs__item--active{font-weight:600;color:var(--td-tab-item-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-tabs__item--disabled{color:var(--td-tab-item-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-tabs__item--evenly{flex:1 0 auto;}
+.t-tabs__item-inner{display:flex;align-items:center;justify-content:center;}
+.t-tabs__item-inner--tag{width:100%;text-align:center;padding:0 var(--td-spacer-2,32rpx);line-height:var(--td-tab-item-tag-height,64rpx);border-radius:calc(var(--td-tab-item-tag-height,64rpx)/ 2);background-color:var(--td-tab-item-tag-bg,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-tabs__item-inner--active.t-tabs__item-inner--tag{background-color:var(--td-tab-item-tag-active-bg,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-tabs__item--tag:not(.t-tabs__item--evenly){padding:0 calc(var(--td-spacer,16rpx)/ 2);}
+.t-tabs__item--tag:not(.t-tabs__item--evenly):first-child{margin-left:var(--td-spacer,16rpx);}
+.t-tabs__item--tag:not(.t-tabs__item--evenly):last-child{padding-right:var(--td-spacer-1,24rpx);}
+.t-tabs__item--tag{padding:0 var(--td-spacer,16rpx);}
+.t-tabs__item--card.t-tabs__item--active{background-color:var(--td-tab-nav-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));border-radius:var(--td-radius-large,18rpx) var(--td-radius-large,18rpx) 0 0;}
+.t-tabs__item--card.t-tabs__item--active:first-child{border-top-left-radius:0;}
+.t-tabs__item--card.t-tabs__item--active:last-child{border-top-right-radius:0;}
+.t-tabs__item--card.t-tabs__item--pre{border-bottom-right-radius:var(--td-radius-large,18rpx);}
+.t-tabs__item-prefix,.t-tabs__item-suffix{position:absolute;bottom:0;width:18rpx;height:18rpx;background-color:var(--td-tab-nav-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-tabs__item-prefix::after,.t-tabs__item-suffix::after{content:'';display:block;width:100%;height:100%;background-color:var(--td-tab-item-tag-bg,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-tabs__item-prefix{right:0;}
+.t-tabs__item-prefix::after{border-bottom-right-radius:var(--td-radius-large,18rpx);}
+.t-tabs__item-suffix{left:0;}
+.t-tabs__item-suffix::after{border-bottom-left-radius:var(--td-radius-large,18rpx);}
+.t-tabs__badge--active{--td-badge-content-text-color:var(--td-tab-item-active-color, var(--td-brand-color, var(--td-primary-color-7, #0052d9)));}
+.t-tabs__badge--disabled{--td-badge-content-text-color:var(--td-tab-item-disabled-color, var(--td-text-color-disabled, var(--td-font-gray-4, rgba(0, 0, 0, 0.26))));}
+.t-tabs__icon{font-size:var(--td-tab-icon-size,36rpx);margin-right:calc(var(--td-spacer,16rpx)/ 4);}
+.t-tabs__content{overflow:hidden;}
+.t-tabs__nav{position:relative;user-select:none;display:flex;flex-wrap:nowrap;align-items:center;}
+.t-tabs__nav.t-tabs__nav--evenly{width:100%;}
+.t-tabs__track{position:absolute;font-weight:600;z-index:1;opacity:0;background-color:var(--td-tab-track-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));left:0;bottom:1rpx;width:var(--td-tab-track-width,32rpx);height:var(--td-tab-track-thickness,6rpx);border-radius:var(--td-tab-track-radius,8rpx);}
+.t-tabs__scroll{position:relative;height:var(--td-tab-item-height,96rpx);}
+.t-tabs__scroll--split{position:relative;}
+.t-tabs__scroll--split::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-tab-border-color,var(--td-component-stroke,var(--td-gray-color-3,#e7e7e7)));}
+.t-tabs__scroll--split::after{height:1px;left:0;right:0;transform:scaleY(.5);}
+.t-tabs__scroll::-webkit-scrollbar{display:none;}
+.t-tabs__content{width:100%;}
+.t-tabs__content-inner{display:block;}
+.t-tabs__content--animated .t-tabs__content-inner{position:relative;width:100%;height:100%;display:flex;will-change:left;transition-property:transform;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/type.d.ts
new file mode 100644
index 0000000..72440a3
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/type.d.ts
@@ -0,0 +1,51 @@
+import { StickyProps } from '../sticky/index';
+export interface TdTabsProps {
+ animation?: {
+ type: ObjectConstructor;
+ value?: TabAnimation;
+ };
+ bottomLineMode?: {
+ type: StringConstructor;
+ value?: 'fixed' | 'auto' | 'full';
+ };
+ showBottomLine?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ spaceEvenly?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ split?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ sticky?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ stickyProps?: {
+ type: ObjectConstructor;
+ value?: StickyProps;
+ };
+ swipeable?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'line' | 'tag' | 'card';
+ };
+ value?: {
+ type: null;
+ value?: TabValue;
+ };
+ defaultValue?: {
+ type: null;
+ value?: TabValue;
+ };
+}
+export declare type TabAnimation = {
+ duration: number;
+} & Record;
+export declare type TabValue = string | number;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tabs/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/props.d.ts
new file mode 100644
index 0000000..8074655
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/props.d.ts
@@ -0,0 +1,3 @@
+import { TdTagProps } from './type';
+declare const props: TdTagProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/props.js
new file mode 100644
index 0000000..24aa186
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/props.js
@@ -0,0 +1 @@
+const props={closable:{type:null,value:!1},disabled:{type:Boolean,value:!1},icon:{type:null},maxWidth:{type:null},shape:{type:String,value:"square"},size:{type:String,value:"medium"},theme:{type:String,value:"default"},variant:{type:String,value:"dark"}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.d.ts
new file mode 100644
index 0000000..2c86ef0
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.d.ts
@@ -0,0 +1,28 @@
+///
+import { SuperComponent } from '../common/src/index';
+export default class Tag extends SuperComponent {
+ data: {
+ prefix: string;
+ classPrefix: string;
+ className: string;
+ tagStyle: string;
+ };
+ properties: import("./type").TdTagProps;
+ externalClasses: string[];
+ options: WechatMiniprogram.Component.ComponentOptions;
+ lifetimes: {
+ attached(): void;
+ };
+ observers: {
+ 'size, shape, theme, variant, closable, disabled'(): void;
+ maxWidth(): void;
+ icon(v: any): void;
+ closable(v: any): void;
+ };
+ methods: {
+ setClass(): void;
+ setTagStyle(): string;
+ handleClick(e: WechatMiniprogram.BaseEvent): void;
+ handleClose(e: WechatMiniprogram.BaseEvent): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.js
new file mode 100644
index 0000000..086df92
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{wxComponent,SuperComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{classNames,calcIcon}from"../common/utils";import{isNumber}from"../common/validator";const{prefix:prefix}=config,name=`${prefix}-tag`;let Tag=class extends SuperComponent{constructor(){super(...arguments),this.data={prefix:prefix,classPrefix:name,className:"",tagStyle:""},this.properties=props,this.externalClasses=[`${prefix}-class`],this.options={multipleSlots:!0},this.lifetimes={attached(){this.setClass(),this.setTagStyle()}},this.observers={"size, shape, theme, variant, closable, disabled"(){this.setClass()},maxWidth(){this.setTagStyle()},icon(s){this.setData({_icon:calcIcon(s)})},closable(s){this.setData({_closable:calcIcon(s,"close")})}},this.methods={setClass(){const{prefix:s,classPrefix:t}=this.data,{size:e,shape:a,theme:i,variant:o,closable:l,disabled:r}=this.properties,c=classNames([t,`${t}--${i||"default"}`,`${t}--${o}`,l?`${t}--closable ${s}-is-closable`:"",r?`${t}--disabled ${s}-is-disabled`:"",`${t}--${e}`,`${t}--${a}`]);this.setData({className:c})},setTagStyle(){const{maxWidth:s}=this.properties;if(!s)return"";const t=isNumber(s)?`${s}px`:s;this.setData({tagStyle:`max-width:${t};`})},handleClick(s){this.data.disabled||this.triggerEvent("click",s)},handleClose(s){this.data.disabled||this.triggerEvent("close",s)}}}};Tag=__decorate([wxComponent()],Tag);export default Tag;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.json
new file mode 100644
index 0000000..235b52f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":".././icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.wxml
new file mode 100644
index 0000000..c3eb0a7
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.wxss
new file mode 100644
index 0000000..9a3274b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/tag.wxss
@@ -0,0 +1,47 @@
+@import '../common/style/index.wxss';.t-tag{display:inline-flex;align-items:center;border:2rpx solid transparent;box-sizing:border-box;border-radius:var(--td-tag-square-border-radius,8rpx);font-size:var(--td-tag-medium-font-size,var(--td-font-size-s,24rpx));user-select:none;vertical-align:middle;}
+.t-tag__text{word-wrap:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
+.t-tag__icon,.t-tag__icon-close{display:flex;align-items:center;}
+.t-tag__icon-close{color:var(--td-tag-close-icon-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.t-tag__icon:not(:empty)+.t-tag__text:not(:empty),.t-tag__text:not(:empty)+.t-tag__icon-close:not(:empty){margin-left:8rpx;}
+.t-tag.t-tag--small{height:var(--td-tag-small-height,40rpx);line-height:var(--td-tag-small-height,40rpx);padding:0 var(--td-tag-small-padding,11rpx);font-size:var(--td-tag-small-font-size,var(--td-font-size,20rpx));}
+.t-tag.t-tag--small .t-icon,.t-tag.t-tag--small .t-icon-close{font-size:var(--td-tag-small-icon-size,24rpx);}
+.t-tag.t-tag--small .t-tag__icon:not(:empty)+.t-tag__text:not(:empty),.t-tag.t-tag--small .t-tag__text:not(:empty)+.t-tag__icon-close:not(:empty){margin-left:4rpx;}
+.t-tag.t-tag--medium{height:var(--td-tag-medium-height,48rpx);line-height:var(--td-tag-medium-height,48rpx);padding:0 var(--td-tag-medium-padding,15rpx);font-size:var(--td-tag-medium-font-size,var(--td-font-size-s,24rpx));}
+.t-tag.t-tag--medium .t-icon,.t-tag.t-tag--medium .t-icon-close{font-size:var(--td-tag-medium-icon-size,28rpx);}
+.t-tag.t-tag--large{height:var(--td-tag-large-height,56rpx);line-height:var(--td-tag-large-height,56rpx);padding:0 var(--td-tag-large-padding,15rpx);font-size:var(--td-tag-large-font-size,var(--td-font-size-base,28rpx));}
+.t-tag.t-tag--large .t-icon,.t-tag.t-tag--large .t-icon-close{font-size:var(--td-tag-large-icon-size,32rpx);}
+.t-tag.t-tag--extra-large{height:var(--td-tag-extra-large-height,80rpx);line-height:var(--td-tag-extra-large-height,80rpx);padding:0 var(--td-tag-extra-large-padding,31rpx);font-size:var(--td-tag-extra-large-font-size,var(--td-font-size-base,28rpx));}
+.t-tag.t-tag--extra-large .t-icon,.t-tag.t-tag--extra-large .t-icon-close{font-size:var(--td-tag-extra-large-icon-size,32rpx);}
+.t-tag.t-tag--square{border-radius:var(--td-tag-square-border-radius,8rpx);}
+.t-tag.t-tag--round{border-radius:var(--td-tag-round-border-radius,999px);}
+.t-tag.t-tag--mark{border-radius:0;border-top-right-radius:var(--td-tag-mark-border-radius,var(--td-tag-round-border-radius,999px));border-bottom-right-radius:var(--td-tag-mark-border-radius,var(--td-tag-round-border-radius,999px));}
+.t-tag--dark.t-tag--default{color:var(--td-text-color-anti,var(--td-font-white-1,#fff));border-color:var(--td-tag-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));background-color:var(--td-tag-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));}
+.t-tag--dark.t-tag--primary{color:var(--td-text-color-anti,var(--td-font-white-1,#fff));border-color:var(--td-tag-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-tag-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-tag--dark.t-tag--success{color:var(--td-text-color-anti,var(--td-font-white-1,#fff));border-color:var(--td-tag-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));background-color:var(--td-tag-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));}
+.t-tag--dark.t-tag--warning{color:var(--td-text-color-anti,var(--td-font-white-1,#fff));border-color:var(--td-tag-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));background-color:var(--td-tag-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));}
+.t-tag--dark.t-tag--danger{color:var(--td-text-color-anti,var(--td-font-white-1,#fff));border-color:var(--td-tag-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));background-color:var(--td-tag-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
+.t-tag--dark.t-tag--default{color:var(--td-tag-default-font-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-tag--outline.t-tag--default{color:var(--td-tag-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-tag-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));background-color:var(--td-tag-default-light-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-tag--outline.t-tag--primary{color:var(--td-tag-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-color:var(--td-tag-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-tag-primary-light-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-tag--outline.t-tag--success{color:var(--td-tag-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));border-color:var(--td-tag-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));background-color:var(--td-tag-success-light-color,var(--td-success-color-1,#e3f9e9));}
+.t-tag--outline.t-tag--warning{color:var(--td-tag-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));border-color:var(--td-tag-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));background-color:var(--td-tag-warning-light-color,var(--td-warning-color-1,#fff1e9));}
+.t-tag--outline.t-tag--danger{color:var(--td-tag-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));border-color:var(--td-tag-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));background-color:var(--td-tag-danger-light-color,var(--td-error-color-1,#fff0ed));}
+.t-tag--outline.t-tag--default{color:var(--td-tag-default-font-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-tag--outline.t-tag--default{background-color:var(--td-tag-outline-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-tag--outline.t-tag--primary{background-color:var(--td-tag-outline-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-tag--outline.t-tag--success{background-color:var(--td-tag-outline-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-tag--outline.t-tag--warning{background-color:var(--td-tag-outline-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-tag--outline.t-tag--danger{background-color:var(--td-tag-outline-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-tag--light.t-tag--default{color:var(--td-tag-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-tag-default-light-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));background-color:var(--td-tag-default-light-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-tag--light.t-tag--primary{color:var(--td-tag-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-color:var(--td-tag-primary-light-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));background-color:var(--td-tag-primary-light-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-tag--light.t-tag--success{color:var(--td-tag-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));border-color:var(--td-tag-success-light-color,var(--td-success-color-1,#e3f9e9));background-color:var(--td-tag-success-light-color,var(--td-success-color-1,#e3f9e9));}
+.t-tag--light.t-tag--warning{color:var(--td-tag-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));border-color:var(--td-tag-warning-light-color,var(--td-warning-color-1,#fff1e9));background-color:var(--td-tag-warning-light-color,var(--td-warning-color-1,#fff1e9));}
+.t-tag--light.t-tag--danger{color:var(--td-tag-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));border-color:var(--td-tag-danger-light-color,var(--td-error-color-1,#fff0ed));background-color:var(--td-tag-danger-light-color,var(--td-error-color-1,#fff0ed));}
+.t-tag--light.t-tag--default{color:var(--td-tag-default-font-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-tag--light-outline.t-tag--default{color:var(--td-tag-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));border-color:var(--td-tag-default-color,var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7)));background-color:var(--td-tag-default-light-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-tag--light-outline.t-tag--primary{color:var(--td-tag-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));border-color:var(--td-tag-primary-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));background-color:var(--td-tag-primary-light-color,var(--td-brand-color-light,var(--td-primary-color-1,#f2f3ff)));}
+.t-tag--light-outline.t-tag--success{color:var(--td-tag-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));border-color:var(--td-tag-success-color,var(--td-success-color,var(--td-success-color-5,#2ba471)));background-color:var(--td-tag-success-light-color,var(--td-success-color-1,#e3f9e9));}
+.t-tag--light-outline.t-tag--warning{color:var(--td-tag-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));border-color:var(--td-tag-warning-color,var(--td-warning-color,var(--td-warning-color-5,#e37318)));background-color:var(--td-tag-warning-light-color,var(--td-warning-color-1,#fff1e9));}
+.t-tag--light-outline.t-tag--danger{color:var(--td-tag-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));border-color:var(--td-tag-danger-color,var(--td-error-color,var(--td-error-color-6,#d54941)));background-color:var(--td-tag-danger-light-color,var(--td-error-color-1,#fff0ed));}
+.t-tag--light-outline.t-tag--default{color:var(--td-tag-default-font-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));border-color:var(--td-component-border,var(--td-gray-color-4,#dcdcdc));}
+.t-tag.t-tag--closable.t-tag--disabled{cursor:not-allowed;color:var(--td-tag-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));background-color:var(--td-tag-disabled-background-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));border-color:var(--td-tag-disabled-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/type.d.ts
new file mode 100644
index 0000000..d57a7fd
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/type.d.ts
@@ -0,0 +1,34 @@
+export interface TdTagProps {
+ closable?: {
+ type: null;
+ value?: boolean | object;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ icon?: {
+ type: null;
+ value?: string | object;
+ };
+ maxWidth?: {
+ type: null;
+ value?: string | number;
+ };
+ shape?: {
+ type: StringConstructor;
+ value?: 'square' | 'round' | 'mark';
+ };
+ size?: {
+ type: StringConstructor;
+ value?: 'small' | 'medium' | 'large' | 'extra-large';
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'default' | 'primary' | 'warning' | 'danger' | 'success';
+ };
+ variant?: {
+ type: StringConstructor;
+ value?: 'dark' | 'light' | 'outline' | 'light-outline';
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tag/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/props.d.ts
new file mode 100644
index 0000000..83213f6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/props.d.ts
@@ -0,0 +1,3 @@
+import { TdTextareaProps } from './type';
+declare const props: TdTextareaProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/props.js
new file mode 100644
index 0000000..73889f8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/props.js
@@ -0,0 +1 @@
+const props={adjustPosition:{type:Boolean,value:!0},allowInputOverMax:{type:Boolean,value:!1},autofocus:{type:Boolean,value:!1},autosize:{type:null,value:!1},bordered:{type:Boolean,value:!1},confirmHold:{type:Boolean,value:!1},confirmType:{type:String,value:"return"},cursor:{type:Number,value:-1},cursorColor:{type:String,value:"#0052d9"},cursorSpacing:{type:Number,value:0},disableDefaultPadding:{type:Boolean,value:!1},disabled:{type:null,value:void 0},fixed:{type:Boolean,value:!1},focus:{type:Boolean,value:!1},holdKeyboard:{type:Boolean,value:!1},indicator:{type:Boolean,value:!1},label:{type:String},maxcharacter:{type:Number},maxlength:{type:Number,value:-1},placeholder:{type:String,value:void 0},placeholderClass:{type:String,value:"textarea-placeholder"},placeholderStyle:{type:String,value:""},readonly:{type:null,value:void 0},selectionEnd:{type:Number,value:-1},selectionStart:{type:Number,value:-1},showConfirmBar:{type:Boolean,value:!0},value:{type:null,value:null},defaultValue:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.d.ts
new file mode 100644
index 0000000..a3d8ec2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.d.ts
@@ -0,0 +1,34 @@
+import { SuperComponent } from '../common/src/index';
+export default class Textarea extends SuperComponent {
+ options: {
+ multipleSlots: boolean;
+ };
+ behaviors: string[];
+ externalClasses: string[];
+ properties: import("./type").TdTextareaProps;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ count: number;
+ };
+ observers: {
+ value(val: any): void;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ methods: {
+ updateCount(val: any): void;
+ updateValue(val: any): void;
+ calculateValue(value: any, maxcharacter: any, maxlength: any): {
+ value: any;
+ count: number;
+ };
+ onInput(event: any): void;
+ onFocus(event: any): void;
+ onBlur(event: any): void;
+ onConfirm(event: any): void;
+ onLineChange(event: any): void;
+ onKeyboardHeightChange(e: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.js
new file mode 100644
index 0000000..094c0db
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{getCharacterLength}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-textarea`;let Textarea=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.behaviors=["wx://form-field"],this.externalClasses=[`${prefix}-class`,`${prefix}-class-textarea`,`${prefix}-class-label`,`${prefix}-class-indicator`],this.properties=props,this.data={prefix:prefix,classPrefix:name,count:0},this.observers={value(e){this.updateCount(null!=e?e:this.properties.defaultValue)}},this.lifetimes={ready(){var e;const{value:t,defaultValue:a}=this.properties;this.updateValue(null!==(e=null!=t?t:a)&&void 0!==e?e:"")}},this.methods={updateCount(e){const{maxcharacter:t,maxlength:a}=this.properties,{count:r}=this.calculateValue(e,t,a);this.setData({count:r})},updateValue(e){const{maxcharacter:t,maxlength:a}=this.properties,{value:r,count:s}=this.calculateValue(e,t,a);this.setData({value:r,count:s})},calculateValue(e,t,a){const{allowInputOverMax:r}=this.properties;if(t>0&&!Number.isNaN(t)){const{length:a,characters:s}=getCharacterLength("maxcharacter",e,r?1/0:t);return{value:s,count:a}}if(a>0&&!Number.isNaN(a)){const{length:t,characters:s}=getCharacterLength("maxlength",e,r?1/0:a);return{value:s,count:t}}return{value:e,count:e?String(e).length:0}},onInput(e){const{value:t,cursor:a}=e.detail;this.updateValue(t),this.triggerEvent("change",{value:this.data.value,cursor:a})},onFocus(e){this.triggerEvent("focus",Object.assign({},e.detail))},onBlur(e){this.triggerEvent("blur",Object.assign({},e.detail))},onConfirm(e){this.triggerEvent("enter",Object.assign({},e.detail))},onLineChange(e){this.triggerEvent("line-change",Object.assign({},e.detail))},onKeyboardHeightChange(e){this.triggerEvent("keyboardheightchange",e.detail)}}}};Textarea=__decorate([wxComponent()],Textarea);export default Textarea;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxml
new file mode 100644
index 0000000..138c9d4
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxml
@@ -0,0 +1 @@
+{{ label }}{{count}} / {{maxcharacter || maxlength}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxs
new file mode 100644
index 0000000..eae6814
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxs
@@ -0,0 +1,15 @@
+var utils = require('../common/utils.wxs');
+
+function textareaStyle(autosize) {
+ if (autosize && autosize.constructor === 'Object') {
+ return utils._style({
+ 'min-height': utils.addUnit(autosize.minHeight),
+ 'max-height': utils.addUnit(autosize.maxHeight),
+ });
+ }
+ return '';
+}
+
+module.exports = {
+ textareaStyle: textareaStyle,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxss
new file mode 100644
index 0000000..f3d23b2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxss
@@ -0,0 +1,9 @@
+@import '../common/style/index.wxss';.t-textarea{display:flex;flex-direction:column;box-sizing:border-box;padding:var(--td-textarea-padding,32rpx);background-color:var(--td-textarea-background-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-textarea__label:not(:empty){font-size:var(--td-font-size-base,28rpx);color:var(--td-textarea-label-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));flex-shrink:0;line-height:44rpx;padding-bottom:var(--td-spacer,16rpx);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
+.t-textarea__wrapper{display:flex;flex-direction:column;width:100%;flex:1 1 auto;overflow:hidden;}
+.t-textarea__wrapper-inner{flex:1 1 auto;box-sizing:border-box;width:inherit;min-width:0;min-height:20px;margin:0;padding:0;text-align:left;background-color:transparent;border:0;resize:none;font-size:var(--td-font-size-m,32rpx);color:var(--td-textarea-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));line-height:48rpx;}
+.t-textarea__placeholder{color:var(--td-textarea-placeholder-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));font-size:var(--td-font-size-m,32rpx);}
+.t-textarea__indicator:not(:empty){flex-shrink:0;color:var(--td-textarea-indicator-text-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));font-size:var(--td-spacer-1,24rpx);text-align:right;line-height:40rpx;padding-top:var(--td-spacer,16rpx);}
+.t-textarea--border{border-radius:var(--td-textarea-border-radius,var(--td-radius-default,12rpx));position:relative;}
+.t-textarea--border::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;border:2rpx solid var(--td-textarea-border-color,var(--td-component-border,var(--td-gray-color-4,#dcdcdc)));border-radius:inherit;pointer-events:none;}
+.t-textarea .t-is-disabled{color:var(--td-textarea-disabled-text-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/type.d.ts
new file mode 100644
index 0000000..14d7af2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/type.d.ts
@@ -0,0 +1,118 @@
+export interface TdTextareaProps {
+ adjustPosition?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ allowInputOverMax?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ autofocus?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ autosize?: {
+ type: null;
+ value?: boolean | {
+ maxHeight?: number;
+ minHeight?: number;
+ };
+ };
+ bordered?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ confirmHold?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ confirmType?: {
+ type: StringConstructor;
+ value?: 'return' | 'send' | 'search' | 'next' | 'go' | 'done';
+ };
+ cursor?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ cursorColor?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ cursorSpacing?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ disableDefaultPadding?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ fixed?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ focus?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ holdKeyboard?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ indicator?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ label?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ maxcharacter?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ maxlength?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ placeholder?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ placeholderClass?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ placeholderStyle?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ readonly?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ selectionEnd?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ selectionStart?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ showConfirmBar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ value?: {
+ type: null;
+ value?: TextareaValue;
+ };
+ defaultValue?: {
+ type: null;
+ value?: TextareaValue;
+ };
+}
+export declare type TextareaValue = string | number;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/textarea/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/index.d.ts
new file mode 100644
index 0000000..681cfef
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/index.d.ts
@@ -0,0 +1,22 @@
+///
+///
+declare type Context = WechatMiniprogram.Page.TrivialInstance | WechatMiniprogram.Component.TrivialInstance;
+declare type ToastType = 'loading' | 'success' | 'warning' | 'error';
+declare type ToastPositionType = 'top' | 'middle' | 'bottom';
+declare type ToastDirectionType = 'row' | 'column';
+export declare type ToastOptionsType = {
+ context?: Context;
+ selector?: string;
+ icon?: string;
+ message?: string;
+ duration?: number;
+ theme?: ToastType;
+ placement?: ToastPositionType;
+ preventScrollThrough?: boolean;
+ direction?: ToastDirectionType;
+ close?: () => void;
+};
+declare function Toast(options: ToastOptionsType): void;
+declare function showToast(options?: ToastOptionsType): void;
+declare function hideToast(options?: ToastOptionsType): void;
+export { Toast as default, showToast, hideToast };
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/index.js
new file mode 100644
index 0000000..15c4d25
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/index.js
@@ -0,0 +1 @@
+import{__rest}from"tslib";import{getInstance}from"../common/utils";function Toast(t){var o;const{context:s,selector:e="#t-toast"}=t,n=__rest(t,["context","selector"]),a=getInstance(s,e);a&&a.show(Object.assign(Object.assign({},n),{duration:null!==(o=n.duration)&&void 0!==o?o:2e3}))}function showToast(t={}){Toast(t)}function hideToast(t={}){const{context:o,selector:s="#t-toast"}=t,e=getInstance(o,s);e&&e.hide()}export{Toast as default,showToast,hideToast};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/props.d.ts
new file mode 100644
index 0000000..c6b0f86
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/props.d.ts
@@ -0,0 +1,3 @@
+import { TdToastProps } from './type';
+declare const props: TdToastProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/props.js
new file mode 100644
index 0000000..62194a3
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/props.js
@@ -0,0 +1 @@
+const props={direction:{type:String,value:"row"},duration:{type:Number,value:2e3},icon:{type:null},message:{type:String},overlayProps:{type:Object},placement:{type:String,value:"middle"},preventScrollThrough:{type:Boolean,value:!1},showOverlay:{type:Boolean,value:!1},theme:{type:String},usingCustomNavbar:{type:Boolean,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.d.ts
new file mode 100644
index 0000000..ce0f9fc
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.d.ts
@@ -0,0 +1,31 @@
+///
+import { SuperComponent } from '../common/src/index';
+import { ToastOptionsType } from './index';
+declare type Timer = NodeJS.Timeout | null;
+export default class Toast extends SuperComponent {
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ behaviors: string[];
+ hideTimer: Timer;
+ data: {
+ prefix: string;
+ classPrefix: string;
+ typeMapIcon: string;
+ };
+ properties: import("./type").TdToastProps;
+ lifetimes: {
+ detached(): void;
+ };
+ pageLifetimes: {
+ hide(): void;
+ };
+ methods: {
+ show(options: ToastOptionsType): void;
+ hide(): void;
+ destroyed(): void;
+ loop(): void;
+ };
+}
+export {};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.js
new file mode 100644
index 0000000..4393c86
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import transition from"../mixins/transition";import{calcIcon}from"../common/utils";import useCustomNavbar from"../mixins/using-custom-navbar";const{prefix:prefix}=config,name=`${prefix}-toast`;let Toast=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.options={multipleSlots:!0},this.behaviors=[transition(),useCustomNavbar],this.hideTimer=null,this.data={prefix:prefix,classPrefix:name,typeMapIcon:""},this.properties=props,this.lifetimes={detached(){this.destroyed()}},this.pageLifetimes={hide(){this.hide()}},this.methods={show(e){this.hideTimer&&clearTimeout(this.hideTimer);const i={loading:"loading",success:"check-circle",warning:"error-circle",error:"close-circle"}[null==e?void 0:e.theme],t={direction:props.direction.value,duration:props.duration.value,icon:props.icon.value,message:props.message.value,placement:props.placement.value,preventScrollThrough:props.preventScrollThrough.value,theme:props.theme.value},o=Object.assign(Object.assign(Object.assign({},t),e),{visible:!0,isLoading:"loading"===(null==e?void 0:e.theme),_icon:calcIcon(null!=i?i:e.icon)}),{duration:s}=o;this.setData(o),s>0&&(this.hideTimer=setTimeout(()=>{this.hide()},s))},hide(){var e,i;this.data.visible&&(this.setData({visible:!1}),null===(i=null===(e=this.data)||void 0===e?void 0:e.close)||void 0===i||i.call(e),this.triggerEvent("close"))},destroyed(){this.hideTimer&&(clearTimeout(this.hideTimer),this.hideTimer=null),this.triggerEvent("destory")},loop(){}}}};Toast=__decorate([wxComponent()],Toast);export default Toast;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.json
new file mode 100644
index 0000000..a594851
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-loading":"../loading/loading","t-overlay":"../overlay/overlay"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.wxml
new file mode 100644
index 0000000..c1ec2cd
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.wxml
@@ -0,0 +1 @@
+{{message}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.wxss
new file mode 100644
index 0000000..ee78585
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/toast.wxss
@@ -0,0 +1,12 @@
+@import '../common/style/index.wxss';.t-toast{position:fixed;left:50%;transform:translate(-50%,-50%);z-index:12001;opacity:1;transition:opacity .3s ease;background-color:var(--td-toast-bg-color,var(--td-mask-active,rgba(0,0,0,.6)));border-radius:var(--td-toast-radius,var(--td-radius-default,12rpx));font-size:28rpx;color:var(--td-toast-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));max-width:var(--td-toast-max-width,370rpx);min-height:0;width:auto;display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box;}
+.t-toast--column{padding:48rpx;min-width:160rpx;min-height:160rpx;border-radius:16rpx;display:flex;align-items:center;justify-content:center;}
+.t-toast--loading.t-toast--with-text{min-width:204rpx;min-height:204rpx;padding-top:0;padding-bottom:0;}
+.t-toast__content{align-items:center;line-height:44rpx;}
+.t-toast__content--row{display:flex;text-align:left;padding:28rpx 44rpx;}
+.t-toast__content--column{display:flex;flex-direction:column;justify-content:center;align-items:center;}
+.t-toast__icon--row{display:flex;font-size:var(--td-toast-row-icon-size,48rpx);}
+.t-toast__icon--column{font-size:var(--td-toast-column-icon-size,64rpx);}
+.t-toast__text{overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;white-space:pre-line;}
+.t-toast__text--column:not(:empty):not(:only-child){margin-top:16rpx;}
+.t-toast__text--row:not(:empty):not(:only-child){margin-left:16rpx;}
+.t-toast.t-fade-enter,.t-toast.t-fade-leave-to{opacity:0;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/type.d.ts
new file mode 100644
index 0000000..d7fd295
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/type.d.ts
@@ -0,0 +1,43 @@
+import { OverlayProps } from '../overlay/index';
+export interface TdToastProps {
+ direction?: {
+ type: StringConstructor;
+ value?: 'row' | 'column';
+ };
+ duration?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ icon?: {
+ type: null;
+ value?: string | object;
+ };
+ message?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ overlayProps?: {
+ type: ObjectConstructor;
+ value?: OverlayProps;
+ };
+ placement?: {
+ type: StringConstructor;
+ value?: 'top' | 'middle' | 'bottom';
+ };
+ preventScrollThrough?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ showOverlay?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ theme?: {
+ type: StringConstructor;
+ value?: 'loading' | 'success' | 'warning' | 'error';
+ };
+ usingCustomNavbar?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/toast/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/index.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/index.d.ts
new file mode 100644
index 0000000..e5ac999
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/index.d.ts
@@ -0,0 +1,2 @@
+export * from './props';
+export * from './type';
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/index.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/index.js
new file mode 100644
index 0000000..cdff944
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/index.js
@@ -0,0 +1 @@
+export*from"./props";export*from"./type";
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/props.d.ts
new file mode 100644
index 0000000..0343aed
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/props.d.ts
@@ -0,0 +1,3 @@
+import { TdTransitionProps } from './type';
+declare const props: TdTransitionProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/props.js
new file mode 100644
index 0000000..d764748
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/props.js
@@ -0,0 +1 @@
+const props={appear:{type:Boolean,value:!1},destoryOnHide:{type:Boolean,value:!1},durations:{type:null},name:{type:String,value:"t-transition"},visible:{type:Boolean,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.d.ts
new file mode 100644
index 0000000..e487bd5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.d.ts
@@ -0,0 +1,8 @@
+import { SuperComponent } from '../common/src/index';
+export default class Transition extends SuperComponent {
+ externalClasses: string[];
+ behaviors: string[];
+ data: {
+ classPrefix: string;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.js
new file mode 100644
index 0000000..5a12f8b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import transition from"../mixins/transition";import config from"../common/config";const{prefix:prefix}=config,name=`${prefix}-transition`;let Transition=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.behaviors=[transition()],this.data={classPrefix:name}}};Transition=__decorate([wxComponent()],Transition);export default Transition;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.wxml
new file mode 100644
index 0000000..1bba30f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.wxss
new file mode 100644
index 0000000..61be46d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/transition.wxss
@@ -0,0 +1,4 @@
+@import '../common/style/index.wxss';.t-transition-enter{opacity:0;}
+.t-transition-enter-to{opacity:1;transition:opacity 1s;}
+.t-transition-leave{opacity:1;}
+.t-transition-leave-to{opacity:0;transition:opacity 1s;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/type.d.ts
new file mode 100644
index 0000000..998100c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/type.d.ts
@@ -0,0 +1,22 @@
+export interface TdTransitionProps {
+ appear?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ destoryOnHide?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ durations?: {
+ type: null;
+ value?: number | number[];
+ };
+ name?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ visible?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/transition/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/index.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/index.wxs
new file mode 100644
index 0000000..dc28a9d
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/index.wxs
@@ -0,0 +1,7 @@
+var getTreeClass = function (level, total) {
+ if (level === 0) return 'right';
+ if (level === 1 && level !== total - 1) return 'middle';
+ return 'left';
+};
+
+module.exports.getTreeClass = getTreeClass;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/props.d.ts
new file mode 100644
index 0000000..465bea2
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/props.d.ts
@@ -0,0 +1,3 @@
+import { TdTreeSelectProps } from './type';
+declare const props: TdTreeSelectProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/props.js
new file mode 100644
index 0000000..8dd3cb8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/props.js
@@ -0,0 +1 @@
+const props={customValue:{type:null},height:{type:null,value:336},keys:{type:Object},multiple:{type:Boolean,value:!1},options:{type:Array,value:[]},value:{type:null,value:null},defaultValue:{type:null}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.d.ts
new file mode 100644
index 0000000..f45736e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.d.ts
@@ -0,0 +1,31 @@
+import { SuperComponent } from '../common/src/index';
+import type { TreeOptionData } from '../common/common';
+export default class TreeSelect extends SuperComponent {
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ data: {
+ prefix: string;
+ classPrefix: string;
+ scrollIntoView: any;
+ };
+ properties: import("./type").TdTreeSelectProps>;
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ observers: {
+ 'value, customValue, options, keys, multiple'(): void;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ methods: {
+ buildTreeOptions(): void;
+ getScrollIntoView(status: string): void;
+ onRootChange(e: any): void;
+ handleTreeClick(e: any): void;
+ handleChange(e: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.js
new file mode 100644
index 0000000..3d4d2a5
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import{isDef}from"../common/validator";import config from"../common/config";import{getTreeDepth}from"../common/utils";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-tree-select`;let TreeSelect=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-left-column`,`${prefix}-class-left-item`,`${prefix}-class-middle-item`,`${prefix}-class-right-column`,`${prefix}-class-right-item`,`${prefix}-class-right-item-label`],this.options={multipleSlots:!0},this.data={prefix:prefix,classPrefix:name,scrollIntoView:null},this.properties=props,this.controlledProps=[{key:"value",event:"change"}],this.observers={"value, customValue, options, keys, multiple"(){this.buildTreeOptions()}},this.lifetimes={ready(){this.getScrollIntoView("init")}},this.methods={buildTreeOptions(){var e,l;const{options:t,value:i,customValue:o,multiple:n,keys:s}=this.data;if(!t.length)return;const r=[];let a=-1,c={children:t};for(;null==c?void 0:c.children;){a+=1;const t=c.children.map(e=>({label:e[(null==s?void 0:s.label)||"label"],value:e[(null==s?void 0:s.value)||"value"],disabled:e[(null==s?void 0:s.disabled)||"disabled"],children:e[(null==s?void 0:s.children)||"children"]}));r.push(t);const n=null!==(e=null==o?void 0:o[a])&&void 0!==e?e:null==i?void 0:i[a];c=n&&null!==(l=t.find(e=>e.value===n))&&void 0!==l?l:t[0]}const u=getTreeDepth(t,null==s?void 0:s.children);for(;r.length{var t,o,s;const a=l===r.length-1&&n?[null===(t=e[0])||void 0===t?void 0:t.value]:null===(o=e[0])||void 0===o?void 0:o.value;return null!==(s=null==i?void 0:i[l])&&void 0!==s?s:a});this.setData({innerValue:p,leafLevel:d,treeOptions:r})},getScrollIntoView(e){const{value:l,customValue:t,scrollIntoView:i}=this.data;if("init"===e){const e=t||l,i=Array.isArray(e)?e.map(e=>Array.isArray(e)?e[0]:e):[e];this.setData({scrollIntoView:i})}else{if(null===i)return;this.setData({scrollIntoView:null})}},onRootChange(e){const{innerValue:l}=this.data,{value:t}=e.detail;this.getScrollIntoView("none"),l[0]=t,this._trigger("change",{value:l,level:0})},handleTreeClick(e){const{level:l,value:t}=e.currentTarget.dataset,{innerValue:i}=this.data;i[l]=t,this.getScrollIntoView("none"),this._trigger("change",{value:i,level:1})},handleChange(e){const{innerValue:l}=this.data,{level:t,type:i}=e.target.dataset,{value:o}="multiple"===i?e.detail.context:e.detail;if("multiple"===i){isDef(l[t])||(l[t]=[]);const e=l[t].indexOf(o);-1===e?l[t].push(o):l[t].splice(e,1)}else l[t]=o;this.getScrollIntoView("none"),this._trigger("change",{value:l,level:t})}}}};TreeSelect=__decorate([wxComponent()],TreeSelect);export default TreeSelect;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.json
new file mode 100644
index 0000000..3b8f81a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-radio":"../radio/radio","t-radio-group":"../radio-group/radio-group","t-checkbox":"../checkbox/checkbox","t-checkbox-group":"../checkbox-group/checkbox-group","t-side-bar":"../side-bar/side-bar","t-side-bar-item":"../side-bar-item/side-bar-item","t-scroll-view":"../scroll-view/scroll-view"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.wxml
new file mode 100644
index 0000000..61ca34b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.wxml
@@ -0,0 +1 @@
+{{item.label}}{{item.label}}{{item.label}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.wxss
new file mode 100644
index 0000000..190ab08
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/tree-select.wxss
@@ -0,0 +1,9 @@
+@import '../common/style/index.wxss';.t-tree-select{display:flex;background-color:var(--td-tree-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-tree-select__column{width:var(--td-tree-colum-width,206rpx);color:var(--td-tree-colum-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-tree-select__column--left{background:var(--td-tree-root-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));}
+.t-tree-select__column--right{flex:1;}
+.t-tree-select__column::-webkit-scrollbar{display:none;width:0;height:0;color:transparent;}
+.t-tree-select__item{overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;height:var(--td-tree-item-height,112rpx);line-height:var(--td-tree-item-height,112rpx);font-size:var(--td-tree-item-font-size,32rpx);padding-left:32rpx;}
+.t-tree-select__item--active{font-weight:600;color:var(--td-tree-item-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.t-tree-select__item--disabled{pointer-events:none;cursor:not-allowed;color:var(--td-tree-item-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-tree-select-column{width:100%;height:auto;}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/type.d.ts
new file mode 100644
index 0000000..e7718fc
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/type.d.ts
@@ -0,0 +1,32 @@
+import { TreeOptionData, TreeKeysType } from '../common/common';
+export interface TdTreeSelectProps {
+ customValue?: {
+ type: null;
+ value?: TreeSelectValue;
+ };
+ height?: {
+ type: null;
+ value?: string | number;
+ };
+ keys?: {
+ type: ObjectConstructor;
+ value?: TreeKeysType;
+ };
+ multiple?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ options?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ value?: {
+ type: null;
+ value?: TreeSelectValue;
+ };
+ defaultValue?: {
+ type: null;
+ value?: TreeSelectValue;
+ };
+}
+export declare type TreeSelectValue = string | number | Array;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/tree-select/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/drag.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/drag.wxs
new file mode 100644
index 0000000..a136b58
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/drag.wxs
@@ -0,0 +1,238 @@
+var classPrefix = '';
+var startIndex = 0;
+var endIndex = 0;
+var dragCollisionList = [];
+
+var isOutRange = function (x1, y1, x2, y2, x3, y3) {
+ return x1 < 0 || x1 >= y1 || x2 < 0 || x2 >= y2 || x3 < 0 || x3 >= y3;
+};
+
+var sortCore = function (sKey, eKey, st) {
+ var _ = st.dragBaseData;
+
+ var excludeFix = function (cKey, type) {
+ if (st.list[cKey].fixed) {
+ // fixed 元素位置不会变化, 这里直接用 cKey(sortKey) 获取, 更加快捷
+ type ? --cKey : ++cKey;
+ return excludeFix(cKey, type);
+ }
+ return cKey;
+ };
+
+ // 先获取到 endKey 对应的 realKey, 防止下面排序过程中该 realKey 被修改
+ var endRealKey = -1;
+ st.list.forEach(function (item) {
+ if (item.sortKey === eKey) endRealKey = item.realKey;
+ });
+
+ return st.list.map(function (item) {
+ if (item.fixed) return item;
+ var cKey = item.sortKey;
+ var rKey = item.realKey;
+
+ if (sKey < eKey) {
+ // 正序拖动
+ if (cKey > sKey && cKey <= eKey) {
+ --rKey;
+ cKey = excludeFix(--cKey, true);
+ } else if (cKey === sKey) {
+ rKey = endRealKey;
+ cKey = eKey;
+ }
+ } else if (sKey > eKey) {
+ // 倒序拖动
+ if (cKey >= eKey && cKey < sKey) {
+ ++rKey;
+ cKey = excludeFix(++cKey, false);
+ } else if (cKey === sKey) {
+ rKey = endRealKey;
+ cKey = eKey;
+ }
+ }
+
+ if (item.sortKey !== cKey) {
+ item.tranX = (cKey % _.columns) * 100 + '%';
+ item.tranY = Math.floor(cKey / _.columns) * 100 + '%';
+ item.sortKey = cKey;
+ item.realKey = rKey;
+ }
+ return item;
+ });
+};
+
+var triggerCustomEvent = function (list, type, ins) {
+ var _list = [],
+ listData = [];
+
+ list.forEach(function (item) {
+ _list[item.sortKey] = item;
+ });
+
+ _list.forEach(function (item) {
+ if (!item.extraNode) {
+ listData.push(item.data);
+ }
+ });
+
+ ins.triggerEvent(type, { listData: listData });
+};
+
+var longPress = function (event, ownerInstance) {
+ var ins = event.instance;
+ var st = ownerInstance.getState();
+ var _ = st.dragBaseData;
+
+ var sTouch = event.changedTouches[0];
+ if (!sTouch) return;
+
+ st.cur = ins.getDataset().index;
+ longPressIndex = st.cur;
+
+ // 初始项是固定项则返回
+ var item = st.list[st.cur];
+ if (item && item.fixed) return;
+
+ // 如果已经在 drag 中则返回, 防止多指触发 drag 动作, touchstart 事件中有效果
+ if (st.dragging) return;
+ st.dragging = true;
+ ownerInstance.callMethod('dragStatusChange', { dragging: true });
+
+ // 计算X,Y轴初始位移, 使 item 中心移动到点击处, 单列时候X轴初始不做位移
+ st.tranX = _.columns === 1 ? 0 : sTouch.pageX - (_.itemWidth / 2 + _.wrapLeft);
+ st.tranY = sTouch.pageY - (_.itemHeight / 2 + _.wrapTop);
+ st.sId = sTouch.identifier;
+ ins.setStyle({
+ transform: 'translate3d(' + st.tranX + 'px, ' + st.tranY + 'px, 0)',
+ });
+ st.itemsInstance.forEach(function (item, index) {
+ item.removeClass(classPrefix + '__drag--tran').removeClass(classPrefix + '__drag--cur');
+ item.addClass(index === st.cur ? classPrefix + '__drag--cur' : classPrefix + '__drag--tran');
+ });
+ ownerInstance.callMethod('dragVibrate', { vibrateType: 'longPress' });
+};
+
+var touchMove = function (event, ownerInstance) {
+ var ins = event.instance;
+ var st = ownerInstance.getState();
+ var _ = st.dragBaseData;
+
+ var mTouch = event.changedTouches[0];
+ if (!mTouch) return;
+
+ if (!st.dragging) return;
+
+ // 如果不是同一个触发点则返回
+ if (st.sId !== mTouch.identifier) return;
+
+ // 计算X,Y轴位移, 单列时候X轴初始不做位移
+ var tranX = _.columns === 1 ? 0 : mTouch.pageX - (_.itemWidth / 2 + _.wrapLeft);
+ var tranY = mTouch.pageY - (_.itemHeight / 2 + _.wrapTop);
+
+ // 到顶到底自动滑动
+ if (mTouch.clientY > _.windowHeight - _.itemHeight - _.realBottomSize) {
+ // 当前触摸点pageY + item高度 - (屏幕高度 - 底部固定区域高度)
+ ownerInstance.callMethod('pageScroll', {
+ scrollTop: mTouch.pageY + _.itemHeight - (_.windowHeight - _.realBottomSize),
+ });
+ } else if (mTouch.clientY < _.itemHeight + _.realTopSize) {
+ // 当前触摸点pageY - item高度 - 顶部固定区域高度
+ ownerInstance.callMethod('pageScroll', {
+ scrollTop: mTouch.pageY - _.itemHeight - _.realTopSize,
+ });
+ }
+
+ // 设置当前激活元素偏移量
+ ins.setStyle({
+ transform: 'translate3d(' + tranX + 'px, ' + tranY + 'px, 0)',
+ });
+
+ var startKey = st.list[st.cur].sortKey;
+ var curX = Math.round(tranX / _.itemWidth);
+ var curY = Math.round(tranY / _.itemHeight);
+ var endKey = curX + _.columns * curY;
+
+ // 目标项是固定项则返回
+ var item = st.list[endKey];
+ if (item && item.fixed) return;
+
+ // X轴或Y轴超出范围则返回
+ if (isOutRange(curX, _.columns, curY, _.rows, endKey, st.list.length)) return;
+
+ // 防止拖拽过程中发生乱序问题
+ if (startKey === endKey || startKey === st.preStartKey) return;
+ st.preStartKey = startKey;
+
+ dragCollisionList = sortCore(startKey, endKey, st);
+ startIndex = startKey;
+ endIndex = endKey;
+ st.itemsInstance.forEach(function (itemIns, index) {
+ var item = dragCollisionList[index];
+ if (index !== st.cur) {
+ itemIns.setStyle({
+ transform: 'translate3d(' + item.tranX + ',' + item.tranY + ', 0)',
+ });
+ }
+ });
+
+ ownerInstance.callMethod('dragVibrate', { vibrateType: 'touchMove' });
+ ownerInstance.callMethod('dragCollision', {
+ dragCollisionList: dragCollisionList,
+ startIndex: startIndex,
+ endIndex: endIndex,
+ });
+ triggerCustomEvent(dragCollisionList, 'change', ownerInstance);
+};
+
+var touchEnd = function (event, ownerInstance) {
+ var ins = event.instance;
+ var st = ownerInstance.getState();
+
+ if (!st.dragging) return;
+ triggerCustomEvent(st.list, 'sortend', ownerInstance);
+ ins.addClass(classPrefix + '__drag--tran');
+ ins.setStyle({
+ transform: 'translate3d(' + st.list[st.cur].tranX + ',' + st.list[st.cur].tranY + ', 0)',
+ });
+ st.preStartKey = -1;
+ st.dragging = false;
+ ownerInstance.callMethod('dragStatusChange', { dragging: false });
+ ownerInstance.callMethod('dragEnd', {
+ dragCollisionList: dragCollisionList,
+ startIndex: startIndex,
+ endIndex: endIndex,
+ });
+ st.cur = -1;
+ st.tranX = 0;
+ st.tranY = 0;
+};
+
+var baseDataObserver = function (newVal, oldVal, ownerInstance, ins) {
+ var st = ownerInstance.getState();
+ st.dragBaseData = newVal;
+ classPrefix = newVal.classPrefix;
+};
+
+var listObserver = function (newVal, oldVal, ownerInstance, ins) {
+ var st = ownerInstance.getState();
+ st.itemsInstance = ownerInstance.selectAllComponents('.' + classPrefix + '__drag-item');
+ st.list = newVal || [];
+ st.list.forEach(function (item, index) {
+ var itemIns = st.itemsInstance[index];
+ if (item && itemIns) {
+ itemIns.removeClass(classPrefix + '__drag--tran');
+ itemIns.setStyle({
+ transform: 'translate3d(' + item.tranX + ',' + item.tranY + ', 0)',
+ });
+ if (item.fixed) itemIns.addClass(classPrefix + '__drag--fixed');
+ }
+ });
+ dragCollisionList = [];
+};
+
+module.exports = {
+ longPress: longPress,
+ touchMove: touchMove,
+ touchEnd: touchEnd,
+ baseDataObserver: baseDataObserver,
+ listObserver: listObserver,
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/props.d.ts
new file mode 100644
index 0000000..2f7371c
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/props.d.ts
@@ -0,0 +1,3 @@
+import { TdUploadProps } from './type';
+declare const props: TdUploadProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/props.js
new file mode 100644
index 0000000..074990e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/props.js
@@ -0,0 +1 @@
+const props={addBtn:{type:Boolean,value:!0},addContent:{type:String},allowUploadDuplicateFile:{type:Boolean,value:!1},config:{type:Object},disabled:{type:null,value:void 0},draggable:{type:null},files:{type:Array,value:null},defaultFiles:{type:Array},gridConfig:{type:Object},gutter:{type:Number,value:16},imageProps:{type:Object},max:{type:Number,value:0},mediaType:{type:Array,value:["image","video"]},preview:{type:Boolean,value:!0},removeBtn:{type:Boolean,value:!0},requestMethod:{type:null},sizeLimit:{type:null},source:{type:String,value:"media"},transition:{type:Object,value:{backTransition:!0,duration:300,timingFunction:"ease"}}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/type.d.ts
new file mode 100644
index 0000000..9cf6558
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/type.d.ts
@@ -0,0 +1,121 @@
+import { ImageProps } from '../image/index';
+export interface TdUploadProps {
+ addBtn?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ addContent?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ allowUploadDuplicateFile?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ config?: {
+ type: ObjectConstructor;
+ value?: UploadMpConfig;
+ };
+ disabled?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ draggable?: {
+ type: null;
+ value?: boolean | {
+ vibrate?: boolean;
+ collisionVibrate?: boolean;
+ };
+ };
+ files?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ defaultFiles?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ gridConfig?: {
+ type: ObjectConstructor;
+ value?: {
+ column?: number;
+ width?: number;
+ height?: number;
+ };
+ };
+ gutter?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ imageProps?: {
+ type: ObjectConstructor;
+ value?: ImageProps;
+ };
+ max?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ mediaType?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ preview?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ removeBtn?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ requestMethod?: {
+ type: undefined;
+ value?: null;
+ };
+ sizeLimit?: {
+ type: null;
+ value?: number | SizeLimitObj;
+ };
+ source?: {
+ type: StringConstructor;
+ value?: 'media' | 'messageFile';
+ };
+ transition?: {
+ type: ObjectConstructor;
+ value?: Transition;
+ };
+}
+export declare type UploadMpConfig = ImageConfig | VideoConfig;
+export interface ImageConfig {
+ count?: number;
+ sizeType?: Array;
+ sourceType?: Array;
+}
+export declare type SizeTypeValues = 'original' | 'compressed';
+export declare type SourceTypeValues = 'album' | 'camera';
+export interface VideoConfig {
+ sourceType?: Array;
+ compressed?: boolean;
+ maxDuration?: number;
+ camera?: 'back' | 'front';
+}
+export interface UploadFile {
+ url: string;
+ name?: string;
+ size?: number;
+ type?: 'image' | 'video';
+ percent?: number;
+ status: 'loading' | 'reload' | 'failed' | 'done';
+}
+export declare type MediaType = 'image' | 'video';
+export interface SizeLimitObj {
+ size: number;
+ unit: SizeUnit;
+ message?: string;
+}
+export declare type SizeUnitArray = ['B', 'KB', 'MB', 'GB'];
+export declare type SizeUnit = SizeUnitArray[number];
+export interface Transition {
+ backTransition?: boolean;
+ duration?: number;
+ timingFunction?: string;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload-info.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload-info.json
new file mode 100644
index 0000000..a19ec9e
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload-info.json
@@ -0,0 +1 @@
+{"key":"Upload","label":"上传","icon":"","properties":[{"key":"addContent","type":["String","TNode"],"defaultValue":"","desc":"添加按钮内容。值为空,使用默认图标渲染;值为 slot 则表示使用插槽渲染;其他值无效。","label":""},{"key":"config","type":["Object"],"defaultValue":"","desc":"图片上传配置,视频上传配置,文件上传配置等,包含图片尺寸、图片来源、视频来源、视频拍摄最长时间等。更多细节查看小程序官网。[图片上传](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseImage.html)。[视频上传](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseVideo.html)","label":""},{"key":"deleteBtn","type":["String","TNode"],"defaultValue":"","desc":"删除图标。值为空,使用默认图标渲染;值为 slot 则表示使用插槽渲染;其他值无效。","label":""},{"key":"fileListDisplay","type":["TNode"],"defaultValue":"","desc":"【开发中】用于完全自定义文件列表内容","label":""},{"key":"files","type":["Array"],"defaultValue":"","desc":"已上传文件列表","label":""},{"key":"gridConfig","type":["Object"],"defaultValue":"","desc":"upload组件每行上传图片列数以及图片的宽度和高度","label":""},{"key":"gutter","type":["Number"],"defaultValue":"16","desc":"预览窗格的 gutter 大小,单位 rpx","label":""},{"key":"imageProps","type":["Object"],"defaultValue":"","desc":"透传 Image 组件全部属性","label":""},{"key":"max","type":["Number"],"defaultValue":"0","desc":"用于控制文件上传数量,值为 0 则不限制","label":""},{"key":"mediaType","type":["Array"],"defaultValue":"['image', 'video']","desc":"支持上传的文件类型,图片或视频","label":""},{"key":"requestMethod","type":["Function"],"defaultValue":"","desc":"自定义上传方法","label":""},{"key":"sizeLimit","type":["Number","Object"],"defaultValue":"","desc":"图片文件大小限制,单位 KB。可选单位有:`'B' | 'KB' | 'MB' | 'GB'`。示例一:`1000`。示例二:`{ size: 2, unit: 'MB', message: '图片大小不超过 {sizeLimit} MB' }`","label":""}],"events":[{"key":"add","desc":"上传成功后触发,仅包含本次选择的照片;`context.url` 表示选定视频的临时文件路径 (本地路径)。`context.duration` 表示选定视频的时间长度。`context.size`选定视频的数据量大小。更多描述参考 wx.chooseMedia 小程序官网描述","label":""},{"key":"complete","desc":"上传成功或失败后触发","label":""},{"key":"fail","desc":"上传失败后触发","label":""},{"key":"remove","desc":"移除文件时触发","label":""},{"key":"selectChange","desc":"选择文件或图片之后,上传之前,触发该事件。
`params.value` 表示之前已经上传完成的文件列表。
`params.currentSelectedFiles` 表示本次上传选中的文件列表","label":""},{"key":"success","desc":"上传成功后触发,包含所有上传的文件;`context.url` 表示选定视频的临时文件路径 (本地路径)。`context.duration` 表示选定视频的时间长度。`context.size`选定视频的数据量大小。更多描述参考 wx.chooseMedia 小程序官网描述","label":""}]}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.d.ts
new file mode 100644
index 0000000..8efaebf
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.d.ts
@@ -0,0 +1,65 @@
+///
+import { SuperComponent } from '../common/src/index';
+import { UploadFile } from './type';
+export default class Upload extends SuperComponent {
+ externalClasses: string[];
+ options: {
+ multipleSlots: boolean;
+ };
+ data: {
+ classPrefix: string;
+ prefix: string;
+ current: boolean;
+ proofs: any[];
+ customFiles: UploadFile[];
+ customLimit: number;
+ column: number;
+ dragBaseData: {};
+ rows: number;
+ dragWrapStyle: string;
+ dragList: any[];
+ dragging: boolean;
+ dragLayout: boolean;
+ };
+ properties: import("./type").TdUploadProps;
+ controlledProps: {
+ key: string;
+ event: string;
+ }[];
+ observers: {
+ 'files, max, draggable'(files: UploadFile, max: number): void;
+ gridConfig(): void;
+ };
+ lifetimes: {
+ ready(): void;
+ };
+ handleLimit(customFiles: UploadFile[], max: number): void;
+ triggerSuccessEvent(files: any): void;
+ triggerFailEvent(err: any): void;
+ onFileClick(e: WechatMiniprogram.BaseEvent): void;
+ getFileType(mediaType: string[], tempFilePath: string, fileType?: string): string;
+ getRandFileName(filePath: any): string;
+ onDelete(e: any): void;
+ deleteHandle(index: number): void;
+ updateGrid(): void;
+ resetDragLayout(): void;
+ initDragLayout(): void;
+ initDragList(): void;
+ initDragBaseData(): void;
+ methods: {
+ getPreviewMediaSources(): WechatMiniprogram.MediaSource[];
+ onPreview(e: WechatMiniprogram.BaseEvent): void;
+ onPreviewImage(e: WechatMiniprogram.BaseEvent): void;
+ onPreviewMedia(e: WechatMiniprogram.BaseEvent): void;
+ uploadFiles(files: UploadFile[]): Promise;
+ startUpload(files: UploadFile[]): any;
+ onAddTap(): void;
+ chooseMedia(mediaType: any): void;
+ chooseMessageFile(mediaType: any): void;
+ afterSelect(files: any): void;
+ dragVibrate(e: any): void;
+ dragStatusChange(e: any): void;
+ dragEnd(e: any): void;
+ triggerDropEvent(files: any): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.js
new file mode 100644
index 0000000..61bc135
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.js
@@ -0,0 +1 @@
+import{__decorate,__rest}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import props from"./props";import config from"../common/config";import{isOverSize}from"../common/utils";import{isObject}from"../common/validator";const{prefix:prefix}=config,name=`${prefix}-upload`;let Upload=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.options={multipleSlots:!0},this.data={classPrefix:name,prefix:prefix,current:!1,proofs:[],customFiles:[],customLimit:0,column:4,dragBaseData:{},rows:0,dragWrapStyle:"",dragList:[],dragging:!0,dragLayout:!1},this.properties=props,this.controlledProps=[{key:"files",event:"success"}],this.observers={"files, max, draggable"(t,e){this.handleLimit(t,e)},gridConfig(){this.updateGrid()}},this.lifetimes={ready(){this.handleLimit(this.data.customFiles,this.data.max),this.updateGrid()}},this.methods={getPreviewMediaSources(){const t=[];return this.data.customFiles.forEach(e=>{const i={url:e.url,type:e.type,poster:e.thumb||void 0};t.push(i)}),t},onPreview(t){this.onFileClick(t);const{preview:e}=this.properties;if(!e)return;this.data.customFiles.some(t=>"video"===t.type)?this.onPreviewMedia(t):this.onPreviewImage(t)},onPreviewImage(t){var e;const{index:i}=t.currentTarget.dataset,s=this.data.customFiles.filter(t=>-1!==t.percent).map(t=>t.url),r=null===(e=this.data.customFiles[i])||void 0===e?void 0:e.url;wx.previewImage({urls:s,current:r,fail(){wx.showToast({title:"预览图片失败",icon:"none"})}})},onPreviewMedia(t){const{index:e}=t.currentTarget.dataset,i=this.getPreviewMediaSources();wx.previewMedia({sources:i,current:e,fail(){wx.showToast({title:"预览视频失败",icon:"none"})}})},uploadFiles(t){return new Promise(e=>{const i=this.data.requestMethod(t);if(i instanceof Promise)return i;e({})})},startUpload(t){return"function"==typeof this.data.requestMethod?this.uploadFiles(t).then(()=>{t.forEach(t=>{t.percent=100}),this.triggerSuccessEvent(t)}).catch(t=>{this.triggerFailEvent(t)}):(this.triggerSuccessEvent(t),this.handleLimit(this.data.customFiles,this.data.max),Promise.resolve())},onAddTap(){const{disabled:t,mediaType:e,source:i}=this.properties;t||("media"===i?this.chooseMedia(e):this.chooseMessageFile(e))},chooseMedia(t){const{customLimit:e}=this.data,{config:i,sizeLimit:s}=this.properties;wx.chooseMedia(Object.assign(Object.assign({count:Math.min(20,e),mediaType:t},i),{success:e=>{const i=[];e.tempFiles.forEach(e=>{const{size:r,fileType:a,tempFilePath:o,width:n,height:l,duration:c,thumbTempFilePath:h}=e,d=__rest(e,["size","fileType","tempFilePath","width","height","duration","thumbTempFilePath"]);if(isOverSize(r,s)){let t=("image"===a?"图片":"视频")+"大小超过限制";return"number"!=typeof s&&(t=s.message.replace("{sizeLimit}",null==s?void 0:s.size)),void wx.showToast({icon:"none",title:t})}const g=this.getRandFileName(o);i.push(Object.assign({name:g,type:this.getFileType(t,o,a),url:o,size:r,width:n,height:l,duration:c,thumb:h,percent:0},d))}),this.afterSelect(i)},fail:t=>{this.triggerFailEvent(t)},complete:t=>{this.triggerEvent("complete",t)}}))},chooseMessageFile(t){const{customLimit:e}=this.data,{config:i,sizeLimit:s}=this.properties;wx.chooseMessageFile(Object.assign(Object.assign({count:Math.min(100,e),type:Array.isArray(t)?"all":t},i),{success:e=>{const i=[];e.tempFiles.forEach(e=>{const{size:r,type:a,path:o}=e,n=__rest(e,["size","type","path"]);if(isOverSize(r,s)){let t=("image"===a?"图片":"视频")+"大小超过限制";return"number"!=typeof s&&(t=s.message.replace("{sizeLimit}",null==s?void 0:s.size)),void wx.showToast({icon:"none",title:t})}const l=this.getRandFileName(o);i.push(Object.assign({name:l,type:this.getFileType(t,o,a),url:o,size:r,percent:0},n))}),this.afterSelect(i)},fail:t=>this.triggerFailEvent(t),complete:t=>this.triggerEvent("complete",t)}))},afterSelect(t){this._trigger("select-change",{files:[...this.data.customFiles],currentSelectedFiles:[t]}),this._trigger("add",{files:t}),this.startUpload(t)},dragVibrate(t){var e;const{vibrateType:i}=t,{draggable:s}=this.data,r=null===(e=null==s?void 0:s.vibrate)||void 0===e||e,a=null==s?void 0:s.collisionVibrate;(r&&"longPress"===i||a&&"touchMove"===i)&&wx.vibrateShort({type:"light"})},dragStatusChange(t){const{dragging:e}=t;this.setData({dragging:e})},dragEnd(t){const{dragCollisionList:e}=t;let i=[];i=0===e.length?this.data.customFiles:e.reduce((t,e)=>{const{realKey:i,data:s,fixed:r}=e;return r||(t[i]=Object.assign({},s)),t},[]),this.triggerDropEvent(i)},triggerDropEvent(t){const{transition:e}=this.properties;if(e.backTransition){const i=setTimeout(()=>{this.triggerEvent("drop",{files:t}),clearTimeout(i)},e.duration)}else this.triggerEvent("drop",{files:t})}}}handleLimit(t,e){0===e&&(e=Number.MAX_SAFE_INTEGER),this.setData({customFiles:t.length>e?t.slice(0,e):t,customLimit:e-t.length,dragging:!0}),this.initDragLayout()}triggerSuccessEvent(t){this._trigger("success",{files:[...this.data.customFiles,...t]})}triggerFailEvent(t){this.triggerEvent("fail",t)}onFileClick(t){const{file:e,index:i}=t.currentTarget.dataset;this.triggerEvent("click",{index:i,file:e})}getFileType(t,e,i){if(i)return i;if(1===t.length)return t[0];const s=e.split("."),r=s[s.length-1];return["avi","wmv","mkv","mp4","mov","rm","3gp","flv","mpg","rmvb"].includes(r.toLocaleLowerCase())?"video":"image"}getRandFileName(t){const e=t.lastIndexOf("."),i=-1===e?"":t.substr(e);return parseInt(`${Date.now()}${Math.floor(900*Math.random()+100)}`,10).toString(36)+i}onDelete(t){const{index:e}=t.currentTarget.dataset;this.deleteHandle(e)}deleteHandle(t){const{customFiles:e}=this.data,i=e[t];this.triggerEvent("remove",{index:t,file:i})}updateGrid(){let{gridConfig:t={}}=this.properties;isObject(t)||(t={});const{column:e=4,width:i=160,height:s=160}=t;this.setData({gridItemStyle:`width:${i}rpx;height:${s}rpx`,column:e})}resetDragLayout(){this.setData({dragBaseData:{},dragWrapStyle:"",dragLayout:!1})}initDragLayout(){const{draggable:t,disabled:e}=this.properties,{customFiles:i}=this.data;t&&!e&&0!==i.length?(this.initDragList(),this.initDragBaseData()):this.resetDragLayout()}initDragList(){let t=0;const{column:e,customFiles:i,customLimit:s}=this.data,r=[];if(i.forEach((i,s)=>{r.push({realKey:t,sortKey:s,tranX:s%e*100+"%",tranY:100*Math.floor(s/e)+"%",data:Object.assign({},i)}),t+=1}),s>0){const t=r.length;r.push({realKey:t,sortKey:t,tranX:t%e*100+"%",tranY:100*Math.floor(t/e)+"%",fixed:!0})}this.data.rows=Math.ceil(r.length/e),this.setData({dragList:r})}initDragBaseData(){const{classPrefix:t,rows:e,column:i}=this.data,s=this.createSelectorQuery(),r=`.${t} >>> .t-grid-item`,a=`.${t} >>> .t-grid`;s.select(r).boundingClientRect(),s.select(a).boundingClientRect(),s.selectViewport().scrollOffset(),s.exec(s=>{const[{width:r,height:a},{left:o,top:n},{scrollTop:l}]=s,c={rows:e,classPrefix:t,itemWidth:r,itemHeight:a,wrapLeft:o,wrapTop:n+l,columns:i},h=`height: ${e*a}px`;this.setData({dragBaseData:c,dragWrapStyle:h,dragLayout:!0},()=>{const t=setTimeout(()=>{this.setData({dragging:!1}),clearTimeout(t)},0)})})}};Upload=__decorate([wxComponent()],Upload);export default Upload;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.json
new file mode 100644
index 0000000..e7b83d8
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-grid":"../grid/grid","t-grid-item":"../grid-item/grid-item","t-icon":"../icon/icon","t-image":"../image/image"}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.wxml
new file mode 100644
index 0000000..74e4db3
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.wxml
@@ -0,0 +1 @@
+{{file.percent ? file.percent + '%' : '上传中...'}}{{file.status == 'reload' ? '重新上传' : '上传失败'}}{{addContent}}{{file.percent ? file.percent + '%' : '上传中...'}}{{file.status == 'reload' ? '重新上传' : '上传失败'}}{{addContent}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.wxs b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.wxs
new file mode 100644
index 0000000..03b321f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.wxs
@@ -0,0 +1,15 @@
+module.exports.getWrapperAriaRole = function (file) {
+ return file.status && file.status != 'done' ? 'text' : 'button';
+};
+
+module.exports.getWrapperAriaLabel = function (file) {
+ if (file.status && file.status != 'done') {
+ if (file.status == 'loading') {
+ return file.percent ? '上传中:' + file.percent + '%' : '上传中';
+ } else {
+ return file.status == 'reload' ? '重新上传' : '上传失败';
+ }
+ } else {
+ return file.type === 'video' ? '视频' : '图像';
+ }
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.wxss
new file mode 100644
index 0000000..aa8e4db
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/upload/upload.wxss
@@ -0,0 +1,21 @@
+@import '../common/style/index.wxss';.t-upload{position:relative;}
+.t-upload__grid-content{padding:0;}
+.t-upload__grid-file{position:relative;}
+.t-upload__add-icon{width:100%;height:100%;display:none;align-items:center;justify-content:center;font-size:var(--td-upload-add-icon-font-size,56rpx);background-color:var(--td-upload-add-bg-color,var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3)));color:var(--td-upload-add-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));border-radius:var(--td-upload-radius,var(--td-radius-default,12rpx));}
+.t-upload__add-icon--disabled{background-color:var(--td-upload-add-disabled-bg-color,var(--td-bg-color-component-disabled,var(--td-gray-color-2,#eee)));color:var(--td-upload-add-icon-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-upload__add-icon:only-child{display:flex;}
+.t-upload__thumbnail{width:100%;height:100%;max-height:100%;overflow:hidden;}
+.t-upload__wrapper{position:relative;border-radius:var(--td-upload-radius,var(--td-radius-default,12rpx));overflow:hidden;}
+.t-upload__wrapper--disabled::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--td-upload-disabled-mask,rgba(0,.6));z-index:1;}
+.t-upload__close-btn{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:40rpx;height:40rpx;border-top-right-radius:var(--td-upload-radius,var(--td-radius-default,12rpx));border-bottom-left-radius:var(--td-upload-radius,var(--td-radius-default,12rpx));background-color:var(--td-font-gray-3,rgba(0,0,0,.4));}
+.t-upload__progress-mask{position:absolute;left:0;top:0;width:100%;height:100%;background-color:var(--td-font-gray-2,rgba(0,0,0,.6));display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--td-upload-radius,var(--td-radius-default,12rpx));color:var(--td-text-color-anti,var(--td-font-white-1,#fff));padding:32rpx 0;box-sizing:border-box;}
+.t-upload__progress-text{font-size:24rpx;line-height:40rpx;margin-top:8rpx;}
+.t-upload__progress-loading{animation:spin infinite linear .6s;}
+.t-upload__drag{position:relative;width:100%;--td-grid-item-bg-color:transparent;}
+.t-upload__drag-item{position:absolute;z-index:1;top:0;left:0;height:auto;width:100%;}
+.t-upload__drag--fixed{z-index:0;}
+.t-upload__drag--tran{transition-property:transform;transition-duration:var(--td-upload-drag-transition-duration);transition-timing-function:var(--td-upload-drag-transition-timing-function);}
+.t-upload__drag--cur{z-index:var(--td-upload-drag-z-index,999);}
+@keyframes spin{
+0%{transform:rotate(0);}
+100%{transform:rotate(360deg);}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/props.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/props.d.ts
new file mode 100644
index 0000000..f94e201
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/props.d.ts
@@ -0,0 +1,3 @@
+import { TdWatermarkProps } from './type';
+declare const props: TdWatermarkProps;
+export default props;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/props.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/props.js
new file mode 100644
index 0000000..4b9bb86
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/props.js
@@ -0,0 +1 @@
+const props={alpha:{type:Number,value:1},content:{type:String},height:{type:Number},isRepeat:{type:Boolean,value:!0},layout:{type:String,value:"rectangular"},lineSpace:{type:Number,value:16},movable:{type:Boolean,value:!1},moveInterval:{type:Number,value:3e3},offset:{type:Array},removable:{type:Boolean,value:!0},rotate:{type:Number,value:-22},watermarkContent:{type:null},width:{type:Number},x:{type:Number},y:{type:Number},zIndex:{type:Number}};export default props;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/type.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/type.d.ts
new file mode 100644
index 0000000..47b177f
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/type.d.ts
@@ -0,0 +1,77 @@
+export interface TdWatermarkProps {
+ alpha?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ height?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ isRepeat?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ layout?: {
+ type: StringConstructor;
+ value?: 'rectangular' | 'hexagonal';
+ };
+ lineSpace?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ movable?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ moveInterval?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ offset?: {
+ type: ArrayConstructor;
+ value?: Array;
+ };
+ removable?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+ rotate?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ watermarkContent?: {
+ type: null;
+ value?: WatermarkText | WatermarkImage | Array;
+ };
+ width?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ x?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ y?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+ zIndex?: {
+ type: NumberConstructor;
+ value?: number;
+ };
+}
+export interface WatermarkText {
+ fontColor?: string;
+ fontFamily?: string;
+ fontSize?: number;
+ fontWeight?: 'normal' | 'lighter' | 'bold' | 'bolder';
+ text?: string;
+}
+export interface WatermarkImage {
+ isGrayscale?: boolean;
+ url?: string;
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/type.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/generateBase64Url.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/generateBase64Url.d.ts
new file mode 100644
index 0000000..314996a
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/generateBase64Url.d.ts
@@ -0,0 +1,14 @@
+export default function generateBase64Url(canvas: any, { width, height, gapX, gapY, offsetLeft, offsetTop, rotate, alpha, watermarkContent, lineSpace, watermarkColor, layout, }: {
+ width: any;
+ height: any;
+ gapX: any;
+ gapY: any;
+ offsetLeft: any;
+ offsetTop: any;
+ rotate: any;
+ alpha: any;
+ watermarkContent: any;
+ lineSpace: any;
+ watermarkColor: any;
+ layout: any;
+}, onFinish: any): void;
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/generateBase64Url.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/generateBase64Url.js
new file mode 100644
index 0000000..4b90636
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/generateBase64Url.js
@@ -0,0 +1 @@
+import{systemInfo}from"../../common/utils";export default function generateBase64Url(t,{width:a,height:e,gapX:o,gapY:l,offsetLeft:r,offsetTop:n,rotate:s,alpha:i,watermarkContent:c,lineSpace:f,watermarkColor:h,layout:g},m){const d="hexagonal"===g,p=t.getContext("2d");if(!p)return console.warn("当前环境不支持Canvas, 无法绘制水印"),void m("");const u=systemInfo.pixelRatio||1;let v={width:o+a};const x=(o+a)*u,w=(l+e)*u,y=a*u,I=e*u,C=x,A=w,D=(o+a)*u,R=(l+e)*u;t.width=x,t.height=w,d&&(t.width=2*x,t.height=2*w,v={width:o+2*a+a/2}),p.translate(r*u,n*u),p.globalAlpha=i,p.fillStyle="transparent",p.fillRect(0,0,y,I);const S=(t,a,e,o)=>{t.translate(a,e),t.rotate(Math.PI/180*Number(o)),t.translate(-a,-e)},$=Array.isArray(c)?c:[Object.assign({},c)];let b=0,E=0,L=0;$.forEach(t=>{t.top=b,t.url?(b+=e,L+=d?2:1):t.text&&(b+=f)});const U=(o,l=0,r=0,n=0,i=0)=>{var c,f;if(o.url){const{url:c,isGrayscale:f=!1}=o,h=t.createImage();h.crossOrigin="anonymous",h.referrerPolicy="no-referrer",h.src=c,h.onload=()=>{var c,g;if(null===(c=p.save)||void 0===c||c.call(p),S(p,n,i,s),f){p.drawImage(h,l,r+o.top*u,a*u,e*u);const t=p.getImageData(0,0,p.canvas.width,p.canvas.height),n=t.data;for(let t=0;t{t.font=`normal normal ${r} ${n*u}px/${o}px ${s}`,t.fillStyle=i,t.textAlign="start",t.textBaseline="top",t.fillText(l,a,e)})(p,l,r+o.top*u,I,t,g,a,e,m),null===(f=p.restore)||void 0===f||f.call(p)}};$.forEach(t=>{U(t,0,0,0,0)}),d&&$.forEach(t=>{U(t,D,R,C,A)}),0===L&&m(t.toDataURL(),v)}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/randomMovingStyle.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/randomMovingStyle.d.ts
new file mode 100644
index 0000000..0412971
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/randomMovingStyle.d.ts
@@ -0,0 +1,10 @@
+export default function randomMovingStyle(): {
+ left0: string;
+ left25: string;
+ left50: string;
+ left75: string;
+ top0: string;
+ top25: string;
+ top50: string;
+ top75: string;
+};
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/randomMovingStyle.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/randomMovingStyle.js
new file mode 100644
index 0000000..f483fee
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/utils/randomMovingStyle.js
@@ -0,0 +1 @@
+export default function randomMovingStyle(){const t=Math.floor(4*Math.random()),o=Math.floor(70*Math.random())+30;return{left0:`${1===t?90:3===t?0:o}%`,left25:`${0===t?90:2===t?0:100-o}%`,left50:`${1===t?0:3===t?90:100-o}%`,left75:`${0===t?0:2===t?90:o}%`,top0:`${0===t?0:2===t?95:o}%`,top25:`${1===t?95:3===t?0:o}%`,top50:`${0===t?95:2===t?0:100-o}%`,top75:`${1===t?0:3===t?95:100-o}%`}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.d.ts b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.d.ts
new file mode 100644
index 0000000..18ce4b6
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.d.ts
@@ -0,0 +1,19 @@
+import { SuperComponent } from '../common/src/index';
+export default class Watermark extends SuperComponent {
+ externalClasses: string[];
+ properties: import("./type").TdWatermarkProps;
+ data: {
+ classPrefix: string;
+ watermarkStyle: {};
+ };
+ lifetimes: {
+ attached(): void;
+ };
+ observers: {
+ 'watermarkContent, movable, rotate, x, y, width, height, alpha, lineSpace, moveInterval, zIndex, rotate, offset, removable, isRepeat, layout'(): void;
+ };
+ methods: {
+ watermarkColor(): "rgba(238, 238, 238, 0.1)" | "rgba(0, 0, 0, 0.1)";
+ renderWatermark(): void;
+ };
+}
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.js b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.js
new file mode 100644
index 0000000..96fb8bd
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.js
@@ -0,0 +1 @@
+import{__awaiter,__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import generateBase64Url from"./utils/generateBase64Url";import randomMovingStyle from"./utils/randomMovingStyle";import{appBaseInfo}from"../common/utils";const{prefix:prefix}=config,name=`${prefix}-watermark`;let Watermark=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.properties=props,this.data={classPrefix:name,watermarkStyle:{}},this.lifetimes={attached(){this.renderWatermark()}},this.observers={"watermarkContent, movable, rotate, x, y, width, height, alpha, lineSpace, moveInterval, zIndex, rotate, offset, removable, isRepeat, layout"(){this.renderWatermark()}},this.methods={watermarkColor:()=>"dark"===appBaseInfo.theme?"rgba(238, 238, 238, 0.1)":"rgba(0, 0, 0, 0.1)",renderWatermark(){wx.createSelectorQuery().in(this).select("#watermarkCanvas").fields({node:!0,size:!0}).exec(e=>__awaiter(this,void 0,void 0,function*(){var t;if(!(null===(t=e[0])||void 0===t?void 0:t.node))return void console.error("Canvas node not found");const r=e[0].node,a=this.properties,o=a.movable?0:a.x,n=a.movable?0:a.y,i=a.offset||[],m=i[0]||o/2,s=i[1]||n/2,l={width:a.width,height:a.height,rotate:a.movable?0:a.rotate,lineSpace:a.lineSpace,alpha:a.alpha,gapX:o,gapY:n,watermarkContent:a.watermarkContent,offsetLeft:m,offsetTop:s,watermarkColor:this.watermarkColor(),layout:a.layout};generateBase64Url(r,l,(e,t)=>{let r={};if(a.movable){const{left0:e,left25:t,left50:a,left75:o,top0:n,top25:i,top50:m,top75:s}=randomMovingStyle();r={"--watermark-left-0":e,"--watermark-left-25":t,"--watermark-left-50":a,"--watermark-left-75":o,"--watermark-top-0":n,"--watermark-top-25":i,"--watermark-top-50":m,"--watermark-top-75":s}}this.setData({watermarkStyle:Object.assign({zIndex:a.zIndex,position:"absolute",left:0,right:0,top:0,bottom:0,width:"100%",height:"100%",backgroundSize:`${(null==t?void 0:t.width)||o.value+a.width}px`,pointerEvents:"none",backgroundRepeat:a.movable?"no-repeat":"repeat",backgroundImage:`url('${e}')`,animation:a.movable?`watermark infinite ${4*a.moveInterval/60}s`:"none"},r)})})}))}}}};Watermark=__decorate([wxComponent()],Watermark);export default Watermark;
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.json b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.wxml b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.wxml
new file mode 100644
index 0000000..0972789
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.wxml
@@ -0,0 +1 @@
+{{content}}
\ No newline at end of file
diff --git a/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.wxss b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.wxss
new file mode 100644
index 0000000..7fc466b
--- /dev/null
+++ b/miniprogram/miniprogram_npm/tdesign-miniprogram/watermark/watermark.wxss
@@ -0,0 +1,7 @@
+@import '../common/style/index.wxss';.t-watermark{position:relative;overflow:hidden;width:100%;}
+@keyframes watermark{
+0%{left:var(--watermark-left-0);top:var(--watermark-top-0);}
+25%{left:var(--watermark-left-25);top:var(--watermark-top-25);}
+50%{left:var(--watermark-left-50);top:var(--watermark-top-50);transform:translateX(-100%);}
+75%{left:var(--watermark-left-75);top:var(--watermark-top-75);}
+100%{left:var(--watermark-left-0);top:var(--watermark-top-0);}}
\ No newline at end of file
diff --git a/miniprogram/pages/agreement/agreement.js b/miniprogram/pages/agreement/agreement.js
new file mode 100644
index 0000000..f3e4f71
--- /dev/null
+++ b/miniprogram/pages/agreement/agreement.js
@@ -0,0 +1,61 @@
+// pages/agreement/agreement.js
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ type: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ this.setData({
+ type: options.type,
+ });
+ wx.setNavigationBarTitle({
+ title:
+ options.type == "user"
+ ? "易宝赞数据化管理系统平台用户服务协议"
+ : "易宝赞数据化管理系统隐私权政策",
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ // onShareAppMessage() {
+
+ // }
+});
diff --git a/miniprogram/pages/agreement/agreement.json b/miniprogram/pages/agreement/agreement.json
new file mode 100644
index 0000000..d8bbc60
--- /dev/null
+++ b/miniprogram/pages/agreement/agreement.json
@@ -0,0 +1,4 @@
+{
+ "usingComponents": {},
+ "navigationBarTitleText": ""
+}
\ No newline at end of file
diff --git a/miniprogram/pages/agreement/agreement.wxml b/miniprogram/pages/agreement/agreement.wxml
new file mode 100644
index 0000000..6eae8a4
--- /dev/null
+++ b/miniprogram/pages/agreement/agreement.wxml
@@ -0,0 +1,151 @@
+
+
+ 易宝赞数据化管理系统平台用户服务协议
+
+ 易宝赞数据化管理系统:福州晨丰科技有限公司(易宝赞数据化管理系统所有者)
+
+ 用户:
+
+ 用户在使用易宝赞数据化管理系统提供的各项服务之前,请务必审慎阅读、充分理解本协议各条款内容,特别是免除或者限制易宝赞数据化管理系统责任的条款。用户阅读并勾选“同意”(具体以页面载明为准),或登录、或开始使用易宝赞数据化管理系统平台提供的服务等,即意味着用户同意本协议全部条款,并同意受其约束。
+
+ 一、易宝赞数据化管理系统简介
+
+ 易宝赞数据化管理系统是一款服务于全屋定制家居行业的小程序,门店或者工厂只需要登录小程序就能看到海量的定制衣柜模块以及效果图。便于助力全屋定制门店的客户选定款式,快速助力门店签单。
+
+ 二、用户登录
+
+ 购买福州晨丰科技有限公司开发的“晨丰家具设计生产管理系统2.0”软件的用户可用webcad或平台(晨丰爱家网管理系统)注册的手机号直接通过微信绑定的手机号码一键登录。
+
+ 三、四个功能模块
+ • 商品:用户可以看到自己店铺上传的商品模块
+ • 收藏:查看已收藏的商品模块
+ • 公库:系统开放的商品模块
+ • 我的:用户的店铺信息以及用户的账户信息
+ 四、账户安全
+
+ 用户应妥善保管账户信息,并对该用户账号进行的所有活动和事件承担法律责任。该账户仅限用户本人使用,禁止转让、交易、出租、出借,否则由此带来的包括但不限于用户资料和服务等的清空损失由用户自行承担。
+
+ 五、用户承诺
+
+ 用户在使用易宝赞数据化管理系统时必须遵守《中华人民共和国网络安全法》等我国相关法律法规的相关规定,承诺不利用本服务进行任何违法或不正当的活动,否则由此造成的一切后果由用户自行承担。
+
+ 六、服务提供、暂停与终止
+
+ 1、鉴于计算机及互联网的特殊性,易宝赞数据化管理系统在有以下正当理由的情况下可以随时调整或暂停或终止部分或全部的服务:
+
+ (1)因黑客、病毒、电信部门技术调整和骨干线路中断等引起的事件;
+
+ (2)易宝赞数据化管理系统在进行网络调整和维护时需要中断服务,或由于互联网通路的阻塞造成用户暂时无法使用易宝赞数据化管理系统服务;
+
+
+ (3)易宝赞数据化管理系统提供的常规维护,包含但不限于故障处理、系统升级、系统调优、系统扩容等导致的易宝赞数据化管理系统服务不可用等;
+
+
+ (4)用户操作不当或用户的电脑软件、系统、硬件和通信线路出现故障;
+
+ (5)因国家或运营商政策调整导致易宝赞数据化管理系统无法提供服务的;
+
+ (6)其他非易宝赞数据化管理系统过错、易宝赞数据化管理系统无法控制或无法预见的情形。但是,易宝赞数据化管理系统会尽可能事前通知用户,以便用户做好相关数据的转移备份以及业务调整等,以保护用户的合法权益。
+
+
+ 2、如本协议或本服务因为任何原因终止的(包括但不限于不可抗力、用户欠费、用户违规等情形),对于用户的易宝赞数据化管理系统用户帐号中的全部数据或用户因使用易宝赞数据化管理系统服务而存储在易宝赞数据化管理系统服务器中的数据等任何信息,易宝赞数据化管理系统将为用户保留180天。用户应及时完成全部数据的迁移和备份。保留期限届满后,易宝赞数据化管理系统将终止服务,服务系统将自动删除用户的所有数据。
+
+
+ 3、用户服务或用户账户的暂停、中断或终止不代表用户责任的终止,用户仍应对使用易宝赞数据化管理系统服务期间的行为承担可能的违约或损害赔偿责任,同时易宝赞数据化管理系统仍可保有用户的相关信息。
+
+ 七、责任免除
+
+ 1、易宝赞数据化管理系统保留自行对易宝赞数据化管理系统平台及其相关功能、应用软件变更、升级、修改、迁移的权利;也保留开发新的模块、功能、软件和服务的权利。上述所有新的模块、功能、软件和服务的提供,除非易宝赞数据化管理系统另有说明,否则仍适用本协议。
+
+
+ 2、由于可能存在的计算机病毒、网络通讯故障、系统维护等方面的因素以及可能发生的不可抗力事件,用户同意易宝赞数据化管理系统在没有重大过失或恶意的情况下,易宝赞数据化管理系统无需对用户在使用易宝赞数据化管理系统平台服务时在数据传输中的迟延、不准确、错误、断点或疏漏及因此而致使的损害负责。
+
+ 八、知识产权
+
+ 1、易宝赞数据化管理系统平台上的所有内容,包括但不限于所有产品、图片、资料、平台页面的安排、设计等,均由易宝赞数据化管理系统或其他权利人依法拥有其知识产权,包括但不限于商标权、专利权、著作权、商业秘密等。
+
+
+ 2、易宝赞数据化管理系统平台的Logo、“易宝赞数据化管理系统”等文字、图形及其组合,以及易宝赞数据化管理系统平台的其他标识、徵记、产品和服务名称均为福州晨丰科技有限公司依法拥有的商标,未经书面授权,任何人不得以任何方式展示、使用或作其他处理。
+
+ 九、协议效力及纠纷解决
+
+ 1、本协议的订立、效力、解释、履行和争议的解决均适用中华人民共和国法律法规。
+
+
+ 2、有关本协议的任何争议应由双方友好协商解决,协商不成的,双方同意将争议提交至福州晨丰科技有限公司所在地人民法院诉讼解决。
+
+
+ 3、本协议自易宝赞数据化管理系统平台上线后立即生效,自用户勾选“同意”(具体以页面载明为准)后对双方产生约束力,具体时间以易宝赞数据化管理系统平台记录的时间为准。
+
+
+
+ 易宝赞数据化管理系统隐私权政策
+
+ 易宝赞数据化管理系统:福州晨丰科技有限公司(易宝赞数据化管理系统所有者)
+
+ 用户:
+
+ 用户在使用易宝赞数据化管理系统提供的各项服务之前,请务必审慎阅读、充分理解本隐私权政策的各条款内容,特别是免除或者限制易宝赞数据化管理系统责任的条款。用户阅读并勾选“同意”(具体以页面载明为准),或登录、或开始使用易宝赞数据化管理系统平台提供的服务等,即意味着用户同意本隐私权政策的全部条款,并同意受其约束。
+
+ 一、服务范围
+
+ 本政策适用于易宝赞数据化管理系统平台提供的所有产品和服务。易宝赞数据化管理系统尊重并保护所有使用易宝赞数据化管理系统服务用户的个人隐私权。为了给所有用户提供更准确、更有个性化的服务,易宝赞数据化管理系统按照本隐私权政策使用和披露用户个人信息,易宝赞数据化管理系统郑重承诺将以高度的勤勉、审慎义务对待这些信息,未经用户授权,易宝赞数据化管理系统不会将这些信息对外披露或向第三方提供。
+
+ 二、登录过程中的信息获取
+
+ 1、易宝赞数据化管理系统在用户授权下从webcad或平台(晨丰爱家网管理系统)处获取用户的第三方账户信息,并与用户的易宝赞数据化管理系统账户进行绑定,便于用户通过第三方账户注册的手机号直接通过微信绑定的手机号码一键登录易宝赞数据化管理系统,易宝赞数据化管理系统将在用户同意范围内使用用户的相关信息。
+
+
+ 2、易宝赞数据化管理系统在用户授权同意后向第三方共享用户的账户信息(头像、昵称及其他页面提示的信息),便于用户便捷地实现第三方账户的注册或登录。
+
+
+ 3、在用户授权同意下,易宝赞数据化管理系统“我的“模块中展示的用户的店铺信息以及用户的账户信息将显示上述用户个人资料。
+
+ 三、提供商品或服务过程中的信息获取
+ 易宝赞数据化管理系统向用户提供服务时,将收集和使用用户以下信息:
+
+ 1、在访问或使用易宝赞数据化管理系统平台时的浏览、搜索记录及设备信息、服务日志信息,提取用户的偏好特征。
+
+
+ 2、获取用户的设备信息、设备所在位置相关信息(在用户开启位置权限后访问获取用户位置信息,根据位置信息为用户提供更契合需求的页面展示、产品或服务)、设备摄像头(用户在开启相机/摄像头权限后使用该功能进行扫码用于登录、更换头像、发表评论/分享、拍摄照片或视频用于评论、分享等)等相关经用户授权获取的信息。
+
+
+ 3、在用户浏览易宝赞数据化管理系统小程序的过程中,可选择对感兴趣的柜子款式点击收藏、通过平台提供的功能组件向其他第三方分享信息。在用户使用上述功能的过程中,平台会收集包括用户的收藏、分享历史在内的服务日志信息用于实现上述功能及其他平台明确告知的目的。
+
+
+ 4、按照微信平台规则读取用户的手机号、微信openID、UnionID和其他微信公开信息(如昵称、头像),其中手机号用于登录,openID、UnionID用于将微信绑定易宝赞数据化管理系统平台账号。易宝赞数据化管理系统将按照腾讯微信平台规则及按照用户自愿填写并展示的信息进行展示。
+
+
+ 5、其他易宝赞数据化管理系统在提供服务过程中必须获取才能为用户提供所有产品服务且经用户授权的相关个人信息。
+
+ 四、信息披露
+
+ 用户充分理解并同意,易宝赞数据化管理系统在以下情况下收集、使用用户的个人信息无需用户的授权同意:
+
+
+ 1、根据法律规定,或者按行政机关或公检法机关要求,向第三方或者行政机关或公检法机关披露;
+
+ 2、与国家安全、国防安全有关的披露;
+ 3、与公共安全、公共卫生、重大公共利益有关的披露;
+ 4、出于维护用户或其他个人的生命、财产重大合法权益所需的披露;
+ 5、其他易宝赞数据化管理系统根据法律、法规或者平台政策要求的披露。
+ 五、信息安全
+
+ 易宝赞数据化管理系统账号均有安全保护功能,请用户妥善保管账户信息。如用户发现个人信息泄密,尤其是易宝赞数据化管理系统账号及密码发生泄漏,请立即联络易宝赞数据化管理系统客服,以便易宝赞数据化管理系统采取相应措施。
+
+ 六、责任免除
+
+ 由于可能存在的黑客、计算机病毒等方面的因素以及可能发生的不可抗力事件,用户同意易宝赞数据化管理系统在没有重大过失或恶意的情况下,易宝赞数据化管理系统无需对用户在使用易宝赞数据化管理系统平台服务时个人信息泄露及因此而致使的损害负责。
+
+ 七、隐私权政策效力及争议解决
+
+ 1、本隐私权政策的订立、效力、解释、履行和争议的解决均适用中华人民共和国法律法规。
+
+
+ 2、本隐私权政策是《易宝赞数据化管理系统平台用户服务协议》不可分割的组成部分。有关本隐私权政策的任何争议应由双方友好协商解决,协商不成的,双方同意将争议提交至福州晨丰科技有限公司所在地人民法院诉讼解决。
+
+
+ 3、隐私权政策自易宝赞数据化管理系统平台上线后立即生效,自用户勾选“同意”(具体以页面载明为准)后对双方产生约束力,具体时间以易宝赞数据化管理系统平台记录的时间为准。
+
+
+
\ No newline at end of file
diff --git a/miniprogram/pages/agreement/agreement.wxss b/miniprogram/pages/agreement/agreement.wxss
new file mode 100644
index 0000000..3d95ba3
--- /dev/null
+++ b/miniprogram/pages/agreement/agreement.wxss
@@ -0,0 +1,32 @@
+/* pages/agreement/agreement.wxss */
+
+page {
+ padding-bottom: constant(safe-area-inset-bottom);
+ /*兼容 IOS<11.2*/
+ padding-bottom: env(safe-area-inset-bottom);
+ /*兼容 IOS>11.2*/
+ background-color: #fff;
+}
+
+.agreement-content {
+ padding: 12px;
+ background-color: #fff;
+}
+
+.agreement-content > view {
+ margin-bottom: 1em;
+}
+
+.agreement-content > view:last-child {
+ margin-bottom: 0;
+}
+
+.agreement-content > .agreement-h1 {
+ font-size: 18px;
+ font-weight: bold;
+}
+
+.agreement-content > .agreement-h2 {
+ font-size: 16px;
+ font-weight: bold;
+}
diff --git a/miniprogram/pages/components/page-plugin/index.json b/miniprogram/pages/components/page-plugin/index.json
new file mode 100644
index 0000000..fe3d234
--- /dev/null
+++ b/miniprogram/pages/components/page-plugin/index.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "t-button": "tdesign-miniprogram/button/button",
+ "t-checkbox": "tdesign-miniprogram/checkbox/checkbox",
+ "t-divider": "tdesign-miniprogram/divider/divider",
+ "t-link": "tdesign-miniprogram/link/link"
+ }
+}
\ No newline at end of file
diff --git a/miniprogram/pages/components/page-plugin/index.ts b/miniprogram/pages/components/page-plugin/index.ts
new file mode 100644
index 0000000..2e9b43f
--- /dev/null
+++ b/miniprogram/pages/components/page-plugin/index.ts
@@ -0,0 +1,115 @@
+import { base, defaultAvatarUrl } from "@/utils/config";
+import { Subscribe } from "@/utils/subscribe";
+import { getCurrentPageRoute, getStorage, setStorage } from "@/utils/util";
+// import { IStorage } from "@/utils/storage";
+
+// const app = getApp();
+// const Storage: IStorage = app.Storage;
+
+Component({
+ options: { addGlobalClass: true },
+ properties: {
+ isLogin: Boolean,
+ loading: Boolean,
+ isAuth: null,
+ style: null,
+ },
+
+ attached() {
+ this.setData({ isLogin: getStorage("isLogin") == 1 });
+
+ console.log("attached");
+ Subscribe.on("isLogin", getCurrentPageRoute(), () => {
+ this.setData({ isLogin: getStorage("isLogin") == 1 });
+ console.log("监听到 isLogin 变化:");
+ });
+ },
+ detached() {
+ console.log("detached");
+ Subscribe.off("isLogin", getCurrentPageRoute());
+ },
+
+ data: {
+ avatarUrl: defaultAvatarUrl,
+ isAgree: false,
+ appletName: base.appletName,
+ show: false,
+ companyList: [],
+ encryptedData: "",
+ iv: "",
+ },
+ methods: {
+ handleLogin(e: any) {
+ this.triggerEvent("handleLogin", e.detail);
+ },
+ getPhoneNumberToast() {
+ setStorage("isLogin", 1);
+ Subscribe.set("isLogin", "zzzuz");
+ wx.showToast({ title: "请先勾选协议", icon: "none" });
+ },
+ changeAgreementCheck(event: any) {
+ this.setData({ isAgree: event.detail.checked });
+ },
+ navAgreement(e: any) {
+ wx.navigateTo({
+ url: "../agreement/agreement?type=" + e.target.dataset.type,
+ });
+ },
+ // getPhoneNumber(e) {
+ // this.triggerEvent("getPhoneNumber", e);
+ // },
+ getPhoneNumber(e: any) {
+ if (e.detail.encryptedData) {
+ this.data.encryptedData = e.detail.encryptedData;
+ this.data.iv = e.detail.iv;
+ console.log(e);
+
+ // login(e.detail.encryptedData, e.detail.iv)
+ // .then((res) => {
+ // console.log(res);
+ // if (isArray(res.data)) {
+ // this.setData({
+ // companyList: res.data,
+ // show: true,
+ // });
+ // } else {
+ // this.triggerEvent("handleLogin", true);
+ // }
+ // })
+ // .catch((err) => {
+ // this.triggerEvent("handleLogin", false);
+ // });
+ } else {
+ wx.showToast({ title: e.detail.errMsg, icon: "none" });
+ }
+ },
+ login2(e: any) {
+ console.log(e.currentTarget.dataset.company_id);
+ // login(
+ // this.data.encryptedData,
+ // this.data.iv,
+ // 2,
+ // e.currentTarget.dataset.company_id
+ // )
+ // .then((res) => {
+ // console.log(res);
+ // if (isArray(res.data)) {
+ // this.setData({
+ // companyList: res.data,
+ // });
+ // } else {
+ // this.setData({
+ // show: false,
+ // });
+ // this.triggerEvent("handleLogin", true);
+ // }
+ // })
+ // .catch((err) => {
+ // this.triggerEvent("handleLogin", false);
+ // });
+ },
+ close() {
+ this.setData({ show: false });
+ },
+ },
+});
diff --git a/miniprogram/pages/components/page-plugin/index.wxml b/miniprogram/pages/components/page-plugin/index.wxml
new file mode 100644
index 0000000..06f631c
--- /dev/null
+++ b/miniprogram/pages/components/page-plugin/index.wxml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 本小程序仅供{{appletName}}用户使用
+ 申请获取以下权限
+ 获取您的公开信息(昵称,头像等)
+
+
+ 一键登录
+
+
+ 一键登录
+
+
+
+ 我已阅读并同意
+
+
+
+ 《{{appletName}}平台用户服务协议》
+
+ 《{{appletName}}隐私权政策》
+
+
+
\ No newline at end of file
diff --git a/miniprogram/pages/components/page-plugin/index.wxss b/miniprogram/pages/components/page-plugin/index.wxss
new file mode 100644
index 0000000..e023ea5
--- /dev/null
+++ b/miniprogram/pages/components/page-plugin/index.wxss
@@ -0,0 +1 @@
+/* components/page-plugin/index.wxss */
\ No newline at end of file
diff --git a/miniprogram/pages/index/index.json b/miniprogram/pages/index/index.json
new file mode 100644
index 0000000..20f49db
--- /dev/null
+++ b/miniprogram/pages/index/index.json
@@ -0,0 +1,6 @@
+{
+ "usingComponents": {
+ "t-button": "tdesign-miniprogram/button/button",
+ "t-icon": "tdesign-miniprogram/icon/icon"
+ }
+}
\ No newline at end of file
diff --git a/miniprogram/pages/index/index.ts b/miniprogram/pages/index/index.ts
new file mode 100644
index 0000000..b6f0746
--- /dev/null
+++ b/miniprogram/pages/index/index.ts
@@ -0,0 +1,59 @@
+// pages/index/index.ts
+
+import { Subscribe } from "@/utils/subscribe";
+
+// const app = getApp();
+// const Storage = app.Storage;
+Page({
+ /**
+ * 页面的初始数据
+ */
+ data: {},
+
+ change() {
+ Subscribe.set("isLogin", "zzzuz");
+ // wx.navigateTo({ url: "/pages/my/my" });
+ },
+ navToMy() {
+ wx.navigateTo({ url: "/pages/my/my" });
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad() {},
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {},
+});
diff --git a/miniprogram/pages/index/index.wxml b/miniprogram/pages/index/index.wxml
new file mode 100644
index 0000000..206ce86
--- /dev/null
+++ b/miniprogram/pages/index/index.wxml
@@ -0,0 +1,6 @@
+
+ pages/index/index.wxml
+ change
+ my
+
+
\ No newline at end of file
diff --git a/miniprogram/pages/index/index.wxss b/miniprogram/pages/index/index.wxss
new file mode 100644
index 0000000..8e9c81f
--- /dev/null
+++ b/miniprogram/pages/index/index.wxss
@@ -0,0 +1 @@
+/* pages/index/index.wxss */
\ No newline at end of file
diff --git a/miniprogram/pages/my/my.json b/miniprogram/pages/my/my.json
new file mode 100644
index 0000000..da897b1
--- /dev/null
+++ b/miniprogram/pages/my/my.json
@@ -0,0 +1,5 @@
+{
+ "usingComponents": {
+ "t-button": "tdesign-miniprogram/button/button"
+ }
+}
\ No newline at end of file
diff --git a/miniprogram/pages/my/my.ts b/miniprogram/pages/my/my.ts
new file mode 100644
index 0000000..e034a66
--- /dev/null
+++ b/miniprogram/pages/my/my.ts
@@ -0,0 +1,50 @@
+import { Subscribe } from "@/utils/subscribe";
+import { setStorage } from "@/utils/util";
+
+Page({
+ data: {},
+ change() {
+ setStorage("isLogin", 1);
+ Subscribe.set("isLogin", "zzzuz");
+ // wx.navigateTo({ url: "/pages/my/my" });
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad() {},
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {},
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {},
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {},
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {},
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {},
+});
diff --git a/miniprogram/pages/my/my.wxml b/miniprogram/pages/my/my.wxml
new file mode 100644
index 0000000..8e5d2cf
--- /dev/null
+++ b/miniprogram/pages/my/my.wxml
@@ -0,0 +1,5 @@
+
+
+ pages/my/my.wxml
+ change
+
\ No newline at end of file
diff --git a/miniprogram/pages/my/my.wxss b/miniprogram/pages/my/my.wxss
new file mode 100644
index 0000000..1c3fe88
--- /dev/null
+++ b/miniprogram/pages/my/my.wxss
@@ -0,0 +1 @@
+/* pages/my/my.wxss */
\ No newline at end of file
diff --git a/miniprogram/utils/config.ts b/miniprogram/utils/config.ts
new file mode 100644
index 0000000..6bd2baa
--- /dev/null
+++ b/miniprogram/utils/config.ts
@@ -0,0 +1,29 @@
+/**
+ * Global Config Files
+ * Added By YangXB 2021.11.24
+ */
+export const servicePhone = "4000-5858-22";
+
+export const defaultAvatarUrl =
+ "https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0";
+
+export const base = {
+ appletName: "易宝赞数据化管理系统",
+ apiHost:
+ wx.getAccountInfoSync().miniProgram.envVersion == "release"
+ ? "https://ebaozan.com/api/"
+ : "http://192.168.1.138:83/",
+
+ webViewBaseUrl:
+ wx.getAccountInfoSync().miniProgram.envVersion == "release" ? "https://ebaozan.com/" : "http://ebaozan.cf/",
+ cookieKey: "OwCookie",
+};
+
+// 头文件
+export const http = {
+ header: {
+ "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
+ "X-Requested-With": "XMLHttpRequest",
+ },
+ unLoginCode: 110000,
+};
diff --git a/miniprogram/utils/https.js b/miniprogram/utils/https.js
new file mode 100644
index 0000000..cfb86b3
--- /dev/null
+++ b/miniprogram/utils/https.js
@@ -0,0 +1,273 @@
+/**
+ * 全局http工具集
+ * YangXB 2021.11.24
+ * */
+import { base, http } from "./config";
+import { getStorage, isArray, setStorage, ToastErr } from "./util";
+/**
+ * 请求
+ * @param {*} url
+ * @param {*} options
+ * @param {*} config
+ */
+const request = (url, options, config = { showLoading: true, showError: true }) => {
+ // 获取缓存cookie
+ const header = { ...http.header };
+ const cookie = getStorage(base.cookieKey);
+
+ if (cookie && !header["Cookie"]) {
+ header["Cookie"] = cookie;
+ }
+ if (options["content-type"]) {
+ header["content-type"] = options["content-type"];
+ }
+
+ return new Promise((resolve, reject) => {
+ if (config.showLoading != false) {
+ wx.showLoading({ title: "加载中" });
+ }
+
+ url = `${url}`.startsWith("http") ? url : urlAddBaseUrl(url);
+ wx.request({
+ url: url,
+ method: options.method,
+ data: options.data,
+ header,
+ success(request) {
+ if (config.showLoading != false) {
+ wx.hideLoading();
+ }
+ // 写入缓存
+ if (!cookie) {
+ setStorage(base.cookieKey, request.header["Set-Cookie"]);
+ }
+
+ if (request.data.err_code === 0) {
+ //
+ } else {
+ if (config.showError != false) {
+ wx.showToast({
+ title: request.data.err_msg,
+ icon: "none",
+ });
+ }
+ if (request.data.err_code == 110000) {
+ const pages = getCurrentPages();
+ if (
+ !["pages/index/index", "pages/processEntry/processEntry", "pages/my/my"].includes(
+ pages[pages.length - 1].route
+ )
+ ) {
+ wx.switchTab({ url: "/pages/index/index" });
+ }
+ }
+ }
+ resolve(request.data);
+ },
+ fail(error) {
+ if (config.showLoading != false) {
+ wx.hideLoading();
+ }
+ reject({ err_code: 44444, err_msg: error.data });
+ },
+ });
+ });
+};
+
+// 封装get方法
+export const get = (url, data = {}, config) => {
+ return request(url, { method: "GET", data }, config);
+};
+
+// 封装post方法
+export const post = (url, data = {}, config) => {
+ return request(url, { method: "POST", data }, config);
+};
+
+export const wxLogin = (config) => {
+ wx.login({
+ success: (res) => {
+ post("Applet/code2Sess", { code: res.code, name: "ch" }, config)
+ .then((res) => {
+ // 记录sessionKey
+ setStorage("session", {
+ openid: res.openid,
+ unionid: res.unionid,
+ time: Date.now() + 1000 * 3600 * 24, // 缓存一天过期
+ });
+ })
+ .catch((err) => {
+ ToastErr("服务失败:" + err.err_code);
+ });
+ },
+ });
+};
+
+// 检验微信前端登录状态
+export const checkSession = () => {
+ wx.checkSession({
+ // 没有过期
+ success: () => {
+ // const session = wx.getStorageSync("session");
+ // console.log("checkSession生效", session);
+ // // 没有缓存,或者缓存已过期
+ // if (!session) {
+ // console.log("session缓存已不存在");
+ // wxLogin();
+ // } else {
+ // const time = session.time || 0;
+ // if (Date.now() > time) {
+ // console.log("session缓存已过期");
+ // wxLogin();
+ // }
+ // }
+ },
+ fail: () => {
+ console.log("checkSession失效");
+ // 已过期,重新登录获取session_key
+ wxLogin();
+ },
+ });
+};
+
+export const loginStatus = () => {
+ return new Promise((resolve, reject) => {
+ post("Applet/loginStatus", {}, { showLoading: false })
+ .then((res) => {
+ setStorage("user_info", res.user_info);
+ setStorage("company_info", res.company_info);
+ setStorage("auth_info", res.auth_info);
+ setStorage("session_id", res.session_id);
+ resolve(res);
+ })
+ .catch((err) => {
+ login("", "", 4)
+ .then((res) => {
+ if (isArray(res.data)) {
+ post("Applet/loginOut").then((res) => {
+ checkSesskey({ showLoading: false, showError: false })
+ .then((res) => {})
+ .catch((err) => {
+ console.log("checkSesskey", err);
+ });
+ });
+ reject(res);
+ } else {
+ resolve(res);
+ }
+ })
+ .catch(() => {
+ reject(err);
+ });
+ });
+ });
+};
+
+/**
+ *
+ * @param {*} config { showLoading: true, showError: true }
+ */
+export const checkSesskey = (config) => {
+ return new Promise((resolve, reject) => {
+ post("Applet/checkSesskey", {}, config)
+ .then((res) => {
+ resolve(res);
+ })
+ .catch((err) => {
+ wxLogin(config);
+ reject(err);
+ });
+ });
+};
+
+// 后端登录
+export const login = (encryptedData, iv, type, company_id) => {
+ return new Promise((resolve, reject) => {
+ const data = {
+ type: 2,
+ encryptedData,
+ iv,
+ };
+
+ if (company_id) {
+ data.companyID = company_id;
+ }
+
+ post("Applet/login", type == 4 ? { type } : data)
+ .then((res) => {
+ if (isArray(res.data)) {
+ resolve(res);
+ } else {
+ setStorage("user_info", res.user_info);
+ setStorage("company_info", res.companys_info);
+ setStorage("auth_info", res.auth_info);
+ loginStatus();
+ resolve(res);
+ }
+ })
+ .catch((err) => {
+ // 签名失败,重新登录
+ // if (err.err_code == 41444) {
+ // wxLogin();
+ // showModal("登录结果", "服务器开小差了,请重试");
+ // } else {
+ // showModal("登录结果", err.err_msg);
+ // }
+ // wx.removeStorageSync("loginExp");
+ if (type == 4) {
+ checkSesskey()
+ .then(() => {
+ resolve(res);
+ })
+ .catch(() => {
+ reject(err);
+ });
+ } else {
+ reject(err);
+ }
+ });
+ });
+};
+
+export const makeURL = (url, redirect = false, openID = false) => {
+ return (
+ base.apiHost +
+ (redirect ? "applet-wv?url=" : "") +
+ encodeURIComponent(url + (openID ? "?openID=" + wx.getStorageSync("session")["openid"] : "")) +
+ (redirect ? "&" : "?") +
+ "cookie=" +
+ encodeURI(wx.getStorageSync(base.cookieKey))
+ );
+};
+
+export const urlAddBaseUrl = (url) => {
+ if (typeof url == "string") {
+ if (url.startsWith("/")) {
+ url = url.substring(1);
+ }
+ }
+ return base.apiHost + url;
+};
+
+export const urlAddWebViewBaseUrl = (url) => {
+ if (typeof url == "string") {
+ if (url.startsWith("/")) {
+ url = url.substring(1);
+ }
+ }
+ return base.webViewBaseUrl + url;
+};
+
+/** formData请求 */
+export const formDataRequest = (url, formData, config) => {
+ let data = formData.getData();
+ return request(
+ url,
+ {
+ method: "POST",
+ data: data.buffer,
+ "content-type": data.contentType,
+ },
+ config
+ );
+};
diff --git a/miniprogram/utils/menuConfig.js b/miniprogram/utils/menuConfig.js
new file mode 100644
index 0000000..1ce6721
--- /dev/null
+++ b/miniprogram/utils/menuConfig.js
@@ -0,0 +1,54 @@
+/** 首页菜单 */
+const iconColor = "#0052D9";
+export const menuConfig = [
+ {
+ title: "订单管理",
+ icon: "form",
+ iconColor: iconColor,
+ children: [
+ { title: "订单列表", url: "/pages/orders/ordersList/ordersList", auth: "SF_VIEW_ORDERS" },
+ { title: "流程管理", url: "/pages/orders/processManage/processManage", auth: "SF_VIEW_ORDER_PROCESS_MANAGE" },
+ { title: "录入流程", url: "/pages/processEntry/processEntry", auth: "SF_ENTER_PROCESS" },
+ { title: "工量查询", url: "/pages/orders/workload/workload", auth: "SF_VIEW_WORK_LIST" },
+ { title: "订单备忘", url: "/pages/orders/orderMemo/orderMemo", auth: "SF_VIEW_ORDER_MEMO" },
+ { title: "订单排序", url: "/pages/orders/ordersSort/ordersSort", auth: "SF_SET_ORDER_SORT" },
+ { title: "板号查询", url: "/pages/orders/sale_no_query/sale_no_query", auth: "SF_VIEW_ORDER_SALE_NO_PROCESS" },
+ ],
+ },
+ {
+ title: "客户管理",
+ icon: "user-vip",
+ iconColor: iconColor,
+ children: [
+ { title: "供应商管理", url: "/pages/crm_manage/suppliers/suppliers", auth: "SF_VIEW_CRM_SUPPLIER" },
+ { title: "经销商管理", url: "/pages/crm_manage/sales/sales", auth: "SF_VIEW_CRM_SALE" },
+ { title: "经销商等级", url: "/pages/crm_manage/crm_level/crm_level", auth: "SF_VIEW_CRM_LEVEL" },
+ ],
+ },
+];
+
+const iconPath = "/images/nav_icons/";
+/** 导航栏 */
+export const navTabBar = [
+ {
+ iconPath: `${iconPath}home.svg`,
+ selectedIconPath: `${iconPath}home2.svg`,
+ pagePath: "/pages/index/index",
+ text: "首页",
+ key: "1",
+ },
+ {
+ iconPath: `${iconPath}code.svg`,
+ selectedIconPath: `${iconPath}code2.svg`,
+ pagePath: "/pages/processEntry/processEntry",
+ text: "扫码",
+ key: "2",
+ },
+ {
+ iconPath: `${iconPath}my.svg`,
+ selectedIconPath: `${iconPath}my2.svg`,
+ pagePath: "/pages/my/my",
+ text: "我的",
+ key: "3",
+ },
+];
diff --git a/miniprogram/utils/subscribe.ts b/miniprogram/utils/subscribe.ts
new file mode 100644
index 0000000..14599cf
--- /dev/null
+++ b/miniprogram/utils/subscribe.ts
@@ -0,0 +1,72 @@
+// 存储一个事件回调数组
+const listeners: { [key: string]: any[] } = {};
+
+// 触发事件的函数
+function triggerEvent(key: string, data: any) {
+ if (listeners[key]) {
+ listeners[key].forEach((callback: any) => {
+ callback(data);
+ });
+ }
+ // 也可以触发一个通用的 'change' 事件
+ if (listeners["change"]) {
+ listeners["change"].forEach((callback: any) => {
+ callback({ key, data });
+ });
+ }
+}
+
+type IFun = Function & { $$functionKey?: string };
+
+export const Subscribe = {
+ /**
+ * 设置
+ * @param key 订阅变量的key
+ * @param value 值
+ */
+ set(key: string, value: any) {
+ // 1. 执行原有的存储操作
+ // setStorage(key, value);
+ // 2. 触发自定义事件,通知订阅者
+ triggerEvent(key, value);
+ },
+
+ // get(key: string) {
+ // return getStorage(key);
+ // },
+
+ remove(key: string) {
+ triggerEvent(key, null); // 或者触发一个 'remove' 事件
+ },
+
+ /**
+ * 订阅事件
+ * @param key 订阅变量的key
+ * @param functionKey 唯一的函数key(用于取消订阅的)
+ * @param callback 回调函数
+ */
+ on(key: string, functionKey: string, callback: () => void) {
+ if (!listeners[key]) {
+ listeners[key] = [];
+ }
+ if (typeof callback == "function") {
+ (callback as IFun)["$$functionKey"] = functionKey;
+ listeners[key].push(callback);
+ } else {
+ console.log("订阅事件 callback 必须是函数");
+ }
+ },
+
+ /**
+ * 取消订阅
+ * @param key 订阅变量的key
+ * @param functionKey 唯一的函数key(用于取消订阅的)
+ */
+ off(key: string, functionKey: string) {
+ if (!listeners[key]) return;
+ listeners[key] = listeners[key].filter((cb: IFun) => cb.$$functionKey != functionKey);
+ if (listeners[key].length == 0) {
+ delete listeners[key];
+ }
+ },
+};
diff --git a/miniprogram/utils/util.ts b/miniprogram/utils/util.ts
new file mode 100644
index 0000000..0d90587
--- /dev/null
+++ b/miniprogram/utils/util.ts
@@ -0,0 +1,347 @@
+import { http } from "./config";
+
+export const formatTime = (date: Date) => {
+ const year = date.getFullYear();
+ const month = date.getMonth() + 1;
+ const day = date.getDate();
+ const hour = date.getHours();
+ const minute = date.getMinutes();
+ const second = date.getSeconds();
+
+ return `${[year, month, day].map(formatNumber).join("-")} ${[hour, minute, second].map(formatNumber).join(":")}`;
+};
+
+export const formatNumber = (n: number | string) => {
+ n = n.toString();
+ return n[1] ? n : `0${n}`;
+};
+
+export const ToastOK = (title: string, duration = 2000) => {
+ wx.showToast({
+ title,
+ icon: "success",
+ duration,
+ });
+};
+
+export const ToastErr = (title: string, duration = 2000) => {
+ wx.showToast({
+ title,
+ icon: "error",
+ duration,
+ });
+};
+
+// 对话框
+export const showModal = (title: string, content: string, showCancel = false) => {
+ return new Promise((resolve, reject) => {
+ wx.showModal({
+ title,
+ content,
+ showCancel,
+ success(res) {
+ if (res.confirm) {
+ resolve();
+ } else if (res.cancel) {
+ reject();
+ }
+ },
+ });
+ });
+};
+
+/** 判断数据是不是数组类型 */
+export const isArray = (data: any) => {
+ return data && Array.isArray(data);
+};
+
+/**
+ * 转成数组
+ * @param {*} data
+ * @returns {Array}
+ */
+export const toArray = (data: any): any[] => {
+ return isArray(data) ? data : [];
+};
+
+/** 判断数据是不是对象类型 */
+export const isObject = (data: any) => {
+ return data && `${Object.prototype.toString.call(data)}`.includes("Object");
+};
+
+export const toObject = (data: any) => {
+ return isObject(data) ? data : {};
+};
+
+export const reloadPage = () => {
+ let pages = getCurrentPages(); //获取加载的页面
+ let currentPage = pages[pages.length - 1]; //获取当前页面的对象
+ let url = currentPage.route; //当前页面url
+ // 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。
+ wx.redirectTo({
+ url: "/" + url,
+ });
+};
+
+/** 判断是json数据 */
+export const isJson = (str: any) => {
+ if (str && typeof str == "string") {
+ try {
+ const obj = JSON.parse(str);
+ return obj && typeof obj == "object";
+ } catch (_e) {
+ //
+ }
+ }
+ return false;
+};
+
+/**
+ * 解码json数据
+ * @param data 数据
+ * @returns array | object | null
+ */
+export const jsonParse = (data: any): any[] | object | null => {
+ if (data) {
+ if (typeof data == "string") {
+ try {
+ const obj = JSON.parse(data);
+ if (["Array", "Object"].includes(Object.prototype.toString.call(obj).slice(8, -1))) {
+ return obj;
+ }
+ } catch (e) {
+ //
+ }
+ } else if (["Array", "Object"].includes(Object.prototype.toString.call(data).slice(8, -1))) {
+ return data;
+ }
+ }
+ return null;
+};
+
+/**
+ * 判断是数字
+ * @param {*} value
+ * @returns Boolean
+ */
+export const isNumber = (value: any) => {
+ return !isNaN(parseFloat(value)) && isFinite(value);
+};
+
+/**
+ * 转成数字
+ * @param {*} str
+ * @returns Number
+ */
+export const toNumber = (str: any) => {
+ return isNumber(str) ? Number(str) : 0;
+};
+
+/**
+ * 保留小数
+ * @param {*} str 文本
+ * @param {*} num 位数
+ */
+export const formatToDecimals = (str: any, num: number = 2) => {
+ num = num === undefined ? 2 : toNumber(num);
+ return toNumber(str).toFixed(num);
+};
+
+/** 获取权限 */
+export const getAuthInfo = () => {
+ return toObject(wx.getStorageSync("auth_info"));
+};
+
+export const goIndexPage = () => {
+ wx.switchTab({
+ url: "/pages/index/index",
+ });
+};
+
+export const isImageFile = (path: string) => {
+ return /\.(jpe?g|png|gif|svg|webp|bmp)$/i.test(path);
+};
+
+/** 滚动到顶部 */
+export const scrollToTop = () => {
+ wx.pageScrollTo({ scrollTop: 0 });
+};
+
+/** 设置tabs配置 */
+export const tabsConfigSet = (key: string, value: any) => {
+ const tabsConfig = toObject(tabsConfigGet());
+ tabsConfig[key] = value;
+ setStorage("tabsConfig", tabsConfig);
+};
+
+/** 获取tabs配置 */
+export const tabsConfigGet = () => {
+ return getStorage("tabsConfig");
+};
+
+/**
+ * 媒体图片预览
+ * @param {*} imageUrls 图片地址数据
+ * @param {*} currentUrl 当前数据地址
+ */
+export const mediaPreview = (imageUrls: any[], currentUrl: string) => {
+ console.log("媒体图片预览方法");
+ const lastLen = `${currentUrl}`.indexOf("?") > -1 ? `${currentUrl}`.indexOf("?") : `${currentUrl}`.length;
+
+ const suffix: any = currentUrl.substring(currentUrl.lastIndexOf(".") + 1, lastLen).toLocaleLowerCase();
+
+ if (isImageFile("." + suffix)) {
+ wx.previewImage({
+ urls: imageUrls,
+ current: currentUrl,
+ showmenu: true,
+ });
+ } else if (["mp3", "mp4", "m4a"].includes(suffix)) {
+ wx.previewMedia({
+ sources: [
+ {
+ url: currentUrl,
+ type: "video",
+ },
+ ],
+ fail() {
+ wx.showToast({
+ title: "播放失败",
+ });
+ },
+ });
+ } else if (["doc", "docx", "xls", "xlsx", "ppt", "pptx", "pdf"].includes(suffix)) {
+ const downloadTask = wx.downloadFile({
+ url: currentUrl,
+ header: http.header,
+ success: function (res) {
+ const filePath = res.tempFilePath;
+ wx.openDocument({
+ filePath: filePath,
+ showMenu: true,
+ fileType: suffix,
+ success: function () {},
+ });
+ },
+ fail() {},
+ complete() {
+ wx.hideLoading();
+ },
+ });
+ downloadTask.onProgressUpdate((res) => {
+ wx.showLoading({
+ title: `${res.progress}%`,
+ });
+ if (res.progress == 100) {
+ wx.hideLoading();
+ }
+ });
+ } else {
+ wx.showToast({
+ title: "请前往网页端下载查看",
+ });
+ }
+};
+
+/**
+ * 文件上传封装
+ * @param {*} option {filePath: '文件路径', name: 'files', url:'上传url',formData: {额外data},success: (data)=>{}, complete:()=>{},fail: ()=>{} }
+ */
+export const uploadFile2 = (option: any) => {
+ console.log("文件上传封装");
+ option = toObject(option);
+ option.name = option.name || "files";
+
+ wx.showLoading({
+ title: "文件上传中...",
+ });
+ wx.uploadFile({
+ filePath: option.filePath,
+ name: option.name,
+ header: {
+ ...http.header,
+ cookie: "DFSESSID=" + wx.getStorageSync("session_id"),
+ },
+ formData: option.formData,
+ url: option.url,
+ success(res) {
+ const resData = jsonParse(res.data);
+ wx.showToast({
+ title: "上传成功",
+ });
+ if (option.success) {
+ option.success(resData);
+ }
+ },
+ fail() {
+ wx.showToast({
+ title: "上传失败",
+ });
+ if (option.fail) {
+ option.fail();
+ }
+ },
+ complete() {
+ wx.hideLoading();
+ if (option.complete) {
+ option.complete();
+ }
+ },
+ });
+};
+
+/**
+ * 获取dataset
+ * @param {*} e
+ */
+export const getDataSet = (e: any) => {
+ return e.currentTarget.dataset;
+};
+
+export const toastSuccess = (title: string) => {
+ wx.showToast({ title: `${title}`, icon: "success" });
+};
+
+export const toastError = (title: string) => {
+ wx.showToast({ title: `${title}`, icon: "error" });
+};
+
+export const toastSuccessNotIcon = (title: string) => {
+ wx.showToast({ title: `${title}`, icon: "none" });
+};
+
+export const getEnvVersion = wx.getAccountInfoSync().miniProgram.envVersion;
+
+/**
+ * 获取缓存数据根据小程序版本
+ * @param key string
+ */
+export const getStorage = (key: string) => {
+ return wx.getStorageSync(`${getEnvVersion}_${key}`);
+};
+
+/**
+ * 设置缓存数据根据小程序版本
+ * @param key string
+ * @param data any
+ */
+export const setStorage = (key: string, data: any) => {
+ return wx.setStorageSync(`${getEnvVersion}_${key}`, data);
+};
+
+/**
+ * 移除缓存数据根据小程序版本
+ * @param key string
+ */
+export const removeStorage = (key: string) => {
+ return wx.removeStorageSync(`${getEnvVersion}_${key}`);
+};
+
+/**
+ * 获取当前页面路由
+ */
+export const getCurrentPageRoute = () => {
+ const pages = getCurrentPages(); // 获取页面栈
+ const currentPage = pages[pages.length - 1]; // 获取当前页面对象
+ return `/${currentPage.route}`; // 获取当前页面路径
+};
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..1954067
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,53 @@
+{
+ "name": "miniprogram-ts-quickstart",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "miniprogram-ts-quickstart",
+ "version": "1.0.0",
+ "dependencies": {
+ "big.js": "v7.0.1",
+ "tdesign-miniprogram": "^1.11.2"
+ },
+ "devDependencies": {
+ "@types/big.js": "^6.2.2",
+ "miniprogram-api-typings": "^4.1.0"
+ }
+ },
+ "node_modules/@types/big.js": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/@types/big.js/-/big.js-6.2.2.tgz",
+ "integrity": "sha512-e2cOW9YlVzFY2iScnGBBkplKsrn2CsObHQ2Hiw4V1sSyiGbgWL8IyqE3zFi1Pt5o1pdAtYkDAIsF3KKUPjdzaA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/big.js": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-7.0.1.tgz",
+ "integrity": "sha512-iFgV784tD8kq4ccF1xtNMZnXeZzVuXWWM+ERFzKQjv+A5G9HC8CY3DuV45vgzFFcW+u2tIvmF95+AzWgs6BjCg==",
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/bigjs"
+ }
+ },
+ "node_modules/miniprogram-api-typings": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/miniprogram-api-typings/-/miniprogram-api-typings-4.1.0.tgz",
+ "integrity": "sha512-4RBsz27nBKyRkVGoNkRaPx24/KeJBw3zaaIlXDR8s/WBh2PbcUAc+q7wLLbp7Qsmb3bLzzUu7tqAti+B06kmjg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tdesign-miniprogram": {
+ "version": "1.11.2",
+ "resolved": "https://registry.npmjs.org/tdesign-miniprogram/-/tdesign-miniprogram-1.11.2.tgz",
+ "integrity": "sha512-lXcry3vRa9jHzjpOdIxuIAh7F85kImym82VwLbCqr/TkMhycOsOepx+r1S9fum7u2nsWiYRTV+HuvDHN3KlIuA==",
+ "license": "MIT"
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..d2314d9
--- /dev/null
+++ b/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "miniprogram-ts-quickstart",
+ "version": "1.0.0",
+ "description": "",
+ "scripts": {},
+ "keywords": [],
+ "author": "",
+ "license": "",
+ "dependencies": {
+ "tdesign-miniprogram": "^1.11.2",
+ "big.js": "v7.0.1"
+ },
+ "devDependencies": {
+ "miniprogram-api-typings": "^4.1.0",
+ "@types/big.js": "^6.2.2"
+ }
+}
\ No newline at end of file
diff --git a/project.config.json b/project.config.json
new file mode 100644
index 0000000..4dbdb29
--- /dev/null
+++ b/project.config.json
@@ -0,0 +1,55 @@
+{
+ "description": "项目配置文件",
+ "miniprogramRoot": "miniprogram/",
+ "compileType": "miniprogram",
+ "setting": {
+ "useCompilerPlugins": [
+ "typescript"
+ ],
+ "babelSetting": {
+ "ignore": [],
+ "disablePlugins": [],
+ "outputPath": ""
+ },
+ "coverView": false,
+ "postcss": false,
+ "minified": false,
+ "enhance": true,
+ "showShadowRootInWxmlPanel": false,
+ "packNpmRelationList": [
+ {
+ "packageJsonPath": "./package.json",
+ "miniprogramNpmDistDir": "./miniprogram/"
+ }
+ ],
+ "ignoreUploadUnusedFiles": true,
+ "compileHotReLoad": false,
+ "skylineRenderEnable": true,
+ "es6": true,
+ "compileWorklet": false,
+ "uglifyFileName": false,
+ "uploadWithSourceMap": true,
+ "packNpmManually": true,
+ "minifyWXSS": true,
+ "minifyWXML": true,
+ "localPlugins": false,
+ "condition": false,
+ "swc": false,
+ "disableSWC": true,
+ "disableUseStrict": false
+ },
+ "simulatorType": "wechat",
+ "simulatorPluginLibVersion": {},
+ "condition": {},
+ "srcMiniprogramRoot": "miniprogram/",
+ "editorSetting": {
+ "tabIndent": "insertSpaces",
+ "tabSize": 2
+ },
+ "libVersion": "trial",
+ "packOptions": {
+ "ignore": [],
+ "include": []
+ },
+ "appid": "wxd5501d77a54dd128"
+}
\ No newline at end of file
diff --git a/project.private.config.json b/project.private.config.json
new file mode 100644
index 0000000..dc3701a
--- /dev/null
+++ b/project.private.config.json
@@ -0,0 +1,22 @@
+{
+ "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
+ "projectname": "FreeERP.Applet",
+ "setting": {
+ "compileHotReLoad": true,
+ "urlCheck": false,
+ "coverView": false,
+ "lazyloadPlaceholderEnable": false,
+ "skylineRenderEnable": true,
+ "preloadBackgroundData": false,
+ "autoAudits": false,
+ "useApiHook": true,
+ "showShadowRootInWxmlPanel": false,
+ "useStaticServer": false,
+ "useLanDebug": false,
+ "showES6CompileOption": false,
+ "bigPackageSizeSupport": false,
+ "checkInvalidKey": true,
+ "ignoreDevUnusedFiles": true
+ },
+ "libVersion": "3.11.2"
+}
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..a911d19
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,33 @@
+{
+ "compilerOptions": {
+ "strictNullChecks": true,
+ "noImplicitAny": true,
+ "module": "CommonJS",
+ "target": "ES2020",
+ "allowJs": true,
+ "allowSyntheticDefaultImports": true,
+ "esModuleInterop": true,
+ "experimentalDecorators": true,
+ "noImplicitThis": true,
+ "noImplicitReturns": true,
+ "alwaysStrict": true,
+ "noFallthroughCasesInSwitch": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "strict": true,
+ "strictPropertyInitialization": true,
+ "lib": ["ES2020"],
+ "typeRoots": [
+ "./typings"
+ ],
+ "paths": {
+ "tdesign-miniprogram/*":["./miniprogram/miniprogram_npm/tdesign-miniprogram/*"]
+ }
+ },
+ "include": [
+ "./**/*.ts"
+ ],
+ "exclude": [
+ "node_modules"
+ ]
+}
diff --git a/typings/index.d.ts b/typings/index.d.ts
new file mode 100644
index 0000000..3ee60c8
--- /dev/null
+++ b/typings/index.d.ts
@@ -0,0 +1,8 @@
+///
+
+interface IAppOption {
+ globalData: {
+ userInfo?: WechatMiniprogram.UserInfo,
+ }
+ userInfoReadyCallback?: WechatMiniprogram.GetUserInfoSuccessCallback,
+}
\ No newline at end of file
diff --git a/typings/types/index.d.ts b/typings/types/index.d.ts
new file mode 100644
index 0000000..a5e8a7c
--- /dev/null
+++ b/typings/types/index.d.ts
@@ -0,0 +1 @@
+///
diff --git a/typings/types/wx/index.d.ts b/typings/types/wx/index.d.ts
new file mode 100644
index 0000000..db82722
--- /dev/null
+++ b/typings/types/wx/index.d.ts
@@ -0,0 +1,74 @@
+/*! *****************************************************************************
+Copyright (c) 2021 Tencent, Inc. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+***************************************************************************** */
+
+///
+///
+///
+///
+///
+///
+///
+
+declare namespace WechatMiniprogram {
+ type IAnyObject = Record
+ type Optional = F extends (arg: infer P) => infer R ? (arg?: P) => R : F
+ type OptionalInterface = { [K in keyof T]: Optional }
+ interface AsyncMethodOptionLike {
+ success?: (...args: any[]) => void
+ }
+ type PromisifySuccessResult<
+ P,
+ T extends AsyncMethodOptionLike
+ > = P extends { success: any }
+ ? void
+ : P extends { fail: any }
+ ? void
+ : P extends { complete: any }
+ ? void
+ : Promise>[0]>
+}
+
+declare const console: WechatMiniprogram.Console
+declare const wx: WechatMiniprogram.Wx
+/** 引入模块。返回模块通过 `module.exports` 或 `exports` 暴露的接口。 */
+declare function require(
+ /** 需要引入模块文件相对于当前文件的相对路径,或 npm 模块名,或 npm 模块路径。不支持绝对路径 */
+ module: string
+): any
+/** 引入插件。返回插件通过 `main` 暴露的接口。 */
+declare function requirePlugin(
+ /** 需要引入的插件的 alias */
+ module: string
+): any
+/** 插件引入当前使用者小程序。返回使用者小程序通过 [插件配置中 `export` 暴露的接口](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/using.html#%E5%AF%BC%E5%87%BA%E5%88%B0%E6%8F%92%E4%BB%B6)。
+ *
+ * 该接口只在插件中存在
+ *
+ * 最低基础库: `2.11.1` */
+declare function requireMiniProgram(): any
+/** 当前模块对象 */
+declare let module: {
+ /** 模块向外暴露的对象,使用 `require` 引用该模块时可以获取 */
+ exports: any
+}
+/** `module.exports` 的引用 */
+declare let exports: any
diff --git a/typings/types/wx/lib.wx.api.d.ts b/typings/types/wx/lib.wx.api.d.ts
new file mode 100644
index 0000000..4c6047a
--- /dev/null
+++ b/typings/types/wx/lib.wx.api.d.ts
@@ -0,0 +1,19671 @@
+/*! *****************************************************************************
+Copyright (c) 2021 Tencent, Inc. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+***************************************************************************** */
+
+declare namespace WechatMiniprogram {
+ interface AccessFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail no such file or directory ${path}': 文件/目录不存在;
+ * - 'fail sdcard not mounted': Android sdcard 挂载失败; */
+ errMsg: string
+ }
+ interface AccessOption {
+ /** 要判断是否存在的文件/目录路径 (本地路径) */
+ path: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: AccessCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: AccessFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: AccessSuccessCallback
+ }
+ /** 帐号信息 */
+ interface AccountInfo {
+ /** 小程序帐号信息 */
+ miniProgram: MiniProgram
+ /** 插件帐号信息(仅在插件中调用时包含这一项) */
+ plugin: Plugin
+ }
+ interface AddCardOption {
+ /** 需要添加的卡券列表 */
+ cardList: AddCardRequestInfo[]
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: AddCardCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: AddCardFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: AddCardSuccessCallback
+ }
+ /** 需要添加的卡券列表 */
+ interface AddCardRequestInfo {
+ /** 卡券的扩展参数。需将 CardExt 对象 JSON 序列化为**字符串**传入 */
+ cardExt: string
+ /** 卡券 ID */
+ cardId: string
+ }
+ /** 卡券添加结果列表 */
+ interface AddCardResponseInfo {
+ /** 卡券的扩展参数,结构请参考下文 */
+ cardExt: string
+ /** 用户领取到卡券的 ID */
+ cardId: string
+ /** 加密 code,为用户领取到卡券的code加密后的字符串,解密请参照:[code 解码接口](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1499332673_Unm7V) */
+ code: string
+ /** 是否成功 */
+ isSuccess: boolean
+ }
+ interface AddCardSuccessCallbackResult {
+ /** 卡券添加结果列表 */
+ cardList: AddCardResponseInfo[]
+ errMsg: string
+ }
+ interface AddCustomLayerOption {
+ /** 个性化图层id */
+ layerId: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: AddCustomLayerCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: AddCustomLayerFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: AddCustomLayerSuccessCallback
+ }
+ interface AddGroundOverlayOption {
+ /** 图片覆盖的经纬度范围 */
+ bounds: MapBounds
+ /** 图片图层 id */
+ id: string
+ /** 图片路径,支持网络图片、临时路径、代码包路径 */
+ src: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: AddGroundOverlayCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: AddGroundOverlayFailCallback
+ /** 图层透明度 */
+ opacity?: number
+ /** 接口调用成功的回调函数 */
+ success?: AddGroundOverlaySuccessCallback
+ /** 是否可见 */
+ visible?: boolean
+ /** 图层绘制顺序 */
+ zIndex?: number
+ }
+ interface AddMarkersOption {
+ /** 同传入 map 组件的 marker 属性 */
+ markers: any[]
+ /** 是否先清空地图上所有 marker */
+ clear?: boolean
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: AddMarkersCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: AddMarkersFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: AddMarkersSuccessCallback
+ }
+ interface AddPhoneCalendarOption {
+ /** 开始时间的 unix 时间戳 */
+ startTime: number
+ /** 日历事件标题 */
+ title: string
+ /** 是否提醒,默认 true */
+ alarm?: boolean
+ /** 提醒提前量,单位秒,默认 0 表示开始时提醒 */
+ alarmOffset?: number
+ /** 是否全天事件,默认 false */
+ allDay?: boolean
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: AddPhoneCalendarCompleteCallback
+ /** 事件说明 */
+ description?: string
+ /** 结束时间的 unix 时间戳,默认与开始时间相同 */
+ endTime?: string
+ /** 接口调用失败的回调函数 */
+ fail?: AddPhoneCalendarFailCallback
+ /** 事件位置 */
+ location?: string
+ /** 接口调用成功的回调函数 */
+ success?: AddPhoneCalendarSuccessCallback
+ }
+ interface AddPhoneContactOption {
+ /** 名字 */
+ firstName: string
+ /** 联系地址城市 */
+ addressCity?: string
+ /** 联系地址国家 */
+ addressCountry?: string
+ /** 联系地址邮政编码 */
+ addressPostalCode?: string
+ /** 联系地址省份 */
+ addressState?: string
+ /** 联系地址街道 */
+ addressStreet?: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: AddPhoneContactCompleteCallback
+ /** 电子邮件 */
+ email?: string
+ /** 接口调用失败的回调函数 */
+ fail?: AddPhoneContactFailCallback
+ /** 住宅地址城市 */
+ homeAddressCity?: string
+ /** 住宅地址国家 */
+ homeAddressCountry?: string
+ /** 住宅地址邮政编码 */
+ homeAddressPostalCode?: string
+ /** 住宅地址省份 */
+ homeAddressState?: string
+ /** 住宅地址街道 */
+ homeAddressStreet?: string
+ /** 住宅传真 */
+ homeFaxNumber?: string
+ /** 住宅电话 */
+ homePhoneNumber?: string
+ /** 公司电话 */
+ hostNumber?: string
+ /** 姓氏 */
+ lastName?: string
+ /** 中间名 */
+ middleName?: string
+ /** 手机号 */
+ mobilePhoneNumber?: string
+ /** 昵称 */
+ nickName?: string
+ /** 公司 */
+ organization?: string
+ /** 头像本地文件路径 */
+ photoFilePath?: string
+ /** 备注 */
+ remark?: string
+ /** 接口调用成功的回调函数 */
+ success?: AddPhoneContactSuccessCallback
+ /** 职位 */
+ title?: string
+ /** 网站 */
+ url?: string
+ /** 微信号 */
+ weChatNumber?: string
+ /** 工作地址城市 */
+ workAddressCity?: string
+ /** 工作地址国家 */
+ workAddressCountry?: string
+ /** 工作地址邮政编码 */
+ workAddressPostalCode?: string
+ /** 工作地址省份 */
+ workAddressState?: string
+ /** 工作地址街道 */
+ workAddressStreet?: string
+ /** 工作传真 */
+ workFaxNumber?: string
+ /** 工作电话 */
+ workPhoneNumber?: string
+ }
+ interface AddPhoneRepeatCalendarOption {
+ /** 开始时间的 unix 时间戳 (1970年1月1日开始所经过的秒数) */
+ startTime: number
+ /** 日历事件标题 */
+ title: string
+ /** 是否提醒,默认 true */
+ alarm?: boolean
+ /** 提醒提前量,单位秒,默认 0 表示开始时提醒 */
+ alarmOffset?: number
+ /** 是否全天事件,默认 false */
+ allDay?: boolean
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: AddPhoneRepeatCalendarCompleteCallback
+ /** 事件说明 */
+ description?: string
+ /** 结束时间的 unix 时间戳,默认与开始时间相同 */
+ endTime?: string
+ /** 接口调用失败的回调函数 */
+ fail?: AddPhoneRepeatCalendarFailCallback
+ /** 事件位置 */
+ location?: string
+ /** 重复周期结束时间的 unix 时间戳,不填表示一直重复 */
+ repeatEndTime?: number
+ /** 重复周期,默认 month 每月重复 */
+ repeatInterval?: string
+ /** 接口调用成功的回调函数 */
+ success?: AddPhoneRepeatCalendarSuccessCallback
+ }
+ interface AddServiceOption {
+ /** 描述service的Object */
+ service: BLEPeripheralService
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: AddServiceCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: AddServiceFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: AddServiceSuccessCallback
+ }
+ /** 广播自定义参数 */
+ interface AdvertiseReqObj {
+ /** 当前Service是否可连接 */
+ connectable?: boolean
+ /** 广播中deviceName字段,默认为空 */
+ deviceName?: string
+ /** 广播的制造商信息, 仅安卓支持 */
+ manufacturerData?: ManufacturerData[]
+ /** 要广播的serviceUuid列表 */
+ serviceUuids?: string[]
+ }
+ /** animationData */
+ interface AnimationExportResult {
+ actions: IAnyObject[]
+ }
+ /** 动画效果 */
+ interface AnimationOption {
+ /** 动画变化时间,单位 ms */
+ duration?: number
+ /** 动画变化方式
+ *
+ * 可选值:
+ * - 'linear': 动画从头到尾的速度是相同的;
+ * - 'easeIn': 动画以低速开始;
+ * - 'easeOut': 动画以低速结束;
+ * - 'easeInOut': 动画以低速开始和结束; */
+ timingFunc?: 'linear' | 'easeIn' | 'easeOut' | 'easeInOut'
+ }
+ interface AppendFileFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 文件不存在;
+ * - 'fail illegal operation on a directory, open "${filePath}"': 指定的 filePath 是一个已经存在的目录;
+ * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限;
+ * - 'fail sdcard not mounted': Android sdcard 挂载失败; */
+ errMsg: string
+ }
+ interface AppendFileOption {
+ /** 要追加的文本或二进制数据 */
+ data: string | ArrayBuffer
+ /** 要追加内容的文件路径 (本地路径) */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: AppendFileCompleteCallback
+ /** 指定写入文件的字符编码
+ *
+ * 可选值:
+ * - 'ascii': ;
+ * - 'base64': ;
+ * - 'binary': ;
+ * - 'hex': ;
+ * - 'ucs2': 以小端序读取;
+ * - 'ucs-2': 以小端序读取;
+ * - 'utf16le': 以小端序读取;
+ * - 'utf-16le': 以小端序读取;
+ * - 'utf-8': ;
+ * - 'utf8': ;
+ * - 'latin1': ; */
+ encoding?:
+ | 'ascii'
+ | 'base64'
+ | 'binary'
+ | 'hex'
+ | 'ucs2'
+ | 'ucs-2'
+ | 'utf16le'
+ | 'utf-16le'
+ | 'utf-8'
+ | 'utf8'
+ | 'latin1'
+ /** 接口调用失败的回调函数 */
+ fail?: AppendFileFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: AppendFileSuccessCallback
+ }
+ interface AuthPrivateMessageOption {
+ /** shareTicket。可以从 wx.onShow 中获取。详情 [shareTicket](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */
+ shareTicket: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: AuthPrivateMessageCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: AuthPrivateMessageFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: AuthPrivateMessageSuccessCallback
+ }
+ interface AuthPrivateMessageSuccessCallbackResult {
+ /** 经过加密的activityId,解密后可得到原始的activityId。若解密后得到的activityId可以与开发者后台的活动id对应上则验证通过,否则表明valid字段不可靠(被篡改) 详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */
+ encryptedData: string
+ /** 错误信息 */
+ errMsg: string
+ /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */
+ iv: string
+ /** 验证是否通过 */
+ valid: boolean
+ }
+ /** 用户授权设置信息,详情参考[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html) */
+ interface AuthSetting {
+ /** 是否授权通讯地址,已取消此项授权,会默认返回true */
+ 'scope.address'?: boolean
+ /** 是否授权摄像头,对应[[camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html)](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 组件 */
+ 'scope.camera'?: boolean
+ /** 是否授权获取发票,已取消此项授权,会默认返回true */
+ 'scope.invoice'?: boolean
+ /** 是否授权发票抬头,已取消此项授权,会默认返回true */
+ 'scope.invoiceTitle'?: boolean
+ /** 是否授权录音功能,对应接口 [wx.startRecord](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.startRecord.html) */
+ 'scope.record'?: boolean
+ /** 是否授权用户信息,对应接口 [wx.getUserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html) */
+ 'scope.userInfo'?: boolean
+ /** 是否授权地理位置,对应接口 [wx.getLocation](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html), [wx.chooseLocation](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.chooseLocation.html) */
+ 'scope.userLocation'?: boolean
+ /** 是否授权微信运动步数,对应接口 [wx.getWeRunData](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeRunData.html) */
+ 'scope.werun'?: boolean
+ /** 是否授权保存到相册 [wx.saveImageToPhotosAlbum](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html), [wx.saveVideoToPhotosAlbum](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.saveVideoToPhotosAlbum.html) */
+ 'scope.writePhotosAlbum'?: boolean
+ }
+ interface AuthorizeForMiniProgramOption {
+ /** 需要获取权限的 scope,详见 [scope 列表]((authorize#scope-列表))
+ *
+ * 可选值:
+ * - 'scope.record': ;
+ * - 'scope.writePhotosAlbum': ;
+ * - 'scope.camera': ; */
+ scope: 'scope.record' | 'scope.writePhotosAlbum' | 'scope.camera'
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: AuthorizeForMiniProgramCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: AuthorizeForMiniProgramFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: AuthorizeForMiniProgramSuccessCallback
+ }
+ interface AuthorizeOption {
+ /** 需要获取权限的 scope,详见 [scope 列表]((authorize#scope-列表)) */
+ scope: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: AuthorizeCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: AuthorizeFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: AuthorizeSuccessCallback
+ }
+ /** 设备特征值列表 */
+ interface BLECharacteristic {
+ /** 该特征值支持的操作类型 */
+ properties: BLECharacteristicProperties
+ /** 蓝牙设备特征值的 uuid */
+ uuid: string
+ }
+ /** 该特征值支持的操作类型 */
+ interface BLECharacteristicProperties {
+ /** 该特征值是否支持 indicate 操作 */
+ indicate: boolean
+ /** 该特征值是否支持 notify 操作 */
+ notify: boolean
+ /** 该特征值是否支持 read 操作 */
+ read: boolean
+ /** 该特征值是否支持 write 操作 */
+ write: boolean
+ }
+ interface BLEPeripheralServerCloseOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SocketTaskCloseCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SocketTaskCloseFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SocketTaskCloseSuccessCallback
+ }
+ /** 描述service的Object */
+ interface BLEPeripheralService {
+ /** characteristics列表 */
+ characteristics: Characteristic[]
+ /** service 的 uuid */
+ uuid: string
+ }
+ /** 设备服务列表 */
+ interface BLEService {
+ /** 该服务是否为主服务 */
+ isPrimary: boolean
+ /** 蓝牙设备服务的 uuid */
+ uuid: string
+ }
+ /** BackgroundAudioManager 实例,可通过 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 获取。
+*
+* **示例代码**
+*
+*
+* ```js
+const backgroundAudioManager = wx.getBackgroundAudioManager()
+
+backgroundAudioManager.title = '此时此刻'
+backgroundAudioManager.epname = '此时此刻'
+backgroundAudioManager.singer = '许巍'
+backgroundAudioManager.coverImgUrl = 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000'
+// 设置了 src 之后会自动播放
+backgroundAudioManager.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'
+``` */
+ interface BackgroundAudioManager {
+ /** 音频已缓冲的时间,仅保证当前播放时间点到此时间点内容已缓冲。(只读) */
+ buffered: number
+ /** 封面图 URL,用于做原生音频播放器背景图。原生音频播放器中的分享功能,分享出去的卡片配图及背景也将使用该图。 */
+ coverImgUrl: string
+ /** 当前音频的播放位置(单位:s),只有在有合法 src 时返回。(只读) */
+ currentTime: number
+ /** 当前音频的长度(单位:s),只有在有合法 src 时返回。(只读) */
+ duration: number
+ /** 专辑名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */
+ epname: string
+ /** 当前是否暂停或停止。(只读) */
+ paused: boolean
+ /** 播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本)
+ *
+ * 最低基础库: `2.11.0` */
+ playbackRate: number
+ /** 音频协议。默认值为 'http',设置 'hls' 可以支持播放 HLS 协议的直播音频。
+ *
+ * 最低基础库: `1.9.94` */
+ protocol: string
+ /** 歌手名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */
+ singer: string
+ /** 音频的数据源([2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持云文件ID)。默认为空字符串,**当设置了新的 src 时,会自动开始播放**,目前支持的格式有 m4a, aac, mp3, wav。 */
+ src: string
+ /** 音频开始播放的位置(单位:s)。 */
+ startTime: number
+ /** 音频标题,用于原生音频播放器音频标题(必填)。原生音频播放器中的分享功能,分享出去的卡片标题,也将使用该值。 */
+ title: string
+ /** 页面链接,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */
+ webUrl: string
+ }
+ interface BlueToothDevice {
+ /** 当前蓝牙设备的信号强度 */
+ RSSI: number
+ /** 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段。 */
+ advertisData: ArrayBuffer
+ /** 当前蓝牙设备的广播数据段中的 ServiceUUIDs 数据段 */
+ advertisServiceUUIDs: string[]
+ /** 用于区分设备的 id */
+ deviceId: string
+ /** 当前蓝牙设备的广播数据段中的 LocalName 数据段 */
+ localName: string
+ /** 蓝牙设备名称,某些设备可能没有 */
+ name: string
+ /** 当前蓝牙设备的广播数据段中的 ServiceData 数据段 */
+ serviceData: IAnyObject
+ }
+ /** 搜索到的设备列表 */
+ interface BluetoothDeviceInfo {
+ /** 用于区分设备的 id */
+ deviceId: string
+ /** 蓝牙设备名称,某些设备可能没有 */
+ name: string
+ }
+ interface BlurOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: BlurCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: BlurFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: BlurSuccessCallback
+ }
+ interface BoundingClientRectCallbackResult {
+ /** 节点的下边界坐标 */
+ bottom: number
+ /** 节点的 dataset */
+ dataset: IAnyObject
+ /** 节点的高度 */
+ height: number
+ /** 节点的 ID */
+ id: string
+ /** 节点的左边界坐标 */
+ left: number
+ /** 节点的右边界坐标 */
+ right: number
+ /** 节点的上边界坐标 */
+ top: number
+ /** 节点的宽度 */
+ width: number
+ }
+ /** 目标边界 */
+ interface BoundingClientRectResult {
+ /** 下边界 */
+ bottom: number
+ /** 高度 */
+ height: number
+ /** 左边界 */
+ left: number
+ /** 右边界 */
+ right: number
+ /** 上边界 */
+ top: number
+ /** 宽度 */
+ width: number
+ }
+ interface CameraContextStartRecordOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartRecordCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartRecordFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: CameraContextStartRecordSuccessCallback
+ /** 超过30s或页面 `onHide` 时会结束录像 */
+ timeoutCallback?: StartRecordTimeoutCallback
+ }
+ interface CameraContextStopRecordOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopRecordCompleteCallback
+ /** 启动视频压缩,压缩效果同`chooseVideo` */
+ compressed?: boolean
+ /** 接口调用失败的回调函数 */
+ fail?: StopRecordFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: CameraContextStopRecordSuccessCallback
+ }
+ interface CameraFrameListenerStartOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StartSuccessCallback
+ }
+ /** Canvas 实例,可通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取。
+ *
+ * **示例代码**
+ *
+ *
+ *
+ * 2D Canvas 示例
+ * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/SHfgCmmq7UcM)
+ *
+ * WebGL 示例
+ * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/qEGUOqmf7T8z)
+ *
+ * 最低基础库: `2.7.0` */
+ interface Canvas {
+ /** 画布高度 */
+ height: number
+ /** 画布宽度 */
+ width: number
+ }
+ /** canvas 组件的绘图上下文。CanvasContext 是旧版的接口, 新版 Canvas 2D 接口与 Web 一致。 */
+ interface CanvasContext {
+ /** 填充颜色。用法同 [CanvasContext.setFillStyle()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html)。
+ *
+ * 最低基础库: `1.9.90` */
+ fillStyle: string | CanvasGradient
+ /** 当前字体样式的属性。符合 [CSS font 语法](https://developer.mozilla.org/zh-CN/docs/Web/CSS/font) 的 DOMString 字符串,至少需要提供字体大小和字体族名。默认值为 10px sans-serif。
+ *
+ * 最低基础库: `1.9.90` */
+ font: string
+ /** 全局画笔透明度。范围 0-1,0 表示完全透明,1 表示完全不透明。 */
+ globalAlpha: number
+ /** 在绘制新形状时应用的合成操作的类型。目前安卓版本只适用于 `fill` 填充块的合成,用于 `stroke` 线段的合成效果都是 `source-over`。
+ *
+ * 目前支持的操作有
+ * - 安卓:xor, source-over, source-atop, destination-out, lighter, overlay, darken, lighten, hard-light
+ * - iOS:xor, source-over, source-atop, destination-over, destination-out, lighter, multiply, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, saturation, luminosity
+ *
+ * 最低基础库: `1.9.90` */
+ globalCompositeOperation: string
+ /** 线条的端点样式。用法同 [CanvasContext.setLineCap()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineCap.html)。
+ *
+ * 最低基础库: `1.9.90` */
+ lineCap: string
+ /** 虚线偏移量,初始值为0
+ *
+ * 最低基础库: `1.9.90` */
+ lineDashOffset: number
+ /** 线条的交点样式。用法同 [CanvasContext.setLineJoin()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html)。
+ *
+ * 可选值:
+ * - 'bevel': 斜角;
+ * - 'round': 圆角;
+ * - 'miter': 尖角;
+ *
+ * 最低基础库: `1.9.90` */
+ lineJoin: 'bevel' | 'round' | 'miter'
+ /** 线条的宽度。用法同 [CanvasContext.setLineWidth()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineWidth.html)。
+ *
+ * 最低基础库: `1.9.90` */
+ lineWidth: number
+ /** 最大斜接长度。用法同 [CanvasContext.setMiterLimit()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setMiterLimit.html)。
+ *
+ * 最低基础库: `1.9.90` */
+ miterLimit: number
+ /** 阴影的模糊级别
+ *
+ * 最低基础库: `1.9.90` */
+ shadowBlur: number
+ /** 阴影的颜色
+ *
+ * 最低基础库: `1.9.90` */
+ shadowColor: number
+ /** 阴影相对于形状在水平方向的偏移
+ *
+ * 最低基础库: `1.9.90` */
+ shadowOffsetX: number
+ /** 阴影相对于形状在竖直方向的偏移
+ *
+ * 最低基础库: `1.9.90` */
+ shadowOffsetY: number
+ /** 边框颜色。用法同 [CanvasContext.setStrokeStyle()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html)。
+ *
+ * 最低基础库: `1.9.90` */
+ strokeStyle: string | CanvasGradient
+ }
+ interface CanvasGetImageDataOption {
+ /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 `canvas-id` 属性。 */
+ canvasId: string
+ /** 将要被提取的图像数据矩形区域的高度 */
+ height: number
+ /** 将要被提取的图像数据矩形区域的宽度 */
+ width: number
+ /** 将要被提取的图像数据矩形区域的左上角横坐标 */
+ x: number
+ /** 将要被提取的图像数据矩形区域的左上角纵坐标 */
+ y: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CanvasGetImageDataCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: CanvasGetImageDataFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: CanvasGetImageDataSuccessCallback
+ }
+ interface CanvasGetImageDataSuccessCallbackResult {
+ /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */
+ data: Uint8ClampedArray
+ /** 图像数据矩形的高度 */
+ height: number
+ /** 图像数据矩形的宽度 */
+ width: number
+ errMsg: string
+ }
+ interface CanvasPutImageDataOption {
+ /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 canvas-id 属性。 */
+ canvasId: string
+ /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */
+ data: Uint8ClampedArray
+ /** 源图像数据矩形区域的高度 */
+ height: number
+ /** 源图像数据矩形区域的宽度 */
+ width: number
+ /** 源图像数据在目标画布中的位置偏移量(x 轴方向的偏移量) */
+ x: number
+ /** 源图像数据在目标画布中的位置偏移量(y 轴方向的偏移量) */
+ y: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CanvasPutImageDataCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: CanvasPutImageDataFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: CanvasPutImageDataSuccessCallback
+ }
+ interface CanvasToTempFilePathOption {
+ /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件实例 (canvas type="2d" 时使用该属性)。 */
+ canvas?: IAnyObject
+ /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 canvas-id */
+ canvasId?: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CanvasToTempFilePathCompleteCallback
+ /** 输出的图片的高度
+ *
+ * 最低基础库: `1.2.0` */
+ destHeight?: number
+ /** 输出的图片的宽度
+ *
+ * 最低基础库: `1.2.0` */
+ destWidth?: number
+ /** 接口调用失败的回调函数 */
+ fail?: CanvasToTempFilePathFailCallback
+ /** 目标文件的类型
+ *
+ * 可选值:
+ * - 'jpg': jpg 图片;
+ * - 'png': png 图片;
+ *
+ * 最低基础库: `1.7.0` */
+ fileType?: 'jpg' | 'png'
+ /** 指定的画布区域的高度
+ *
+ * 最低基础库: `1.2.0` */
+ height?: number
+ /** 图片的质量,目前仅对 jpg 有效。取值范围为 (0, 1],不在范围内时当作 1.0 处理。
+ *
+ * 最低基础库: `1.7.0` */
+ quality?: number
+ /** 接口调用成功的回调函数 */
+ success?: CanvasToTempFilePathSuccessCallback
+ /** 指定的画布区域的宽度
+ *
+ * 最低基础库: `1.2.0` */
+ width?: number
+ /** 指定的画布区域的左上角横坐标
+ *
+ * 最低基础库: `1.2.0` */
+ x?: number
+ /** 指定的画布区域的左上角纵坐标
+ *
+ * 最低基础库: `1.2.0` */
+ y?: number
+ }
+ interface CanvasToTempFilePathSuccessCallbackResult {
+ /** 生成文件的临时路径 (本地路径) */
+ tempFilePath: string
+ errMsg: string
+ }
+ /** characteristics列表 */
+ interface Characteristic {
+ /** Characteristic 的 uuid */
+ uuid: string
+ /** 描述符数据 */
+ descriptors?: CharacteristicDescriptor[]
+ /** 特征值权限 */
+ permission?: CharacteristicPermission
+ /** 特征值支持的操作 */
+ properties?: CharacteristicProperties
+ /** 特征值对应的二进制值 */
+ value?: ArrayBuffer
+ }
+ /** 描述符数据 */
+ interface CharacteristicDescriptor {
+ /** Descriptor 的 uuid */
+ uuid: string
+ /** 描述符的权限 */
+ permission?: DescriptorPermission
+ /** 描述符数据 */
+ value?: ArrayBuffer
+ }
+ /** 特征值权限 */
+ interface CharacteristicPermission {
+ /** 加密读请求 */
+ readEncryptionRequired?: boolean
+ /** 可读 */
+ readable?: boolean
+ /** 加密写请求 */
+ writeEncryptionRequired?: boolean
+ /** 可写 */
+ writeable?: boolean
+ }
+ /** 特征值支持的操作 */
+ interface CharacteristicProperties {
+ /** 回包 */
+ indicate?: boolean
+ /** 订阅 */
+ notify?: boolean
+ /** 读 */
+ read?: boolean
+ /** 写 */
+ write?: boolean
+ }
+ interface CheckIsOpenAccessibilityOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CheckIsOpenAccessibilityCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: CheckIsOpenAccessibilityFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: CheckIsOpenAccessibilitySuccessCallback
+ }
+ interface CheckIsOpenAccessibilitySuccessCallbackOption {
+ /** iOS 上开启辅助功能旁白,安卓开启 talkback 时返回 true */
+ open: boolean
+ }
+ interface CheckIsSoterEnrolledInDeviceOption {
+ /** 认证方式
+ *
+ * 可选值:
+ * - 'fingerPrint': 指纹识别;
+ * - 'facial': 人脸识别;
+ * - 'speech': 声纹识别(暂未支持); */
+ checkAuthMode: 'fingerPrint' | 'facial' | 'speech'
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CheckIsSoterEnrolledInDeviceCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: CheckIsSoterEnrolledInDeviceFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: CheckIsSoterEnrolledInDeviceSuccessCallback
+ }
+ interface CheckIsSoterEnrolledInDeviceSuccessCallbackResult {
+ /** 错误信息 */
+ errMsg: string
+ /** 是否已录入信息 */
+ isEnrolled: boolean
+ }
+ interface CheckIsSupportSoterAuthenticationOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CheckIsSupportSoterAuthenticationCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: CheckIsSupportSoterAuthenticationFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: CheckIsSupportSoterAuthenticationSuccessCallback
+ }
+ interface CheckIsSupportSoterAuthenticationSuccessCallbackResult {
+ /** 该设备支持的可被SOTER识别的生物识别方式
+ *
+ * 可选值:
+ * - 'fingerPrint': 指纹识别;
+ * - 'facial': 人脸识别;
+ * - 'speech': 声纹识别(暂未支持); */
+ supportMode: Array<'fingerPrint' | 'facial' | 'speech'>
+ errMsg: string
+ }
+ interface CheckSessionOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CheckSessionCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: CheckSessionFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: CheckSessionSuccessCallback
+ }
+ interface ChooseAddressOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ChooseAddressCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ChooseAddressFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ChooseAddressSuccessCallback
+ }
+ interface ChooseAddressSuccessCallbackResult {
+ /** 国标收货地址第二级地址 */
+ cityName: string
+ /** 国标收货地址第三级地址 */
+ countyName: string
+ /** 详细收货地址信息 */
+ detailInfo: string
+ /** 错误信息 */
+ errMsg: string
+ /** 收货地址国家码 */
+ nationalCode: string
+ /** 邮编 */
+ postalCode: string
+ /** 国标收货地址第一级地址 */
+ provinceName: string
+ /** 收货人手机号码 */
+ telNumber: string
+ /** 收货人姓名 */
+ userName: string
+ }
+ /** 返回选择的文件的本地临时文件对象数组 */
+ interface ChooseFile {
+ /** 选择的文件名称 */
+ name: string
+ /** 本地临时文件路径 (本地路径) */
+ path: string
+ /** 本地临时文件大小,单位 B */
+ size: number
+ /** 选择的文件的会话发送时间,Unix时间戳,工具暂不支持此属性 */
+ time: number
+ /** 选择的文件类型
+ *
+ * 可选值:
+ * - 'video': 选择了视频文件;
+ * - 'image': 选择了图片文件;
+ * - 'file': 选择了除图片和视频的文件; */
+ type: 'video' | 'image' | 'file'
+ }
+ interface ChooseImageOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ChooseImageCompleteCallback
+ /** 最多可以选择的图片张数 */
+ count?: number
+ /** 接口调用失败的回调函数 */
+ fail?: ChooseImageFailCallback
+ /** 所选的图片的尺寸
+ *
+ * 可选值:
+ * - 'original': 原图;
+ * - 'compressed': 压缩图; */
+ sizeType?: Array<'original' | 'compressed'>
+ /** 选择图片的来源
+ *
+ * 可选值:
+ * - 'album': 从相册选图;
+ * - 'camera': 使用相机; */
+ sourceType?: Array<'album' | 'camera'>
+ /** 接口调用成功的回调函数 */
+ success?: ChooseImageSuccessCallback
+ }
+ interface ChooseImageSuccessCallbackResult {
+ /** 图片的本地临时文件路径列表 (本地路径) */
+ tempFilePaths: string[]
+ /** 图片的本地临时文件列表
+ *
+ * 最低基础库: `1.2.0` */
+ tempFiles: ImageFile[]
+ errMsg: string
+ }
+ interface ChooseInvoiceOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ChooseInvoiceCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ChooseInvoiceFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ChooseInvoiceSuccessCallback
+ }
+ interface ChooseInvoiceSuccessCallbackResult {
+ /** 用户选中的发票信息,格式为一个 JSON 字符串,包含三个字段: card_id:所选发票卡券的 cardId,encrypt_code:所选发票卡券的加密 code,报销方可以通过 cardId 和 encryptCode 获得报销发票的信息,app_id: 发票方的 appId。 */
+ invoiceInfo: string
+ errMsg: string
+ }
+ interface ChooseInvoiceTitleOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ChooseInvoiceTitleCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ChooseInvoiceTitleFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ChooseInvoiceTitleSuccessCallback
+ }
+ interface ChooseInvoiceTitleSuccessCallbackResult {
+ /** 银行账号 */
+ bankAccount: string
+ /** 银行名称 */
+ bankName: string
+ /** 单位地址 */
+ companyAddress: string
+ /** 错误信息 */
+ errMsg: string
+ /** 抬头税号 */
+ taxNumber: string
+ /** 手机号码 */
+ telephone: string
+ /** 抬头名称 */
+ title: string
+ /** 抬头类型
+ *
+ * 可选值:
+ * - 0: 单位;
+ * - 1: 个人; */
+ type: 0 | 1
+ }
+ interface ChooseLocationOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ChooseLocationCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ChooseLocationFailCallback
+ /** 目标地纬度
+ *
+ * 最低基础库: `2.9.0` */
+ latitude?: number
+ /** 目标地经度
+ *
+ * 最低基础库: `2.9.0` */
+ longitude?: number
+ /** 接口调用成功的回调函数 */
+ success?: ChooseLocationSuccessCallback
+ }
+ interface ChooseLocationSuccessCallbackResult {
+ /** 详细地址 */
+ address: string
+ /** 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系 */
+ latitude: string
+ /** 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系 */
+ longitude: string
+ /** 位置名称 */
+ name: string
+ errMsg: string
+ }
+ interface ChooseMediaOption {
+ /** 仅在 sourceType 为 camera 时生效,使用前置或后置摄像头
+ *
+ * 可选值:
+ * - 'back': 使用后置摄像头;
+ * - 'front': 使用前置摄像头; */
+ camera?: 'back' | 'front'
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ChooseMediaCompleteCallback
+ /** 最多可以选择的文件个数 */
+ count?: number
+ /** 接口调用失败的回调函数 */
+ fail?: ChooseMediaFailCallback
+ /** 拍摄视频最长拍摄时间,单位秒。时间范围为 3s 至 30s 之间 */
+ maxDuration?: number
+ /** 文件类型
+ *
+ * 可选值:
+ * - 'image': 只能拍摄图片或从相册选择图片;
+ * - 'video': 只能拍摄视频或从相册选择视频; */
+ mediaType?: Array<'image' | 'video'>
+ /** 仅对 mediaType 为 image 时有效,是否压缩所选文件 */
+ sizeType?: string[]
+ /** 图片和视频选择的来源
+ *
+ * 可选值:
+ * - 'album': 从相册选择;
+ * - 'camera': 使用相机拍摄; */
+ sourceType?: Array<'album' | 'camera'>
+ /** 接口调用成功的回调函数 */
+ success?: ChooseMediaSuccessCallback
+ }
+ interface ChooseMediaSuccessCallbackResult {
+ /** 本地临时文件列表 */
+ tempFiles: MediaFile[]
+ /** 文件类型,有效值有 image 、video */
+ type: string
+ errMsg: string
+ }
+ interface ChooseMessageFileOption {
+ /** 最多可以选择的文件个数,可以 0~100 */
+ count: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ChooseMessageFileCompleteCallback
+ /** 根据文件拓展名过滤,仅 type==file 时有效。每一项都不能是空字符串。默认不过滤。
+ *
+ * 最低基础库: `2.6.0` */
+ extension?: string[]
+ /** 接口调用失败的回调函数 */
+ fail?: ChooseMessageFileFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ChooseMessageFileSuccessCallback
+ /** 所选的文件的类型
+ *
+ * 可选值:
+ * - 'all': 从所有文件选择;
+ * - 'video': 只能选择视频文件;
+ * - 'image': 只能选择图片文件;
+ * - 'file': 可以选择除了图片和视频之外的其它的文件; */
+ type?: 'all' | 'video' | 'image' | 'file'
+ }
+ interface ChooseMessageFileSuccessCallbackResult {
+ /** 返回选择的文件的本地临时文件对象数组 */
+ tempFiles: ChooseFile[]
+ errMsg: string
+ }
+ interface ChooseVideoOption {
+ /** 默认拉起的是前置或者后置摄像头。部分 Android 手机下由于系统 ROM 不支持无法生效
+ *
+ * 可选值:
+ * - 'back': 默认拉起后置摄像头;
+ * - 'front': 默认拉起前置摄像头; */
+ camera?: 'back' | 'front'
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ChooseVideoCompleteCallback
+ /** 是否压缩所选择的视频文件
+ *
+ * 最低基础库: `1.6.0` */
+ compressed?: boolean
+ /** 接口调用失败的回调函数 */
+ fail?: ChooseVideoFailCallback
+ /** 拍摄视频最长拍摄时间,单位秒 */
+ maxDuration?: number
+ /** 视频选择的来源
+ *
+ * 可选值:
+ * - 'album': 从相册选择视频;
+ * - 'camera': 使用相机拍摄视频; */
+ sourceType?: Array<'album' | 'camera'>
+ /** 接口调用成功的回调函数 */
+ success?: ChooseVideoSuccessCallback
+ }
+ interface ChooseVideoSuccessCallbackResult {
+ /** 选定视频的时间长度 */
+ duration: number
+ /** 返回选定视频的高度 */
+ height: number
+ /** 选定视频的数据量大小 */
+ size: number
+ /** 选定视频的临时文件路径 (本地路径) */
+ tempFilePath: string
+ /** 返回选定视频的宽度 */
+ width: number
+ errMsg: string
+ }
+ interface ClearOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ClearCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ClearFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ClearSuccessCallback
+ }
+ interface ClearStorageOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ClearStorageCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ClearStorageFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ClearStorageSuccessCallback
+ }
+ interface CloseBLEConnectionOption {
+ /** 用于区分设备的 id */
+ deviceId: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CloseBLEConnectionCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: CloseBLEConnectionFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: CloseBLEConnectionSuccessCallback
+ }
+ interface CloseBluetoothAdapterOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CloseBluetoothAdapterCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: CloseBluetoothAdapterFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: CloseBluetoothAdapterSuccessCallback
+ }
+ interface CloseSocketOption {
+ /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */
+ code?: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CloseSocketCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: CloseSocketFailCallback
+ /** 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符)。 */
+ reason?: string
+ /** 接口调用成功的回调函数 */
+ success?: CloseSocketSuccessCallback
+ }
+ /** 颜色。可以用以下几种方式来表示 canvas 中使用的颜色:
+ *
+ * - RGB 颜色: 如 `'rgb(255, 0, 0)'`
+ * - RGBA 颜色:如 `'rgba(255, 0, 0, 0.3)'`
+ * - 16 进制颜色: 如 `'#FF0000'`
+ * - 预定义的颜色: 如 `'red'`
+ *
+ * 其中预定义颜色有以下148个:
+ * *注意**: Color Name 大小写不敏感
+ *
+ * | Color Name | HEX |
+ * | -------------------- | ------- |
+ * | AliceBlue | #F0F8FF |
+ * | AntiqueWhite | #FAEBD7 |
+ * | Aqua | #00FFFF |
+ * | Aquamarine | #7FFFD4 |
+ * | Azure | #F0FFFF |
+ * | Beige | #F5F5DC |
+ * | Bisque | #FFE4C4 |
+ * | Black | #000000 |
+ * | BlanchedAlmond | #FFEBCD |
+ * | Blue | #0000FF |
+ * | BlueViolet | #8A2BE2 |
+ * | Brown | #A52A2A |
+ * | BurlyWood | #DEB887 |
+ * | CadetBlue | #5F9EA0 |
+ * | Chartreuse | #7FFF00 |
+ * | Chocolate | #D2691E |
+ * | Coral | #FF7F50 |
+ * | CornflowerBlue | #6495ED |
+ * | Cornsilk | #FFF8DC |
+ * | Crimson | #DC143C |
+ * | Cyan | #00FFFF |
+ * | DarkBlue | #00008B |
+ * | DarkCyan | #008B8B |
+ * | DarkGoldenRod | #B8860B |
+ * | DarkGray | #A9A9A9 |
+ * | DarkGrey | #A9A9A9 |
+ * | DarkGreen | #006400 |
+ * | DarkKhaki | #BDB76B |
+ * | DarkMagenta | #8B008B |
+ * | DarkOliveGreen | #556B2F |
+ * | DarkOrange | #FF8C00 |
+ * | DarkOrchid | #9932CC |
+ * | DarkRed | #8B0000 |
+ * | DarkSalmon | #E9967A |
+ * | DarkSeaGreen | #8FBC8F |
+ * | DarkSlateBlue | #483D8B |
+ * | DarkSlateGray | #2F4F4F |
+ * | DarkSlateGrey | #2F4F4F |
+ * | DarkTurquoise | #00CED1 |
+ * | DarkViolet | #9400D3 |
+ * | DeepPink | #FF1493 |
+ * | DeepSkyBlue | #00BFFF |
+ * | DimGray | #696969 |
+ * | DimGrey | #696969 |
+ * | DodgerBlue | #1E90FF |
+ * | FireBrick | #B22222 |
+ * | FloralWhite | #FFFAF0 |
+ * | ForestGreen | #228B22 |
+ * | Fuchsia | #FF00FF |
+ * | Gainsboro | #DCDCDC |
+ * | GhostWhite | #F8F8FF |
+ * | Gold | #FFD700 |
+ * | GoldenRod | #DAA520 |
+ * | Gray | #808080 |
+ * | Grey | #808080 |
+ * | Green | #008000 |
+ * | GreenYellow | #ADFF2F |
+ * | HoneyDew | #F0FFF0 |
+ * | HotPink | #FF69B4 |
+ * | IndianRed | #CD5C5C |
+ * | Indigo | #4B0082 |
+ * | Ivory | #FFFFF0 |
+ * | Khaki | #F0E68C |
+ * | Lavender | #E6E6FA |
+ * | LavenderBlush | #FFF0F5 |
+ * | LawnGreen | #7CFC00 |
+ * | LemonChiffon | #FFFACD |
+ * | LightBlue | #ADD8E6 |
+ * | LightCoral | #F08080 |
+ * | LightCyan | #E0FFFF |
+ * | LightGoldenRodYellow | #FAFAD2 |
+ * | LightGray | #D3D3D3 |
+ * | LightGrey | #D3D3D3 |
+ * | LightGreen | #90EE90 |
+ * | LightPink | #FFB6C1 |
+ * | LightSalmon | #FFA07A |
+ * | LightSeaGreen | #20B2AA |
+ * | LightSkyBlue | #87CEFA |
+ * | LightSlateGray | #778899 |
+ * | LightSlateGrey | #778899 |
+ * | LightSteelBlue | #B0C4DE |
+ * | LightYellow | #FFFFE0 |
+ * | Lime | #00FF00 |
+ * | LimeGreen | #32CD32 |
+ * | Linen | #FAF0E6 |
+ * | Magenta | #FF00FF |
+ * | Maroon | #800000 |
+ * | MediumAquaMarine | #66CDAA |
+ * | MediumBlue | #0000CD |
+ * | MediumOrchid | #BA55D3 |
+ * | MediumPurple | #9370DB |
+ * | MediumSeaGreen | #3CB371 |
+ * | MediumSlateBlue | #7B68EE |
+ * | MediumSpringGreen | #00FA9A |
+ * | MediumTurquoise | #48D1CC |
+ * | MediumVioletRed | #C71585 |
+ * | MidnightBlue | #191970 |
+ * | MintCream | #F5FFFA |
+ * | MistyRose | #FFE4E1 |
+ * | Moccasin | #FFE4B5 |
+ * | NavajoWhite | #FFDEAD |
+ * | Navy | #000080 |
+ * | OldLace | #FDF5E6 |
+ * | Olive | #808000 |
+ * | OliveDrab | #6B8E23 |
+ * | Orange | #FFA500 |
+ * | OrangeRed | #FF4500 |
+ * | Orchid | #DA70D6 |
+ * | PaleGoldenRod | #EEE8AA |
+ * | PaleGreen | #98FB98 |
+ * | PaleTurquoise | #AFEEEE |
+ * | PaleVioletRed | #DB7093 |
+ * | PapayaWhip | #FFEFD5 |
+ * | PeachPuff | #FFDAB9 |
+ * | Peru | #CD853F |
+ * | Pink | #FFC0CB |
+ * | Plum | #DDA0DD |
+ * | PowderBlue | #B0E0E6 |
+ * | Purple | #800080 |
+ * | RebeccaPurple | #663399 |
+ * | Red | #FF0000 |
+ * | RosyBrown | #BC8F8F |
+ * | RoyalBlue | #4169E1 |
+ * | SaddleBrown | #8B4513 |
+ * | Salmon | #FA8072 |
+ * | SandyBrown | #F4A460 |
+ * | SeaGreen | #2E8B57 |
+ * | SeaShell | #FFF5EE |
+ * | Sienna | #A0522D |
+ * | Silver | #C0C0C0 |
+ * | SkyBlue | #87CEEB |
+ * | SlateBlue | #6A5ACD |
+ * | SlateGray | #708090 |
+ * | SlateGrey | #708090 |
+ * | Snow | #FFFAFA |
+ * | SpringGreen | #00FF7F |
+ * | SteelBlue | #4682B4 |
+ * | Tan | #D2B48C |
+ * | Teal | #008080 |
+ * | Thistle | #D8BFD8 |
+ * | Tomato | #FF6347 |
+ * | Turquoise | #40E0D0 |
+ * | Violet | #EE82EE |
+ * | Wheat | #F5DEB3 |
+ * | White | #FFFFFF |
+ * | WhiteSmoke | #F5F5F5 |
+ * | Yellow | #FFFF00 |
+ * | YellowGreen | #9ACD32 | */
+ interface Color {}
+ interface CompressImageOption {
+ /** 图片路径,图片的路径,支持本地路径、代码包路径 */
+ src: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CompressImageCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: CompressImageFailCallback
+ /** 压缩质量,范围0~100,数值越小,质量越低,压缩率越高(仅对jpg有效)。 */
+ quality?: number
+ /** 接口调用成功的回调函数 */
+ success?: CompressImageSuccessCallback
+ }
+ interface CompressImageSuccessCallbackResult {
+ /** 压缩后图片的临时文件路径 (本地路径) */
+ tempFilePath: string
+ errMsg: string
+ }
+ interface CompressVideoOption {
+ /** 码率,单位 kbps */
+ bitrate: number
+ /** 帧率 */
+ fps: number
+ /** 压缩质量
+ *
+ * 可选值:
+ * - 'low': 低;
+ * - 'medium': 中;
+ * - 'high': 高; */
+ quality: 'low' | 'medium' | 'high'
+ /** 相对于原视频的分辨率比例,取值范围(0, 1] */
+ resolution: number
+ /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 */
+ src: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CompressVideoCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: CompressVideoFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: CompressVideoSuccessCallback
+ }
+ interface CompressVideoSuccessCallbackResult {
+ /** 压缩后的大小,单位 kB */
+ size: string
+ /** 压缩后的临时文件地址 */
+ tempFilePath: string
+ errMsg: string
+ }
+ interface ConnectOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ConnectCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ConnectFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ConnectSuccessCallback
+ }
+ interface ConnectSocketOption {
+ /** 开发者服务器 wss 接口地址 */
+ url: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ConnectSocketCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ConnectSocketFailCallback
+ /** HTTP Header,Header 中不能设置 Referer */
+ header?: IAnyObject
+ /** 是否开启压缩扩展
+ *
+ * 最低基础库: `2.8.0` */
+ perMessageDeflate?: boolean
+ /** 子协议数组
+ *
+ * 最低基础库: `1.4.0` */
+ protocols?: string[]
+ /** 接口调用成功的回调函数 */
+ success?: ConnectSocketSuccessCallback
+ /** 建立 TCP 连接的时候的 TCP_NODELAY 设置
+ *
+ * 最低基础库: `2.4.0` */
+ tcpNoDelay?: boolean
+ /** 超时时间,单位为毫秒
+ *
+ * 最低基础库: `2.10.0` */
+ timeout?: number
+ }
+ interface ConnectWifiOption {
+ /** Wi-Fi 设备 SSID */
+ SSID: string
+ /** Wi-Fi 设备密码 */
+ password: string
+ /** Wi-Fi 设备 BSSID */
+ BSSID?: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ConnectWifiCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ConnectWifiFailCallback
+ /** 跳转到系统设置页进行连接,仅安卓生效
+ *
+ * 最低基础库: `2.12.0` */
+ maunal?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: ConnectWifiSuccessCallback
+ }
+ interface ContextCallbackResult {
+ /** 节点对应的 Context 对象 */
+ context: IAnyObject
+ }
+ interface CopyFileFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail permission denied, copyFile ${srcPath} -> ${destPath}': 指定目标文件路径没有写权限;
+ * - 'fail no such file or directory, copyFile ${srcPath} -> ${destPath}': 源文件不存在,或目标文件路径的上层目录不存在;
+ * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足;
+ * - 'fail sdcard not mounted': Android sdcard 挂载失败; */
+ errMsg: string
+ }
+ interface CopyFileOption {
+ /** 目标文件路径,支持本地路径 */
+ destPath: string
+ /** 源文件路径,支持本地路径 */
+ srcPath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CopyFileCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: CopyFileFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: CopyFileSuccessCallback
+ }
+ interface CreateBLEConnectionOption {
+ /** 用于区分设备的 id */
+ deviceId: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CreateBLEConnectionCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: CreateBLEConnectionFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: CreateBLEConnectionSuccessCallback
+ /** 超时时间,单位ms,不填表示不会超时 */
+ timeout?: number
+ }
+ interface CreateBLEPeripheralServerOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: CreateBLEPeripheralServerCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: CreateBLEPeripheralServerFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: CreateBLEPeripheralServerSuccessCallback
+ }
+ interface CreateBLEPeripheralServerSuccessCallbackResult {
+ /** [BLEPeripheralServer](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.html)
+ *
+ * 外围设备的服务端。 */
+ server: BLEPeripheralServer
+ errMsg: string
+ }
+ /** 选项 */
+ interface CreateIntersectionObserverOption {
+ /** 初始的相交比例,如果调用时检测到的相交比例与这个值不相等且达到阈值,则会触发一次监听器的回调函数。 */
+ initialRatio?: number
+ /** 是否同时观测多个目标节点(而非一个),如果设为 true ,observe 的 targetSelector 将选中多个节点(注意:同时选中过多节点将影响渲染性能)
+ *
+ * 最低基础库: `2.0.0` */
+ observeAll?: boolean
+ /** 一个数值数组,包含所有阈值。 */
+ thresholds?: number[]
+ }
+ interface CreateInterstitialAdOption {
+ /** 广告单元 id */
+ adUnitId: string
+ }
+ interface CreateMediaRecorderOption {
+ /** 指定录制的时长(s),到达自动停止。最大 7200,最小 5 */
+ duration?: number
+ /** 视频 fps */
+ fps?: number
+ /** 视频关键帧间隔 */
+ gop?: number
+ /** 视频比特率(kbps),最小值 600,最大值 3000 */
+ videoBitsPerSecond?: number
+ }
+ interface CreateRewardedVideoAdOption {
+ /** 广告单元 id */
+ adUnitId: string
+ /** 是否启用多例模式,默认为false
+ *
+ * 最低基础库: `2.8.0` */
+ multiton?: boolean
+ }
+ /** 可选参数 */
+ interface CreateWorkerOption {
+ /** 是否使用实验worker。在iOS下,实验worker的JS运行效率比非实验worker提升近十倍,如需在worker内进行重度计算的建议开启此选项。
+ *
+ * 最低基础库: `2.13.0` */
+ useExperimentalWorker?: boolean
+ }
+ /** 弹幕内容 */
+ interface Danmu {
+ /** 弹幕文字 */
+ text: string
+ /** 弹幕颜色 */
+ color?: string
+ }
+ /** 可选的字体描述符 */
+ interface DescOption {
+ /** 字体样式,可选值为 normal / italic / oblique */
+ style?: string
+ /** 设置小型大写字母的字体显示文本,可选值为 normal / small-caps / inherit */
+ variant?: string
+ /** 字体粗细,可选值为 normal / bold / 100 / 200../ 900 */
+ weight?: string
+ }
+ /** 描述符的权限 */
+ interface DescriptorPermission {
+ /** 读 */
+ read?: boolean
+ /** 写 */
+ write?: boolean
+ }
+ /** 指定 marker 移动到的目标点 */
+ interface DestinationOption {
+ /** 纬度 */
+ latitude: number
+ /** 经度 */
+ longitude: number
+ }
+ interface DisableAlertBeforeUnloadOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: DisableAlertBeforeUnloadCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: DisableAlertBeforeUnloadFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: DisableAlertBeforeUnloadSuccessCallback
+ }
+ interface DownloadFileOption {
+ /** 下载资源的 url */
+ url: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: DownloadFileCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: DownloadFileFailCallback
+ /** 指定文件下载后存储的路径 (本地路径)
+ *
+ * 最低基础库: `1.8.0` */
+ filePath?: string
+ /** HTTP 请求的 Header,Header 中不能设置 Referer */
+ header?: IAnyObject
+ /** 接口调用成功的回调函数 */
+ success?: DownloadFileSuccessCallback
+ /** 超时时间,单位为毫秒
+ *
+ * 最低基础库: `2.10.0` */
+ timeout?: number
+ }
+ interface DownloadFileSuccessCallbackResult {
+ /** 用户文件路径 (本地路径)。传入 filePath 时会返回,跟传入的 filePath 一致 */
+ filePath: string
+ /** 网络请求过程中一些调试信息
+ *
+ * 最低基础库: `2.10.4` */
+ profile: DownloadProfile
+ /** 开发者服务器返回的 HTTP 状态码 */
+ statusCode: number
+ /** 临时文件路径 (本地路径)。没传入 filePath 指定文件存储路径时会返回,下载后的文件会存储到一个临时文件 */
+ tempFilePath: string
+ errMsg: string
+ }
+ /** 网络请求过程中一些调试信息
+ *
+ * 最低基础库: `2.10.4` */
+ interface DownloadProfile {
+ /** SSL建立完成的时间,如果不是安全连接,则值为 0 */
+ SSLconnectionEnd: number
+ /** SSL建立连接的时间,如果不是安全连接,则值为 0 */
+ SSLconnectionStart: number
+ /** HTTP(TCP) 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 */
+ connectEnd: number
+ /** HTTP(TCP) 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 */
+ connectStart: number
+ /** DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */
+ domainLookupEnd: number
+ /** DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */
+ domainLookupStart: number
+ /** 评估当前网络下载的kbps */
+ downstreamThroughputKbpsEstimate: number
+ /** 评估的网络状态 slow 2g/2g/3g/4g */
+ estimate_nettype: string
+ /** 组件准备好使用 HTTP 请求抓取资源的时间,这发生在检查本地缓存之前 */
+ fetchStart: number
+ /** 协议层根据多个请求评估当前网络的 rtt(仅供参考) */
+ httpRttEstimate: number
+ /** 当前请求的IP */
+ peerIP: string
+ /** 当前请求的端口 */
+ port: number
+ /** 收到字节数 */
+ receivedBytedCount: number
+ /** 最后一个 HTTP 重定向完成时的时间。有跳转且是同域名内部的重定向才算,否则值为 0 */
+ redirectEnd: number
+ /** 第一个 HTTP 重定向发生时的时间。有跳转且是同域名内的重定向才算,否则值为 0 */
+ redirectStart: number
+ /** HTTP请求读取真实文档结束的时间 */
+ requestEnd: number
+ /** HTTP请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存。连接错误重连时,这里显示的也是新建立连接的时间 */
+ requestStart: number
+ /** HTTP 响应全部接收完成的时间(获取到最后一个字节),包括从本地读取缓存 */
+ responseEnd: number
+ /** HTTP 开始接收响应的时间(获取到第一个字节),包括从本地读取缓存 */
+ responseStart: number
+ /** 当次请求连接过程中实时 rtt */
+ rtt: number
+ /** 发送的字节数 */
+ sendBytesCount: number
+ /** 是否复用连接 */
+ socketReused: boolean
+ /** 当前网络的实际下载kbps */
+ throughputKbps: number
+ /** 传输层根据多个请求评估的当前网络的 rtt(仅供参考) */
+ transportRttEstimate: number
+ }
+ interface DownloadTaskOnProgressUpdateCallbackResult {
+ /** 下载进度百分比 */
+ progress: number
+ /** 预期需要下载的数据总长度,单位 Bytes */
+ totalBytesExpectedToWrite: number
+ /** 已经下载的数据长度,单位 Bytes */
+ totalBytesWritten: number
+ }
+ interface EnableAlertBeforeUnloadOption {
+ /** 询问对话框内容 */
+ message: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: EnableAlertBeforeUnloadCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: EnableAlertBeforeUnloadFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: EnableAlertBeforeUnloadSuccessCallback
+ }
+ interface ExitFullScreenOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ExitFullScreenCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ExitFullScreenFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ExitFullScreenSuccessCallback
+ }
+ interface ExitPictureInPictureOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ExitPictureInPictureCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ExitPictureInPictureFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ExitPictureInPictureSuccessCallback
+ }
+ interface ExitVoIPChatOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ExitVoIPChatCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ExitVoIPChatFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ExitVoIPChatSuccessCallback
+ }
+ interface ExtractDataSourceOption {
+ /** 视频源地址,只支持本地文件 */
+ source: string
+ }
+ interface Fields {
+ /** 指定样式名列表,返回节点对应样式名的当前值
+ *
+ * 最低基础库: `2.1.0` */
+ computedStyle?: string[]
+ /** 是否返回节点对应的 Context 对象
+ *
+ * 最低基础库: `2.4.2` */
+ context?: boolean
+ /** 是否返回节点 dataset */
+ dataset?: boolean
+ /** 是否返回节点 id */
+ id?: boolean
+ /** 是否返回节点 mark */
+ mark?: boolean
+ /** 是否返回节点对应的 Node 实例
+ *
+ * 最低基础库: `2.7.0` */
+ node?: boolean
+ /** 指定属性名列表,返回节点对应属性名的当前属性值(只能获得组件文档中标注的常规属性值,id class style 和事件绑定的属性值不可获取) */
+ properties?: string[]
+ /** 是否返回节点布局位置(`left` `right` `top` `bottom`) */
+ rect?: boolean
+ /** 否 是否返回节点的 `scrollLeft` `scrollTop`,节点必须是 `scroll-view` 或者 `viewport` */
+ scrollOffset?: boolean
+ /** 是否返回节点尺寸(`width` `height`) */
+ size?: boolean
+ }
+ interface FileItem {
+ /** 文件保存时的时间戳,从1970/01/01 08:00:00 到当前时间的秒数 */
+ createTime: number
+ /** 文件路径 (本地路径) */
+ filePath: string
+ /** 本地文件大小,以字节为单位 */
+ size: number
+ }
+ interface FileSystemManagerGetFileInfoOption {
+ /** 要读取的文件路径 (本地路径) */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetFileInfoCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: FileSystemManagerGetFileInfoFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: FileSystemManagerGetFileInfoSuccessCallback
+ }
+ interface FileSystemManagerGetFileInfoSuccessCallbackResult {
+ /** 文件大小,以字节为单位 */
+ size: number
+ errMsg: string
+ }
+ interface FileSystemManagerGetSavedFileListOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetSavedFileListCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetSavedFileListFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: FileSystemManagerGetSavedFileListSuccessCallback
+ }
+ interface FileSystemManagerGetSavedFileListSuccessCallbackResult {
+ /** 文件数组 */
+ fileList: FileItem[]
+ errMsg: string
+ }
+ interface FileSystemManagerRemoveSavedFileOption {
+ /** 需要删除的文件路径 (本地路径) */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RemoveSavedFileCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: FileSystemManagerRemoveSavedFileFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RemoveSavedFileSuccessCallback
+ }
+ interface FileSystemManagerSaveFileOption {
+ /** 临时存储文件路径 (本地路径) */
+ tempFilePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SaveFileCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: FileSystemManagerSaveFileFailCallback
+ /** 要存储的文件路径 (本地路径) */
+ filePath?: string
+ /** 接口调用成功的回调函数 */
+ success?: SaveFileSuccessCallback
+ }
+ /** 打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数 */
+ interface ForwardMaterials {
+ /** 文件名 */
+ name: string
+ /** 文件路径(如果是webview则是url) */
+ path: string
+ /** 文件大小 */
+ size: number
+ /** 文件的mimetype类型 */
+ type: string
+ }
+ /** 视频帧数据,若取不到则返回 null。当缓冲区为空的时候可能暂停取不到数据。 */
+ interface FrameDataOptions {
+ /** 帧数据 */
+ data: ArrayBuffer
+ /** 帧数据高度 */
+ height: number
+ /** 帧原始 dts */
+ pkDts: number
+ /** 帧原始 pts */
+ pkPts: number
+ /** 帧数据宽度 */
+ width: number
+ }
+ interface FromScreenLocationOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: FromScreenLocationCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: FromScreenLocationFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: FromScreenLocationSuccessCallback
+ }
+ interface GetAtqaOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetAtqaCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetAtqaFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetAtqaSuccessCallback
+ }
+ interface GetAtqaSuccessCallbackResult {
+ /** 返回 ATQA/SENS_RES 数据 */
+ atqa: ArrayBuffer
+ errMsg: string
+ }
+ interface GetAvailableAudioSourcesOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetAvailableAudioSourcesCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetAvailableAudioSourcesFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetAvailableAudioSourcesSuccessCallback
+ }
+ interface GetAvailableAudioSourcesSuccessCallbackResult {
+ /** 支持的音频输入源列表,可在 [RecorderManager.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.start.html) 接口中使用。返回值定义参考 https://developer.android.com/reference/kotlin/android/media/MediaRecorder.AudioSource
+ *
+ * 可选值:
+ * - 'auto': 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用;
+ * - 'buildInMic': 手机麦克风,仅限 iOS;
+ * - 'headsetMic': 耳机麦克风,仅限 iOS;
+ * - 'mic': 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android;
+ * - 'camcorder': 同 mic,适用于录制音视频内容,仅限 Android;
+ * - 'voice_communication': 同 mic,适用于实时沟通,仅限 Android;
+ * - 'voice_recognition': 同 mic,适用于语音识别,仅限 Android; */
+ audioSources: Array<
+ | 'auto'
+ | 'buildInMic'
+ | 'headsetMic'
+ | 'mic'
+ | 'camcorder'
+ | 'voice_communication'
+ | 'voice_recognition'
+ >
+ errMsg: string
+ }
+ interface GetBLEDeviceCharacteristicsOption {
+ /** 蓝牙设备 id */
+ deviceId: string
+ /** 蓝牙服务 uuid,需要使用 `getBLEDeviceServices` 获取 */
+ serviceId: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetBLEDeviceCharacteristicsCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetBLEDeviceCharacteristicsFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetBLEDeviceCharacteristicsSuccessCallback
+ }
+ interface GetBLEDeviceCharacteristicsSuccessCallbackResult {
+ /** 设备特征值列表 */
+ characteristics: BLECharacteristic[]
+ errMsg: string
+ }
+ interface GetBLEDeviceRSSIOption {
+ /** 蓝牙设备 id */
+ deviceId: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetBLEDeviceRSSICompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetBLEDeviceRSSIFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetBLEDeviceRSSISuccessCallback
+ }
+ interface GetBLEDeviceRSSISuccessCallbackResult {
+ /** 信号强度 */
+ RSSI: number
+ errMsg: string
+ }
+ interface GetBLEDeviceServicesOption {
+ /** 蓝牙设备 id */
+ deviceId: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetBLEDeviceServicesCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetBLEDeviceServicesFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetBLEDeviceServicesSuccessCallback
+ }
+ interface GetBLEDeviceServicesSuccessCallbackResult {
+ /** 设备服务列表 */
+ services: BLEService[]
+ errMsg: string
+ }
+ interface GetBackgroundAudioPlayerStateOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetBackgroundAudioPlayerStateCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetBackgroundAudioPlayerStateFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetBackgroundAudioPlayerStateSuccessCallback
+ }
+ interface GetBackgroundAudioPlayerStateSuccessCallbackResult {
+ /** 选定音频的播放位置(单位:s),只有在音乐播放中时返回 */
+ currentPosition: number
+ /** 歌曲数据链接,只有在音乐播放中时返回 */
+ dataUrl: string
+ /** 音频的下载进度百分比,只有在音乐播放中时返回 */
+ downloadPercent: number
+ /** 选定音频的长度(单位:s),只有在音乐播放中时返回 */
+ duration: number
+ /** 播放状态
+ *
+ * 可选值:
+ * - 0: 暂停中;
+ * - 1: 播放中;
+ * - 2: 没有音乐播放; */
+ status: 0 | 1 | 2
+ errMsg: string
+ }
+ interface GetBackgroundFetchDataOption {
+ /** 取值为 periodic */
+ fetchType: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetBackgroundFetchDataCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetBackgroundFetchDataFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetBackgroundFetchDataSuccessCallback
+ }
+ interface GetBackgroundFetchTokenOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetBackgroundFetchTokenCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetBackgroundFetchTokenFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetBackgroundFetchTokenSuccessCallback
+ }
+ interface GetBatteryInfoOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetBatteryInfoCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetBatteryInfoFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetBatteryInfoSuccessCallback
+ }
+ interface GetBatteryInfoSuccessCallbackResult {
+ /** 是否正在充电中 */
+ isCharging: boolean
+ /** 设备电量,范围 1 - 100 */
+ level: string
+ errMsg: string
+ }
+ interface GetBatteryInfoSyncResult {
+ /** 是否正在充电中 */
+ isCharging: boolean
+ /** 设备电量,范围 1 - 100 */
+ level: string
+ }
+ interface GetBeaconsOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetBeaconsCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetBeaconsFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetBeaconsSuccessCallback
+ }
+ interface GetBeaconsSuccessCallbackResult {
+ /** iBeacon 设备列表 */
+ beacons: IBeaconInfo[]
+ errMsg: string
+ }
+ interface GetBluetoothAdapterStateOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetBluetoothAdapterStateCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetBluetoothAdapterStateFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetBluetoothAdapterStateSuccessCallback
+ }
+ interface GetBluetoothAdapterStateSuccessCallbackResult {
+ /** 蓝牙适配器是否可用 */
+ available: boolean
+ /** 是否正在搜索设备 */
+ discovering: boolean
+ errMsg: string
+ }
+ interface GetBluetoothDevicesOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetBluetoothDevicesCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetBluetoothDevicesFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetBluetoothDevicesSuccessCallback
+ }
+ interface GetBluetoothDevicesSuccessCallbackResult {
+ /** uuid 对应的的已连接设备列表 */
+ devices: BlueToothDevice[]
+ errMsg: string
+ }
+ interface GetCenterLocationOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetCenterLocationCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetCenterLocationFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetCenterLocationSuccessCallback
+ }
+ interface GetCenterLocationSuccessCallbackResult {
+ /** 纬度 */
+ latitude: number
+ /** 经度 */
+ longitude: number
+ errMsg: string
+ }
+ interface GetClipboardDataOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetClipboardDataCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetClipboardDataFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetClipboardDataSuccessCallback
+ }
+ interface GetClipboardDataSuccessCallbackOption {
+ /** 剪贴板的内容 */
+ data: string
+ }
+ interface GetConnectedBluetoothDevicesOption {
+ /** 蓝牙设备主 service 的 uuid 列表 */
+ services: string[]
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetConnectedBluetoothDevicesCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetConnectedBluetoothDevicesFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetConnectedBluetoothDevicesSuccessCallback
+ }
+ interface GetConnectedBluetoothDevicesSuccessCallbackResult {
+ /** 搜索到的设备列表 */
+ devices: BluetoothDeviceInfo[]
+ errMsg: string
+ }
+ interface GetConnectedWifiOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetConnectedWifiCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetConnectedWifiFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetConnectedWifiSuccessCallback
+ }
+ interface GetConnectedWifiSuccessCallbackResult {
+ /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html)
+ *
+ * Wi-Fi 信息 */
+ wifi: WifiInfo
+ errMsg: string
+ }
+ interface GetContentsOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetContentsCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetContentsFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetContentsSuccessCallback
+ }
+ interface GetContentsSuccessCallbackResult {
+ /** 表示内容的delta对象 */
+ delta: IAnyObject
+ /** 带标签的HTML内容 */
+ html: string
+ /** 纯文本内容 */
+ text: string
+ errMsg: string
+ }
+ interface GetExtConfigOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetExtConfigCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetExtConfigFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetExtConfigSuccessCallback
+ }
+ interface GetExtConfigSuccessCallbackResult {
+ /** 第三方平台自定义的数据 */
+ extConfig: IAnyObject
+ errMsg: string
+ }
+ interface GetFileInfoFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail file not exist': 指定的 filePath 找不到文件; */
+ errMsg: string
+ }
+ interface GetGroupEnterInfoOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetGroupEnterInfoCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetGroupEnterInfoFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetGroupEnterInfoSuccessCallback
+ }
+ interface GetGroupEnterInfoSuccessCallbackResult {
+ /** 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud)
+ *
+ * 最低基础库: `2.7.0` */
+ cloudID: string
+ /** 包括敏感数据在内的完整转发信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */
+ encryptedData: string
+ /** 错误信息 */
+ errMsg: string
+ /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */
+ iv: string
+ }
+ interface GetHCEStateOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetHCEStateCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetHCEStateFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetHCEStateSuccessCallback
+ }
+ interface GetHistoricalBytesOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetHistoricalBytesCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetHistoricalBytesFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetHistoricalBytesSuccessCallback
+ }
+ interface GetHistoricalBytesSuccessCallbackResult {
+ /** 返回历史二进制数据 */
+ histBytes: ArrayBuffer
+ errMsg: string
+ }
+ interface GetImageInfoOption {
+ /** 图片的路径,支持网络路径、本地路径、代码包路径 */
+ src: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetImageInfoCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetImageInfoFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetImageInfoSuccessCallback
+ }
+ interface GetImageInfoSuccessCallbackResult {
+ /** 图片原始高度,单位px。不考虑旋转。 */
+ height: number
+ /** [拍照时设备方向](http://sylvana.net/jpegcrop/exif_orientation.html)
+ *
+ * 可选值:
+ * - 'up': 默认方向(手机横持拍照),对应 Exif 中的 1。或无 orientation 信息。;
+ * - 'up-mirrored': 同 up,但镜像翻转,对应 Exif 中的 2;
+ * - 'down': 旋转180度,对应 Exif 中的 3;
+ * - 'down-mirrored': 同 down,但镜像翻转,对应 Exif 中的 4;
+ * - 'left-mirrored': 同 left,但镜像翻转,对应 Exif 中的 5;
+ * - 'right': 顺时针旋转90度,对应 Exif 中的 6;
+ * - 'right-mirrored': 同 right,但镜像翻转,对应 Exif 中的 7;
+ * - 'left': 逆时针旋转90度,对应 Exif 中的 8;
+ *
+ * 最低基础库: `1.9.90` */
+ orientation:
+ | 'up'
+ | 'up-mirrored'
+ | 'down'
+ | 'down-mirrored'
+ | 'left-mirrored'
+ | 'right'
+ | 'right-mirrored'
+ | 'left'
+ /** 图片的本地路径 */
+ path: string
+ /** 图片格式
+ *
+ * 最低基础库: `1.9.90` */
+ type: string
+ /** 图片原始宽度,单位px。不考虑旋转。 */
+ width: number
+ errMsg: string
+ }
+ interface GetLocationOption {
+ /** 传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度
+ *
+ * 最低基础库: `1.6.0` */
+ altitude?: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetLocationCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetLocationFailCallback
+ /** 高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果
+ *
+ * 最低基础库: `2.9.0` */
+ highAccuracyExpireTime?: number
+ /** 开启高精度定位
+ *
+ * 最低基础库: `2.9.0` */
+ isHighAccuracy?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: GetLocationSuccessCallback
+ /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */
+ type?: string
+ }
+ interface GetLocationSuccessCallbackResult {
+ /** 位置的精确度 */
+ accuracy: number
+ /** 高度,单位 m
+ *
+ * 最低基础库: `1.2.0` */
+ altitude: number
+ /** 水平精度,单位 m
+ *
+ * 最低基础库: `1.2.0` */
+ horizontalAccuracy: number
+ /** 纬度,范围为 -90~90,负数表示南纬 */
+ latitude: number
+ /** 经度,范围为 -180~180,负数表示西经 */
+ longitude: number
+ /** 速度,单位 m/s */
+ speed: number
+ /** 垂直精度,单位 m(Android 无法获取,返回 0)
+ *
+ * 最低基础库: `1.2.0` */
+ verticalAccuracy: number
+ errMsg: string
+ }
+ interface GetLogManagerOption {
+ /** 取值为0/1,取值为0表示是否会把 `App`、`Page` 的生命周期函数和 `wx` 命名空间下的函数调用写入日志,取值为1则不会。默认值是 0
+ *
+ * 最低基础库: `2.3.2` */
+ level?: number
+ }
+ interface GetMaxTransceiveLengthOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetMaxTransceiveLengthCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetMaxTransceiveLengthFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetMaxTransceiveLengthSuccessCallback
+ }
+ interface GetMaxTransceiveLengthSuccessCallbackResult {
+ /** 最大传输长度 */
+ length: number
+ errMsg: string
+ }
+ interface GetNetworkTypeOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetNetworkTypeCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetNetworkTypeFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetNetworkTypeSuccessCallback
+ }
+ interface GetNetworkTypeSuccessCallbackResult {
+ /** 网络类型
+ *
+ * 可选值:
+ * - 'wifi': wifi 网络;
+ * - '2g': 2g 网络;
+ * - '3g': 3g 网络;
+ * - '4g': 4g 网络;
+ * - '5g': 5g 网络;
+ * - 'unknown': Android 下不常见的网络类型;
+ * - 'none': 无网络; */
+ networkType: 'wifi' | '2g' | '3g' | '4g' | '5g' | 'unknown' | 'none'
+ errMsg: string
+ }
+ interface GetRandomValuesOption {
+ /** 整数,生成随机数的字节数,最大 1048576 */
+ length: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetRandomValuesCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetRandomValuesFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetRandomValuesSuccessCallback
+ }
+ interface GetRandomValuesSuccessCallbackResult {
+ /** 随机数内容,长度为传入的字节数 */
+ randomValues: ArrayBuffer
+ errMsg: string
+ }
+ interface GetRegionOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetRegionCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetRegionFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetRegionSuccessCallback
+ }
+ interface GetRegionSuccessCallbackResult {
+ /** 东北角经纬度 */
+ northeast: MapPostion
+ /** 西南角经纬度 */
+ southwest: MapPostion
+ errMsg: string
+ }
+ interface GetRotateOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetRotateCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetRotateFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetRotateSuccessCallback
+ }
+ interface GetRotateSuccessCallbackResult {
+ /** 旋转角 */
+ rotate: number
+ errMsg: string
+ }
+ interface GetSakOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetSakCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetSakFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetSakSuccessCallback
+ }
+ interface GetSakSuccessCallbackResult {
+ /** 返回 SAK/SEL_RES 数据 */
+ sak: number
+ errMsg: string
+ }
+ interface GetSavedFileInfoOption {
+ /** 文件路径 (本地路径) */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetSavedFileInfoCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetSavedFileInfoFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetSavedFileInfoSuccessCallback
+ }
+ interface GetSavedFileInfoSuccessCallbackResult {
+ /** 文件保存时的时间戳,从1970/01/01 08:00:00 到该时刻的秒数 */
+ createTime: number
+ /** 文件大小,单位 B */
+ size: number
+ errMsg: string
+ }
+ interface GetScaleOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetScaleCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetScaleFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetScaleSuccessCallback
+ }
+ interface GetScaleSuccessCallbackResult {
+ /** 缩放值 */
+ scale: number
+ errMsg: string
+ }
+ interface GetScreenBrightnessOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetScreenBrightnessCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetScreenBrightnessFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetScreenBrightnessSuccessCallback
+ }
+ interface GetScreenBrightnessSuccessCallbackOption {
+ /** 屏幕亮度值,范围 0 ~ 1,0 最暗,1 最亮 */
+ value: number
+ }
+ interface GetSelectedTextRangeOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetSelectedTextRangeCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetSelectedTextRangeFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetSelectedTextRangeSuccessCallback
+ }
+ interface GetSelectedTextRangeSuccessCallbackResult {
+ /** 输入框光标结束位置 */
+ end: number
+ /** 输入框光标起始位置 */
+ start: number
+ errMsg: string
+ }
+ interface GetSelectionTextOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetSelectionTextCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetSelectionTextFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetSelectionTextSuccessCallback
+ }
+ interface GetSelectionTextSuccessCallbackResult {
+ /** 纯文本内容 */
+ text: string
+ errMsg: string
+ }
+ interface GetSettingOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetSettingCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetSettingFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetSettingSuccessCallback
+ /** 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。
+ *
+ * 最低基础库: `2.10.1` */
+ withSubscriptions?: boolean
+ }
+ interface GetSettingSuccessCallbackResult {
+ /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html)
+ *
+ * 用户授权结果 */
+ authSetting: AuthSetting
+ /** [SubscriptionsSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/SubscriptionsSetting.html)
+ *
+ * 用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。
+ *
+ * 最低基础库: `2.10.1` */
+ subscriptionsSetting: SubscriptionsSetting
+ /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html)
+ *
+ * 在插件中调用时,当前宿主小程序的用户授权结果 */
+ miniprogramAuthSetting?: AuthSetting
+ errMsg: string
+ }
+ interface GetShareInfoOption {
+ /** shareTicket */
+ shareTicket: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetShareInfoCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetShareInfoFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetShareInfoSuccessCallback
+ /** 超时时间,单位 ms
+ *
+ * 最低基础库: `1.9.90` */
+ timeout?: number
+ }
+ interface GetSkewOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetSkewCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetSkewFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetSkewSuccessCallback
+ }
+ interface GetSkewSuccessCallbackResult {
+ /** 倾斜角 */
+ skew: number
+ errMsg: string
+ }
+ interface GetStorageInfoOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetStorageInfoCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetStorageInfoFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetStorageInfoSuccessCallback
+ }
+ interface GetStorageInfoSuccessCallbackOption {
+ /** 当前占用的空间大小, 单位 KB */
+ currentSize: number
+ /** 当前 storage 中所有的 key */
+ keys: string[]
+ /** 限制的空间大小,单位 KB */
+ limitSize: number
+ }
+ interface GetStorageInfoSyncOption {
+ /** 当前占用的空间大小, 单位 KB */
+ currentSize: number
+ /** 当前 storage 中所有的 key */
+ keys: string[]
+ /** 限制的空间大小,单位 KB */
+ limitSize: number
+ }
+ interface GetStorageOption {
+ /** 本地缓存中指定的 key */
+ key: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetStorageCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetStorageFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetStorageSuccessCallback
+ }
+ interface GetStorageSuccessCallbackResult {
+ /** key对应的内容 */
+ data: T
+ errMsg: string
+ }
+ interface GetSystemInfoAsyncOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetSystemInfoAsyncCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetSystemInfoAsyncFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetSystemInfoAsyncSuccessCallback
+ }
+ interface GetSystemInfoOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetSystemInfoCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetSystemInfoFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetSystemInfoSuccessCallback
+ }
+ interface GetUserInfoOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetUserInfoCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetUserInfoFailCallback
+ /** 显示用户信息的语言
+ *
+ * 可选值:
+ * - 'en': 英文;
+ * - 'zh_CN': 简体中文;
+ * - 'zh_TW': 繁体中文; */
+ lang?: 'en' | 'zh_CN' | 'zh_TW'
+ /** 接口调用成功的回调函数 */
+ success?: GetUserInfoSuccessCallback
+ /** 是否带上登录态信息。当 withCredentials 为 true 时,要求此前有调用过 wx.login 且登录态尚未过期,此时返回的数据会包含 encryptedData, iv 等敏感信息;当 withCredentials 为 false 时,不要求有登录态,返回的数据不包含 encryptedData, iv 等敏感信息。 */
+ withCredentials?: boolean
+ }
+ interface GetUserInfoSuccessCallbackResult {
+ /** 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud)
+ *
+ * 最低基础库: `2.7.0` */
+ cloudID: string
+ /** 包括敏感数据在内的完整用户信息的加密数据,详见 [用户数据的签名验证和加解密]((signature#加密数据解密算法)) */
+ encryptedData: string
+ /** 加密算法的初始向量,详见 [用户数据的签名验证和加解密]((signature#加密数据解密算法)) */
+ iv: string
+ /** 不包括敏感信息的原始数据字符串,用于计算签名 */
+ rawData: string
+ /** 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */
+ signature: string
+ /** [UserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/UserInfo.html)
+ *
+ * 用户信息对象,不包含 openid 等敏感信息 */
+ userInfo: UserInfo
+ errMsg: string
+ }
+ interface GetUserProfileOption {
+ /** 声明获取用户个人信息后的用途,不超过30个字符 */
+ desc: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetUserProfileCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetUserProfileFailCallback
+ /** 显示用户信息的语言
+ *
+ * 可选值:
+ * - 'en': 英文;
+ * - 'zh_CN': 简体中文;
+ * - 'zh_TW': 繁体中文; */
+ lang?: 'en' | 'zh_CN' | 'zh_TW'
+ /** 接口调用成功的回调函数 */
+ success?: GetUserProfileSuccessCallback
+ }
+ interface GetUserProfileSuccessCallbackResult {
+ /** [UserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/UserInfo.html)
+ *
+ * 用户信息对象 */
+ userInfo: UserInfo
+ errMsg: string
+ }
+ interface GetVideoInfoOption {
+ /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 */
+ src: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetVideoInfoCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetVideoInfoFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetVideoInfoSuccessCallback
+ }
+ interface GetVideoInfoSuccessCallbackResult {
+ /** 视频码率,单位 kbps */
+ bitrate: number
+ /** 视频长度 */
+ duration: number
+ /** 视频帧率 */
+ fps: number
+ /** 视频的长,单位 px */
+ height: number
+ /** 画面方向
+ *
+ * 可选值:
+ * - 'up': 默认;
+ * - 'down': 180度旋转;
+ * - 'left': 逆时针旋转90度;
+ * - 'right': 顺时针旋转90度;
+ * - 'up-mirrored': 同up,但水平翻转;
+ * - 'down-mirrored': 同down,但水平翻转;
+ * - 'left-mirrored': 同left,但垂直翻转;
+ * - 'right-mirrored': 同right,但垂直翻转; */
+ orientation:
+ | 'up'
+ | 'down'
+ | 'left'
+ | 'right'
+ | 'up-mirrored'
+ | 'down-mirrored'
+ | 'left-mirrored'
+ | 'right-mirrored'
+ /** 视频大小,单位 kB */
+ size: number
+ /** 视频格式 */
+ type: string
+ /** 视频的宽,单位 px */
+ width: number
+ errMsg: string
+ }
+ interface GetWeRunDataOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetWeRunDataCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetWeRunDataFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetWeRunDataSuccessCallback
+ }
+ interface GetWeRunDataSuccessCallbackResult {
+ /** 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud)
+ *
+ * 最低基础库: `2.7.0` */
+ cloudID: string
+ /** 包括敏感数据在内的完整用户信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html)。解密后得到的数据结构见后文 */
+ encryptedData: string
+ /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */
+ iv: string
+ errMsg: string
+ }
+ interface GetWifiListOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetWifiListCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetWifiListFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: GetWifiListSuccessCallback
+ }
+ interface HideHomeButtonOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: HideHomeButtonCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: HideHomeButtonFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: HideHomeButtonSuccessCallback
+ }
+ interface HideKeyboardOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: HideKeyboardCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: HideKeyboardFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: HideKeyboardSuccessCallback
+ }
+ interface HideLoadingOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: HideLoadingCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: HideLoadingFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: HideLoadingSuccessCallback
+ }
+ interface HideNavigationBarLoadingOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: HideNavigationBarLoadingCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: HideNavigationBarLoadingFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: HideNavigationBarLoadingSuccessCallback
+ }
+ interface HideShareMenuOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: HideShareMenuCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: HideShareMenuFailCallback
+ /** 本接口为 Beta 版本,暂只在 Android 平台支持。需要隐藏的转发按钮名称列表,默认['shareAppMessage', 'shareTimeline']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种
+ *
+ * 最低基础库: `2.11.3` */
+ menus?: string[]
+ /** 接口调用成功的回调函数 */
+ success?: HideShareMenuSuccessCallback
+ }
+ interface HideTabBarOption {
+ /** 是否需要动画效果 */
+ animation?: boolean
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: HideTabBarCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: HideTabBarFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: HideTabBarSuccessCallback
+ }
+ interface HideTabBarRedDotOption {
+ /** tabBar 的哪一项,从左边算起 */
+ index: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: HideTabBarRedDotCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: HideTabBarRedDotFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: HideTabBarRedDotSuccessCallback
+ }
+ interface HideToastOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: HideToastCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: HideToastFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: HideToastSuccessCallback
+ }
+ interface IBeaconInfo {
+ /** iBeacon 设备的距离 */
+ accuracy: number
+ /** iBeacon 设备的主 id */
+ major: string
+ /** iBeacon 设备的次 id */
+ minor: string
+ /** 表示设备距离的枚举值 */
+ proximity: number
+ /** 表示设备的信号强度 */
+ rssi: number
+ /** iBeacon 设备广播的 uuid */
+ uuid: string
+ }
+ /** 图片对象
+ *
+ * 最低基础库: `2.7.0` */
+ interface Image {
+ /** 图片的真实高度 */
+ height: number
+ /** 图片加载发生错误后触发的回调函数 */
+ onerror: (...args: any[]) => any
+ /** 图片加载完成后触发的回调函数 */
+ onload: (...args: any[]) => any
+ /** 图片的 URL。v2.11.0 起支持传递 base64 Data URI */
+ src: string
+ /** 图片的真实宽度 */
+ width: number
+ }
+ /** ImageData 对象
+ *
+ * 最低基础库: `2.9.0` */
+ interface ImageData {
+ /** 一维数组,包含以 RGBA 顺序的数据,数据使用 0 至 255(包含)的整数表示 */
+ data: Uint8ClampedArray
+ /** 使用像素描述 ImageData 的实际高度 */
+ height: number
+ /** 使用像素描述 ImageData 的实际宽度 */
+ width: number
+ }
+ /** 图片的本地临时文件列表
+ *
+ * 最低基础库: `1.2.0` */
+ interface ImageFile {
+ /** 本地临时文件路径 (本地路径) */
+ path: string
+ /** 本地临时文件大小,单位 B */
+ size: number
+ }
+ interface IncludePointsOption {
+ /** 要显示在可视区域内的坐标点列表 */
+ points: MapPostion[]
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: IncludePointsCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: IncludePointsFailCallback
+ /** 坐标点形成的矩形边缘到地图边缘的距离,单位像素。格式为[上,右,下,左],安卓上只能识别数组第一项,上下左右的padding一致。开发者工具暂不支持padding参数。 */
+ padding?: number[]
+ /** 接口调用成功的回调函数 */
+ success?: IncludePointsSuccessCallback
+ }
+ interface InitMarkerClusterOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: InitMarkerClusterCompleteCallback
+ /** 启用默认的聚合样式 */
+ enableDefaultStyle?: boolean
+ /** 接口调用失败的回调函数 */
+ fail?: InitMarkerClusterFailCallback
+ /** 聚合算法的可聚合距离,即距离小于该值的点会聚合至一起,以像素为单位 */
+ gridSize?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: InitMarkerClusterSuccessCallback
+ /** 点击已经聚合的标记点时是否实现聚合分离 */
+ zoomOnClick?: boolean
+ }
+ /** InnerAudioContext 实例,可通过 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 接口获取实例。注意,音频播放过程中,可能被系统中断,可通过 [wx.onAudioInterruptionBegin](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionBegin.html)、[wx.onAudioInterruptionEnd](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionEnd.html)事件来处理这种情况。
+*
+* **支持格式**
+*
+*
+* | 格式 | iOS | Android |
+* | ---- | ---- | ------- |
+* | flac | x | √ |
+* | m4a | √ | √ |
+* | ogg | x | √ |
+* | ape | x | √ |
+* | amr | x | √ |
+* | wma | x | √ |
+* | wav | √ | √ |
+* | mp3 | √ | √ |
+* | mp4 | x | √ |
+* | aac | √ | √ |
+* | aiff | √ | x |
+* | caf | √ | x |
+*
+* **示例代码**
+*
+*
+* ```js
+const innerAudioContext = wx.createInnerAudioContext()
+innerAudioContext.autoplay = true
+innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'
+innerAudioContext.onPlay(() => {
+ console.log('开始播放')
+})
+innerAudioContext.onError((res) => {
+ console.log(res.errMsg)
+ console.log(res.errCode)
+})
+``` */
+ interface InnerAudioContext {
+ /** 是否自动开始播放,默认为 `false` */
+ autoplay: boolean
+ /** 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲(只读) */
+ buffered: number
+ /** 当前音频的播放位置(单位 s)。只有在当前有合法的 src 时返回,时间保留小数点后 6 位(只读) */
+ currentTime: number
+ /** 当前音频的长度(单位 s)。只有在当前有合法的 src 时返回(只读) */
+ duration: number
+ /** 是否循环播放,默认为 `false` */
+ loop: boolean
+ /** 是否遵循系统静音开关,默认为 `true`。当此参数为 `false` 时,即使用户打开了静音开关,也能继续发出声音。从 2.3.0 版本开始此参数不生效,使用 [wx.setInnerAudioOption](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.setInnerAudioOption.html) 接口统一设置。 */
+ obeyMuteSwitch: boolean
+ /** 当前是是否暂停或停止状态(只读) */
+ paused: boolean
+ /** 播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本)
+ *
+ * 最低基础库: `2.11.0` */
+ playbackRate: number
+ /** 音频资源的地址,用于直接播放。[2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持云文件ID */
+ src: string
+ /** 开始播放的位置(单位:s),默认为 0 */
+ startTime: number
+ /** 音量。范围 0~1。默认为 1
+ *
+ * 最低基础库: `1.9.90` */
+ volume: number
+ }
+ interface InnerAudioContextOnErrorCallbackResult {
+ /**
+ *
+ * 可选值:
+ * - 10001: 系统错误;
+ * - 10002: 网络错误;
+ * - 10003: 文件错误;
+ * - 10004: 格式错误;
+ * - -1: 未知错误; */
+ errCode: 10001 | 10002 | 10003 | 10004 | -1
+ errMsg: string
+ }
+ interface InsertDividerOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: InsertDividerCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: InsertDividerFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: InsertDividerSuccessCallback
+ }
+ interface InsertImageOption {
+ /** 图片地址,仅支持 http(s)、base64、云图片(2.8.0)、临时文件(2.8.3)。 */
+ src: string
+ /** 图像无法显示时的替代文本 */
+ alt?: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: InsertImageCompleteCallback
+ /** data 被序列化为 name=value;name1=value2 的格式挂在属性 data-custom 上 */
+ data?: IAnyObject
+ /** 添加到图片 img 标签上的类名 */
+ extClass?: string
+ /** 接口调用失败的回调函数 */
+ fail?: InsertImageFailCallback
+ /** 图片高度 (pixels/百分比) */
+ height?: string
+ /** 接口调用成功的回调函数 */
+ success?: InsertImageSuccessCallback
+ /** 图片宽度(pixels/百分比) */
+ width?: string
+ }
+ interface InsertTextOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: InsertTextCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: InsertTextFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: InsertTextSuccessCallback
+ /** 文本内容 */
+ text?: string
+ }
+ interface IntersectionObserverObserveCallbackResult {
+ /** 目标边界 */
+ boundingClientRect: BoundingClientRectResult
+ /** 相交比例 */
+ intersectionRatio: number
+ /** 相交区域的边界 */
+ intersectionRect: IntersectionRectResult
+ /** 参照区域的边界 */
+ relativeRect: RelativeRectResult
+ /** 相交检测时的时间戳 */
+ time: number
+ }
+ /** 相交区域的边界 */
+ interface IntersectionRectResult {
+ /** 下边界 */
+ bottom: number
+ /** 高度 */
+ height: number
+ /** 左边界 */
+ left: number
+ /** 右边界 */
+ right: number
+ /** 上边界 */
+ top: number
+ /** 宽度 */
+ width: number
+ }
+ interface InterstitialAdOnErrorCallbackResult {
+ /** 错误码
+ *
+ * 可选值:
+ * - 1000: 后端接口调用失败;
+ * - 1001: 参数错误;
+ * - 1002: 广告单元无效;
+ * - 1003: 内部错误;
+ * - 1004: 无合适的广告;
+ * - 1005: 广告组件审核中;
+ * - 1006: 广告组件被驳回;
+ * - 1007: 广告组件被封禁;
+ * - 1008: 广告单元已关闭; */
+ errCode: 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008
+ /** 错误信息 */
+ errMsg: string
+ }
+ interface IsConnectedOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: IsConnectedCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: IsConnectedFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: IsConnectedSuccessCallback
+ }
+ interface JoinVoIPChatOption {
+ /** 小游戏内此房间/群聊的 ID。同一时刻传入相同 groupId 的用户会进入到同个实时语音房间。 */
+ groupId: string
+ /** 验证所需的随机字符串 */
+ nonceStr: string
+ /** 签名,用于验证小游戏的身份 */
+ signature: string
+ /** 验证所需的时间戳 */
+ timeStamp: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: JoinVoIPChatCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: JoinVoIPChatFailCallback
+ /** 静音设置 */
+ muteConfig?: MuteConfig
+ /** 房间类型
+ *
+ * 可选值:
+ * - 'voice': 音频房间,用于语音通话;
+ * - 'video': 视频房间,结合 [voip-room](https://developers.weixin.qq.com/miniprogram/dev/component/voip-room.html) 组件可显示成员画面; */
+ roomType?: 'voice' | 'video'
+ /** 接口调用成功的回调函数 */
+ success?: JoinVoIPChatSuccessCallback
+ }
+ interface JoinVoIPChatSuccessCallbackResult {
+ /** 错误码 */
+ errCode: number
+ /** 调用结果 */
+ errMsg: string
+ /** 在此通话中的成员 openId 名单 */
+ openIdList: string[]
+ }
+ /** 启动参数 */
+ interface LaunchOptionsApp {
+ /** 打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数 */
+ forwardMaterials: ForwardMaterials[]
+ /** 启动小程序的路径 (代码包路径) */
+ path: string
+ /** 启动小程序的 query 参数 */
+ query: IAnyObject
+ /** 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) */
+ referrerInfo: ReferrerInfo
+ /** 启动小程序的[场景值](https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/scene.html) */
+ scene: number
+ /** shareTicket,详见[获取更多转发信息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */
+ shareTicket?: string
+ }
+ interface LivePlayerContextRequestFullScreenOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RequestFullScreenCompleteCallback
+ /** 设置全屏时的方向
+ *
+ * 可选值:
+ * - 0: 正常竖向;
+ * - 90: 屏幕逆时针90度;
+ * - -90: 屏幕顺时针90度; */
+ direction?: 0 | 90 | -90
+ /** 接口调用失败的回调函数 */
+ fail?: RequestFullScreenFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RequestFullScreenSuccessCallback
+ }
+ interface LivePlayerContextSnapshotOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SnapshotCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SnapshotFailCallback
+ /** 图片的质量,默认原图。有效值为 raw、compressed
+ *
+ * 最低基础库: `2.10.0` */
+ quality?: string
+ /** 接口调用成功的回调函数 */
+ success?: LivePlayerContextSnapshotSuccessCallback
+ }
+ interface LivePlayerContextSnapshotSuccessCallbackResult {
+ /** 图片的高度 */
+ height: string
+ /** 图片文件的临时路径 (本地路径) */
+ tempImagePath: string
+ /** 图片的宽度 */
+ width: string
+ errMsg: string
+ }
+ interface LivePusherContextSnapshotOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SnapshotCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SnapshotFailCallback
+ /** 图片的质量,默认原图。有效值为 raw、compressed
+ *
+ * 最低基础库: `2.10.0` */
+ quality?: string
+ /** 接口调用成功的回调函数 */
+ success?: LivePusherContextSnapshotSuccessCallback
+ }
+ interface LivePusherContextSnapshotSuccessCallbackResult {
+ /** 图片的高度 */
+ height: string
+ /** 图片文件的临时路径 */
+ tempImagePath: string
+ /** 图片的宽度 */
+ width: string
+ errMsg: string
+ }
+ interface LoadFontFaceCompleteCallbackResult {
+ /** 加载字体结果 */
+ status: string
+ }
+ interface LoadFontFaceOption {
+ /** 定义的字体名称 */
+ family: string
+ /** 字体资源的地址。建议格式为 TTF 和 WOFF,WOFF2 在低版本的iOS上会不兼容。 */
+ source: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: LoadFontFaceCompleteCallback
+ /** 可选的字体描述符 */
+ desc?: DescOption
+ /** 接口调用失败的回调函数 */
+ fail?: LoadFontFaceFailCallback
+ /** 是否全局生效
+ *
+ * 最低基础库: `2.10.0` */
+ global?: boolean
+ /** 字体作用范围,可选值为 webview / native,默认 webview,设置 native 可在 Canvas 2D 下使用 */
+ scopes?: any[]
+ /** 接口调用成功的回调函数 */
+ success?: LoadFontFaceSuccessCallback
+ }
+ interface LoginOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: LoginCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: LoginFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: LoginSuccessCallback
+ /** 超时时间,单位ms
+ *
+ * 最低基础库: `1.9.90` */
+ timeout?: number
+ }
+ interface LoginSuccessCallbackResult {
+ /** 用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 [auth.code2Session](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html),使用 code 换取 openid 和 session_key 等信息 */
+ code: string
+ errMsg: string
+ }
+ interface MakeBluetoothPairOption {
+ /** 蓝牙设备 id */
+ deviceId: string
+ /** pin 码,Base64 格式。 */
+ pin: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: MakeBluetoothPairCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: MakeBluetoothPairFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: MakeBluetoothPairSuccessCallback
+ /** 超时时间 */
+ timeout?: number
+ }
+ interface MakePhoneCallOption {
+ /** 需要拨打的电话号码 */
+ phoneNumber: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: MakePhoneCallCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: MakePhoneCallFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: MakePhoneCallSuccessCallback
+ }
+ /** 广播的制造商信息, 仅安卓支持 */
+ interface ManufacturerData {
+ /** 制造商ID,0x 开头的十六进制 */
+ manufacturerId: string
+ /** 制造商信息 */
+ manufacturerSpecificData?: ArrayBuffer
+ }
+ /** 图片覆盖的经纬度范围 */
+ interface MapBounds {
+ /** 东北角经纬度 */
+ northeast: MapPostion
+ /** 西南角经纬度 */
+ southwest: MapPostion
+ }
+ interface MapPostion {
+ /** 纬度 */
+ latitude: number
+ /** 经度 */
+ longitude: number
+ }
+ /** 用来扩展(或收缩)参照节点布局区域的边界 */
+ interface Margins {
+ /** 节点布局区域的下边界 */
+ bottom?: number
+ /** 节点布局区域的左边界 */
+ left?: number
+ /** 节点布局区域的右边界 */
+ right?: number
+ /** 节点布局区域的上边界 */
+ top?: number
+ }
+ /** MediaAudioPlayer 实例,可通过 [wx.createMediaAudioPlayer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createMediaAudioPlayer.html) 接口获取实例。 */
+ interface MediaAudioPlayer {
+ /** 音量。范围 0~1。默认为 1 */
+ volume: number
+ }
+ /** 本地临时文件列表 */
+ interface MediaFile {
+ /** 视频的时间长度 */
+ duration: number
+ /** 视频的高度 */
+ height: number
+ /** 本地临时文件大小,单位 B */
+ size: number
+ /** 本地临时文件路径 (本地路径) */
+ tempFilePath: string
+ /** 视频缩略图临时文件路径 */
+ thumbTempFilePath: string
+ /** 视频的宽度 */
+ width: number
+ }
+ interface MediaQueryObserverObserveCallbackResult {
+ /** 页面的当前状态是否满足所指定的 media query */
+ matches: boolean
+ }
+ /** 需要预览的资源列表 */
+ interface MediaSource {
+ /** 图片或视频的地址 */
+ url: string
+ /** 视频的封面图片 */
+ poster?: string
+ /** 资源的类型,默认为图片
+ *
+ * 可选值:
+ * - 'image': 图片;
+ * - 'video': 视频; */
+ type?: 'image' | 'video'
+ }
+ /** 可通过 [MediaContainer.extractDataSource](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.extractDataSource.html) 返回。
+ *
+ * [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) 音频或视频轨道,可以对轨道进行一些操作
+ *
+ * 最低基础库: `2.9.0` */
+ interface MediaTrack {
+ /** 轨道长度,只读 */
+ duration: number
+ /** 轨道类型,只读
+ *
+ * 可选值:
+ * - 'audio': 音频轨道;
+ * - 'video': 视频轨道; */
+ kind: 'audio' | 'video'
+ /** 音量,音频轨道下有效,可写 */
+ volume: number
+ }
+ /** 小程序帐号信息 */
+ interface MiniProgram {
+ /** 小程序 appId */
+ appId: string
+ /** 小程序版本
+ *
+ * 可选值:
+ * - 'develop': 开发版;
+ * - 'trial': 体验版;
+ * - 'release': 正式版;
+ *
+ * 最低基础库: `2.10.0` */
+ envVersion: 'develop' | 'trial' | 'release'
+ /** 线上小程序版本号
+ *
+ * 最低基础库: `2.10.2` */
+ version: string
+ }
+ interface MkdirFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail no such file or directory ${dirPath}': 上级目录不存在;
+ * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限;
+ * - 'fail file already exists ${dirPath}': 有同名文件或目录;
+ * - 'fail sdcard not mounted': Android sdcard 挂载失败; */
+ errMsg: string
+ }
+ interface MkdirOption {
+ /** 创建的目录路径 (本地路径) */
+ dirPath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: MkdirCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: MkdirFailCallback
+ /** 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。
+ *
+ * 最低基础库: `2.3.0` */
+ recursive?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: MkdirSuccessCallback
+ }
+ interface MoveAlongOption {
+ /** 平滑移动的时间 */
+ duration: number
+ /** 指定 marker */
+ markerId: number
+ /** 移动路径的坐标串,坐标点格式 `{longitude, latitude}` */
+ path: any[]
+ /** 根据路径方向自动改变 marker 的旋转角度 */
+ autoRotate?: boolean
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: MoveAlongCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: MoveAlongFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: MoveAlongSuccessCallback
+ }
+ interface MoveToLocationOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: MoveToLocationCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: MoveToLocationFailCallback
+ /** 纬度
+ *
+ * 最低基础库: `2.8.0` */
+ latitude?: number
+ /** 经度
+ *
+ * 最低基础库: `2.8.0` */
+ longitude?: number
+ /** 接口调用成功的回调函数 */
+ success?: MoveToLocationSuccessCallback
+ }
+ /** 静音设置 */
+ interface MuteConfig {
+ /** 是否静音耳机 */
+ muteEarphone?: boolean
+ /** 是否静音麦克风 */
+ muteMicrophone?: boolean
+ }
+ interface MuteOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: MuteCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: MuteFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: MuteSuccessCallback
+ }
+ /**
+ *
+ * 最低基础库: `2.11.2` */
+ interface NFCAdapter {
+ /** 标签类型枚举 */
+ tech: TechType
+ }
+ interface NavigateBackMiniProgramOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: NavigateBackMiniProgramCompleteCallback
+ /** 需要返回给上一个小程序的数据,上一个小程序可在 `App.onShow` 中获取到这份数据。 [详情](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html)。 */
+ extraData?: IAnyObject
+ /** 接口调用失败的回调函数 */
+ fail?: NavigateBackMiniProgramFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: NavigateBackMiniProgramSuccessCallback
+ }
+ interface NavigateBackOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: NavigateBackCompleteCallback
+ /** 返回的页面数,如果 delta 大于现有页面数,则返回到首页。 */
+ delta?: number
+ /** 接口调用失败的回调函数 */
+ fail?: NavigateBackFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: NavigateBackSuccessCallback
+ }
+ interface NavigateToMiniProgramOption {
+ /** 要打开的小程序 appId */
+ appId: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: NavigateToMiniProgramCompleteCallback
+ /** 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。
+ *
+ * 可选值:
+ * - 'develop': 开发版;
+ * - 'trial': 体验版;
+ * - 'release': 正式版; */
+ envVersion?: 'develop' | 'trial' | 'release'
+ /** 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch`,`App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 [wx.onShow](#)、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到这份数据数据。 */
+ extraData?: IAnyObject
+ /** 接口调用失败的回调函数 */
+ fail?: NavigateToMiniProgramFailCallback
+ /** 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 `App.onLaunch`、`App.onShow` 和 `Page.onLoad` 的回调函数或小游戏的 [wx.onShow](#) 回调函数、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 */
+ path?: string
+ /** 接口调用成功的回调函数 */
+ success?: NavigateToMiniProgramSuccessCallback
+ }
+ interface NavigateToOption {
+ /** 需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 `?` 分隔,参数键与参数值用 `=` 相连,不同参数用 `&` 分隔;如 'path?key=value&key2=value2' */
+ url: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: NavigateToCompleteCallback
+ /** 页面间通信接口,用于监听被打开页面发送到当前页面的数据。基础库 2.7.3 开始支持。 */
+ events?: IAnyObject
+ /** 接口调用失败的回调函数 */
+ fail?: NavigateToFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: NavigateToSuccessCallback
+ }
+ interface NavigateToSuccessCallbackResult {
+ /** [EventChannel](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.html)
+ *
+ * 和被打开页面进行通信 */
+ eventChannel: EventChannel
+ errMsg: string
+ }
+ interface NdefCloseOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: NdefCloseCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: NdefCloseFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: NdefCloseSuccessCallback
+ }
+ interface NodeCallbackResult {
+ /** 节点对应的 Node 实例 */
+ node: IAnyObject
+ }
+ interface NotifyBLECharacteristicValueChangeOption {
+ /** 蓝牙特征值的 uuid */
+ characteristicId: string
+ /** 蓝牙设备 id */
+ deviceId: string
+ /** 蓝牙特征值对应服务的 uuid */
+ serviceId: string
+ /** 是否启用 notify */
+ state: boolean
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: NotifyBLECharacteristicValueChangeCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: NotifyBLECharacteristicValueChangeFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: NotifyBLECharacteristicValueChangeSuccessCallback
+ }
+ /** media query 描述符 */
+ interface ObserveDescriptor {
+ /** 页面高度( px 为单位) */
+ height: number
+ /** 页面最大高度( px 为单位) */
+ maxHeight: number
+ /** 页面最大宽度( px 为单位) */
+ maxWidth: number
+ /** 页面最小高度( px 为单位) */
+ minHeight: number
+ /** 页面最小宽度( px 为单位) */
+ minWidth: number
+ /** 屏幕方向( `landscape` 或 `portrait` ) */
+ orientation: string
+ /** 页面宽度( px 为单位) */
+ width: number
+ }
+ interface OnAccelerometerChangeCallbackResult {
+ /** X 轴 */
+ x: number
+ /** Y 轴 */
+ y: number
+ /** Z 轴 */
+ z: number
+ }
+ interface OnAppShowCallbackResult {
+ /** 打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数 */
+ forwardMaterials: ForwardMaterials[]
+ /** 小程序切前台的路径 (代码包路径) */
+ path: string
+ /** 小程序切前台的 query 参数 */
+ query: IAnyObject
+ /** 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) */
+ referrerInfo: ReferrerInfo
+ /** 小程序切前台的[场景值](https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/scene.html) */
+ scene: number
+ /** shareTicket,详见[获取更多转发信息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */
+ shareTicket?: string
+ }
+ interface OnBLECharacteristicValueChangeCallbackResult {
+ /** 蓝牙特征值的 uuid */
+ characteristicId: string
+ /** 蓝牙设备 id */
+ deviceId: string
+ /** 蓝牙特征值对应服务的 uuid */
+ serviceId: string
+ /** 特征值最新的值 */
+ value: ArrayBuffer
+ }
+ interface OnBLEConnectionStateChangeCallbackResult {
+ /** 是否处于已连接状态 */
+ connected: boolean
+ /** 蓝牙设备ID */
+ deviceId: string
+ }
+ interface OnBLEPeripheralConnectionStateChangedCallbackResult {
+ /** 连接目前状态 */
+ connected: boolean
+ /** 连接状态变化的设备 id */
+ deviceId: string
+ /** server 的 uuid */
+ serverId: string
+ }
+ interface OnBackgroundFetchDataCallbackResult {
+ /** 缓存数据类别 (periodic) */
+ fetchType: string
+ /** 缓存数据 */
+ fetchedData: string
+ /** 客户端拿到缓存数据的时间戳 */
+ timeStamp: number
+ }
+ interface OnBeaconServiceChangeCallbackResult {
+ /** 服务目前是否可用 */
+ available: boolean
+ /** 目前是否处于搜索状态 */
+ discovering: boolean
+ }
+ interface OnBeaconUpdateCallbackResult {
+ /** 当前搜寻到的所有 iBeacon 设备列表 */
+ beacons: IBeaconInfo[]
+ }
+ interface OnBluetoothAdapterStateChangeCallbackResult {
+ /** 蓝牙适配器是否可用 */
+ available: boolean
+ /** 蓝牙适配器是否处于搜索状态 */
+ discovering: boolean
+ }
+ interface OnBluetoothDeviceFoundCallbackResult {
+ /** 新搜索到的设备列表 */
+ devices: BlueToothDevice[]
+ }
+ interface OnCameraFrameCallbackResult {
+ /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */
+ data: ArrayBuffer
+ /** 图像数据矩形的高度 */
+ height: number
+ /** 图像数据矩形的宽度 */
+ width: number
+ }
+ interface OnCharacteristicReadRequestCallbackResult {
+ /** 唯一标识码,调用 writeCharacteristicValue 时使用 */
+ callbackId: number
+ /** characteristic对应的uuid */
+ characteristicId: string
+ /** service对应的uuid */
+ serviceId: string
+ }
+ interface OnCharacteristicSubscribedCallbackResult {
+ /** characteristic对应的uuid */
+ characteristicId: string
+ /** service对应的uuid */
+ serviceId: string
+ }
+ interface OnCharacteristicWriteRequestCallbackResult {
+ /** 唯一标识码,调用 writeCharacteristicValue 时使用 */
+ callbackId: number
+ /** characteristic对应的uuid */
+ characteristicId: string
+ /** service对应的uuid */
+ serviceId: string
+ /** 请求写入的特征值数据 */
+ value: ArrayBuffer
+ }
+ interface OnCheckForUpdateCallbackResult {
+ /** 是否有新版本 */
+ hasUpdate: boolean
+ }
+ interface OnCompassChangeCallbackResult {
+ /** 精度
+ *
+ * 最低基础库: `2.4.0` */
+ accuracy: number | string
+ /** 面对的方向度数 */
+ direction: number
+ }
+ interface OnCopyUrlCallbackResult {
+ /** 用短链打开小程序时当前页面携带的查询字符串。小程序中使用时,应在进入页面时调用 `wx.onCopyUrl` 自定义 `query`,退出页面时调用 `wx.offCopyUrl`,防止影响其它页面。 */
+ query: string
+ }
+ interface OnDeviceMotionChangeCallbackResult {
+ /** 当 手机坐标 X/Y 和 地球 X/Y 重合时,绕着 Z 轴转动的夹角为 alpha,范围值为 [0, 2*PI)。逆时针转动为正。 */
+ alpha: number
+ /** 当手机坐标 Y/Z 和地球 Y/Z 重合时,绕着 X 轴转动的夹角为 beta。范围值为 [-1*PI, PI) 。顶部朝着地球表面转动为正。也有可能朝着用户为正。 */
+ beta: number
+ /** 当手机 X/Z 和地球 X/Z 重合时,绕着 Y 轴转动的夹角为 gamma。范围值为 [-1*PI/2, PI/2)。右边朝着地球表面转动为正。 */
+ gamma: number
+ }
+ interface OnDiscoveredCallbackResult {
+ /** NdefMessage 数组,消息格式为 {id: ArrayBuffer, type: ArrayBuffer, payload: ArrayBuffer} */
+ messages: any[]
+ /** tech 数组,用于匹配NFC卡片具体可以使用什么标准(NfcA等实例)处理 */
+ techs: any[]
+ }
+ interface OnFrameRecordedCallbackResult {
+ /** 录音分片数据 */
+ frameBuffer: ArrayBuffer
+ /** 当前帧是否正常录音结束前的最后一帧 */
+ isLastFrame: boolean
+ }
+ interface OnGetWifiListCallbackResult {
+ /** Wi-Fi 列表数据 */
+ wifiList: WifiInfo[]
+ }
+ interface OnGyroscopeChangeCallbackResult {
+ /** x 轴的角速度 */
+ x: number
+ /** y 轴的角速度 */
+ y: number
+ /** z 轴的角速度 */
+ z: number
+ }
+ interface OnHCEMessageCallbackResult {
+ /** `messageType=1` 时 ,客户端接收到 NFC 设备的指令 */
+ data: ArrayBuffer
+ /** 消息类型
+ *
+ * 可选值:
+ * - 1: HCE APDU Command类型,小程序需对此指令进行处理,并调用 sendHCEMessage 接口返回处理指令;
+ * - 2: 设备离场事件类型; */
+ messageType: 1 | 2
+ /** `messageType=2` 时,原因 */
+ reason: number
+ }
+ interface OnHeadersReceivedCallbackResult {
+ /** 开发者服务器返回的 HTTP Response Header */
+ header: IAnyObject
+ }
+ interface OnKeyboardHeightChangeCallbackResult {
+ /** 键盘高度 */
+ height: number
+ }
+ interface OnLocalServiceFoundCallbackResult {
+ /** 服务的 ip 地址 */
+ ip: string
+ /** 服务的端口 */
+ port: number
+ /** 服务的名称 */
+ serviceName: string
+ /** 服务的类型 */
+ serviceType: string
+ }
+ interface OnLocalServiceLostCallbackResult {
+ /** 服务的名称 */
+ serviceName: string
+ /** 服务的类型 */
+ serviceType: string
+ }
+ interface OnLocationChangeCallbackResult {
+ /** 位置的精确度 */
+ accuracy: number
+ /** 高度,单位 m
+ *
+ * 最低基础库: `1.2.0` */
+ altitude: number
+ /** 水平精度,单位 m
+ *
+ * 最低基础库: `1.2.0` */
+ horizontalAccuracy: number
+ /** 纬度,范围为 -90~90,负数表示南纬 */
+ latitude: number
+ /** 经度,范围为 -180~180,负数表示西经 */
+ longitude: number
+ /** 速度,单位 m/s */
+ speed: number
+ /** 垂直精度,单位 m(Android 无法获取,返回 0)
+ *
+ * 最低基础库: `1.2.0` */
+ verticalAccuracy: number
+ }
+ interface OnMemoryWarningCallbackResult {
+ /** 内存告警等级,只有 Android 才有,对应系统宏定义
+ *
+ * 可选值:
+ * - 5: TRIM_MEMORY_RUNNING_MODERATE;
+ * - 10: TRIM_MEMORY_RUNNING_LOW;
+ * - 15: TRIM_MEMORY_RUNNING_CRITICAL; */
+ level: 5 | 10 | 15
+ }
+ interface OnNetworkStatusChangeCallbackResult {
+ /** 当前是否有网络连接 */
+ isConnected: boolean
+ /** 网络类型
+ *
+ * 可选值:
+ * - 'wifi': wifi 网络;
+ * - '2g': 2g 网络;
+ * - '3g': 3g 网络;
+ * - '4g': 4g 网络;
+ * - 'unknown': Android 下不常见的网络类型;
+ * - 'none': 无网络; */
+ networkType: 'wifi' | '2g' | '3g' | '4g' | 'unknown' | 'none'
+ }
+ interface OnOpenCallbackResult {
+ /** 连接成功的 HTTP 响应 Header
+ *
+ * 最低基础库: `2.0.0` */
+ header: IAnyObject
+ /** 网络请求过程中一些调试信息
+ *
+ * 最低基础库: `2.10.4` */
+ profile: SocketProfile
+ }
+ interface OnPageNotFoundCallbackResult {
+ /** 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面) */
+ isEntryPage: boolean
+ /** 不存在页面的路径 (代码包路径) */
+ path: string
+ /** 打开不存在页面的 query 参数 */
+ query: IAnyObject
+ }
+ interface OnSocketOpenCallbackResult {
+ /** 连接成功的 HTTP 响应 Header
+ *
+ * 最低基础库: `2.0.0` */
+ header: IAnyObject
+ }
+ interface OnStopCallbackResult {
+ /** 录音总时长,单位:ms */
+ duration: number
+ /** 录音文件大小,单位:Byte */
+ fileSize: number
+ /** 录音文件的临时路径 (本地路径) */
+ tempFilePath: string
+ }
+ interface OnThemeChangeCallbackResult {
+ /** 系统当前的主题,取值为`light`或`dark`
+ *
+ * 可选值:
+ * - 'dark': 深色主题;
+ * - 'light': 浅色主题; */
+ theme: 'dark' | 'light'
+ }
+ interface OnUnhandledRejectionCallbackResult {
+ /** 被拒绝的 Promise 对象 */
+ promise: Promise
+ /** 拒绝原因,一般是一个 Error 对象 */
+ reason: string
+ }
+ interface OnVoIPChatInterruptedCallbackResult {
+ /** 错误码 */
+ errCode: number
+ /** 调用结果(错误原因) */
+ errMsg: string
+ }
+ interface OnVoIPChatMembersChangedCallbackResult {
+ /** 错误码 */
+ errCode: number
+ /** 调用结果 */
+ errMsg: string
+ /** 还在实时语音通话中的成员 openId 名单 */
+ openIdList: string[]
+ }
+ interface OnVoIPChatSpeakersChangedCallbackResult {
+ /** 错误码 */
+ errCode: number
+ /** 调用结果(错误原因) */
+ errMsg: string
+ /** 还在实时语音通话中的成员 openId 名单 */
+ openIdList: string[]
+ }
+ interface OnVoIPVideoMembersChangedCallbackResult {
+ /** 错误码 */
+ errCode: number
+ /** 调用结果 */
+ errMsg: string
+ /** 开启视频的成员名单 */
+ openIdList: string[]
+ }
+ interface OnWifiConnectedCallbackResult {
+ /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html)
+ *
+ * Wi-Fi 信息 */
+ wifi: WifiInfo
+ }
+ interface OnWindowResizeCallbackResult {
+ size: Size
+ }
+ interface OpenBluetoothAdapterOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: OpenBluetoothAdapterCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: OpenBluetoothAdapterFailCallback
+ /** 蓝牙模式,可作为主/从设备,仅 iOS 需要。
+ *
+ * 可选值:
+ * - 'central': 主机模式;
+ * - 'peripheral': 从机模式;
+ *
+ * 最低基础库: `2.10.0` */
+ mode?: 'central' | 'peripheral'
+ /** 接口调用成功的回调函数 */
+ success?: OpenBluetoothAdapterSuccessCallback
+ }
+ interface OpenCardOption {
+ /** 需要打开的卡券列表 */
+ cardList: OpenCardRequestInfo[]
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: OpenCardCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: OpenCardFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: OpenCardSuccessCallback
+ }
+ /** 需要打开的卡券列表 */
+ interface OpenCardRequestInfo {
+ /** 卡券 ID */
+ cardId: string
+ /** 由 [wx.addCard](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.addCard.html) 的返回对象中的加密 code 通过解密后得到,解密请参照:[code 解码接口](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1499332673_Unm7V) */
+ code: string
+ }
+ interface OpenDocumentOption {
+ /** 文件路径 (本地路径) ,可通过 downloadFile 获得 */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: OpenDocumentCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: OpenDocumentFailCallback
+ /** 文件类型,指定文件类型打开文件
+ *
+ * 可选值:
+ * - 'doc': doc 格式;
+ * - 'docx': docx 格式;
+ * - 'xls': xls 格式;
+ * - 'xlsx': xlsx 格式;
+ * - 'ppt': ppt 格式;
+ * - 'pptx': pptx 格式;
+ * - 'pdf': pdf 格式;
+ *
+ * 最低基础库: `1.4.0` */
+ fileType?: 'doc' | 'docx' | 'xls' | 'xlsx' | 'ppt' | 'pptx' | 'pdf'
+ /** 是否显示右上角菜单
+ *
+ * 最低基础库: `2.11.0` */
+ showMenu?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: OpenDocumentSuccessCallback
+ }
+ interface OpenLocationOption {
+ /** 纬度,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系 */
+ latitude: number
+ /** 经度,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系 */
+ longitude: number
+ /** 地址的详细说明 */
+ address?: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: OpenLocationCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: OpenLocationFailCallback
+ /** 位置名 */
+ name?: string
+ /** 缩放比例,范围5~18 */
+ scale?: number
+ /** 接口调用成功的回调函数 */
+ success?: OpenLocationSuccessCallback
+ }
+ interface OpenMapAppOption {
+ /** 目的地名称 */
+ destination: string
+ /** 目的地纬度 */
+ latitude: number
+ /** 目的地经度 */
+ longitude: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: OpenMapAppCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: OpenMapAppFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: OpenMapAppSuccessCallback
+ }
+ interface OpenSettingOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: OpenSettingCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: OpenSettingFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: OpenSettingSuccessCallback
+ /** 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。
+ *
+ * 最低基础库: `2.10.3` */
+ withSubscriptions?: boolean
+ }
+ interface OpenSettingSuccessCallbackResult {
+ /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html)
+ *
+ * 用户授权结果 */
+ authSetting: AuthSetting
+ /** [SubscriptionsSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/SubscriptionsSetting.html)
+ *
+ * 用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。
+ *
+ * 最低基础库: `2.10.3` */
+ subscriptionsSetting: SubscriptionsSetting
+ errMsg: string
+ }
+ interface OpenVideoEditorOption {
+ /** 视频源的路径,只支持本地路径 */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: OpenVideoEditorCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: OpenVideoEditorFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: OpenVideoEditorSuccessCallback
+ }
+ interface OpenVideoEditorSuccessCallbackResult {
+ /** 剪辑后生成的视频文件的时长,单位毫秒(ms) */
+ duration: number
+ /** 剪辑后生成的视频文件大小,单位字节数(byte) */
+ size: number
+ /** 编辑后生成的视频文件的临时路径 */
+ tempFilePath: string
+ /** 编辑后生成的缩略图文件的临时路径 */
+ tempThumbPath: string
+ errMsg: string
+ }
+ interface PageScrollToOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: PageScrollToCompleteCallback
+ /** 滚动动画的时长,单位 ms */
+ duration?: number
+ /** 接口调用失败的回调函数 */
+ fail?: PageScrollToFailCallback
+ /** 滚动到页面的目标位置,单位 px */
+ scrollTop?: number
+ /** 选择器
+ *
+ * 最低基础库: `2.7.3` */
+ selector?: string
+ /** 接口调用成功的回调函数 */
+ success?: PageScrollToSuccessCallback
+ }
+ /** Canvas 2D API 的接口 Path2D 用来声明路径,此路径稍后会被CanvasRenderingContext2D 对象使用。CanvasRenderingContext2D 接口的 路径方法 也存在于 Path2D 这个接口中,允许你在 canvas 中根据需要创建可以保留并重用的路径。
+ *
+ * 最低基础库: `2.11.0` */
+ interface Path2D {}
+ interface PauseBGMOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: PauseBGMCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: PauseBGMFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: PauseBGMSuccessCallback
+ }
+ interface PauseBackgroundAudioOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: PauseBackgroundAudioCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: PauseBackgroundAudioFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: PauseBackgroundAudioSuccessCallback
+ }
+ interface PauseOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: PauseCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: PauseFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: PauseSuccessCallback
+ }
+ interface PauseVoiceOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: PauseVoiceCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: PauseVoiceFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: PauseVoiceSuccessCallback
+ }
+ /** PerformanceObserver 对象, 用于监听性能相关事件
+ *
+ * 最低基础库: `2.11.0` */
+ interface PerformanceObserver {
+ /** 获取当前支持的所有性能指标类型 */
+ supportedEntryTypes: any[]
+ }
+ interface PlayBGMOption {
+ /** 加入背景混音的资源地址 */
+ url: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: PlayBGMCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: PlayBGMFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: PlayBGMSuccessCallback
+ }
+ interface PlayBackgroundAudioOption {
+ /** 音乐链接,目前支持的格式有 m4a, aac, mp3, wav */
+ dataUrl: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: PlayBackgroundAudioCompleteCallback
+ /** 封面URL */
+ coverImgUrl?: string
+ /** 接口调用失败的回调函数 */
+ fail?: PlayBackgroundAudioFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: PlayBackgroundAudioSuccessCallback
+ /** 音乐标题 */
+ title?: string
+ }
+ interface PlayOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: PlayCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: PlayFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: PlaySuccessCallback
+ }
+ interface PlayVoiceOption {
+ /** 需要播放的语音文件的文件路径 (本地路径) */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: PlayVoiceCompleteCallback
+ /** 指定播放时长,到达指定的播放时长后会自动停止播放,单位:秒
+ *
+ * 最低基础库: `1.6.0` */
+ duration?: number
+ /** 接口调用失败的回调函数 */
+ fail?: PlayVoiceFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: PlayVoiceSuccessCallback
+ }
+ /** 插件帐号信息(仅在插件中调用时包含这一项) */
+ interface Plugin {
+ /** 插件 appId */
+ appId: string
+ /** 插件版本号 */
+ version: string
+ }
+ interface PreviewImageOption {
+ /** 需要预览的图片链接列表。[2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持云文件ID。 */
+ urls: string[]
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: PreviewImageCompleteCallback
+ /** 当前显示图片的链接 */
+ current?: string
+ /** 接口调用失败的回调函数 */
+ fail?: PreviewImageFailCallback
+ /** 是否显示长按菜单
+ *
+ * 最低基础库: `2.13.0` */
+ showmenu?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: PreviewImageSuccessCallback
+ }
+ interface PreviewMediaOption {
+ /** 需要预览的资源列表 */
+ sources: MediaSource[]
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: PreviewMediaCompleteCallback
+ /** 当前显示的资源序号 */
+ current?: number
+ /** 接口调用失败的回调函数 */
+ fail?: PreviewMediaFailCallback
+ /** 是否显示长按菜单
+ *
+ * 最低基础库: `2.13.0` */
+ showmenu?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: PreviewMediaSuccessCallback
+ }
+ interface ReLaunchOption {
+ /** 需要跳转的应用内页面路径 (代码包路径),路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 'path?key=value&key2=value2' */
+ url: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ReLaunchCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ReLaunchFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ReLaunchSuccessCallback
+ }
+ interface ReadBLECharacteristicValueOption {
+ /** 蓝牙特征值的 uuid */
+ characteristicId: string
+ /** 蓝牙设备 id */
+ deviceId: string
+ /** 蓝牙特征值对应服务的 uuid */
+ serviceId: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ReadBLECharacteristicValueCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ReadBLECharacteristicValueFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ReadBLECharacteristicValueSuccessCallback
+ }
+ interface ReadFileFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在;
+ * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限;
+ * - 'fail sdcard not mounted': Android sdcard 挂载失败; */
+ errMsg: string
+ }
+ interface ReadFileOption {
+ /** 要读取的文件的路径 (本地路径) */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ReadFileCompleteCallback
+ /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容
+ *
+ * 可选值:
+ * - 'ascii': ;
+ * - 'base64': ;
+ * - 'binary': ;
+ * - 'hex': ;
+ * - 'ucs2': 以小端序读取;
+ * - 'ucs-2': 以小端序读取;
+ * - 'utf16le': 以小端序读取;
+ * - 'utf-16le': 以小端序读取;
+ * - 'utf-8': ;
+ * - 'utf8': ;
+ * - 'latin1': ; */
+ encoding?:
+ | 'ascii'
+ | 'base64'
+ | 'binary'
+ | 'hex'
+ | 'ucs2'
+ | 'ucs-2'
+ | 'utf16le'
+ | 'utf-16le'
+ | 'utf-8'
+ | 'utf8'
+ | 'latin1'
+ /** 接口调用失败的回调函数 */
+ fail?: ReadFileFailCallback
+ /** 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte
+ *
+ * 最低基础库: `2.10.0` */
+ length?: number
+ /** 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte
+ *
+ * 最低基础库: `2.10.0` */
+ position?: number
+ /** 接口调用成功的回调函数 */
+ success?: ReadFileSuccessCallback
+ }
+ interface ReadFileSuccessCallbackResult {
+ /** 文件内容 */
+ data: string | ArrayBuffer
+ errMsg: string
+ }
+ interface ReaddirFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail no such file or directory ${dirPath}': 目录不存在;
+ * - 'fail not a directory ${dirPath}': dirPath 不是目录;
+ * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限;
+ * - 'fail sdcard not mounted': Android sdcard 挂载失败; */
+ errMsg: string
+ }
+ interface ReaddirOption {
+ /** 要读取的目录路径 (本地路径) */
+ dirPath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ReaddirCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ReaddirFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ReaddirSuccessCallback
+ }
+ interface ReaddirSuccessCallbackResult {
+ /** 指定目录下的文件名数组。 */
+ files: string[]
+ errMsg: string
+ }
+ interface RecorderManagerStartOption {
+ /** 指定录音的音频输入源,可通过 [wx.getAvailableAudioSources()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.getAvailableAudioSources.html) 获取当前可用的音频源
+ *
+ * 可选值:
+ * - 'auto': 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用;
+ * - 'buildInMic': 手机麦克风,仅限 iOS;
+ * - 'headsetMic': 有线耳机麦克风,仅限 iOS;
+ * - 'mic': 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android;
+ * - 'camcorder': 同 mic,适用于录制音视频内容,仅限 Android;
+ * - 'voice_communication': 同 mic,适用于实时沟通,仅限 Android;
+ * - 'voice_recognition': 同 mic,适用于语音识别,仅限 Android;
+ *
+ * 最低基础库: `2.1.0` */
+ audioSource?:
+ | 'auto'
+ | 'buildInMic'
+ | 'headsetMic'
+ | 'mic'
+ | 'camcorder'
+ | 'voice_communication'
+ | 'voice_recognition'
+ /** 录音的时长,单位 ms,最大值 600000(10 分钟) */
+ duration?: number
+ /** 编码码率,有效值见下表格 */
+ encodeBitRate?: number
+ /** 音频格式
+ *
+ * 可选值:
+ * - 'mp3': mp3 格式;
+ * - 'aac': aac 格式;
+ * - 'wav': wav 格式;
+ * - 'PCM': pcm 格式; */
+ format?: 'mp3' | 'aac' | 'wav' | 'PCM'
+ /** 指定帧大小,单位 KB。传入 frameSize 后,每录制指定帧大小的内容后,会回调录制的文件内容,不指定则不会回调。暂仅支持 mp3 格式。 */
+ frameSize?: number
+ /** 录音通道数
+ *
+ * 可选值:
+ * - 1: 1 个通道;
+ * - 2: 2 个通道; */
+ numberOfChannels?: 1 | 2
+ /** 采样率
+ *
+ * 可选值:
+ * - 8000: 8000 采样率;
+ * - 11025: 11025 采样率;
+ * - 12000: 12000 采样率;
+ * - 16000: 16000 采样率;
+ * - 22050: 22050 采样率;
+ * - 24000: 24000 采样率;
+ * - 32000: 32000 采样率;
+ * - 44100: 44100 采样率;
+ * - 48000: 48000 采样率; */
+ sampleRate?:
+ | 8000
+ | 11025
+ | 12000
+ | 16000
+ | 22050
+ | 24000
+ | 32000
+ | 44100
+ | 48000
+ }
+ /** 菜单按钮的布局位置信息 */
+ interface Rect {
+ /** 下边界坐标,单位:px */
+ bottom: number
+ /** 高度,单位:px */
+ height: number
+ /** 左边界坐标,单位:px */
+ left: number
+ /** 右边界坐标,单位:px */
+ right: number
+ /** 上边界坐标,单位:px */
+ top: number
+ /** 宽度,单位:px */
+ width: number
+ }
+ interface RedirectToOption {
+ /** 需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 `?` 分隔,参数键与参数值用 `=` 相连,不同参数用 `&` 分隔;如 'path?key=value&key2=value2' */
+ url: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RedirectToCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: RedirectToFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RedirectToSuccessCallback
+ }
+ interface RedoOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RedoCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: RedoFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RedoSuccessCallback
+ }
+ /** 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) */
+ interface ReferrerInfo {
+ /** 来源小程序、公众号或 App 的 appId */
+ appId: string
+ /** 来源小程序传过来的数据,scene=1037或1038时支持 */
+ extraData: IAnyObject
+ }
+ /** 参照区域的边界 */
+ interface RelativeRectResult {
+ /** 下边界 */
+ bottom: number
+ /** 左边界 */
+ left: number
+ /** 右边界 */
+ right: number
+ /** 上边界 */
+ top: number
+ }
+ /** 消息来源的结构化信息 */
+ interface RemoteInfo {
+ /** 发送消息的 socket 的地址 */
+ address: string
+ /** 使用的协议族,为 IPv4 或者 IPv6 */
+ family: string
+ /** 端口号 */
+ port: number
+ /** message 的大小,单位:字节 */
+ size: number
+ }
+ interface RemoveCustomLayerOption {
+ /** 个性化图层id */
+ layerId: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RemoveCustomLayerCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: RemoveCustomLayerFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RemoveCustomLayerSuccessCallback
+ }
+ interface RemoveFormatOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RemoveFormatCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: RemoveFormatFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RemoveFormatSuccessCallback
+ }
+ interface RemoveGroundOverlayOption {
+ /** 图片图层 id */
+ id: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RemoveGroundOverlayCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: RemoveGroundOverlayFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RemoveGroundOverlaySuccessCallback
+ }
+ interface RemoveMarkersOption {
+ /** marker 的 id 集合。 */
+ markerIds: any[]
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RemoveMarkersCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: RemoveMarkersFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RemoveMarkersSuccessCallback
+ }
+ interface RemoveSavedFileFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail file not exist': 指定的 tempFilePath 找不到文件; */
+ errMsg: string
+ }
+ interface RemoveServiceOption {
+ /** service 的 uuid */
+ serviceId: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RemoveServiceCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: RemoveServiceFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RemoveServiceSuccessCallback
+ }
+ interface RemoveStorageOption {
+ /** 本地缓存中指定的 key */
+ key: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RemoveStorageCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: RemoveStorageFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RemoveStorageSuccessCallback
+ }
+ interface RemoveTabBarBadgeOption {
+ /** tabBar 的哪一项,从左边算起 */
+ index: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RemoveTabBarBadgeCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: RemoveTabBarBadgeFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RemoveTabBarBadgeSuccessCallback
+ }
+ interface RenameFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail permission denied, rename ${oldPath} -> ${newPath}': 指定源文件或目标文件没有写权限;
+ * - 'fail no such file or directory, rename ${oldPath} -> ${newPath}': 源文件不存在,或目标文件路径的上层目录不存在; */
+ errMsg: string
+ }
+ interface RenameOption {
+ /** 新文件路径,支持本地路径 */
+ newPath: string
+ /** 源文件路径,支持本地路径 */
+ oldPath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RenameCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: RenameFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RenameSuccessCallback
+ }
+ /** Canvas 绘图上下文。
+ *
+ * ****
+ *
+ * - 通过 Canvas.getContext('2d') 接口可以获取 CanvasRenderingContext2D 对象,实现了 [HTML Canvas 2D Context](https://www.w3.org/TR/2dcontext/) 定义的属性、方法。
+ * - 通过 Canvas.getContext('webgl') 或 OffscreenCanvas.getContext('webgl') 接口可以获取 WebGLRenderingContext 对象,实现了 [WebGL 1.0](https://www.khronos.org/registry/webgl/specs/latest/1.0/) 定义的所有属性、方法、常量。
+ * - CanvasRenderingContext2D 的 drawImage 方法 2.10.0 起支持传入通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取的 video 对象
+ *
+ * **示例代码**
+ *
+ *
+ *
+ * video 画到 2D Canvas 示例
+ * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/tJTak7mU7sfX) */
+ interface RenderingContext {}
+ interface RequestOption<
+ T extends string | IAnyObject | ArrayBuffer =
+ | string
+ | IAnyObject
+ | ArrayBuffer
+ > {
+ /** 开发者服务器接口地址 */
+ url: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RequestCompleteCallback
+ /** 请求的参数 */
+ data?: string | IAnyObject | ArrayBuffer
+ /** 返回的数据格式
+ *
+ * 可选值:
+ * - 'json': 返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse;
+ * - '其他': 不对返回的内容进行 JSON.parse; */
+ dataType?: 'json' | '其他'
+ /** 开启 cache
+ *
+ * 最低基础库: `2.10.4` */
+ enableCache?: boolean
+ /** 开启 http2
+ *
+ * 最低基础库: `2.10.4` */
+ enableHttp2?: boolean
+ /** 开启 quic
+ *
+ * 最低基础库: `2.10.4` */
+ enableQuic?: boolean
+ /** 接口调用失败的回调函数 */
+ fail?: RequestFailCallback
+ /** 设置请求的 header,header 中不能设置 Referer。
+ *
+ * `content-type` 默认为 `application/json` */
+ header?: IAnyObject
+ /** HTTP 请求方法
+ *
+ * 可选值:
+ * - 'OPTIONS': HTTP 请求 OPTIONS;
+ * - 'GET': HTTP 请求 GET;
+ * - 'HEAD': HTTP 请求 HEAD;
+ * - 'POST': HTTP 请求 POST;
+ * - 'PUT': HTTP 请求 PUT;
+ * - 'DELETE': HTTP 请求 DELETE;
+ * - 'TRACE': HTTP 请求 TRACE;
+ * - 'CONNECT': HTTP 请求 CONNECT; */
+ method?:
+ | 'OPTIONS'
+ | 'GET'
+ | 'HEAD'
+ | 'POST'
+ | 'PUT'
+ | 'DELETE'
+ | 'TRACE'
+ | 'CONNECT'
+ /** 响应的数据类型
+ *
+ * 可选值:
+ * - 'text': 响应的数据为文本;
+ * - 'arraybuffer': 响应的数据为 ArrayBuffer;
+ *
+ * 最低基础库: `1.7.0` */
+ responseType?: 'text' | 'arraybuffer'
+ /** 接口调用成功的回调函数 */
+ success?: RequestSuccessCallback
+ /** 超时时间,单位为毫秒
+ *
+ * 最低基础库: `2.10.0` */
+ timeout?: number
+ }
+ interface RequestPaymentOption {
+ /** 随机字符串,长度为32个字符以下 */
+ nonceStr: string
+ /** 统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=*** */
+ package: string
+ /** 签名,具体见微信支付文档 */
+ paySign: string
+ /** 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间 */
+ timeStamp: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RequestPaymentCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: RequestPaymentFailCallback
+ /** 签名算法,应与后台下单时的值一致
+ *
+ * 可选值:
+ * - 'MD5': 仅在 v2 版本接口适用;
+ * - 'HMAC-SHA256': 仅在 v2 版本接口适用;
+ * - 'RSA': 仅在 v3 版本接口适用; */
+ signType?: 'MD5' | 'HMAC-SHA256' | 'RSA'
+ /** 接口调用成功的回调函数 */
+ success?: RequestPaymentSuccessCallback
+ }
+ interface RequestPictureInPictureOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RequestPictureInPictureCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: RequestPictureInPictureFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RequestPictureInPictureSuccessCallback
+ }
+ /** 网络请求过程中一些调试信息
+ *
+ * 最低基础库: `2.10.4` */
+ interface RequestProfile {
+ /** SSL建立完成的时间,如果不是安全连接,则值为 0 */
+ SSLconnectionEnd: number
+ /** SSL建立连接的时间,如果不是安全连接,则值为 0 */
+ SSLconnectionStart: number
+ /** HTTP(TCP) 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 */
+ connectEnd: number
+ /** HTTP(TCP) 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 */
+ connectStart: number
+ /** DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */
+ domainLookupEnd: number
+ /** DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */
+ domainLookupStart: number
+ /** 评估当前网络下载的kbps */
+ downstreamThroughputKbpsEstimate: number
+ /** 评估的网络状态 slow 2g/2g/3g/4g */
+ estimate_nettype: string
+ /** 组件准备好使用 HTTP 请求抓取资源的时间,这发生在检查本地缓存之前 */
+ fetchStart: number
+ /** 协议层根据多个请求评估当前网络的 rtt(仅供参考) */
+ httpRttEstimate: number
+ /** 当前请求的IP */
+ peerIP: string
+ /** 当前请求的端口 */
+ port: number
+ /** 收到字节数 */
+ receivedBytedCount: number
+ /** 最后一个 HTTP 重定向完成时的时间。有跳转且是同域名内部的重定向才算,否则值为 0 */
+ redirectEnd: number
+ /** 第一个 HTTP 重定向发生时的时间。有跳转且是同域名内的重定向才算,否则值为 0 */
+ redirectStart: number
+ /** HTTP请求读取真实文档结束的时间 */
+ requestEnd: number
+ /** HTTP请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存。连接错误重连时,这里显示的也是新建立连接的时间 */
+ requestStart: number
+ /** HTTP 响应全部接收完成的时间(获取到最后一个字节),包括从本地读取缓存 */
+ responseEnd: number
+ /** HTTP 开始接收响应的时间(获取到第一个字节),包括从本地读取缓存 */
+ responseStart: number
+ /** 当次请求连接过程中实时 rtt */
+ rtt: number
+ /** 发送的字节数 */
+ sendBytesCount: number
+ /** 是否复用连接 */
+ socketReused: boolean
+ /** 当前网络的实际下载kbps */
+ throughputKbps: number
+ /** 传输层根据多个请求评估的当前网络的 rtt(仅供参考) */
+ transportRttEstimate: number
+ }
+ interface RequestSubscribeMessageFailCallbackResult {
+ /** 接口调用失败错误码 */
+ errCode: number
+ /** 接口调用失败错误信息 */
+ errMsg: string
+ }
+ interface RequestSubscribeMessageOption {
+ /** 需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息(注意:iOS客户端7.0.6版本、Android客户端7.0.7版本之后的一次性订阅/长期订阅才支持多个模板消息,iOS客户端7.0.5版本、Android客户端7.0.6版本之前的一次订阅只支持一个模板消息)消息模板id在[微信公众平台(mp.weixin.qq.com)-功能-订阅消息]中配置。每个tmplId对应的模板标题需要不相同,否则会被过滤。 */
+ tmplIds: any[]
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RequestSubscribeMessageCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: RequestSubscribeMessageFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RequestSubscribeMessageSuccessCallback
+ }
+ interface RequestSubscribeMessageSuccessCallbackResult {
+ /** [TEMPLATE_ID]是动态的键,即模板id,值包括'accept'、'reject'、'ban'、'filter'。'accept'表示用户同意订阅该条id对应的模板消息,'reject'表示用户拒绝订阅该条id对应的模板消息,'ban'表示已被后台封禁,'filter'表示该模板因为模板标题同名被后台过滤。例如 { errMsg: "requestSubscribeMessage:ok", zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: "accept"} 表示用户同意订阅zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE这条消息 */
+ [TEMPLATE_ID: string]: string
+ /** 接口调用成功时errMsg值为'requestSubscribeMessage:ok' */
+ errMsg: string
+ }
+ interface RequestSuccessCallbackResult<
+ T extends string | IAnyObject | ArrayBuffer =
+ | string
+ | IAnyObject
+ | ArrayBuffer
+ > {
+ /** 开发者服务器返回的 cookies,格式为字符串数组
+ *
+ * 最低基础库: `2.10.0` */
+ cookies: string[]
+ /** 开发者服务器返回的数据 */
+ data: T
+ /** 开发者服务器返回的 HTTP Response Header
+ *
+ * 最低基础库: `1.2.0` */
+ header: IAnyObject
+ /** 网络请求过程中一些调试信息
+ *
+ * 最低基础库: `2.10.4` */
+ profile: RequestProfile
+ /** 开发者服务器返回的 HTTP 状态码 */
+ statusCode: number
+ errMsg: string
+ }
+ interface ResumeBGMOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ResumeBGMCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ResumeBGMFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ResumeBGMSuccessCallback
+ }
+ interface ResumeOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ResumeCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ResumeFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ResumeSuccessCallback
+ }
+ interface RewardedVideoAdOnCloseCallbackResult {
+ /** 视频是否是在用户完整观看的情况下被关闭的
+ *
+ * 最低基础库: `2.1.0` */
+ isEnded: boolean
+ }
+ interface RewardedVideoAdOnErrorCallbackResult {
+ /** 错误码
+ *
+ * 可选值:
+ * - 1000: 后端接口调用失败;
+ * - 1001: 参数错误;
+ * - 1002: 广告单元无效;
+ * - 1003: 内部错误;
+ * - 1004: 无合适的广告;
+ * - 1005: 广告组件审核中;
+ * - 1006: 广告组件被驳回;
+ * - 1007: 广告组件被封禁;
+ * - 1008: 广告单元已关闭;
+ *
+ * 最低基础库: `2.2.2` */
+ errCode: 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008
+ /** 错误信息 */
+ errMsg: string
+ }
+ interface RmdirFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail no such file or directory ${dirPath}': 目录不存在;
+ * - 'fail directory not empty': 目录不为空;
+ * - 'fail permission denied, open ${dirPath}': 指定的 dirPath 路径没有写权限;
+ * - 'fail sdcard not mounted': Android sdcard 挂载失败; */
+ errMsg: string
+ }
+ interface RmdirOption {
+ /** 要删除的目录路径 (本地路径) */
+ dirPath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RmdirCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: RmdirFailCallback
+ /** 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。
+ *
+ * 最低基础库: `2.3.0` */
+ recursive?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: RmdirSuccessCallback
+ }
+ /** 在竖屏正方向下的安全区域
+ *
+ * 最低基础库: `2.7.0` */
+ interface SafeArea {
+ /** 安全区域右下角纵坐标 */
+ bottom: number
+ /** 安全区域的高度,单位逻辑像素 */
+ height: number
+ /** 安全区域左上角横坐标 */
+ left: number
+ /** 安全区域右下角横坐标 */
+ right: number
+ /** 安全区域左上角纵坐标 */
+ top: number
+ /** 安全区域的宽度,单位逻辑像素 */
+ width: number
+ }
+ interface SaveFileFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail tempFilePath file not exist': 指定的 tempFilePath 找不到文件;
+ * - 'fail permission denied, open "${filePath}"': 指定的 filePath 路径没有写权限;
+ * - 'fail no such file or directory "${dirPath}"': 上级目录不存在;
+ * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足;
+ * - 'fail sdcard not mounted': Android sdcard 挂载失败; */
+ errMsg: string
+ }
+ interface SaveFileSuccessCallbackResult {
+ /** 存储后的文件路径 (本地路径) */
+ savedFilePath: string
+ errMsg: string
+ }
+ interface SaveFileToDiskOption {
+ /** 待保存文件路径 */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SaveFileToDiskCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SaveFileToDiskFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SaveFileToDiskSuccessCallback
+ }
+ interface SaveImageToPhotosAlbumOption {
+ /** 图片文件路径,可以是临时文件路径或永久文件路径 (本地路径) ,不支持网络路径 */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SaveImageToPhotosAlbumCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SaveImageToPhotosAlbumFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SaveImageToPhotosAlbumSuccessCallback
+ }
+ interface SaveVideoToPhotosAlbumOption {
+ /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 (本地路径) */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SaveVideoToPhotosAlbumCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SaveVideoToPhotosAlbumFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SaveVideoToPhotosAlbumSuccessCallback
+ }
+ interface ScanCodeOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ScanCodeCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ScanCodeFailCallback
+ /** 是否只能从相机扫码,不允许从相册选择图片
+ *
+ * 最低基础库: `1.2.0` */
+ onlyFromCamera?: boolean
+ /** 扫码类型
+ *
+ * 可选值:
+ * - 'barCode': 一维码;
+ * - 'qrCode': 二维码;
+ * - 'datamatrix': Data Matrix 码;
+ * - 'pdf417': PDF417 条码;
+ *
+ * 最低基础库: `1.7.0` */
+ scanType?: Array<'barCode' | 'qrCode' | 'datamatrix' | 'pdf417'>
+ /** 接口调用成功的回调函数 */
+ success?: ScanCodeSuccessCallback
+ }
+ interface ScanCodeSuccessCallbackResult {
+ /** 所扫码的字符集 */
+ charSet: string
+ /** 当所扫的码为当前小程序二维码时,会返回此字段,内容为二维码携带的 path */
+ path: string
+ /** 原始数据,base64编码 */
+ rawData: string
+ /** 所扫码的内容 */
+ result: string
+ /** 所扫码的类型
+ *
+ * 可选值:
+ * - 'QR_CODE': 二维码;
+ * - 'AZTEC': 一维码;
+ * - 'CODABAR': 一维码;
+ * - 'CODE_39': 一维码;
+ * - 'CODE_93': 一维码;
+ * - 'CODE_128': 一维码;
+ * - 'DATA_MATRIX': 二维码;
+ * - 'EAN_8': 一维码;
+ * - 'EAN_13': 一维码;
+ * - 'ITF': 一维码;
+ * - 'MAXICODE': 一维码;
+ * - 'PDF_417': 二维码;
+ * - 'RSS_14': 一维码;
+ * - 'RSS_EXPANDED': 一维码;
+ * - 'UPC_A': 一维码;
+ * - 'UPC_E': 一维码;
+ * - 'UPC_EAN_EXTENSION': 一维码;
+ * - 'WX_CODE': 二维码;
+ * - 'CODE_25': 一维码; */
+ scanType:
+ | 'QR_CODE'
+ | 'AZTEC'
+ | 'CODABAR'
+ | 'CODE_39'
+ | 'CODE_93'
+ | 'CODE_128'
+ | 'DATA_MATRIX'
+ | 'EAN_8'
+ | 'EAN_13'
+ | 'ITF'
+ | 'MAXICODE'
+ | 'PDF_417'
+ | 'RSS_14'
+ | 'RSS_EXPANDED'
+ | 'UPC_A'
+ | 'UPC_E'
+ | 'UPC_EAN_EXTENSION'
+ | 'WX_CODE'
+ | 'CODE_25'
+ errMsg: string
+ }
+ interface ScrollOffsetCallbackResult {
+ /** 节点的 dataset */
+ dataset: IAnyObject
+ /** 节点的 ID */
+ id: string
+ /** 节点的水平滚动位置 */
+ scrollLeft: number
+ /** 节点的竖直滚动位置 */
+ scrollTop: number
+ }
+ interface ScrollToOption {
+ /** 是否启用滚动动画 */
+ animated?: boolean
+ /** 滚动动画时长 */
+ duration?: number
+ /** 左边界距离 */
+ left?: number
+ /** 顶部距离 */
+ top?: number
+ /** 初始速度 */
+ velocity?: number
+ }
+ /** 增强 ScrollView 实例
+ *
+ * 最低基础库: `2.14.4` */
+ interface ScrollViewContext {
+ /** 设置滚动边界弹性 (仅在 iOS 下生效) */
+ bounces: boolean
+ /** 取消滚动惯性 (仅在 iOS 下生效) */
+ decelerationDisabled: boolean
+ /** 设置滚动减速速率 */
+ fastDeceleration: boolean
+ /** 分页滑动开关 */
+ pagingEnabled: boolean
+ /** 滚动开关 */
+ scrollEnabled: boolean
+ /** 设置是否显示滚动条 */
+ showScrollbar: boolean
+ }
+ interface SeekBackgroundAudioOption {
+ /** 音乐位置,单位:秒 */
+ position: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SeekBackgroundAudioCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SeekBackgroundAudioFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SeekBackgroundAudioSuccessCallback
+ }
+ interface SendHCEMessageOption {
+ /** 二进制数据 */
+ data: ArrayBuffer
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SendHCEMessageCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SendHCEMessageFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SendHCEMessageSuccessCallback
+ }
+ interface SendMessageOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SendMessageCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SendMessageFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SendMessageSuccessCallback
+ }
+ interface SendSocketMessageOption {
+ /** 需要发送的内容 */
+ data: string | ArrayBuffer
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SendSocketMessageCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SendSocketMessageFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SendSocketMessageSuccessCallback
+ }
+ interface SetBGMVolumeOption {
+ /** 音量大小,范围是 0-1 */
+ volume: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetBGMVolumeCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetBGMVolumeFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetBGMVolumeSuccessCallback
+ }
+ interface SetBLEMTUOption {
+ /** 用于区分设备的 id */
+ deviceId: string
+ /** 最大传输单元(22,512) 区间内,单位 bytes */
+ mtu: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetBLEMTUCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetBLEMTUFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetBLEMTUSuccessCallback
+ }
+ interface SetBackgroundColorOption {
+ /** 窗口的背景色,必须为十六进制颜色值 */
+ backgroundColor?: string
+ /** 底部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 */
+ backgroundColorBottom?: string
+ /** 顶部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 */
+ backgroundColorTop?: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetBackgroundColorCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetBackgroundColorFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetBackgroundColorSuccessCallback
+ }
+ interface SetBackgroundFetchTokenOption {
+ /** 自定义的登录态 */
+ token: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetBackgroundFetchTokenCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetBackgroundFetchTokenFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetBackgroundFetchTokenSuccessCallback
+ }
+ interface SetBackgroundTextStyleOption {
+ /** 下拉背景字体、loading 图的样式。
+ *
+ * 可选值:
+ * - 'dark': dark 样式;
+ * - 'light': light 样式; */
+ textStyle: 'dark' | 'light'
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetBackgroundTextStyleCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetBackgroundTextStyleFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetBackgroundTextStyleSuccessCallback
+ }
+ interface SetCenterOffsetOption {
+ /** 偏移量,两位数组 */
+ offset: number[]
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetCenterOffsetCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetCenterOffsetFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetCenterOffsetSuccessCallback
+ }
+ interface SetClipboardDataOption {
+ /** 剪贴板的内容 */
+ data: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetClipboardDataCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetClipboardDataFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetClipboardDataSuccessCallback
+ }
+ interface SetContentsOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetContentsCompleteCallback
+ /** 表示内容的delta对象 */
+ delta?: IAnyObject
+ /** 接口调用失败的回调函数 */
+ fail?: SetContentsFailCallback
+ /** 带标签的HTML内容 */
+ html?: string
+ /** 接口调用成功的回调函数 */
+ success?: SetContentsSuccessCallback
+ }
+ interface SetEnableDebugOption {
+ /** 是否打开调试 */
+ enableDebug: boolean
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetEnableDebugCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetEnableDebugFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetEnableDebugSuccessCallback
+ }
+ interface SetInnerAudioOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetInnerAudioOptionCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetInnerAudioOptionFailCallback
+ /** 是否与其他音频混播,设置为 true 之后,不会终止其他应用或微信内的音乐 */
+ mixWithOther?: boolean
+ /** (仅在 iOS 生效)是否遵循静音开关,设置为 false 之后,即使是在静音模式下,也能播放声音 */
+ obeyMuteSwitch?: boolean
+ /** true 代表用扬声器播放,false 代表听筒播放,默认值为 true。 */
+ speakerOn?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: SetInnerAudioOptionSuccessCallback
+ }
+ interface SetKeepScreenOnOption {
+ /** 是否保持屏幕常亮 */
+ keepScreenOn: boolean
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetKeepScreenOnCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetKeepScreenOnFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetKeepScreenOnSuccessCallback
+ }
+ interface SetMICVolumeOption {
+ /** 音量大小,范围是 0.0-1.0 */
+ volume: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetMICVolumeCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetMICVolumeFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetMICVolumeSuccessCallback
+ }
+ interface SetNavigationBarColorOption {
+ /** 背景颜色值,有效值为十六进制颜色 */
+ backgroundColor: string
+ /** 前景颜色值,包括按钮、标题、状态栏的颜色,仅支持 #ffffff 和 #000000 */
+ frontColor: string
+ /** 动画效果 */
+ animation?: AnimationOption
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetNavigationBarColorCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetNavigationBarColorFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetNavigationBarColorSuccessCallback
+ }
+ interface SetNavigationBarTitleOption {
+ /** 页面标题 */
+ title: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetNavigationBarTitleCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetNavigationBarTitleFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetNavigationBarTitleSuccessCallback
+ }
+ interface SetScreenBrightnessOption {
+ /** 屏幕亮度值,范围 0 ~ 1。0 最暗,1 最亮 */
+ value: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetScreenBrightnessCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetScreenBrightnessFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetScreenBrightnessSuccessCallback
+ }
+ interface SetStorageOption {
+ /** 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */
+ data: T
+ /** 本地缓存中指定的 key */
+ key: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetStorageCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetStorageFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetStorageSuccessCallback
+ }
+ interface SetTabBarBadgeOption {
+ /** tabBar 的哪一项,从左边算起 */
+ index: number
+ /** 显示的文本,超过 4 个字符则显示成 ... */
+ text: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetTabBarBadgeCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetTabBarBadgeFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetTabBarBadgeSuccessCallback
+ }
+ interface SetTabBarItemOption {
+ /** tabBar 的哪一项,从左边算起 */
+ index: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetTabBarItemCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetTabBarItemFailCallback
+ /** 图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,当 postion 为 top 时,此参数无效 */
+ iconPath?: string
+ /** 选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px ,当 postion 为 top 时,此参数无效 */
+ selectedIconPath?: string
+ /** 接口调用成功的回调函数 */
+ success?: SetTabBarItemSuccessCallback
+ /** tab 上的按钮文字 */
+ text?: string
+ }
+ interface SetTabBarStyleOption {
+ /** tab 的背景色,HexColor */
+ backgroundColor?: string
+ /** tabBar上边框的颜色, 仅支持 black/white */
+ borderStyle?: string
+ /** tab 上的文字默认颜色,HexColor */
+ color?: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetTabBarStyleCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetTabBarStyleFailCallback
+ /** tab 上的文字选中时的颜色,HexColor */
+ selectedColor?: string
+ /** 接口调用成功的回调函数 */
+ success?: SetTabBarStyleSuccessCallback
+ }
+ interface SetTimeoutOption {
+ /** 设置超时时间 (ms) */
+ timeout: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetTimeoutCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetTimeoutFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetTimeoutSuccessCallback
+ }
+ interface SetTopBarTextOption {
+ /** 置顶栏文字 */
+ text: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetTopBarTextCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetTopBarTextFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetTopBarTextSuccessCallback
+ }
+ interface SetWifiListOption {
+ /** 提供预设的 Wi-Fi 信息列表 */
+ wifiList: WifiData[]
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetWifiListCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetWifiListFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetWifiListSuccessCallback
+ }
+ interface SetWindowSizeOption {
+ /** 窗口高度,以像素为单位 */
+ height: number
+ /** 窗口宽度,以像素为单位 */
+ width: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetWindowSizeCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetWindowSizeFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetWindowSizeSuccessCallback
+ }
+ interface SetZoomOption {
+ /** 缩放级别,范围[1, maxZoom]。zoom 可取小数,精确到小数后一位。maxZoom 可在 bindinitdone 返回值中获取。 */
+ zoom: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SetZoomCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SetZoomFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SetZoomSuccessCallback
+ }
+ interface SetZoomSuccessCallbackResult {
+ /** 实际设置的缩放级别。由于系统限制,某些机型可能无法设置成指定值,会改用最接近的可设值。 */
+ zoom: number
+ errMsg: string
+ }
+ interface ShowActionSheetOption {
+ /** 按钮的文字数组,数组长度最大为 6 */
+ itemList: string[]
+ /** 警示文案
+ *
+ * 最低基础库: `2.14.0` */
+ alertText?: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ShowActionSheetCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ShowActionSheetFailCallback
+ /** 按钮的文字颜色 */
+ itemColor?: string
+ /** 接口调用成功的回调函数 */
+ success?: ShowActionSheetSuccessCallback
+ }
+ interface ShowActionSheetSuccessCallbackResult {
+ /** 用户点击的按钮序号,从上到下的顺序,从0开始 */
+ tapIndex: number
+ errMsg: string
+ }
+ interface ShowLoadingOption {
+ /** 提示的内容 */
+ title: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ShowLoadingCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ShowLoadingFailCallback
+ /** 是否显示透明蒙层,防止触摸穿透 */
+ mask?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: ShowLoadingSuccessCallback
+ }
+ interface ShowModalOption {
+ /** 取消按钮的文字颜色,必须是 16 进制格式的颜色字符串 */
+ cancelColor?: string
+ /** 取消按钮的文字,最多 4 个字符 */
+ cancelText?: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ShowModalCompleteCallback
+ /** 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串 */
+ confirmColor?: string
+ /** 确认按钮的文字,最多 4 个字符 */
+ confirmText?: string
+ /** 提示的内容,editable 为 true 时,会输入框默认文本 */
+ content?: string
+ /** 是否显示输入框
+ *
+ * 最低基础库: `2.15.0` */
+ editable?: boolean
+ /** 接口调用失败的回调函数 */
+ fail?: ShowModalFailCallback
+ /** 输入框提示文本
+ *
+ * 最低基础库: `2.15.0` */
+ placeholderText?: string
+ /** 是否显示取消按钮 */
+ showCancel?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: ShowModalSuccessCallback
+ /** 提示的标题 */
+ title?: string
+ }
+ interface ShowModalSuccessCallbackResult {
+ /** 为 true 时,表示用户点击了取消(用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭)
+ *
+ * 最低基础库: `1.1.0` */
+ cancel: boolean
+ /** 为 true 时,表示用户点击了确定按钮 */
+ confirm: boolean
+ /** editable 为 true 时,用户输入的文本 */
+ content: string
+ errMsg: string
+ }
+ interface ShowNavigationBarLoadingOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ShowNavigationBarLoadingCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ShowNavigationBarLoadingFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ShowNavigationBarLoadingSuccessCallback
+ }
+ interface ShowRedPackageOption {
+ /** 封面地址 */
+ url: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ShowRedPackageCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ShowRedPackageFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ShowRedPackageSuccessCallback
+ }
+ interface ShowShareImageMenuOption {
+ /** 要分享的图片地址,必须为本地路径或临时路径 */
+ path: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ShowShareImageMenuCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ShowShareImageMenuFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ShowShareImageMenuSuccessCallback
+ }
+ interface ShowShareMenuOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ShowShareMenuCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ShowShareMenuFailCallback
+ /** 本接口为 Beta 版本,暂只在 Android 平台支持。需要显示的转发按钮名称列表,默认['shareAppMessage']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种
+ *
+ * 最低基础库: `2.11.3` */
+ menus?: string[]
+ /** 接口调用成功的回调函数 */
+ success?: ShowShareMenuSuccessCallback
+ /** 是否使用带 shareTicket 的转发[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */
+ withShareTicket?: boolean
+ }
+ interface ShowTabBarOption {
+ /** 是否需要动画效果 */
+ animation?: boolean
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ShowTabBarCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ShowTabBarFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ShowTabBarSuccessCallback
+ }
+ interface ShowTabBarRedDotOption {
+ /** tabBar 的哪一项,从左边算起 */
+ index: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ShowTabBarRedDotCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ShowTabBarRedDotFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ShowTabBarRedDotSuccessCallback
+ }
+ interface ShowToastOption {
+ /** 提示的内容 */
+ title: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ShowToastCompleteCallback
+ /** 提示的延迟时间 */
+ duration?: number
+ /** 接口调用失败的回调函数 */
+ fail?: ShowToastFailCallback
+ /** 图标
+ *
+ * 可选值:
+ * - 'success': 显示成功图标,此时 title 文本最多显示 7 个汉字长度;
+ * - 'error': 显示失败图标,此时 title 文本最多显示 7 个汉字长度;
+ * - 'loading': 显示加载图标,此时 title 文本最多显示 7 个汉字长度;
+ * - 'none': 不显示图标,此时 title 文本最多可显示两行,[1.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html)及以上版本支持; */
+ icon?: 'success' | 'error' | 'loading' | 'none'
+ /** 自定义图标的本地路径,image 的优先级高于 icon
+ *
+ * 最低基础库: `1.1.0` */
+ image?: string
+ /** 是否显示透明蒙层,防止触摸穿透 */
+ mask?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: ShowToastSuccessCallback
+ }
+ interface Size {
+ /** 变化后的窗口高度,单位 px */
+ windowHeight: number
+ /** 变化后的窗口宽度,单位 px */
+ windowWidth: number
+ }
+ /** 网络请求过程中一些调试信息
+ *
+ * 最低基础库: `2.10.4` */
+ interface SocketProfile {
+ /** 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 */
+ connectEnd: number
+ /** 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 */
+ connectStart: number
+ /** 上层请求到返回的耗时 */
+ cost: number
+ /** DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */
+ domainLookupEnd: number
+ /** DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */
+ domainLookupStart: number
+ /** 组件准备好使用 SOCKET 建立请求的时间,这发生在检查本地缓存之前 */
+ fetchStart: number
+ /** 握手耗时 */
+ handshakeCost: number
+ /** 单次连接的耗时,包括 connect ,tls */
+ rtt: number
+ }
+ interface SocketTaskCloseOption {
+ /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */
+ code?: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SocketTaskCloseCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SocketTaskCloseFailCallback
+ /** 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符)。 */
+ reason?: string
+ /** 接口调用成功的回调函数 */
+ success?: SocketTaskCloseSuccessCallback
+ }
+ interface SocketTaskOnCloseCallbackResult {
+ /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */
+ code: number
+ /** 一个可读的字符串,表示连接被关闭的原因。 */
+ reason: string
+ }
+ interface SocketTaskOnMessageCallbackResult {
+ /** 服务器返回的消息 */
+ data: string | ArrayBuffer
+ }
+ interface SocketTaskSendOption {
+ /** 需要发送的内容 */
+ data: string | ArrayBuffer
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SendCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SendFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SendSuccessCallback
+ }
+ interface StartAccelerometerOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartAccelerometerCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartAccelerometerFailCallback
+ /** 监听加速度数据回调函数的执行频率
+ *
+ * 可选值:
+ * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右;
+ * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右;
+ * - 'normal': 普通的回调频率,在 200ms/次 左右;
+ *
+ * 最低基础库: `2.1.0` */
+ interval?: 'game' | 'ui' | 'normal'
+ /** 接口调用成功的回调函数 */
+ success?: StartAccelerometerSuccessCallback
+ }
+ interface StartAdvertisingObject {
+ /** 广播自定义参数 */
+ advertiseRequest: AdvertiseReqObj
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartAdvertisingCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartAdvertisingFailCallback
+ /** 广播功率
+ *
+ * 可选值:
+ * - 'low': 功率低;
+ * - 'medium': 功率适中;
+ * - 'high': 功率高; */
+ powerLevel?: 'low' | 'medium' | 'high'
+ /** 接口调用成功的回调函数 */
+ success?: StartAdvertisingSuccessCallback
+ }
+ interface StartBeaconDiscoveryOption {
+ /** iBeacon 设备广播的 uuid 列表 */
+ uuids: string[]
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartBeaconDiscoveryCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartBeaconDiscoveryFailCallback
+ /** 是否校验蓝牙开关,仅在 iOS 下有效 */
+ ignoreBluetoothAvailable?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: StartBeaconDiscoverySuccessCallback
+ }
+ interface StartBluetoothDevicesDiscoveryOption {
+ /** 是否允许重复上报同一设备。如果允许重复上报,则 [wx.onBlueToothDeviceFound](#) 方法会多次上报同一设备,但是 RSSI 值会有不同。 */
+ allowDuplicatesKey?: boolean
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartBluetoothDevicesDiscoveryCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartBluetoothDevicesDiscoveryFailCallback
+ /** 上报设备的间隔。0 表示找到新设备立即上报,其他数值根据传入的间隔上报。 */
+ interval?: number
+ /** 扫描模式,越高扫描越快,也越耗电, 仅安卓 7.0.12 及以上支持。
+ *
+ * 可选值:
+ * - 'low': 低;
+ * - 'medium': 中;
+ * - 'high': 高; */
+ powerLevel?: 'low' | 'medium' | 'high'
+ /** 要搜索的蓝牙设备主 service 的 uuid 列表。某些蓝牙设备会广播自己的主 service 的 uuid。如果设置此参数,则只搜索广播包有对应 uuid 的主服务的蓝牙设备。建议主要通过该参数过滤掉周边不需要处理的其他蓝牙设备。 */
+ services?: string[]
+ /** 接口调用成功的回调函数 */
+ success?: StartBluetoothDevicesDiscoverySuccessCallback
+ }
+ interface StartCompassOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartCompassCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartCompassFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StartCompassSuccessCallback
+ }
+ interface StartDeviceMotionListeningOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartDeviceMotionListeningCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartDeviceMotionListeningFailCallback
+ /** 监听设备方向的变化回调函数的执行频率
+ *
+ * 可选值:
+ * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右;
+ * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右;
+ * - 'normal': 普通的回调频率,在 200ms/次 左右; */
+ interval?: 'game' | 'ui' | 'normal'
+ /** 接口调用成功的回调函数 */
+ success?: StartDeviceMotionListeningSuccessCallback
+ }
+ interface StartDiscoveryOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartDiscoveryCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartDiscoveryFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StartDiscoverySuccessCallback
+ }
+ interface StartGyroscopeOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartGyroscopeCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartGyroscopeFailCallback
+ /** 监听陀螺仪数据回调函数的执行频率
+ *
+ * 可选值:
+ * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右;
+ * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右;
+ * - 'normal': 普通的回调频率,在 200ms/次 左右; */
+ interval?: 'game' | 'ui' | 'normal'
+ /** 接口调用成功的回调函数 */
+ success?: StartGyroscopeSuccessCallback
+ }
+ interface StartHCEOption {
+ /** 需要注册到系统的 AID 列表 */
+ aid_list: string[]
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartHCECompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartHCEFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StartHCESuccessCallback
+ }
+ interface StartLocalServiceDiscoveryFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'invalid param': serviceType 为空;
+ * - 'scan task already exist': 在当前 startLocalServiceDiscovery 发起的搜索未停止的情况下,再次调用 startLocalServiceDiscovery; */
+ errMsg: string
+ }
+ interface StartLocalServiceDiscoveryOption {
+ /** 要搜索的服务类型 */
+ serviceType: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartLocalServiceDiscoveryCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartLocalServiceDiscoveryFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StartLocalServiceDiscoverySuccessCallback
+ }
+ interface StartLocationUpdateBackgroundOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartLocationUpdateBackgroundCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartLocationUpdateBackgroundFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StartLocationUpdateBackgroundSuccessCallback
+ }
+ interface StartLocationUpdateOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartLocationUpdateCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartLocationUpdateFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StartLocationUpdateSuccessCallback
+ }
+ interface StartPreviewOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartPreviewCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartPreviewFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StartPreviewSuccessCallback
+ }
+ interface StartPullDownRefreshOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartPullDownRefreshCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartPullDownRefreshFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StartPullDownRefreshSuccessCallback
+ }
+ interface StartRecordSuccessCallbackResult {
+ /** 录音文件的临时路径 (本地路径) */
+ tempFilePath: string
+ errMsg: string
+ }
+ interface StartRecordTimeoutCallbackResult {
+ /** 封面图片文件的临时路径 (本地路径) */
+ tempThumbPath: string
+ /** 视频的文件的临时路径 (本地路径) */
+ tempVideoPath: string
+ }
+ interface StartSoterAuthenticationOption {
+ /** 挑战因子。挑战因子为调用者为此次生物鉴权准备的用于签名的字符串关键识别信息,将作为 `resultJSON` 的一部分,供调用者识别本次请求。例如:如果场景为请求用户对某订单进行授权确认,则可以将订单号填入此参数。 */
+ challenge: string
+ /** 请求使用的可接受的生物认证方式
+ *
+ * 可选值:
+ * - 'fingerPrint': 指纹识别;
+ * - 'facial': 人脸识别;
+ * - 'speech': 声纹识别(暂未支持); */
+ requestAuthModes: Array<'fingerPrint' | 'facial' | 'speech'>
+ /** 验证描述,即识别过程中显示在界面上的对话框提示内容 */
+ authContent?: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartSoterAuthenticationCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartSoterAuthenticationFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StartSoterAuthenticationSuccessCallback
+ }
+ interface StartSoterAuthenticationSuccessCallbackResult {
+ /** 生物认证方式 */
+ authMode: string
+ /** 错误码 */
+ errCode: number
+ /** 错误信息 */
+ errMsg: string
+ /** 在设备安全区域(TEE)内获得的本机安全信息(如TEE名称版本号等以及防重放参数)以及本次认证信息(仅Android支持,本次认证的指纹ID)。具体说明见下文 */
+ resultJSON: string
+ /** 用SOTER安全密钥对 `resultJSON` 的签名(SHA256 with RSA/PSS, saltlen=20) */
+ resultJSONSignature: string
+ }
+ interface StartWifiOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartWifiCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartWifiFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StartWifiSuccessCallback
+ }
+ interface StatFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail permission denied, open ${path}': 指定的 path 路径没有读权限;
+ * - 'fail no such file or directory ${path}': 文件不存在;
+ * - 'fail sdcard not mounted': Android sdcard 挂载失败; */
+ errMsg: string
+ }
+ interface StatOption {
+ /** 文件/目录路径 (本地路径) */
+ path: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StatCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StatFailCallback
+ /** 是否递归获取目录下的每个文件的 Stats 信息
+ *
+ * 最低基础库: `2.3.0` */
+ recursive?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: StatSuccessCallback
+ }
+ interface StatSuccessCallbackResult {
+ /** [Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)|Object
+ *
+ * 当 recursive 为 false 时,res.stats 是一个 Stats 对象。当 recursive 为 true 且 path 是一个目录的路径时,res.stats 是一个 Object,key 以 path 为根路径的相对路径,value 是该路径对应的 Stats 对象。 */
+ stats: Stats | IAnyObject
+ errMsg: string
+ }
+ /** 描述文件状态的对象 */
+ interface Stats {
+ /** 文件最近一次被存取或被执行的时间,UNIX 时间戳,对应 POSIX stat.st_atime */
+ lastAccessedTime: number
+ /** 文件最后一次被修改的时间,UNIX 时间戳,对应 POSIX stat.st_mtime */
+ lastModifiedTime: number
+ /** 文件的类型和存取的权限,对应 POSIX stat.st_mode */
+ mode: string
+ /** 文件大小,单位:B,对应 POSIX stat.st_size */
+ size: number
+ }
+ interface StepOption {
+ /** 动画延迟时间,单位 ms */
+ delay?: number
+ /** 动画持续时间,单位 ms */
+ duration?: number
+ /** 动画的效果
+ *
+ * 可选值:
+ * - 'linear': 动画从头到尾的速度是相同的;
+ * - 'ease': 动画以低速开始,然后加快,在结束前变慢;
+ * - 'ease-in': 动画以低速开始;
+ * - 'ease-in-out': 动画以低速开始和结束;
+ * - 'ease-out': 动画以低速结束;
+ * - 'step-start': 动画第一帧就跳至结束状态直到结束;
+ * - 'step-end': 动画一直保持开始状态,最后一帧跳到结束状态; */
+ timingFunction?:
+ | 'linear'
+ | 'ease'
+ | 'ease-in'
+ | 'ease-in-out'
+ | 'ease-out'
+ | 'step-start'
+ | 'step-end'
+ transformOrigin?: string
+ }
+ interface StopAccelerometerOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopAccelerometerCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopAccelerometerFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopAccelerometerSuccessCallback
+ }
+ interface StopAdvertisingOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopAdvertisingCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopAdvertisingFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopAdvertisingSuccessCallback
+ }
+ interface StopBGMOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopBGMCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopBGMFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopBGMSuccessCallback
+ }
+ interface StopBackgroundAudioOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopBackgroundAudioCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopBackgroundAudioFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopBackgroundAudioSuccessCallback
+ }
+ interface StopBeaconDiscoveryOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopBeaconDiscoveryCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopBeaconDiscoveryFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopBeaconDiscoverySuccessCallback
+ }
+ interface StopBluetoothDevicesDiscoveryOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopBluetoothDevicesDiscoveryCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopBluetoothDevicesDiscoveryFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopBluetoothDevicesDiscoverySuccessCallback
+ }
+ interface StopCompassOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopCompassCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopCompassFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopCompassSuccessCallback
+ }
+ interface StopDeviceMotionListeningOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopDeviceMotionListeningCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopDeviceMotionListeningFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopDeviceMotionListeningSuccessCallback
+ }
+ interface StopDiscoveryOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopDiscoveryCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopDiscoveryFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopDiscoverySuccessCallback
+ }
+ interface StopGyroscopeOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopGyroscopeCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopGyroscopeFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopGyroscopeSuccessCallback
+ }
+ interface StopHCEOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopHCECompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopHCEFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopHCESuccessCallback
+ }
+ interface StopLocalServiceDiscoveryFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'task not found': 在当前没有处在搜索服务中的情况下调用 stopLocalServiceDiscovery; */
+ errMsg: string
+ }
+ interface StopLocalServiceDiscoveryOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopLocalServiceDiscoveryCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopLocalServiceDiscoveryFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopLocalServiceDiscoverySuccessCallback
+ }
+ interface StopLocationUpdateOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopLocationUpdateCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopLocationUpdateFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopLocationUpdateSuccessCallback
+ }
+ interface StopOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopSuccessCallback
+ }
+ interface StopPreviewOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopPreviewCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopPreviewFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopPreviewSuccessCallback
+ }
+ interface StopPullDownRefreshOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopPullDownRefreshCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopPullDownRefreshFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopPullDownRefreshSuccessCallback
+ }
+ interface StopRecordSuccessCallbackResult {
+ /** 封面图片文件的临时路径 (本地路径) */
+ tempThumbPath: string
+ /** 视频的文件的临时路径 (本地路径) */
+ tempVideoPath: string
+ errMsg: string
+ }
+ interface StopVoiceOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopVoiceCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopVoiceFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopVoiceSuccessCallback
+ }
+ interface StopWifiOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopWifiCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopWifiFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: StopWifiSuccessCallback
+ }
+ interface SubscribeVoIPVideoMembersOption {
+ /** 订阅的成员列表 */
+ openIdList: string[]
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SubscribeVoIPVideoMembersCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SubscribeVoIPVideoMembersFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SubscribeVoIPVideoMembersSuccessCallback
+ }
+ /** 订阅消息设置
+*
+* **示例代码**
+*
+*
+* ```javascript
+wx.getSetting({
+ withSubscriptions: true,
+ success (res) {
+ console.log(res.authSetting)
+ // res.authSetting = {
+ // "scope.userInfo": true,
+ // "scope.userLocation": true
+ // }
+ console.log(res.subscriptionsSetting)
+ // res.subscriptionsSetting = {
+ // mainSwitch: true, // 订阅消息总开关
+ // itemSettings: { // 每一项开关
+ // SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小游戏系统订阅消息
+ // SYS_MSG_TYPE_RANK: 'accept'
+ // zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject', // 普通一次性订阅消息
+ // ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban',
+ // }
+ // }
+ }
+})
+``` */
+ interface SubscriptionsSetting {
+ /** 订阅消息总开关,true为开启,false为关闭 */
+ mainSwitch: boolean
+ /** 每一项订阅消息的订阅状态。itemSettings对象的键为**一次性订阅消息的模板id**或**系统订阅消息的类型**,值为'accept'、'reject'、'ban'中的其中一种。'accept'表示用户同意订阅这条消息,'reject'表示用户拒绝订阅这条消息,'ban'表示已被后台封禁。一次性订阅消息使用方法详见 [wx.requestSubscribeMessage](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html),永久订阅消息(仅小游戏可用)使用方法详见[wx.requestSubscribeSystemMessage](/minigame/dev/api/open-api/subscribe-message/wx.requestSubscribeSystemMessage.html)
+ * ## 注意事项
+ * - itemSettings 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */
+ itemSettings?: IAnyObject
+ }
+ interface SwitchCameraOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SwitchCameraCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SwitchCameraFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SwitchCameraSuccessCallback
+ }
+ interface SwitchTabOption {
+ /** 需要跳转的 tabBar 页面的路径 (代码包路径)(需在 app.json 的 [tabBar](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#tabbar) 字段定义的页面),路径后不能带参数。 */
+ url: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SwitchTabCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: SwitchTabFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SwitchTabSuccessCallback
+ }
+ interface SystemInfo {
+ /** 客户端基础库版本
+ *
+ * 最低基础库: `1.1.0` */
+ SDKVersion: string
+ /** 允许微信使用相册的开关(仅 iOS 有效)
+ *
+ * 最低基础库: `2.6.0` */
+ albumAuthorized: boolean
+ /** 设备性能等级(仅 Android)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50)
+ *
+ * 最低基础库: `1.8.0` */
+ benchmarkLevel: number
+ /** 蓝牙的系统开关
+ *
+ * 最低基础库: `2.6.0` */
+ bluetoothEnabled: boolean
+ /** 设备品牌
+ *
+ * 最低基础库: `1.5.0` */
+ brand: string
+ /** 允许微信使用摄像头的开关
+ *
+ * 最低基础库: `2.6.0` */
+ cameraAuthorized: boolean
+ /** 设备方向
+ *
+ * 可选值:
+ * - 'portrait': 竖屏;
+ * - 'landscape': 横屏; */
+ deviceOrientation: 'portrait' | 'landscape'
+ /** 是否已打开调试。可通过右上角菜单或 [wx.setEnableDebug](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) 打开调试。
+ *
+ * 最低基础库: `2.15.0` */
+ enableDebug: boolean
+ /** 用户字体大小(单位px)。以微信客户端「我-设置-通用-字体大小」中的设置为准
+ *
+ * 最低基础库: `1.5.0` */
+ fontSizeSetting: number
+ /** 微信设置的语言 */
+ language: string
+ /** 允许微信使用定位的开关
+ *
+ * 最低基础库: `2.6.0` */
+ locationAuthorized: boolean
+ /** 地理位置的系统开关
+ *
+ * 最低基础库: `2.6.0` */
+ locationEnabled: boolean
+ /** `true` 表示模糊定位,`false` 表示精确定位,仅 iOS 支持 */
+ locationReducedAccuracy: boolean
+ /** 允许微信使用麦克风的开关
+ *
+ * 最低基础库: `2.6.0` */
+ microphoneAuthorized: boolean
+ /** 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 */
+ model: string
+ /** 允许微信通知带有提醒的开关(仅 iOS 有效)
+ *
+ * 最低基础库: `2.6.0` */
+ notificationAlertAuthorized: boolean
+ /** 允许微信通知的开关
+ *
+ * 最低基础库: `2.6.0` */
+ notificationAuthorized: boolean
+ /** 允许微信通知带有标记的开关(仅 iOS 有效)
+ *
+ * 最低基础库: `2.6.0` */
+ notificationBadgeAuthorized: boolean
+ /** 允许微信通知带有声音的开关(仅 iOS 有效)
+ *
+ * 最低基础库: `2.6.0` */
+ notificationSoundAuthorized: boolean
+ /** 设备像素比 */
+ pixelRatio: number
+ /** 客户端平台 */
+ platform: string
+ /** 在竖屏正方向下的安全区域
+ *
+ * 最低基础库: `2.7.0` */
+ safeArea: SafeArea
+ /** 屏幕高度,单位px
+ *
+ * 最低基础库: `1.1.0` */
+ screenHeight: number
+ /** 屏幕宽度,单位px
+ *
+ * 最低基础库: `1.1.0` */
+ screenWidth: number
+ /** 状态栏的高度,单位px
+ *
+ * 最低基础库: `1.9.0` */
+ statusBarHeight: number
+ /** 操作系统及版本 */
+ system: string
+ /** 微信版本号 */
+ version: string
+ /** Wi-Fi 的系统开关
+ *
+ * 最低基础库: `2.6.0` */
+ wifiEnabled: boolean
+ /** 可使用窗口高度,单位px */
+ windowHeight: number
+ /** 可使用窗口宽度,单位px */
+ windowWidth: number
+ /** 系统当前主题,取值为`light`或`dark`,全局配置`"darkmode":true`时才能获取,否则为 undefined (不支持小游戏)
+ *
+ * 可选值:
+ * - 'dark': 深色主题;
+ * - 'light': 浅色主题;
+ *
+ * 最低基础库: `2.11.0` */
+ theme?: 'dark' | 'light'
+ }
+ interface TakePhotoOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: TakePhotoCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: TakePhotoFailCallback
+ /** 成像质量
+ *
+ * 可选值:
+ * - 'high': 高质量;
+ * - 'normal': 普通质量;
+ * - 'low': 低质量; */
+ quality?: 'high' | 'normal' | 'low'
+ /** 接口调用成功的回调函数 */
+ success?: TakePhotoSuccessCallback
+ }
+ interface TakePhotoSuccessCallbackResult {
+ /** 照片文件的临时路径 (本地路径),安卓是jpg图片格式,ios是png */
+ tempImagePath: string
+ errMsg: string
+ }
+ /** 标签类型枚举 */
+ interface TechType {
+ /** 对应IsoDep实例,实例支持ISO-DEP (ISO 14443-4)标准的读写 */
+ isoDep: string
+ /** 对应MifareClassic实例,实例支持MIFARE Classic标签的读写 */
+ mifareClassic: string
+ /** 对应MifareUltralight实例,实例支持MIFARE Ultralight标签的读写 */
+ mifareUltralight: string
+ /** 对应Ndef实例,实例支持对NDEF格式的NFC标签上的NDEF数据的读写 */
+ ndef: string
+ /** 对应NfcA实例,实例支持NFC-A (ISO 14443-3A)标准的读写 */
+ nfcA: string
+ /** 对应NfcB实例,实例支持NFC-B (ISO 14443-3B)标准的读写 */
+ nfcB: string
+ /** 对应NfcF实例,实例支持NFC-F (JIS 6319-4)标准的读写 */
+ nfcF: string
+ /** 对应NfcV实例,实例支持NFC-V (ISO 15693)标准的读写 */
+ nfcV: string
+ }
+ interface TextMetrics {
+ /** 文本的宽度 */
+ width: number
+ }
+ interface ToScreenLocationOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ToScreenLocationCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ToScreenLocationFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ToScreenLocationSuccessCallback
+ }
+ interface ToScreenLocationSuccessCallbackResult {
+ /** x 坐标值 */
+ x: number
+ /** y 坐标值 */
+ y: number
+ errMsg: string
+ }
+ interface ToggleTorchOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: ToggleTorchCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: ToggleTorchFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: ToggleTorchSuccessCallback
+ }
+ interface TransceiveOption {
+ /** 需要传递的二进制数据 */
+ data: ArrayBuffer
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: TransceiveCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: TransceiveFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: TransceiveSuccessCallback
+ }
+ interface TransceiveSuccessCallbackResult {
+ data: ArrayBuffer
+ errMsg: string
+ }
+ interface TranslateMarkerOption {
+ /** 移动过程中是否自动旋转 marker */
+ autoRotate: boolean
+ /** 指定 marker 移动到的目标点 */
+ destination: DestinationOption
+ /** 指定 marker */
+ markerId: number
+ /** marker 的旋转角度 */
+ rotate: number
+ /** 动画结束回调函数 */
+ animationEnd?: (...args: any[]) => any
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: TranslateMarkerCompleteCallback
+ /** 动画持续时长,平移与旋转分别计算 */
+ duration?: number
+ /** 接口调用失败的回调函数 */
+ fail?: TranslateMarkerFailCallback
+ /** 平移和旋转同时进行
+ *
+ * 最低基础库: `2.13.0` */
+ moveWithRotate?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: TranslateMarkerSuccessCallback
+ }
+ interface UDPSocketOnErrorCallbackResult {
+ /** 错误信息 */
+ errMsg: string
+ }
+ interface UDPSocketOnMessageCallbackResult {
+ /** 收到的消息 */
+ message: ArrayBuffer
+ /** 消息来源的结构化信息 */
+ remoteInfo: RemoteInfo
+ }
+ interface UDPSocketSendOption {
+ /** 要发消息的地址。在基础库 2.9.3 及之前版本可以是一个和本机同网段的 IP 地址,也可以是在安全域名列表内的域名地址;在基础库 2.9.4 及之后版本,可以是任意 IP 和域名 */
+ address: string
+ /** 要发送的数据 */
+ message: string | ArrayBuffer
+ /** 要发送消息的端口号 */
+ port: number
+ /** 发送数据的长度,仅当 message 为 ArrayBuffer 类型时有效 */
+ length?: number
+ /** 发送数据的偏移量,仅当 message 为 ArrayBuffer 类型时有效 */
+ offset?: number
+ }
+ interface UndoOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: UndoCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: UndoFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: UndoSuccessCallback
+ }
+ interface UnlinkFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail permission denied, open ${path}': 指定的 path 路径没有读权限;
+ * - 'fail no such file or directory ${path}': 文件不存在;
+ * - 'fail operation not permitted, unlink ${filePath}': 传入的 filePath 是一个目录;
+ * - 'fail sdcard not mounted': Android sdcard 挂载失败; */
+ errMsg: string
+ }
+ interface UnlinkOption {
+ /** 要删除的文件路径 (本地路径) */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: UnlinkCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: UnlinkFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: UnlinkSuccessCallback
+ }
+ interface UnzipFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail permission denied, unzip ${zipFilePath} -> ${destPath}': 指定目标文件路径没有写权限;
+ * - 'fail no such file or directory, unzip ${zipFilePath} -> "${destPath}': 源文件不存在,或目标文件路径的上层目录不存在; */
+ errMsg: string
+ }
+ interface UnzipOption {
+ /** 目标目录路径, 支持本地路径 */
+ targetPath: string
+ /** 源文件路径,支持本地路径, 只可以是 zip 压缩文件 */
+ zipFilePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: UnzipCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: UnzipFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: UnzipSuccessCallback
+ }
+ /** 参数列表 */
+ interface UpdatableMessageFrontEndParameter {
+ /** 参数名 */
+ name: string
+ /** 参数值 */
+ value: string
+ }
+ /** 动态消息的模板信息
+ *
+ * 最低基础库: `2.4.0` */
+ interface UpdatableMessageFrontEndTemplateInfo {
+ /** 参数列表 */
+ parameterList: UpdatableMessageFrontEndParameter[]
+ }
+ interface UpdateGroundOverlayOption {
+ /** 图片覆盖的经纬度范围 */
+ bounds: MapBounds
+ /** 图片图层 id */
+ id: string
+ /** 图片路径,支持网络图片、临时路径、代码包路径 */
+ src: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: UpdateGroundOverlayCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: UpdateGroundOverlayFailCallback
+ /** 图层透明度 */
+ opacity?: number
+ /** 接口调用成功的回调函数 */
+ success?: UpdateGroundOverlaySuccessCallback
+ /** 是否可见 */
+ visible?: boolean
+ /** 图层绘制顺序 */
+ zIndex?: number
+ }
+ interface UpdateShareMenuOption {
+ /** 动态消息的 activityId。通过 [updatableMessage.createActivityId](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/updatable-message/updatableMessage.createActivityId.html) 接口获取
+ *
+ * 最低基础库: `2.4.0` */
+ activityId?: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: UpdateShareMenuCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: UpdateShareMenuFailCallback
+ /** 是否是私密消息。详见 [小程序私密消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/private-message.html)
+ *
+ * 最低基础库: `2.13.0` */
+ isPrivateMessage?: boolean
+ /** 是否是动态消息,详见[动态消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/updatable-message.html)
+ *
+ * 最低基础库: `2.4.0` */
+ isUpdatableMessage?: boolean
+ /** 接口调用成功的回调函数 */
+ success?: UpdateShareMenuSuccessCallback
+ /** 动态消息的模板信息
+ *
+ * 最低基础库: `2.4.0` */
+ templateInfo?: UpdatableMessageFrontEndTemplateInfo
+ /** 群待办消息的id,通过toDoActivityId可以把多个群待办消息聚合为同一个。通过 [updatableMessage.createActivityId](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/updatable-message/updatableMessage.createActivityId.html) 接口获取。详见[群待办消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html)
+ *
+ * 最低基础库: `2.11.0` */
+ toDoActivityId?: string
+ /** 是否使用带 shareTicket 的转发[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */
+ withShareTicket?: boolean
+ }
+ interface UpdateVoIPChatMuteConfigOption {
+ /** 静音设置 */
+ muteConfig: MuteConfig
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: UpdateVoIPChatMuteConfigCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: UpdateVoIPChatMuteConfigFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: UpdateVoIPChatMuteConfigSuccessCallback
+ }
+ interface UpdateWeChatAppOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: UpdateWeChatAppCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: UpdateWeChatAppFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: UpdateWeChatAppSuccessCallback
+ }
+ interface UploadFileOption {
+ /** 要上传文件资源的路径 (本地路径) */
+ filePath: string
+ /** 文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容 */
+ name: string
+ /** 开发者服务器地址 */
+ url: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: UploadFileCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: UploadFileFailCallback
+ /** HTTP 请求中其他额外的 form data */
+ formData?: IAnyObject
+ /** HTTP 请求 Header,Header 中不能设置 Referer */
+ header?: IAnyObject
+ /** 接口调用成功的回调函数 */
+ success?: UploadFileSuccessCallback
+ /** 超时时间,单位为毫秒
+ *
+ * 最低基础库: `2.10.0` */
+ timeout?: number
+ }
+ interface UploadFileSuccessCallbackResult {
+ /** 开发者服务器返回的数据 */
+ data: string
+ /** 开发者服务器返回的 HTTP 状态码 */
+ statusCode: number
+ errMsg: string
+ }
+ interface UploadTaskOnProgressUpdateCallbackResult {
+ /** 上传进度百分比 */
+ progress: number
+ /** 预期需要上传的数据总长度,单位 Bytes */
+ totalBytesExpectedToSend: number
+ /** 已经上传的数据长度,单位 Bytes */
+ totalBytesSent: number
+ }
+ /** 用户信息 */
+ interface UserInfo {
+ /** 用户头像图片的 URL。URL 最后一个数值代表正方形头像大小(有 0、46、64、96、132 数值可选,0 代表 640x640 的正方形头像,46 表示 46x46 的正方形头像,剩余数值以此类推。默认132),用户没有头像时该项为空。若用户更换头像,原有头像 URL 将失效。 */
+ avatarUrl: string
+ /** 用户所在城市 */
+ city: string
+ /** 用户所在国家 */
+ country: string
+ /** 用户性别
+ *
+ * 可选值:
+ * - 0: 未知;
+ * - 1: 男性;
+ * - 2: 女性; */
+ gender: 0 | 1 | 2
+ /** 显示 country,province,city 所用的语言
+ *
+ * 可选值:
+ * - 'en': 英文;
+ * - 'zh_CN': 简体中文;
+ * - 'zh_TW': 繁体中文; */
+ language: 'en' | 'zh_CN' | 'zh_TW'
+ /** 用户昵称 */
+ nickName: string
+ /** 用户所在省份 */
+ province: string
+ }
+ interface VibrateLongOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: VibrateLongCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: VibrateLongFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: VibrateLongSuccessCallback
+ }
+ interface VibrateShortOption {
+ /** 震动强度类型,有效值为:heavy、medium、light
+ *
+ * 最低基础库: `2.13.0` */
+ type: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: VibrateShortCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: VibrateShortFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: VibrateShortSuccessCallback
+ }
+ interface VideoContextRequestFullScreenOption {
+ /** 设置全屏时视频的方向,不指定则根据宽高比自动判断。
+ *
+ * 可选值:
+ * - 0: 正常竖向;
+ * - 90: 屏幕逆时针90度;
+ * - -90: 屏幕顺时针90度;
+ *
+ * 最低基础库: `1.7.0` */
+ direction?: 0 | 90 | -90
+ }
+ interface VideoDecoderStartOption {
+ /** 需要解码的视频源文件。基础库 2.13.0 以下的版本只支持本地路径。 2.13.0 开始支持 http:// 和 https:// 协议的远程路径。 */
+ source: string
+ /** 解码模式。0:按 pts 解码;1:以最快速度解码 */
+ mode?: number
+ }
+ /** 提供预设的 Wi-Fi 信息列表 */
+ interface WifiData {
+ /** Wi-Fi 的 BSSID */
+ BSSID?: string
+ /** Wi-Fi 的 SSID */
+ SSID?: string
+ /** Wi-Fi 设备密码 */
+ password?: string
+ }
+ /** Wifi 信息 */
+ interface WifiInfo {
+ /** Wi-Fi 的 BSSID */
+ BSSID: string
+ /** Wi-Fi 的 SSID */
+ SSID: string
+ /** Wi-Fi 频段单位 MHz
+ *
+ * 最低基础库: `2.12.0` */
+ frequency: number
+ /** Wi-Fi 是否安全 */
+ secure: boolean
+ /** Wi-Fi 信号强度 */
+ signalStrength: number
+ }
+ interface WorkerOnMessageCallbackResult {
+ /** 主线程/Worker 线程向当前线程发送的消息 */
+ message: IAnyObject
+ }
+ interface WriteBLECharacteristicValueOption {
+ /** 蓝牙特征值的 uuid */
+ characteristicId: string
+ /** 蓝牙设备 id */
+ deviceId: string
+ /** 蓝牙特征值对应服务的 uuid */
+ serviceId: string
+ /** 蓝牙设备特征值对应的二进制值 */
+ value: ArrayBuffer
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: WriteBLECharacteristicValueCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: WriteBLECharacteristicValueFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: WriteBLECharacteristicValueSuccessCallback
+ }
+ interface WriteCharacteristicValueObject {
+ /** characteristic对应的uuid */
+ characteristicId: string
+ /** 是否需要通知主机value已更新 */
+ needNotify: boolean
+ /** service 的 uuid */
+ serviceId: string
+ /** 特征值对应的二进制值 */
+ value: ArrayBuffer
+ /** 可选,处理回包时使用 */
+ callbackId?: number
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: WriteCharacteristicValueCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: WriteCharacteristicValueFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: WriteCharacteristicValueSuccessCallback
+ }
+ interface WriteFileFailCallbackResult {
+ /** 错误信息
+ *
+ * 可选值:
+ * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在;
+ * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限;
+ * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足;
+ * - 'fail sdcard not mounted': Android sdcard 挂载失败; */
+ errMsg: string
+ }
+ interface WriteFileOption {
+ /** 要写入的文本或二进制数据 */
+ data: string | ArrayBuffer
+ /** 要写入的文件路径 (本地路径) */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: WriteFileCompleteCallback
+ /** 指定写入文件的字符编码
+ *
+ * 可选值:
+ * - 'ascii': ;
+ * - 'base64': ;
+ * - 'binary': ;
+ * - 'hex': ;
+ * - 'ucs2': 以小端序读取;
+ * - 'ucs-2': 以小端序读取;
+ * - 'utf16le': 以小端序读取;
+ * - 'utf-16le': 以小端序读取;
+ * - 'utf-8': ;
+ * - 'utf8': ;
+ * - 'latin1': ; */
+ encoding?:
+ | 'ascii'
+ | 'base64'
+ | 'binary'
+ | 'hex'
+ | 'ucs2'
+ | 'ucs-2'
+ | 'utf16le'
+ | 'utf-16le'
+ | 'utf-8'
+ | 'utf8'
+ | 'latin1'
+ /** 接口调用失败的回调函数 */
+ fail?: WriteFileFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: WriteFileSuccessCallback
+ }
+ interface WriteNdefMessageOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: WriteNdefMessageCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: WriteNdefMessageFailCallback
+ /** 二进制对象数组, 需要指明 id, type 以及 payload (均为 ArrayBuffer 类型) */
+ records?: any[]
+ /** 接口调用成功的回调函数 */
+ success?: WriteNdefMessageSuccessCallback
+ /** text 数组 */
+ texts?: any[]
+ /** uri 数组 */
+ uris?: any[]
+ }
+ interface WxGetFileInfoOption {
+ /** 本地文件路径 (本地路径) */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetFileInfoCompleteCallback
+ /** 计算文件摘要的算法
+ *
+ * 可选值:
+ * - 'md5': md5 算法;
+ * - 'sha1': sha1 算法; */
+ digestAlgorithm?: 'md5' | 'sha1'
+ /** 接口调用失败的回调函数 */
+ fail?: WxGetFileInfoFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: WxGetFileInfoSuccessCallback
+ }
+ interface WxGetFileInfoSuccessCallbackResult {
+ /** 按照传入的 digestAlgorithm 计算得出的的文件摘要 */
+ digest: string
+ /** 文件大小,以字节为单位 */
+ size: number
+ errMsg: string
+ }
+ interface WxGetSavedFileListOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: GetSavedFileListCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: GetSavedFileListFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: WxGetSavedFileListSuccessCallback
+ }
+ interface WxGetSavedFileListSuccessCallbackResult {
+ /** 文件数组,每一项是一个 FileItem */
+ fileList: FileItem[]
+ errMsg: string
+ }
+ interface WxRemoveSavedFileOption {
+ /** 需要删除的文件路径 (本地路径) */
+ filePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: RemoveSavedFileCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: WxRemoveSavedFileFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: RemoveSavedFileSuccessCallback
+ }
+ interface WxSaveFileOption {
+ /** 需要保存的文件的临时路径 (本地路径) */
+ tempFilePath: string
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: SaveFileCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: WxSaveFileFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: SaveFileSuccessCallback
+ }
+ interface WxStartRecordOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StartRecordCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StartRecordFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: WxStartRecordSuccessCallback
+ }
+ interface WxStopRecordOption {
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
+ complete?: StopRecordCompleteCallback
+ /** 接口调用失败的回调函数 */
+ fail?: StopRecordFailCallback
+ /** 接口调用成功的回调函数 */
+ success?: WxStopRecordSuccessCallback
+ }
+ interface Animation {
+ /** [Object Animation.export()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.export.html)
+ *
+ * 导出动画队列。**export 方法每次调用后会清掉之前的动画操作。** */
+ export(): AnimationExportResult
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.backgroundColor(string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.backgroundColor.html)
+ *
+ * 设置背景色 */
+ backgroundColor(
+ /** 颜色值 */
+ value: string
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.bottom(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.bottom.html)
+ *
+ * 设置 bottom 值 */
+ bottom(
+ /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */
+ value: number | string
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.height(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.height.html)
+ *
+ * 设置高度 */
+ height(
+ /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */
+ value: number | string
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.left(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.left.html)
+ *
+ * 设置 left 值 */
+ left(
+ /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */
+ value: number | string
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.matrix()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.matrix.html)
+ *
+ * 同 [transform-function matrix](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix) */
+ matrix(): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.matrix3d()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.matrix3d.html)
+ *
+ * 同 [transform-function matrix3d](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix3d) */
+ matrix3d(): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.opacity(number value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.opacity.html)
+ *
+ * 设置透明度 */
+ opacity(
+ /** 透明度,范围 0-1 */
+ value: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.right(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.right.html)
+ *
+ * 设置 right 值 */
+ right(
+ /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */
+ value: number | string
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotate(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotate.html)
+ *
+ * 从原点顺时针旋转一个角度 */
+ rotate(
+ /** 旋转的角度。范围 [-180, 180] */
+ angle: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotate3d(number x, number y, number z, number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotate3d.html)
+ *
+ * 从 固定 轴顺时针旋转一个角度 */
+ rotate3d(
+ /** 旋转轴的 x 坐标 */
+ x: number,
+ /** 旋转轴的 y 坐标 */
+ y: number,
+ /** 旋转轴的 z 坐标 */
+ z: number,
+ /** 旋转的角度。范围 [-180, 180] */
+ angle: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateX(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateX.html)
+ *
+ * 从 X 轴顺时针旋转一个角度 */
+ rotateX(
+ /** 旋转的角度。范围 [-180, 180] */
+ angle: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateY(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateY.html)
+ *
+ * 从 Y 轴顺时针旋转一个角度 */
+ rotateY(
+ /** 旋转的角度。范围 [-180, 180] */
+ angle: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateZ(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateZ.html)
+ *
+ * 从 Z 轴顺时针旋转一个角度 */
+ rotateZ(
+ /** 旋转的角度。范围 [-180, 180] */
+ angle: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scale(number sx, number sy)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scale.html)
+ *
+ * 缩放 */
+ scale(
+ /** 当仅有 sx 参数时,表示在 X 轴、Y 轴同时缩放sx倍数 */
+ sx: number,
+ /** 在 Y 轴缩放 sy 倍数 */
+ sy?: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scale3d(number sx, number sy, number sz)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scale3d.html)
+ *
+ * 缩放 */
+ scale3d(
+ /** x 轴的缩放倍数 */
+ sx: number,
+ /** y 轴的缩放倍数 */
+ sy: number,
+ /** z 轴的缩放倍数 */
+ sz: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleX(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleX.html)
+ *
+ * 缩放 X 轴 */
+ scaleX(
+ /** X 轴的缩放倍数 */
+ scale: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleY(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleY.html)
+ *
+ * 缩放 Y 轴 */
+ scaleY(
+ /** Y 轴的缩放倍数 */
+ scale: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleZ(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleZ.html)
+ *
+ * 缩放 Z 轴 */
+ scaleZ(
+ /** Z 轴的缩放倍数 */
+ scale: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skew(number ax, number ay)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skew.html)
+ *
+ * 对 X、Y 轴坐标进行倾斜 */
+ skew(
+ /** 对 X 轴坐标倾斜的角度,范围 [-180, 180] */
+ ax: number,
+ /** 对 Y 轴坐标倾斜的角度,范围 [-180, 180] */
+ ay: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skewX(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skewX.html)
+ *
+ * 对 X 轴坐标进行倾斜 */
+ skewX(
+ /** 倾斜的角度,范围 [-180, 180] */
+ angle: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skewY(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skewY.html)
+ *
+ * 对 Y 轴坐标进行倾斜 */
+ skewY(
+ /** 倾斜的角度,范围 [-180, 180] */
+ angle: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.step(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.step.html)
+ *
+ * 表示一组动画完成。可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画。 */
+ step(option?: StepOption): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.top(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.top.html)
+ *
+ * 设置 top 值 */
+ top(
+ /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */
+ value: number | string
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translate(number tx, number ty)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translate.html)
+ *
+ * 平移变换 */
+ translate(
+ /** 当仅有该参数时表示在 X 轴偏移 tx,单位 px */
+ tx?: number,
+ /** 在 Y 轴平移的距离,单位为 px */
+ ty?: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translate3d(number tx, number ty, number tz)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translate3d.html)
+ *
+ * 对 xyz 坐标进行平移变换 */
+ translate3d(
+ /** 在 X 轴平移的距离,单位为 px */
+ tx?: number,
+ /** 在 Y 轴平移的距离,单位为 px */
+ ty?: number,
+ /** 在 Z 轴平移的距离,单位为 px */
+ tz?: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateX(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateX.html)
+ *
+ * 对 X 轴平移 */
+ translateX(
+ /** 在 X 轴平移的距离,单位为 px */
+ translation: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateY(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateY.html)
+ *
+ * 对 Y 轴平移 */
+ translateY(
+ /** 在 Y 轴平移的距离,单位为 px */
+ translation: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateZ(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateZ.html)
+ *
+ * 对 Z 轴平移 */
+ translateZ(
+ /** 在 Z 轴平移的距离,单位为 px */
+ translation: number
+ ): Animation
+ /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.width(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.width.html)
+ *
+ * 设置宽度 */
+ width(
+ /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */
+ value: number | string
+ ): Animation
+ }
+ interface AudioContext {
+ /** [AudioContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.pause.html)
+ *
+ * 暂停音频。 */
+ pause(): void
+ /** [AudioContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.play.html)
+ *
+ * 播放音频。 */
+ play(): void
+ /** [AudioContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.seek.html)
+ *
+ * 跳转到指定位置。 */
+ seek(
+ /** 跳转位置,单位 s */
+ position: number
+ ): void
+ /** [AudioContext.setSrc(string src)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.setSrc.html)
+ *
+ * 设置音频地址 */
+ setSrc(
+ /** 音频地址 */
+ src: string
+ ): void
+ }
+ interface BLEPeripheralServer {
+ /** [BLEPeripheralServer.addService(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.addService.html)
+ *
+ * 添加服务。
+ *
+ * 最低基础库: `2.10.3` */
+ addService(option: AddServiceOption): void
+ /** [BLEPeripheralServer.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.close.html)
+ *
+ * 关闭当前服务端。
+ *
+ * 最低基础库: `2.10.3` */
+ close(option?: BLEPeripheralServerCloseOption): void
+ /** [BLEPeripheralServer.offCharacteristicReadRequest(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicReadRequest.html)
+ *
+ * 取消监听已连接的设备请求读当前外围设备的特征值事件
+ *
+ * 最低基础库: `2.10.3` */
+ offCharacteristicReadRequest(
+ /** 已连接的设备请求读当前外围设备的特征值事件的回调函数 */
+ callback?: OffCharacteristicReadRequestCallback
+ ): void
+ /** [BLEPeripheralServer.offCharacteristicSubscribed(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicSubscribed.html)
+ *
+ * 取消监听特征值订阅事件
+ *
+ * 最低基础库: `2.13.0` */
+ offCharacteristicSubscribed(
+ /** 特征值订阅事件的回调函数 */
+ callback?: OffCharacteristicSubscribedCallback
+ ): void
+ /** [BLEPeripheralServer.offCharacteristicUnsubscribed(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicUnsubscribed.html)
+ *
+ * 取消监听取消特征值订阅事件
+ *
+ * 最低基础库: `2.13.0` */
+ offCharacteristicUnsubscribed(
+ /** 取消特征值订阅事件的回调函数 */
+ callback?: OffCharacteristicUnsubscribedCallback
+ ): void
+ /** [BLEPeripheralServer.offCharacteristicWriteRequest(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicWriteRequest.html)
+ *
+ * 取消监听已连接的设备请求写当前外围设备的特征值事件
+ *
+ * 最低基础库: `2.10.3` */
+ offCharacteristicWriteRequest(
+ /** 已连接的设备请求写当前外围设备的特征值事件的回调函数 */
+ callback?: OffCharacteristicWriteRequestCallback
+ ): void
+ /** [BLEPeripheralServer.onCharacteristicReadRequest(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicReadRequest.html)
+ *
+ * 监听已连接的设备请求读当前外围设备的特征值事件。收到该消息后需要立刻调用 `writeCharacteristicValue` 写回数据,否则主机不会收到响应。
+ *
+ * 最低基础库: `2.10.3` */
+ onCharacteristicReadRequest(
+ /** 已连接的设备请求读当前外围设备的特征值事件的回调函数 */
+ callback: OnCharacteristicReadRequestCallback
+ ): void
+ /** [BLEPeripheralServer.onCharacteristicSubscribed(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicSubscribed.html)
+ *
+ * 监听特征值订阅事件,仅 iOS 支持。
+ *
+ * 最低基础库: `2.13.0` */
+ onCharacteristicSubscribed(
+ /** 特征值订阅事件的回调函数 */
+ callback: OnCharacteristicSubscribedCallback
+ ): void
+ /** [BLEPeripheralServer.onCharacteristicUnsubscribed(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicUnsubscribed.html)
+ *
+ * 监听取消特征值订阅事件,仅 iOS 支持。
+ *
+ * 最低基础库: `2.13.0` */
+ onCharacteristicUnsubscribed(
+ /** 取消特征值订阅事件的回调函数 */
+ callback: OnCharacteristicUnsubscribedCallback
+ ): void
+ /** [BLEPeripheralServer.onCharacteristicWriteRequest(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicWriteRequest.html)
+ *
+ * 监听已连接的设备请求写当前外围设备的特征值事件。收到该消息后需要立刻调用 `writeCharacteristicValue` 写回数据,否则主机不会收到响应。
+ *
+ * 最低基础库: `2.10.3` */
+ onCharacteristicWriteRequest(
+ /** 已连接的设备请求写当前外围设备的特征值事件的回调函数 */
+ callback: OnCharacteristicWriteRequestCallback
+ ): void
+ /** [BLEPeripheralServer.removeService(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.removeService.html)
+ *
+ * 移除服务。
+ *
+ * 最低基础库: `2.10.3` */
+ removeService(option: RemoveServiceOption): void
+ /** [BLEPeripheralServer.startAdvertising(Object Object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.startAdvertising.html)
+ *
+ * 开始广播本地创建的外围设备。
+ *
+ * 最低基础库: `2.10.3` */
+ startAdvertising(Object: StartAdvertisingObject): void
+ /** [BLEPeripheralServer.stopAdvertising(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.stopAdvertising.html)
+ *
+ * 停止广播。
+ *
+ * 最低基础库: `2.10.3` */
+ stopAdvertising(option?: StopAdvertisingOption): void
+ /** [BLEPeripheralServer.writeCharacteristicValue(Object Object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html)
+ *
+ * 往指定特征值写入数据,并通知已连接的主机,从机的特征值已发生变化,该接口会处理是走回包还是走订阅。
+ *
+ * 最低基础库: `2.10.3` */
+ writeCharacteristicValue(Object: WriteCharacteristicValueObject): void
+ }
+ interface BackgroundAudioError {
+ /** 错误信息
+ *
+ * | 错误码 | 错误信息 | 说明 |
+ * | - | - | - |
+ * | 10001 | | 系统错误 |
+ * | 10002 | | 网络错误 |
+ * | 10003 | | 文件错误,请检查是否responseheader是否缺少Content-Length |
+ * | 10004 | | 格式错误 |
+ * | -1 | | 未知错误 | */ errMsg: string
+ /** 错误码
+ *
+ * | 错误码 | 错误信息 | 说明 |
+ * | - | - | - |
+ * | 10001 | | 系统错误 |
+ * | 10002 | | 网络错误 |
+ * | 10003 | | 文件错误,请检查是否responseheader是否缺少Content-Length |
+ * | 10004 | | 格式错误 |
+ * | -1 | | 未知错误 | */ errCode: number
+ }
+ interface BackgroundAudioManager {
+ /** [BackgroundAudioManager.onCanplay(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onCanplay.html)
+ *
+ * 监听背景音频进入可播放状态事件。 但不保证后面可以流畅播放 */
+ onCanplay(
+ /** 背景音频进入可播放状态事件的回调函数 */
+ callback: OnCanplayCallback
+ ): void
+ /** [BackgroundAudioManager.onEnded(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onEnded.html)
+ *
+ * 监听背景音频自然播放结束事件 */
+ onEnded(
+ /** 背景音频自然播放结束事件的回调函数 */
+ callback: OnEndedCallback
+ ): void
+ /** [BackgroundAudioManager.onError(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onError.html)
+ *
+ * 监听背景音频播放错误事件 */
+ onError(
+ /** 背景音频播放错误事件的回调函数 */
+ callback: BackgroundAudioManagerOnErrorCallback
+ ): void
+ /** [BackgroundAudioManager.onNext(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onNext.html)
+ *
+ * 监听用户在系统音乐播放面板点击下一曲事件(仅iOS) */
+ onNext(
+ /** 用户在系统音乐播放面板点击下一曲事件的回调函数 */
+ callback: OnNextCallback
+ ): void
+ /** [BackgroundAudioManager.onPause(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPause.html)
+ *
+ * 监听背景音频暂停事件 */
+ onPause(
+ /** 背景音频暂停事件的回调函数 */
+ callback: OnPauseCallback
+ ): void
+ /** [BackgroundAudioManager.onPlay(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPlay.html)
+ *
+ * 监听背景音频播放事件 */
+ onPlay(
+ /** 背景音频播放事件的回调函数 */
+ callback: OnPlayCallback
+ ): void
+ /** [BackgroundAudioManager.onPrev(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPrev.html)
+ *
+ * 监听用户在系统音乐播放面板点击上一曲事件(仅iOS) */
+ onPrev(
+ /** 用户在系统音乐播放面板点击上一曲事件的回调函数 */
+ callback: OnPrevCallback
+ ): void
+ /** [BackgroundAudioManager.onSeeked(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onSeeked.html)
+ *
+ * 监听背景音频完成跳转操作事件 */
+ onSeeked(
+ /** 背景音频完成跳转操作事件的回调函数 */
+ callback: OnSeekedCallback
+ ): void
+ /** [BackgroundAudioManager.onSeeking(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onSeeking.html)
+ *
+ * 监听背景音频开始跳转操作事件 */
+ onSeeking(
+ /** 背景音频开始跳转操作事件的回调函数 */
+ callback: OnSeekingCallback
+ ): void
+ /** [BackgroundAudioManager.onStop(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onStop.html)
+ *
+ * 监听背景音频停止事件 */
+ onStop(
+ /** 背景音频停止事件的回调函数 */
+ callback: InnerAudioContextOnStopCallback
+ ): void
+ /** [BackgroundAudioManager.onTimeUpdate(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onTimeUpdate.html)
+ *
+ * 监听背景音频播放进度更新事件,只有小程序在前台时会回调。 */
+ onTimeUpdate(
+ /** 背景音频播放进度更新事件的回调函数 */
+ callback: OnTimeUpdateCallback
+ ): void
+ /** [BackgroundAudioManager.onWaiting(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onWaiting.html)
+ *
+ * 监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发 */
+ onWaiting(
+ /** 音频加载中事件的回调函数 */
+ callback: OnWaitingCallback
+ ): void
+ /** [BackgroundAudioManager.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.pause.html)
+ *
+ * 暂停音乐 */
+ pause(): void
+ /** [BackgroundAudioManager.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.play.html)
+ *
+ * 播放音乐 */
+ play(): void
+ /** [BackgroundAudioManager.seek(number currentTime)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.seek.html)
+ *
+ * 跳转到指定位置 */
+ seek(
+ /** 跳转的位置,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度 */
+ currentTime: number
+ ): void
+ /** [BackgroundAudioManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.stop.html)
+ *
+ * 停止音乐 */
+ stop(): void
+ }
+ interface BluetoothError {
+ /** 错误信息
+ *
+ * | 错误码 | 错误信息 | 说明 |
+ * | - | - | - |
+ * | 0 | ok | 正常 |
+ * | -1 | already connet | 已连接 |
+ * | 10000 | not init | 未初始化蓝牙适配器 |
+ * | 10001 | not available | 当前蓝牙适配器不可用 |
+ * | 10002 | no device | 没有找到指定设备 |
+ * | 10003 | connection fail | 连接失败 |
+ * | 10004 | no service | 没有找到指定服务 |
+ * | 10005 | no characteristic | 没有找到指定特征值 |
+ * | 10006 | no connection | 当前连接已断开 |
+ * | 10007 | property not support | 当前特征值不支持此操作 |
+ * | 10008 | system error | 其余所有系统上报的异常 |
+ * | 10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE |
+ * | 10012 | operate time out | 连接超时 |
+ * | 10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 | */ errMsg: string
+ /** 错误码
+ *
+ * | 错误码 | 错误信息 | 说明 |
+ * | - | - | - |
+ * | 0 | ok | 正常 |
+ * | -1 | already connet | 已连接 |
+ * | 10000 | not init | 未初始化蓝牙适配器 |
+ * | 10001 | not available | 当前蓝牙适配器不可用 |
+ * | 10002 | no device | 没有找到指定设备 |
+ * | 10003 | connection fail | 连接失败 |
+ * | 10004 | no service | 没有找到指定服务 |
+ * | 10005 | no characteristic | 没有找到指定特征值 |
+ * | 10006 | no connection | 当前连接已断开 |
+ * | 10007 | property not support | 当前特征值不支持此操作 |
+ * | 10008 | system error | 其余所有系统上报的异常 |
+ * | 10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE |
+ * | 10012 | operate time out | 连接超时 |
+ * | 10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 | */ errCode: number
+ }
+ interface CameraContext {
+ /** [CameraContext.setZoom(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.setZoom.html)
+ *
+ * 设置缩放级别
+ *
+ * 最低基础库: `2.10.0` */
+ setZoom(option: SetZoomOption): void
+ /** [CameraContext.startRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.startRecord.html)
+ *
+ * 开始录像 */
+ startRecord(option: CameraContextStartRecordOption): void
+ /** [CameraContext.stopRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.stopRecord.html)
+ *
+ * 结束录像 */
+ stopRecord(option: CameraContextStopRecordOption): void
+ /** [CameraContext.takePhoto(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.takePhoto.html)
+ *
+ * 拍摄照片 */
+ takePhoto(option: TakePhotoOption): void
+ /** [[CameraFrameListener](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.html) CameraContext.onCameraFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.onCameraFrame.html)
+*
+* 获取 Camera 实时帧数据
+*
+* ****
+*
+* 注: 使用该接口需同时在 [camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 组件属性中指定 frame-size。
+*
+* **示例代码**
+*
+*
+* ```js
+const context = wx.createCameraContext()
+const listener = context.onCameraFrame((frame) => {
+ console.log(frame.data instanceof ArrayBuffer, frame.width, frame.height)
+})
+listener.start()
+```
+*
+* 最低基础库: `2.7.0` */
+ onCameraFrame(
+ /** 回调函数 */
+ callback: OnCameraFrameCallback
+ ): CameraFrameListener
+ }
+ interface CameraFrameListener {
+ /** [CameraFrameListener.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.start.html)
+ *
+ * 开始监听帧数据 */
+ start(option?: CameraFrameListenerStartOption): void
+ /** [CameraFrameListener.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.stop.html)
+ *
+ * 停止监听帧数据 */
+ stop(option?: StopOption): void
+ }
+ interface Canvas {
+ /** [Canvas.cancelAnimationFrame(number requestID)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.cancelAnimationFrame.html)
+ *
+ * 取消由 requestAnimationFrame 添加到计划中的动画帧请求。支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。
+ *
+ * 最低基础库: `2.7.0` */
+ cancelAnimationFrame(requestID: number): void
+ /** [[ImageData](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/ImageData.html) Canvas.createImageData()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createImageData.html)
+ *
+ * 创建一个 ImageData 对象。仅支持在 2D Canvas 中使用。
+ *
+ * 最低基础库: `2.9.0` */
+ createImageData(): ImageData
+ /** [[Image](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Image.html) Canvas.createImage()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createImage.html)
+ *
+ * 创建一个图片对象。 支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。
+ *
+ * 最低基础库: `2.7.0` */
+ createImage(): Image
+ /** [[Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) Canvas.createPath2D([Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) path)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createPath2D.html)
+ *
+ * 创建 Path2D 对象
+ *
+ * 最低基础库: `2.11.0` */
+ createPath2D(
+ /** [Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html)
+ *
+ * */
+ path: Path2D
+ ): Path2D
+ /** [[RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) Canvas.getContext(string contextType)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.getContext.html)
+ *
+ * 该方法返回 Canvas 的绘图上下文
+ *
+ * ****
+ *
+ * 支持获取 2D 和 WebGL 绘图上下文
+ *
+ * 最低基础库: `2.7.0` */
+ getContext(contextType: string): any
+ /** [number Canvas.requestAnimationFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.requestAnimationFrame.html)
+ *
+ * 在下次进行重绘时执行。 支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。
+ *
+ * 最低基础库: `2.7.0` */
+ requestAnimationFrame(
+ /** 执行的 callback */
+ callback: (...args: any[]) => any
+ ): number
+ /** [string Canvas.toDataURL(string type, number encoderOptions)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.toDataURL.html)
+ *
+ * 返回一个包含图片展示的 data URI 。可以使用 type 参数其类型,默认为 PNG 格式。
+ *
+ * 最低基础库: `2.11.0` */
+ toDataURL(
+ /** 图片格式,默认为 image/png */
+ type: string,
+ /** 在指定图片格式为 image/jpeg 或 image/webp的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。其他参数会被忽略。 */
+ encoderOptions: number
+ ): string
+ }
+ interface CanvasContext {
+ /** [CanvasContext.arc(number x, number y, number r, number sAngle, number eAngle, boolean counterclockwise)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.arc.html)
+*
+* 创建一条弧线。
+*
+* - 创建一个圆可以指定起始弧度为 0,终止弧度为 2 * Math.PI。
+* - 用 `stroke` 或者 `fill` 方法来在 `canvas` 中画弧线。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+// Draw coordinates
+ctx.arc(100, 75, 50, 0, 2 * Math.PI)
+ctx.setFillStyle('#EEEEEE')
+ctx.fill()
+
+ctx.beginPath()
+ctx.moveTo(40, 75)
+ctx.lineTo(160, 75)
+ctx.moveTo(100, 15)
+ctx.lineTo(100, 135)
+ctx.setStrokeStyle('#AAAAAA')
+ctx.stroke()
+
+ctx.setFontSize(12)
+ctx.setFillStyle('black')
+ctx.fillText('0', 165, 78)
+ctx.fillText('0.5*PI', 83, 145)
+ctx.fillText('1*PI', 15, 78)
+ctx.fillText('1.5*PI', 83, 10)
+
+// Draw points
+ctx.beginPath()
+ctx.arc(100, 75, 2, 0, 2 * Math.PI)
+ctx.setFillStyle('lightgreen')
+ctx.fill()
+
+ctx.beginPath()
+ctx.arc(100, 25, 2, 0, 2 * Math.PI)
+ctx.setFillStyle('blue')
+ctx.fill()
+
+ctx.beginPath()
+ctx.arc(150, 75, 2, 0, 2 * Math.PI)
+ctx.setFillStyle('red')
+ctx.fill()
+
+// Draw arc
+ctx.beginPath()
+ctx.arc(100, 75, 50, 0, 1.5 * Math.PI)
+ctx.setStrokeStyle('#333333')
+ctx.stroke()
+
+ctx.draw()
+```
+*
+* 
+*
+* 针对 arc(100, 75, 50, 0, 1.5 * Math.PI)的三个关键坐标如下:
+*
+* - 绿色: 圆心 (100, 75)
+* - 红色: 起始弧度 (0)
+* - 蓝色: 终止弧度 (1.5 * Math.PI) */
+ arc(
+ /** 圆心的 x 坐标 */
+ x: number,
+ /** 圆心的 y 坐标 */
+ y: number,
+ /** 圆的半径 */
+ r: number,
+ /** 起始弧度,单位弧度(在3点钟方向) */
+ sAngle: number,
+ /** 终止弧度 */
+ eAngle: number,
+ /** 弧度的方向是否是逆时针 */
+ counterclockwise?: boolean
+ ): void
+ /** [CanvasContext.arcTo(number x1, number y1, number x2, number y2, number radius)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.arcTo.html)
+ *
+ * 根据控制点和半径绘制圆弧路径。
+ *
+ * 最低基础库: `1.9.90` */
+ arcTo(
+ /** 第一个控制点的 x 轴坐标 */
+ x1: number,
+ /** 第一个控制点的 y 轴坐标 */
+ y1: number,
+ /** 第二个控制点的 x 轴坐标 */
+ x2: number,
+ /** 第二个控制点的 y 轴坐标 */
+ y2: number,
+ /** 圆弧的半径 */
+ radius: number
+ ): void
+ /** [CanvasContext.beginPath()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.beginPath.html)
+*
+* 开始创建一个路径。需要调用 `fill` 或者 `stroke` 才会使用路径进行填充或描边
+*
+* - 在最开始的时候相当于调用了一次 `beginPath`。
+* - 同一个路径内的多次 `setFillStyle`、`setStrokeStyle`、`setLineWidth`等设置,以最后一次设置为准。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+// begin path
+ctx.rect(10, 10, 100, 30)
+ctx.setFillStyle('yellow')
+ctx.fill()
+
+// begin another path
+ctx.beginPath()
+ctx.rect(10, 40, 100, 30)
+
+// only fill this rect, not in current path
+ctx.setFillStyle('blue')
+ctx.fillRect(10, 70, 100, 30)
+
+ctx.rect(10, 100, 100, 30)
+
+// it will fill current path
+ctx.setFillStyle('red')
+ctx.fill()
+ctx.draw()
+```
+*
+*  */
+ beginPath(): void
+ /** [CanvasContext.bezierCurveTo(number cp1x, number cp1y, number cp2x, number cp2y, number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.bezierCurveTo.html)
+*
+* 创建三次方贝塞尔曲线路径。曲线的起始点为路径中前一个点。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+// Draw points
+ctx.beginPath()
+ctx.arc(20, 20, 2, 0, 2 * Math.PI)
+ctx.setFillStyle('red')
+ctx.fill()
+
+ctx.beginPath()
+ctx.arc(200, 20, 2, 0, 2 * Math.PI)
+ctx.setFillStyle('lightgreen')
+ctx.fill()
+
+ctx.beginPath()
+ctx.arc(20, 100, 2, 0, 2 * Math.PI)
+ctx.arc(200, 100, 2, 0, 2 * Math.PI)
+ctx.setFillStyle('blue')
+ctx.fill()
+
+ctx.setFillStyle('black')
+ctx.setFontSize(12)
+
+// Draw guides
+ctx.beginPath()
+ctx.moveTo(20, 20)
+ctx.lineTo(20, 100)
+ctx.lineTo(150, 75)
+
+ctx.moveTo(200, 20)
+ctx.lineTo(200, 100)
+ctx.lineTo(70, 75)
+ctx.setStrokeStyle('#AAAAAA')
+ctx.stroke()
+
+// Draw quadratic curve
+ctx.beginPath()
+ctx.moveTo(20, 20)
+ctx.bezierCurveTo(20, 100, 200, 100, 200, 20)
+ctx.setStrokeStyle('black')
+ctx.stroke()
+
+ctx.draw()
+```
+*
+* 
+*
+* 针对 moveTo(20, 20) bezierCurveTo(20, 100, 200, 100, 200, 20) 的三个关键坐标如下:
+*
+* - 红色:起始点(20, 20)
+* - 蓝色:两个控制点(20, 100) (200, 100)
+* - 绿色:终止点(200, 20) */
+ bezierCurveTo(
+ /** 第一个贝塞尔控制点的 x 坐标 */
+ cp1x: number,
+ /** 第一个贝塞尔控制点的 y 坐标 */
+ cp1y: number,
+ /** 第二个贝塞尔控制点的 x 坐标 */
+ cp2x: number,
+ /** 第二个贝塞尔控制点的 y 坐标 */
+ cp2y: number,
+ /** 结束点的 x 坐标 */
+ x: number,
+ /** 结束点的 y 坐标 */
+ y: number
+ ): void
+ /** [CanvasContext.clearRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.clearRect.html)
+*
+* 清除画布上在该矩形区域内的内容
+*
+* **示例代码**
+*
+*
+* clearRect 并非画一个白色的矩形在地址区域,而是清空,为了有直观感受,对 canvas 加了一层背景色。
+* ```html
+*
+* ```
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.setFillStyle('red')
+ctx.fillRect(0, 0, 150, 200)
+ctx.setFillStyle('blue')
+ctx.fillRect(150, 0, 150, 200)
+ctx.clearRect(10, 10, 150, 75)
+ctx.draw()
+```
+*  */
+ clearRect(
+ /** 矩形路径左上角的横坐标 */
+ x: number,
+ /** 矩形路径左上角的纵坐标 */
+ y: number,
+ /** 矩形路径的宽度 */
+ width: number,
+ /** 矩形路径的高度 */
+ height: number
+ ): void
+ /** [CanvasContext.clip()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.clip.html)
+*
+* 从原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内(不能访问画布上的其他区域)。可以在使用 `clip` 方法前通过使用 `save` 方法对当前画布区域进行保存,并在以后的任意时间通过`restore`方法对其进行恢复。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+wx.downloadFile({
+ url: 'http://is5.mzstatic.com/image/thumb/Purple128/v4/75/3b/90/753b907c-b7fb-5877-215a-759bd73691a4/source/50x50bb.jpg',
+ success: function(res) {
+ ctx.save()
+ ctx.beginPath()
+ ctx.arc(50, 50, 25, 0, 2*Math.PI)
+ ctx.clip()
+ ctx.drawImage(res.tempFilePath, 25, 25)
+ ctx.restore()
+ ctx.draw()
+ }
+})
+```
+* 
+*
+* 最低基础库: `1.6.0` */
+ clip(): void
+ /** [CanvasContext.closePath()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.closePath.html)
+*
+* 关闭一个路径。会连接起点和终点。如果关闭路径后没有调用 `fill` 或者 `stroke` 并开启了新的路径,那之前的路径将不会被渲染。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.moveTo(10, 10)
+ctx.lineTo(100, 10)
+ctx.lineTo(100, 100)
+ctx.closePath()
+ctx.stroke()
+ctx.draw()
+```
+* 
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+// begin path
+ctx.rect(10, 10, 100, 30)
+ctx.closePath()
+
+// begin another path
+ctx.beginPath()
+ctx.rect(10, 40, 100, 30)
+
+// only fill this rect, not in current path
+ctx.setFillStyle('blue')
+ctx.fillRect(10, 70, 100, 30)
+
+ctx.rect(10, 100, 100, 30)
+
+// it will fill current path
+ctx.setFillStyle('red')
+ctx.fill()
+ctx.draw()
+```
+*
+*  */
+ closePath(): void
+ /** [CanvasContext.createPattern(string image, string repetition)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createPattern.html)
+ *
+ * 对指定的图像创建模式的方法,可在指定的方向上重复元图像
+ *
+ * 最低基础库: `1.9.90` */
+ createPattern(
+ /** 重复的图像源,支持代码包路径和本地临时路径 (本地路径) */
+ image: string,
+ /** 如何重复图像
+ *
+ * 参数 repetition 可选值:
+ * - 'repeat': 水平竖直方向都重复;
+ * - 'repeat-x': 水平方向重复;
+ * - 'repeat-y': 竖直方向重复;
+ * - 'no-repeat': 不重复; */
+ repetition: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat'
+ ): void
+ /** [CanvasContext.draw(boolean reserve, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.draw.html)
+*
+* 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。
+*
+* **示例代码**
+*
+*
+* 第二次 draw() reserve 为 true。所以保留了上一次的绘制结果,在上下文设置的 fillStyle 'red' 也变成了默认的 'black'。
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+ctx.setFillStyle('red')
+ctx.fillRect(10, 10, 150, 100)
+ctx.draw()
+ctx.fillRect(50, 50, 150, 100)
+ctx.draw(true)
+```
+* 
+*
+* **示例代码**
+*
+*
+* 第二次 draw() reserve 为 false。所以没有保留了上一次的绘制结果和在上下文设置的 fillStyle 'red'。
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+ctx.setFillStyle('red')
+ctx.fillRect(10, 10, 150, 100)
+ctx.draw()
+ctx.fillRect(50, 50, 150, 100)
+ctx.draw()
+```
+*  */
+ draw(
+ /** 本次绘制是否接着上一次绘制。即 reserve 参数为 false,则在本次调用绘制之前 native 层会先清空画布再继续绘制;若 reserve 参数为 true,则保留当前画布上的内容,本次调用 drawCanvas 绘制的内容覆盖在上面,默认 false。 */
+ reserve?: boolean,
+ /** 绘制完成后执行的回调函数 */
+ callback?: (...args: any[]) => any
+ ): void
+ /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html)
+*
+* 绘制图像到画布
+*
+* **示例代码**
+*
+*
+*
+* 有三个版本的写法:
+*
+* - drawImage(imageResource, dx, dy)
+* - drawImage(imageResource, dx, dy, dWidth, dHeight)
+* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+wx.chooseImage({
+ success: function(res){
+ ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100)
+ ctx.draw()
+ }
+})
+
+```
+*  */
+ drawImage(
+ /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */
+ imageResource: string,
+ /** imageResource的左上角在目标 canvas 上 x 轴的位置 */
+ dx: number,
+ /** imageResource的左上角在目标 canvas 上 y 轴的位置 */
+ dy: number
+ ): void
+ /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html)
+*
+* 绘制图像到画布
+*
+* **示例代码**
+*
+*
+*
+* 有三个版本的写法:
+*
+* - drawImage(imageResource, dx, dy)
+* - drawImage(imageResource, dx, dy, dWidth, dHeight)
+* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+wx.chooseImage({
+ success: function(res){
+ ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100)
+ ctx.draw()
+ }
+})
+
+```
+*  */
+ drawImage(
+ /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */
+ imageResource: string,
+ /** imageResource的左上角在目标 canvas 上 x 轴的位置 */
+ dx: number,
+ /** imageResource的左上角在目标 canvas 上 y 轴的位置 */
+ dy: number,
+ /** 在目标画布上绘制imageResource的宽度,允许对绘制的imageResource进行缩放 */
+ dWidth: number,
+ /** 在目标画布上绘制imageResource的高度,允许对绘制的imageResource进行缩放 */
+ dHeight: number
+ ): void
+ /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html)
+*
+* 绘制图像到画布
+*
+* **示例代码**
+*
+*
+*
+* 有三个版本的写法:
+*
+* - drawImage(imageResource, dx, dy)
+* - drawImage(imageResource, dx, dy, dWidth, dHeight)
+* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+wx.chooseImage({
+ success: function(res){
+ ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100)
+ ctx.draw()
+ }
+})
+
+```
+*  */
+ drawImage(
+ /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */
+ imageResource: string,
+ /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 x 坐标 */
+ sx: number,
+ /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 y 坐标 */
+ sy: number,
+ /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的宽度 */
+ sWidth: number,
+ /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的高度 */
+ sHeight: number,
+ /** imageResource的左上角在目标 canvas 上 x 轴的位置 */
+ dx: number,
+ /** imageResource的左上角在目标 canvas 上 y 轴的位置 */
+ dy: number,
+ /** 在目标画布上绘制imageResource的宽度,允许对绘制的imageResource进行缩放 */
+ dWidth: number,
+ /** 在目标画布上绘制imageResource的高度,允许对绘制的imageResource进行缩放 */
+ dHeight: number
+ ): void
+ /** [CanvasContext.fill()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fill.html)
+*
+* 对当前路径中的内容进行填充。默认的填充色为黑色。
+*
+* **示例代码**
+*
+*
+*
+* 如果当前路径没有闭合,fill() 方法会将起点和终点进行连接,然后填充。
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.moveTo(10, 10)
+ctx.lineTo(100, 10)
+ctx.lineTo(100, 100)
+ctx.fill()
+ctx.draw()
+```
+*
+* fill() 填充的的路径是从 beginPath() 开始计算,但是不会将 fillRect() 包含进去。
+*
+* 
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+// begin path
+ctx.rect(10, 10, 100, 30)
+ctx.setFillStyle('yellow')
+ctx.fill()
+
+// begin another path
+ctx.beginPath()
+ctx.rect(10, 40, 100, 30)
+
+// only fill this rect, not in current path
+ctx.setFillStyle('blue')
+ctx.fillRect(10, 70, 100, 30)
+
+ctx.rect(10, 100, 100, 30)
+
+// it will fill current path
+ctx.setFillStyle('red')
+ctx.fill()
+ctx.draw()
+```
+*
+*  */
+ fill(): void
+ /** [CanvasContext.fillRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fillRect.html)
+*
+* 填充一个矩形。用 [`setFillStyle`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html) 设置矩形的填充色,如果没设置默认是黑色。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.setFillStyle('red')
+ctx.fillRect(10, 10, 150, 75)
+ctx.draw()
+```
+*  */
+ fillRect(
+ /** 矩形路径左上角的横坐标 */
+ x: number,
+ /** 矩形路径左上角的纵坐标 */
+ y: number,
+ /** 矩形路径的宽度 */
+ width: number,
+ /** 矩形路径的高度 */
+ height: number
+ ): void
+ /** [CanvasContext.fillText(string text, number x, number y, number maxWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fillText.html)
+*
+* 在画布上绘制被填充的文本
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+ctx.setFontSize(20)
+ctx.fillText('Hello', 20, 20)
+ctx.fillText('MINA', 100, 100)
+
+ctx.draw()
+```
+*  */
+ fillText(
+ /** 在画布上输出的文本 */
+ text: string,
+ /** 绘制文本的左上角 x 坐标位置 */
+ x: number,
+ /** 绘制文本的左上角 y 坐标位置 */
+ y: number,
+ /** 需要绘制的最大宽度,可选 */
+ maxWidth?: number
+ ): void
+ /** [CanvasContext.lineTo(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.lineTo.html)
+*
+* 增加一个新点,然后创建一条从上次指定点到目标点的线。用 `stroke` 方法来画线条
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.moveTo(10, 10)
+ctx.rect(10, 10, 100, 50)
+ctx.lineTo(110, 60)
+ctx.stroke()
+ctx.draw()
+```
+*  */
+ lineTo(
+ /** 目标位置的 x 坐标 */
+ x: number,
+ /** 目标位置的 y 坐标 */
+ y: number
+ ): void
+ /** [CanvasContext.moveTo(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.moveTo.html)
+*
+* 把路径移动到画布中的指定点,不创建线条。用 `stroke` 方法来画线条
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.moveTo(10, 10)
+ctx.lineTo(100, 10)
+
+ctx.moveTo(10, 50)
+ctx.lineTo(100, 50)
+ctx.stroke()
+ctx.draw()
+```
+*  */
+ moveTo(
+ /** 目标位置的 x 坐标 */
+ x: number,
+ /** 目标位置的 y 坐标 */
+ y: number
+ ): void
+ /** [CanvasContext.quadraticCurveTo(number cpx, number cpy, number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.quadraticCurveTo.html)
+*
+* 创建二次贝塞尔曲线路径。曲线的起始点为路径中前一个点。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+// Draw points
+ctx.beginPath()
+ctx.arc(20, 20, 2, 0, 2 * Math.PI)
+ctx.setFillStyle('red')
+ctx.fill()
+
+ctx.beginPath()
+ctx.arc(200, 20, 2, 0, 2 * Math.PI)
+ctx.setFillStyle('lightgreen')
+ctx.fill()
+
+ctx.beginPath()
+ctx.arc(20, 100, 2, 0, 2 * Math.PI)
+ctx.setFillStyle('blue')
+ctx.fill()
+
+ctx.setFillStyle('black')
+ctx.setFontSize(12)
+
+// Draw guides
+ctx.beginPath()
+ctx.moveTo(20, 20)
+ctx.lineTo(20, 100)
+ctx.lineTo(200, 20)
+ctx.setStrokeStyle('#AAAAAA')
+ctx.stroke()
+
+// Draw quadratic curve
+ctx.beginPath()
+ctx.moveTo(20, 20)
+ctx.quadraticCurveTo(20, 100, 200, 20)
+ctx.setStrokeStyle('black')
+ctx.stroke()
+
+ctx.draw()
+```
+*
+* 
+*
+* 针对 moveTo(20, 20) quadraticCurveTo(20, 100, 200, 20) 的三个关键坐标如下:
+*
+* - 红色:起始点(20, 20)
+* - 蓝色:控制点(20, 100)
+* - 绿色:终止点(200, 20) */
+ quadraticCurveTo(
+ /** 贝塞尔控制点的 x 坐标 */
+ cpx: number,
+ /** 贝塞尔控制点的 y 坐标 */
+ cpy: number,
+ /** 结束点的 x 坐标 */
+ x: number,
+ /** 结束点的 y 坐标 */
+ y: number
+ ): void
+ /** [CanvasContext.rect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.rect.html)
+*
+* 创建一个矩形路径。需要用 [`fill`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fill.html) 或者 [`stroke`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.stroke.html) 方法将矩形真正的画到 `canvas` 中
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.rect(10, 10, 150, 75)
+ctx.setFillStyle('red')
+ctx.fill()
+ctx.draw()
+```
+*  */
+ rect(
+ /** 矩形路径左上角的横坐标 */
+ x: number,
+ /** 矩形路径左上角的纵坐标 */
+ y: number,
+ /** 矩形路径的宽度 */
+ width: number,
+ /** 矩形路径的高度 */
+ height: number
+ ): void
+ /** [CanvasContext.restore()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.restore.html)
+*
+* 恢复之前保存的绘图上下文。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+// save the default fill style
+ctx.save()
+ctx.setFillStyle('red')
+ctx.fillRect(10, 10, 150, 100)
+
+// restore to the previous saved state
+ctx.restore()
+ctx.fillRect(50, 50, 150, 100)
+
+ctx.draw()
+```
+*  */
+ restore(): void
+ /** [CanvasContext.rotate(number rotate)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.rotate.html)
+*
+* 以原点为中心顺时针旋转当前坐标轴。多次调用旋转的角度会叠加。原点可以用 `translate` 方法修改。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+ctx.strokeRect(100, 10, 150, 100)
+ctx.rotate(20 * Math.PI / 180)
+ctx.strokeRect(100, 10, 150, 100)
+ctx.rotate(20 * Math.PI / 180)
+ctx.strokeRect(100, 10, 150, 100)
+
+ctx.draw()
+```
+*  */
+ rotate(
+ /** 旋转角度,以弧度计 degrees * Math.PI/180;degrees 范围为 0-360 */
+ rotate: number
+ ): void
+ /** [CanvasContext.save()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.save.html)
+*
+* 保存绘图上下文。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+// save the default fill style
+ctx.save()
+ctx.setFillStyle('red')
+ctx.fillRect(10, 10, 150, 100)
+
+// restore to the previous saved state
+ctx.restore()
+ctx.fillRect(50, 50, 150, 100)
+
+ctx.draw()
+```
+*  */
+ save(): void
+ /** [CanvasContext.scale(number scaleWidth, number scaleHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.scale.html)
+*
+* 在调用后,之后创建的路径其横纵坐标会被缩放。多次调用倍数会相乘。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+ctx.strokeRect(10, 10, 25, 15)
+ctx.scale(2, 2)
+ctx.strokeRect(10, 10, 25, 15)
+ctx.scale(2, 2)
+ctx.strokeRect(10, 10, 25, 15)
+
+ctx.draw()
+```
+*  */
+ scale(
+ /** 横坐标缩放的倍数 (1 = 100%,0.5 = 50%,2 = 200%) */
+ scaleWidth: number,
+ /** 纵坐标轴缩放的倍数 (1 = 100%,0.5 = 50%,2 = 200%) */
+ scaleHeight: number
+ ): void
+ /** [CanvasContext.setFillStyle(string|[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html)
+*
+* 设置填充色。
+*
+* **代码示例**
+*
+*
+* ```js
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.setFillStyle('red')
+ctx.fillRect(10, 10, 150, 75)
+ctx.draw()
+```
+* 
+* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.fillStyle](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换
+* */
+ setFillStyle(
+ /** 填充的颜色,默认颜色为 black。 */
+ color: string | CanvasGradient
+ ): void
+ /** [CanvasContext.setFontSize(number fontSize)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFontSize.html)
+*
+* 设置字体的字号
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+ctx.setFontSize(20)
+ctx.fillText('20', 20, 20)
+ctx.setFontSize(30)
+ctx.fillText('30', 40, 40)
+ctx.setFontSize(40)
+ctx.fillText('40', 60, 60)
+ctx.setFontSize(50)
+ctx.fillText('50', 90, 90)
+
+ctx.draw()
+```
+* 
+* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.font](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换
+* */
+ setFontSize(
+ /** 字体的字号 */
+ fontSize: number
+ ): void
+ /** [CanvasContext.setGlobalAlpha(number alpha)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setGlobalAlpha.html)
+*
+* 设置全局画笔透明度。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+ctx.setFillStyle('red')
+ctx.fillRect(10, 10, 150, 100)
+ctx.setGlobalAlpha(0.2)
+ctx.setFillStyle('blue')
+ctx.fillRect(50, 50, 150, 100)
+ctx.setFillStyle('yellow')
+ctx.fillRect(100, 100, 150, 100)
+
+ctx.draw()
+```
+* 
+* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.globalAlpha](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换
+* */
+ setGlobalAlpha(
+ /** 透明度。范围 0-1,0 表示完全透明,1 表示完全不透明。 */
+ alpha: number
+ ): void
+ /** [CanvasContext.setLineCap(string lineCap)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineCap.html)
+*
+* 设置线条的端点样式
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.beginPath()
+ctx.moveTo(10, 10)
+ctx.lineTo(150, 10)
+ctx.stroke()
+
+ctx.beginPath()
+ctx.setLineCap('butt')
+ctx.setLineWidth(10)
+ctx.moveTo(10, 30)
+ctx.lineTo(150, 30)
+ctx.stroke()
+
+ctx.beginPath()
+ctx.setLineCap('round')
+ctx.setLineWidth(10)
+ctx.moveTo(10, 50)
+ctx.lineTo(150, 50)
+ctx.stroke()
+
+ctx.beginPath()
+ctx.setLineCap('square')
+ctx.setLineWidth(10)
+ctx.moveTo(10, 70)
+ctx.lineTo(150, 70)
+ctx.stroke()
+
+ctx.draw()
+```
+* 
+* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineCap](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换
+* */
+ setLineCap(
+ /** 线条的结束端点样式
+ *
+ * 参数 lineCap 可选值:
+ * - 'butt': 向线条的每个末端添加平直的边缘。;
+ * - 'round': 向线条的每个末端添加圆形线帽。;
+ * - 'square': 向线条的每个末端添加正方形线帽。; */
+ lineCap: 'butt' | 'round' | 'square'
+ ): void
+ /** [CanvasContext.setLineDash(Array.<number> pattern, number offset)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineDash.html)
+*
+* 设置虚线样式。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+ctx.setLineDash([10, 20], 5);
+
+ctx.beginPath();
+ctx.moveTo(0,100);
+ctx.lineTo(400, 100);
+ctx.stroke();
+
+ctx.draw()
+```
+* 
+*
+* 最低基础库: `1.6.0`
+* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineDashOffset](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换
+* */
+ setLineDash(
+ /** 一组描述交替绘制线段和间距(坐标空间单位)长度的数字 */
+ pattern: number[],
+ /** 虚线偏移量 */
+ offset: number
+ ): void
+ /** [CanvasContext.setLineJoin(string lineJoin)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html)
+*
+* 设置线条的交点样式
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.beginPath()
+ctx.moveTo(10, 10)
+ctx.lineTo(100, 50)
+ctx.lineTo(10, 90)
+ctx.stroke()
+
+ctx.beginPath()
+ctx.setLineJoin('bevel')
+ctx.setLineWidth(10)
+ctx.moveTo(50, 10)
+ctx.lineTo(140, 50)
+ctx.lineTo(50, 90)
+ctx.stroke()
+
+ctx.beginPath()
+ctx.setLineJoin('round')
+ctx.setLineWidth(10)
+ctx.moveTo(90, 10)
+ctx.lineTo(180, 50)
+ctx.lineTo(90, 90)
+ctx.stroke()
+
+ctx.beginPath()
+ctx.setLineJoin('miter')
+ctx.setLineWidth(10)
+ctx.moveTo(130, 10)
+ctx.lineTo(220, 50)
+ctx.lineTo(130, 90)
+ctx.stroke()
+
+ctx.draw()
+```
+* 
+* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineJoin](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换
+* */
+ setLineJoin(
+ /** 线条的结束交点样式
+ *
+ * 参数 lineJoin 可选值:
+ * - 'bevel': 斜角;
+ * - 'round': 圆角;
+ * - 'miter': 尖角; */
+ lineJoin: 'bevel' | 'round' | 'miter'
+ ): void
+ /** [CanvasContext.setLineWidth(number lineWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineWidth.html)
+*
+* 设置线条的宽度
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.beginPath()
+ctx.moveTo(10, 10)
+ctx.lineTo(150, 10)
+ctx.stroke()
+
+ctx.beginPath()
+ctx.setLineWidth(5)
+ctx.moveTo(10, 30)
+ctx.lineTo(150, 30)
+ctx.stroke()
+
+ctx.beginPath()
+ctx.setLineWidth(10)
+ctx.moveTo(10, 50)
+ctx.lineTo(150, 50)
+ctx.stroke()
+
+ctx.beginPath()
+ctx.setLineWidth(15)
+ctx.moveTo(10, 70)
+ctx.lineTo(150, 70)
+ctx.stroke()
+
+ctx.draw()
+```
+*
+* 
+* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineWidth](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换
+* */
+ setLineWidth(
+ /** 线条的宽度,单位px */
+ lineWidth: number
+ ): void
+ /** [CanvasContext.setMiterLimit(number miterLimit)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setMiterLimit.html)
+*
+* 设置最大斜接长度。斜接长度指的是在两条线交汇处内角和外角之间的距离。当 [CanvasContext.setLineJoin()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html) 为 miter 时才有效。超过最大倾斜长度的,连接处将以 lineJoin 为 bevel 来显示。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.beginPath()
+ctx.setLineWidth(10)
+ctx.setLineJoin('miter')
+ctx.setMiterLimit(1)
+ctx.moveTo(10, 10)
+ctx.lineTo(100, 50)
+ctx.lineTo(10, 90)
+ctx.stroke()
+
+ctx.beginPath()
+ctx.setLineWidth(10)
+ctx.setLineJoin('miter')
+ctx.setMiterLimit(2)
+ctx.moveTo(50, 10)
+ctx.lineTo(140, 50)
+ctx.lineTo(50, 90)
+ctx.stroke()
+
+ctx.beginPath()
+ctx.setLineWidth(10)
+ctx.setLineJoin('miter')
+ctx.setMiterLimit(3)
+ctx.moveTo(90, 10)
+ctx.lineTo(180, 50)
+ctx.lineTo(90, 90)
+ctx.stroke()
+
+ctx.beginPath()
+ctx.setLineWidth(10)
+ctx.setLineJoin('miter')
+ctx.setMiterLimit(4)
+ctx.moveTo(130, 10)
+ctx.lineTo(220, 50)
+ctx.lineTo(130, 90)
+ctx.stroke()
+
+ctx.draw()
+```
+* 
+* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.miterLimit](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换
+* */
+ setMiterLimit(
+ /** 最大斜接长度 */
+ miterLimit: number
+ ): void
+ /** [CanvasContext.setShadow(number offsetX, number offsetY, number blur, string color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setShadow.html)
+*
+* 设定阴影样式。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.setFillStyle('red')
+ctx.setShadow(10, 50, 50, 'blue')
+ctx.fillRect(10, 10, 150, 75)
+ctx.draw()
+```
+* 
+* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.shadowOffsetX|CanvasContext.shadowOffsetY|CanvasContext.shadowColor|CanvasContext.shadowBlur](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换
+* */
+ setShadow(
+ /** 阴影相对于形状在水平方向的偏移,默认值为 0。 */
+ offsetX: number,
+ /** 阴影相对于形状在竖直方向的偏移,默认值为 0。 */
+ offsetY: number,
+ /** 阴影的模糊级别,数值越大越模糊。范围 0- 100。,默认值为 0。 */
+ blur: number,
+ /** 阴影的颜色。默认值为 black。 */
+ color: string
+ ): void
+ /** [CanvasContext.setStrokeStyle(string|[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html)
+*
+* 设置描边颜色。
+*
+* **代码示例**
+*
+*
+* ```js
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.setStrokeStyle('red')
+ctx.strokeRect(10, 10, 150, 75)
+ctx.draw()
+```
+* 
+* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.strokeStyle](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换
+* */
+ setStrokeStyle(
+ /** 描边的颜色,默认颜色为 black。 */
+ color: string | CanvasGradient
+ ): void
+ /** [CanvasContext.setTextAlign(string align)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTextAlign.html)
+*
+* 设置文字的对齐
+*
+* **示例代码**
+*
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+ctx.setStrokeStyle('red')
+ctx.moveTo(150, 20)
+ctx.lineTo(150, 170)
+ctx.stroke()
+
+ctx.setFontSize(15)
+ctx.setTextAlign('left')
+ctx.fillText('textAlign=left', 150, 60)
+
+ctx.setTextAlign('center')
+ctx.fillText('textAlign=center', 150, 80)
+
+ctx.setTextAlign('right')
+ctx.fillText('textAlign=right', 150, 100)
+
+ctx.draw()
+```
+*
+* 
+*
+* 最低基础库: `1.1.0` */
+ setTextAlign(
+ /** 文字的对齐方式
+ *
+ * 参数 align 可选值:
+ * - 'left': 左对齐;
+ * - 'center': 居中对齐;
+ * - 'right': 右对齐; */
+ align: 'left' | 'center' | 'right'
+ ): void
+ /** [CanvasContext.setTextBaseline(string textBaseline)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTextBaseline.html)
+*
+* 设置文字的竖直对齐
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+ctx.setStrokeStyle('red')
+ctx.moveTo(5, 75)
+ctx.lineTo(295, 75)
+ctx.stroke()
+
+ctx.setFontSize(20)
+
+ctx.setTextBaseline('top')
+ctx.fillText('top', 5, 75)
+
+ctx.setTextBaseline('middle')
+ctx.fillText('middle', 50, 75)
+
+ctx.setTextBaseline('bottom')
+ctx.fillText('bottom', 120, 75)
+
+ctx.setTextBaseline('normal')
+ctx.fillText('normal', 200, 75)
+
+ctx.draw()
+```
+* 
+*
+* 最低基础库: `1.4.0` */
+ setTextBaseline(
+ /** 文字的竖直对齐方式
+ *
+ * 参数 textBaseline 可选值:
+ * - 'top': 顶部对齐;
+ * - 'bottom': 底部对齐;
+ * - 'middle': 居中对齐;
+ * - 'normal': ; */
+ textBaseline: 'top' | 'bottom' | 'middle' | 'normal'
+ ): void
+ /** [CanvasContext.setTransform(number scaleX, number skewX, number skewY, number scaleY, number translateX, number translateY)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTransform.html)
+ *
+ * 使用矩阵重新设置(覆盖)当前变换的方法
+ *
+ * 最低基础库: `1.9.90` */
+ setTransform(
+ /** 水平缩放 */
+ scaleX: number,
+ /** 水平倾斜 */
+ skewX: number,
+ /** 垂直倾斜 */
+ skewY: number,
+ /** 垂直缩放 */
+ scaleY: number,
+ /** 水平移动 */
+ translateX: number,
+ /** 垂直移动 */
+ translateY: number
+ ): void
+ /** [CanvasContext.stroke()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.stroke.html)
+*
+* 画出当前路径的边框。默认颜色色为黑色。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.moveTo(10, 10)
+ctx.lineTo(100, 10)
+ctx.lineTo(100, 100)
+ctx.stroke()
+ctx.draw()
+```
+* 
+*
+* stroke() 描绘的的路径是从 beginPath() 开始计算,但是不会将 strokeRect() 包含进去。
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+// begin path
+ctx.rect(10, 10, 100, 30)
+ctx.setStrokeStyle('yellow')
+ctx.stroke()
+
+// begin another path
+ctx.beginPath()
+ctx.rect(10, 40, 100, 30)
+
+// only stoke this rect, not in current path
+ctx.setStrokeStyle('blue')
+ctx.strokeRect(10, 70, 100, 30)
+
+ctx.rect(10, 100, 100, 30)
+
+// it will stroke current path
+ctx.setStrokeStyle('red')
+ctx.stroke()
+ctx.draw()
+```
+*
+*  */
+ stroke(): void
+ /** [CanvasContext.strokeRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.strokeRect.html)
+*
+* 画一个矩形(非填充)。 用 [`setStrokeStyle`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html) 设置矩形线条的颜色,如果没设置默认是黑色。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+ctx.setStrokeStyle('red')
+ctx.strokeRect(10, 10, 150, 75)
+ctx.draw()
+```
+*  */
+ strokeRect(
+ /** 矩形路径左上角的横坐标 */
+ x: number,
+ /** 矩形路径左上角的纵坐标 */
+ y: number,
+ /** 矩形路径的宽度 */
+ width: number,
+ /** 矩形路径的高度 */
+ height: number
+ ): void
+ /** [CanvasContext.strokeText(string text, number x, number y, number maxWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.strokeText.html)
+ *
+ * 给定的 (x, y) 位置绘制文本描边的方法
+ *
+ * 最低基础库: `1.9.90` */
+ strokeText(
+ /** 要绘制的文本 */
+ text: string,
+ /** 文本起始点的 x 轴坐标 */
+ x: number,
+ /** 文本起始点的 y 轴坐标 */
+ y: number,
+ /** 需要绘制的最大宽度,可选 */
+ maxWidth?: number
+ ): void
+ /** [CanvasContext.transform(number scaleX, number skewX, number skewY, number scaleY, number translateX, number translateY)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.transform.html)
+ *
+ * 使用矩阵多次叠加当前变换的方法
+ *
+ * 最低基础库: `1.9.90` */
+ transform(
+ /** 水平缩放 */
+ scaleX: number,
+ /** 水平倾斜 */
+ skewX: number,
+ /** 垂直倾斜 */
+ skewY: number,
+ /** 垂直缩放 */
+ scaleY: number,
+ /** 水平移动 */
+ translateX: number,
+ /** 垂直移动 */
+ translateY: number
+ ): void
+ /** [CanvasContext.translate(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.translate.html)
+*
+* 对当前坐标系的原点 (0, 0) 进行变换。默认的坐标系原点为页面左上角。
+*
+* **示例代码**
+*
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+ctx.strokeRect(10, 10, 150, 100)
+ctx.translate(20, 20)
+ctx.strokeRect(10, 10, 150, 100)
+ctx.translate(20, 20)
+ctx.strokeRect(10, 10, 150, 100)
+
+ctx.draw()
+```
+*
+*  */
+ translate(
+ /** 水平坐标平移量 */
+ x: number,
+ /** 竖直坐标平移量 */
+ y: number
+ ): void
+ /** [Object CanvasContext.measureText(string text)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.measureText.html)
+ *
+ * 测量文本尺寸信息。目前仅返回文本宽度。同步接口。
+ *
+ * 最低基础库: `1.9.90` */
+ measureText(
+ /** 要测量的文本 */
+ text: string
+ ): TextMetrics
+ /** [[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) CanvasContext.createCircularGradient(number x, number y, number r)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createCircularGradient.html)
+*
+* 创建一个圆形的渐变颜色。起点在圆心,终点在圆环。返回的`CanvasGradient`对象需要使用 [CanvasGradient.addColorStop()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) 来指定渐变点,至少要两个。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+// Create circular gradient
+const grd = ctx.createCircularGradient(75, 50, 50)
+grd.addColorStop(0, 'red')
+grd.addColorStop(1, 'white')
+
+// Fill with gradient
+ctx.setFillStyle(grd)
+ctx.fillRect(10, 10, 150, 80)
+ctx.draw()
+```
+*  */
+ createCircularGradient(
+ /** 圆心的 x 坐标 */
+ x: number,
+ /** 圆心的 y 坐标 */
+ y: number,
+ /** 圆的半径 */
+ r: number
+ ): CanvasGradient
+ /** [[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) CanvasContext.createLinearGradient(number x0, number y0, number x1, number y1)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createLinearGradient.html)
+*
+* 创建一个线性的渐变颜色。返回的`CanvasGradient`对象需要使用 [CanvasGradient.addColorStop()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) 来指定渐变点,至少要两个。
+*
+* **示例代码**
+*
+*
+* ```javascript
+const ctx = wx.createCanvasContext('myCanvas')
+
+// Create linear gradient
+const grd = ctx.createLinearGradient(0, 0, 200, 0)
+grd.addColorStop(0, 'red')
+grd.addColorStop(1, 'white')
+
+// Fill with gradient
+ctx.setFillStyle(grd)
+ctx.fillRect(10, 10, 150, 80)
+ctx.draw()
+```
+*  */
+ createLinearGradient(
+ /** 起点的 x 坐标 */
+ x0: number,
+ /** 起点的 y 坐标 */
+ y0: number,
+ /** 终点的 x 坐标 */
+ x1: number,
+ /** 终点的 y 坐标 */
+ y1: number
+ ): CanvasGradient
+ }
+ interface CanvasGradient {
+ /** [CanvasGradient.addColorStop(number stop, string color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html)
+*
+* 添加颜色的渐变点。小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染
+*
+* **示例代码**
+*
+*
+* ```js
+const ctx = wx.createCanvasContext('myCanvas')
+
+// Create circular gradient
+const grd = ctx.createLinearGradient(30, 10, 120, 10)
+grd.addColorStop(0, 'red')
+grd.addColorStop(0.16, 'orange')
+grd.addColorStop(0.33, 'yellow')
+grd.addColorStop(0.5, 'green')
+grd.addColorStop(0.66, 'cyan')
+grd.addColorStop(0.83, 'blue')
+grd.addColorStop(1, 'purple')
+
+// Fill with gradient
+ctx.setFillStyle(grd)
+ctx.fillRect(10, 10, 150, 80)
+ctx.draw()
+```
+*  */
+ addColorStop(
+ /** 表示渐变中开始与结束之间的位置,范围 0-1。 */
+ stop: number,
+ /** 渐变点的颜色。 */
+ color: string
+ ): void
+ }
+ interface Console {
+ /** [console.debug()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.debug.html)
+ *
+ * 向调试面板中打印 debug 日志 */
+ debug(
+ /** 日志内容,可以有任意多个。 */
+ ...args: any[]
+ ): void
+ /** [console.error()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.error.html)
+ *
+ * 向调试面板中打印 error 日志 */
+ error(
+ /** 日志内容,可以有任意多个。 */
+ ...args: any[]
+ ): void
+ /** [console.group(string label)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.group.html)
+ *
+ * 在调试面板中创建一个新的分组。随后输出的内容都会被添加一个缩进,表示该内容属于当前分组。调用 [console.groupEnd](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.groupEnd.html)之后分组结束。
+ *
+ * **注意**
+ *
+ *
+ * 仅在工具中有效,在 vConsole 中为空函数实现。 */
+ group(
+ /** 分组标记,可选。 */
+ label?: string
+ ): void
+ /** [console.groupEnd()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.groupEnd.html)
+ *
+ * 结束由 [console.group](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.group.html) 创建的分组
+ *
+ * **注意**
+ *
+ *
+ * 仅在工具中有效,在 vConsole 中为空函数实现。 */
+ groupEnd(): void
+ /** [console.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.info.html)
+ *
+ * 向调试面板中打印 info 日志 */
+ info(
+ /** 日志内容,可以有任意多个。 */
+ ...args: any[]
+ ): void
+ /** [console.log()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.log.html)
+ *
+ * 向调试面板中打印 log 日志 */
+ log(
+ /** 日志内容,可以有任意多个。 */
+ ...args: any[]
+ ): void
+ /** [console.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.warn.html)
+ *
+ * 向调试面板中打印 warn 日志 */
+ warn(
+ /** 日志内容,可以有任意多个。 */
+ ...args: any[]
+ ): void
+ }
+ interface DownloadTask {
+ /** [DownloadTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.abort.html)
+ *
+ * 中断下载任务
+ *
+ * 最低基础库: `1.4.0` */
+ abort(): void
+ /** [DownloadTask.offHeadersReceived(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.offHeadersReceived.html)
+ *
+ * 取消监听 HTTP Response Header 事件
+ *
+ * 最低基础库: `2.1.0` */
+ offHeadersReceived(
+ /** HTTP Response Header 事件的回调函数 */
+ callback?: OffHeadersReceivedCallback
+ ): void
+ /** [DownloadTask.offProgressUpdate(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.offProgressUpdate.html)
+ *
+ * 取消监听下载进度变化事件
+ *
+ * 最低基础库: `2.1.0` */
+ offProgressUpdate(
+ /** 下载进度变化事件的回调函数 */
+ callback?: DownloadTaskOffProgressUpdateCallback
+ ): void
+ /** [DownloadTask.onHeadersReceived(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.onHeadersReceived.html)
+ *
+ * 监听 HTTP Response Header 事件。会比请求完成事件更早
+ *
+ * 最低基础库: `2.1.0` */
+ onHeadersReceived(
+ /** HTTP Response Header 事件的回调函数 */
+ callback: OnHeadersReceivedCallback
+ ): void
+ /** [DownloadTask.onProgressUpdate(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.onProgressUpdate.html)
+ *
+ * 监听下载进度变化事件
+ *
+ * 最低基础库: `1.4.0` */
+ onProgressUpdate(
+ /** 下载进度变化事件的回调函数 */
+ callback: DownloadTaskOnProgressUpdateCallback
+ ): void
+ }
+ interface EditorContext {
+ /** [EditorContext.blur(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.blur.html)
+ *
+ * 编辑器失焦,同时收起键盘。
+ *
+ * 最低基础库: `2.8.3` */
+ blur(option?: BlurOption): void
+ /** [EditorContext.clear(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.clear.html)
+ *
+ * 清空编辑器内容
+ *
+ * 最低基础库: `2.7.0` */
+ clear(option?: ClearOption): void
+ /** [EditorContext.format(string name, string value)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.format.html)
+ *
+ * 修改样式
+ *
+ * ****
+ *
+ * ## 支持设置的样式列表
+ * | name | value | verson |
+ * | --------------------------------------------------------- | ------------------------------- | ------ |
+ * | bold | | 2.7.0 |
+ * | italic | | 2.7.0 |
+ * | underline | | 2.7.0 |
+ * | strike | | 2.7.0 |
+ * | ins | | 2.7.0 |
+ * | script | sub / super | 2.7.0 |
+ * | header | H1 / H2 / h3 / H4 / h5 / H6 | 2.7.0 |
+ * | align | left / center / right / justify | 2.7.0 |
+ * | direction | rtl | 2.7.0 |
+ * | indent | -1 / +1 | 2.7.0 |
+ * | list | ordered / bullet / check | 2.7.0 |
+ * | color | hex color | 2.7.0 |
+ * | backgroundColor | hex color | 2.7.0 |
+ * | margin/marginTop/marginBottom/marginLeft/marginRight | css style | 2.7.0 |
+ * | padding/paddingTop/paddingBottom/paddingLeft/paddingRight | css style | 2.7.0 |
+ * | font/fontSize/fontStyle/fontVariant/fontWeight/fontFamily | css style | 2.7.0 |
+ * | lineHeight | css style | 2.7.0 |
+ * | letterSpacing | css style | 2.7.0 |
+ * | textDecoration | css style | 2.7.0 |
+ * | textIndent | css style | 2.8.0 |
+ * | wordWrap | css style | 2.10.2 |
+ * | wordBreak | css style | 2.10.2 |
+ * | whiteSpace | css style | 2.10.2 |
+ *
+ * 对已经应用样式的选区设置会取消样式。css style 表示 css 中规定的允许值。
+ *
+ * 最低基础库: `2.7.0` */
+ format(
+ /** 属性 */
+ name: string,
+ /** 值 */
+ value?: string
+ ): void
+ /** [EditorContext.getContents(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.getContents.html)
+ *
+ * 获取编辑器内容
+ *
+ * 最低基础库: `2.7.0` */
+ getContents(option?: GetContentsOption): void
+ /** [EditorContext.getSelectionText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.getSelectionText.html)
+ *
+ * 获取编辑器已选区域内的纯文本内容。当编辑器失焦或未选中一段区间时,返回内容为空。
+ *
+ * 最低基础库: `2.10.2` */
+ getSelectionText(option?: GetSelectionTextOption): void
+ /** [EditorContext.insertDivider(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertDivider.html)
+ *
+ * 插入分割线
+ *
+ * 最低基础库: `2.7.0` */
+ insertDivider(option?: InsertDividerOption): void
+ /** [EditorContext.insertImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertImage.html)
+*
+* 插入图片。
+*
+* 地址为临时文件时,获取的编辑器html格式内容中
标签增加属性 data-local,delta 格式内容中图片 attributes 属性增加 data-local 字段,该值为传入的临时文件地址。
+*
+* 开发者可选择在提交阶段上传图片到服务器,获取到网络地址后进行替换。替换时对于html内容应替换掉
的 src 值,对于 delta 内容应替换掉 `insert { image: abc }` 值。
+*
+* **示例代码**
+*
+*
+* ```javascript
+this.editorCtx.insertImage({
+ src: 'xx',
+ width: '100px',
+ height: '50px',
+ extClass: className
+})
+```
+*
+* 最低基础库: `2.7.0` */
+ insertImage(option: InsertImageOption): void
+ /** [EditorContext.insertText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertText.html)
+ *
+ * 覆盖当前选区,设置一段文本
+ *
+ * 最低基础库: `2.7.0` */
+ insertText(option: InsertTextOption): void
+ /** [EditorContext.redo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.redo.html)
+ *
+ * 恢复
+ *
+ * 最低基础库: `2.7.0` */
+ redo(option?: RedoOption): void
+ /** [EditorContext.removeFormat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.removeFormat.html)
+ *
+ * 清除当前选区的样式
+ *
+ * 最低基础库: `2.7.0` */
+ removeFormat(option?: RemoveFormatOption): void
+ /** [EditorContext.scrollIntoView()](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.scrollIntoView.html)
+ *
+ * 使得编辑器光标处滚动到窗口可视区域内。
+ *
+ * 最低基础库: `2.8.3` */
+ scrollIntoView(): void
+ /** [EditorContext.setContents(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.setContents.html)
+ *
+ * 初始化编辑器内容,html和delta同时存在时仅delta生效
+ *
+ * 最低基础库: `2.7.0` */
+ setContents(option: SetContentsOption): void
+ /** [EditorContext.undo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.undo.html)
+ *
+ * 撤销
+ *
+ * 最低基础库: `2.7.0` */
+ undo(option?: UndoOption): void
+ }
+ interface EntryList {
+ /** [Array EntryList.getEntries()](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/performance/EntryList.getEntries.html)
+ *
+ * 该方法返回当前列表中的所有性能数据
+ *
+ * 最低基础库: `2.11.0` */
+ getEntries(): any[]
+ /** [Array EntryList.getEntriesByName(string name, string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/performance/EntryList.getEntriesByName.html)
+ *
+ * 获取当前列表中所有名称为 [name] 且类型为 [entryType] 的性能数据
+ *
+ * 最低基础库: `2.11.0` */
+ getEntriesByName(name: string, entryType?: string): any[]
+ /** [Array EntryList.getEntriesByType(string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/performance/EntryList.getEntriesByType.html)
+ *
+ * 获取当前列表中所有类型为 [entryType] 的性能数据
+ *
+ * 最低基础库: `2.11.0` */
+ getEntriesByType(entryType: string): any[]
+ }
+ interface EventChannel {
+ /** [EventChannel.emit(string eventName, any args)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.emit.html)
+ *
+ * 触发一个事件
+ *
+ * 最低基础库: `2.7.3` */
+ emit(
+ /** 事件名称 */
+ eventName: string,
+ /** 事件参数 */
+ ...args: any
+ ): void
+ /** [EventChannel.off(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.off.html)
+ *
+ * 取消监听一个事件。给出第二个参数时,只取消给出的监听函数,否则取消所有监听函数
+ *
+ * 最低基础库: `2.7.3` */
+ off(
+ /** 事件名称 */
+ eventName: string,
+ /** 事件监听函数 */
+ fn: EventCallback
+ ): void
+ /** [EventChannel.on(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.on.html)
+ *
+ * 持续监听一个事件
+ *
+ * 最低基础库: `2.7.3` */
+ on(
+ /** 事件名称 */
+ eventName: string,
+ /** 事件监听函数 */
+ fn: EventCallback
+ ): void
+ /** [EventChannel.once(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.once.html)
+ *
+ * 监听一个事件一次,触发后失效
+ *
+ * 最低基础库: `2.7.3` */
+ once(
+ /** 事件名称 */
+ eventName: string,
+ /** 事件监听函数 */
+ fn: EventCallback
+ ): void
+ }
+ interface FileSystemManager {
+ /** [Array.<string> FileSystemManager.readdirSync(string dirPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdirSync.html)
+ *
+ * [FileSystemManager.readdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdir.html) 的同步版本 */
+ readdirSync(
+ /** 要读取的目录路径 (本地路径) */
+ dirPath: string
+ ): string[]
+ /** [FileSystemManager.access(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.access.html)
+ *
+ * 判断文件/目录是否存在 */
+ access(option: AccessOption): void
+ /** [FileSystemManager.accessSync(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.accessSync.html)
+ *
+ * [FileSystemManager.access](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.access.html) 的同步版本 */
+ accessSync(
+ /** 要判断是否存在的文件/目录路径 (本地路径) */
+ path: string
+ ): void
+ /** [FileSystemManager.appendFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFile.html)
+ *
+ * 在文件结尾追加内容
+ *
+ * 最低基础库: `2.1.0` */
+ appendFile(option: AppendFileOption): void
+ /** [FileSystemManager.appendFileSync(string filePath, string|ArrayBuffer data, string encoding)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFileSync.html)
+ *
+ * [FileSystemManager.appendFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFile.html) 的同步版本
+ *
+ * 最低基础库: `2.1.0` */
+ appendFileSync(
+ /** 要追加内容的文件路径 (本地路径) */
+ filePath: string,
+ /** 要追加的文本或二进制数据 */
+ data: string | ArrayBuffer,
+ /** 指定写入文件的字符编码
+ *
+ * 参数 encoding 可选值:
+ * - 'ascii': ;
+ * - 'base64': ;
+ * - 'binary': ;
+ * - 'hex': ;
+ * - 'ucs2': 以小端序读取;
+ * - 'ucs-2': 以小端序读取;
+ * - 'utf16le': 以小端序读取;
+ * - 'utf-16le': 以小端序读取;
+ * - 'utf-8': ;
+ * - 'utf8': ;
+ * - 'latin1': ; */
+ encoding?:
+ | 'ascii'
+ | 'base64'
+ | 'binary'
+ | 'hex'
+ | 'ucs2'
+ | 'ucs-2'
+ | 'utf16le'
+ | 'utf-16le'
+ | 'utf-8'
+ | 'utf8'
+ | 'latin1'
+ ): void
+ /** [FileSystemManager.copyFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFile.html)
+ *
+ * 复制文件 */
+ copyFile(option: CopyFileOption): void
+ /** [FileSystemManager.copyFileSync(string srcPath, string destPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFileSync.html)
+ *
+ * [FileSystemManager.copyFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFile.html) 的同步版本 */
+ copyFileSync(
+ /** 源文件路径,支持本地路径 */
+ srcPath: string,
+ /** 目标文件路径,支持本地路径 */
+ destPath: string
+ ): void
+ /** [FileSystemManager.getFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html)
+ *
+ * 获取该小程序下的 本地临时文件 或 本地缓存文件 信息 */
+ getFileInfo(option: FileSystemManagerGetFileInfoOption): void
+ /** [FileSystemManager.getSavedFileList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getSavedFileList.html)
+ *
+ * 获取该小程序下已保存的本地缓存文件列表 */
+ getSavedFileList(option?: FileSystemManagerGetSavedFileListOption): void
+ /** [FileSystemManager.mkdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdir.html)
+ *
+ * 创建目录 */
+ mkdir(option: MkdirOption): void
+ /** [FileSystemManager.mkdirSync(string dirPath, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdirSync.html)
+ *
+ * [FileSystemManager.mkdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdir.html) 的同步版本 */
+ mkdirSync(
+ /** 创建的目录路径 (本地路径) */
+ dirPath: string,
+ /** 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。
+ *
+ * 最低基础库: `2.3.0` */
+ recursive?: boolean
+ ): void
+ /** [FileSystemManager.readFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html)
+ *
+ * 读取本地文件内容 */
+ readFile(option: ReadFileOption): void
+ /** [FileSystemManager.readdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdir.html)
+ *
+ * 读取目录内文件列表 */
+ readdir(option: ReaddirOption): void
+ /** [FileSystemManager.removeSavedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.removeSavedFile.html)
+ *
+ * 删除该小程序下已保存的本地缓存文件 */
+ removeSavedFile(option: FileSystemManagerRemoveSavedFileOption): void
+ /** [FileSystemManager.rename(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rename.html)
+ *
+ * 重命名文件。可以把文件从 oldPath 移动到 newPath */
+ rename(option: RenameOption): void
+ /** [FileSystemManager.renameSync(string oldPath, string newPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.renameSync.html)
+ *
+ * [FileSystemManager.rename](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rename.html) 的同步版本 */
+ renameSync(
+ /** 源文件路径,支持本地路径 */
+ oldPath: string,
+ /** 新文件路径,支持本地路径 */
+ newPath: string
+ ): void
+ /** [FileSystemManager.rmdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdir.html)
+ *
+ * 删除目录 */
+ rmdir(option: RmdirOption): void
+ /** [FileSystemManager.rmdirSync(string dirPath, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdirSync.html)
+ *
+ * [FileSystemManager.rmdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdir.html) 的同步版本 */
+ rmdirSync(
+ /** 要删除的目录路径 (本地路径) */
+ dirPath: string,
+ /** 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。
+ *
+ * 最低基础库: `2.3.0` */
+ recursive?: boolean
+ ): void
+ /** [FileSystemManager.saveFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html)
+ *
+ * 保存临时文件到本地。此接口会移动临时文件,因此调用成功后,tempFilePath 将不可用。 */
+ saveFile(option: FileSystemManagerSaveFileOption): void
+ /** [FileSystemManager.stat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.stat.html)
+ *
+ * 获取文件 Stats 对象 */
+ stat(option: StatOption): void
+ /** [FileSystemManager.unlink(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlink.html)
+ *
+ * 删除文件 */
+ unlink(option: UnlinkOption): void
+ /** [FileSystemManager.unlinkSync(string filePath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlinkSync.html)
+ *
+ * [FileSystemManager.unlink](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlink.html) 的同步版本 */
+ unlinkSync(
+ /** 要删除的文件路径 (本地路径) */
+ filePath: string
+ ): void
+ /** [FileSystemManager.unzip(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unzip.html)
+ *
+ * 解压文件 */
+ unzip(option: UnzipOption): void
+ /** [FileSystemManager.writeFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFile.html)
+ *
+ * 写文件 */
+ writeFile(option: WriteFileOption): void
+ /** [FileSystemManager.writeFileSync(string filePath, string|ArrayBuffer data, string encoding)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFileSync.html)
+ *
+ * [FileSystemManager.writeFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFile.html) 的同步版本 */
+ writeFileSync(
+ /** 要写入的文件路径 (本地路径) */
+ filePath: string,
+ /** 要写入的文本或二进制数据 */
+ data: string | ArrayBuffer,
+ /** 指定写入文件的字符编码
+ *
+ * 参数 encoding 可选值:
+ * - 'ascii': ;
+ * - 'base64': ;
+ * - 'binary': ;
+ * - 'hex': ;
+ * - 'ucs2': 以小端序读取;
+ * - 'ucs-2': 以小端序读取;
+ * - 'utf16le': 以小端序读取;
+ * - 'utf-16le': 以小端序读取;
+ * - 'utf-8': ;
+ * - 'utf8': ;
+ * - 'latin1': ; */
+ encoding?:
+ | 'ascii'
+ | 'base64'
+ | 'binary'
+ | 'hex'
+ | 'ucs2'
+ | 'ucs-2'
+ | 'utf16le'
+ | 'utf-16le'
+ | 'utf-8'
+ | 'utf8'
+ | 'latin1'
+ ): void
+ /** [[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)|Object FileSystemManager.statSync(string path, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.statSync.html)
+ *
+ * [FileSystemManager.stat](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.stat.html) 的同步版本 */
+ statSync(
+ /** 文件/目录路径 (本地路径) */
+ path: string,
+ /** 是否递归获取目录下的每个文件的 Stats 信息
+ *
+ * 最低基础库: `2.3.0` */
+ recursive?: boolean
+ ): Stats | IAnyObject
+ /** [string FileSystemManager.saveFileSync(string tempFilePath, string filePath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFileSync.html)
+ *
+ * [FileSystemManager.saveFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html) 的同步版本 */
+ saveFileSync(
+ /** 临时存储文件路径 (本地路径) */
+ tempFilePath: string,
+ /** 要存储的文件路径 (本地路径) */
+ filePath?: string
+ ): string
+ /** [string|ArrayBuffer FileSystemManager.readFileSync(string filePath, string encoding, number position, number length)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFileSync.html)
+ *
+ * [FileSystemManager.readFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html) 的同步版本 */
+ readFileSync(
+ /** 要读取的文件的路径 (本地路径) */
+ filePath: string,
+ /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容
+ *
+ * 参数 encoding 可选值:
+ * - 'ascii': ;
+ * - 'base64': ;
+ * - 'binary': ;
+ * - 'hex': ;
+ * - 'ucs2': 以小端序读取;
+ * - 'ucs-2': 以小端序读取;
+ * - 'utf16le': 以小端序读取;
+ * - 'utf-16le': 以小端序读取;
+ * - 'utf-8': ;
+ * - 'utf8': ;
+ * - 'latin1': ; */
+ encoding?:
+ | 'ascii'
+ | 'base64'
+ | 'binary'
+ | 'hex'
+ | 'ucs2'
+ | 'ucs-2'
+ | 'utf16le'
+ | 'utf-16le'
+ | 'utf-8'
+ | 'utf8'
+ | 'latin1',
+ /** 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte
+ *
+ * 最低基础库: `2.10.0` */
+ position?: number,
+ /** 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte
+ *
+ * 最低基础库: `2.10.0` */
+ length?: number
+ ): string | ArrayBuffer
+ }
+ interface GeneralCallbackResult {
+ errMsg: string
+ }
+ interface IBeaconError {
+ /** 错误信息
+ *
+ * | 错误码 | 错误信息 | 说明 |
+ * | - | - | - |
+ * | 0 | ok | 正常 |
+ * | 11000 | unsupport | 系统或设备不支持 |
+ * | 11001 | bluetooth service unavailable | 蓝牙服务不可用 |
+ * | 11002 | location service unavailable | 位置服务不可用 |
+ * | 11003 | already start | 已经开始搜索 |
+ * | 11004 | not startBeaconDiscovery | 还未开始搜索 |
+ * | 11005 | system error | 系统错误 |
+ * | 11006 | invalid data | 参数不正确 | */ errMsg: string
+ /** 错误码
+ *
+ * | 错误码 | 错误信息 | 说明 |
+ * | - | - | - |
+ * | 0 | ok | 正常 |
+ * | 11000 | unsupport | 系统或设备不支持 |
+ * | 11001 | bluetooth service unavailable | 蓝牙服务不可用 |
+ * | 11002 | location service unavailable | 位置服务不可用 |
+ * | 11003 | already start | 已经开始搜索 |
+ * | 11004 | not startBeaconDiscovery | 还未开始搜索 |
+ * | 11005 | system error | 系统错误 |
+ * | 11006 | invalid data | 参数不正确 | */ errCode: number
+ }
+ interface InnerAudioContext {
+ /** [InnerAudioContext.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.destroy.html)
+ *
+ * 销毁当前实例 */
+ destroy(): void
+ /** [InnerAudioContext.offCanplay(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offCanplay.html)
+ *
+ * 取消监听音频进入可以播放状态的事件
+ *
+ * 最低基础库: `1.9.0` */
+ offCanplay(
+ /** 音频进入可以播放状态的事件的回调函数 */
+ callback?: OffCanplayCallback
+ ): void
+ /** [InnerAudioContext.offEnded(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offEnded.html)
+ *
+ * 取消监听音频自然播放至结束的事件
+ *
+ * 最低基础库: `1.9.0` */
+ offEnded(
+ /** 音频自然播放至结束的事件的回调函数 */
+ callback?: OffEndedCallback
+ ): void
+ /** [InnerAudioContext.offError(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offError.html)
+ *
+ * 取消监听音频播放错误事件
+ *
+ * 最低基础库: `1.9.0` */
+ offError(
+ /** 音频播放错误事件的回调函数 */
+ callback?: InnerAudioContextOffErrorCallback
+ ): void
+ /** [InnerAudioContext.offPause(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offPause.html)
+ *
+ * 取消监听音频暂停事件
+ *
+ * 最低基础库: `1.9.0` */
+ offPause(
+ /** 音频暂停事件的回调函数 */
+ callback?: OffPauseCallback
+ ): void
+ /** [InnerAudioContext.offPlay(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offPlay.html)
+ *
+ * 取消监听音频播放事件
+ *
+ * 最低基础库: `1.9.0` */
+ offPlay(
+ /** 音频播放事件的回调函数 */
+ callback?: OffPlayCallback
+ ): void
+ /** [InnerAudioContext.offSeeked(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offSeeked.html)
+ *
+ * 取消监听音频完成跳转操作的事件
+ *
+ * 最低基础库: `1.9.0` */
+ offSeeked(
+ /** 音频完成跳转操作的事件的回调函数 */
+ callback?: OffSeekedCallback
+ ): void
+ /** [InnerAudioContext.offSeeking(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offSeeking.html)
+ *
+ * 取消监听音频进行跳转操作的事件
+ *
+ * 最低基础库: `1.9.0` */
+ offSeeking(
+ /** 音频进行跳转操作的事件的回调函数 */
+ callback?: OffSeekingCallback
+ ): void
+ /** [InnerAudioContext.offStop(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offStop.html)
+ *
+ * 取消监听音频停止事件
+ *
+ * 最低基础库: `1.9.0` */
+ offStop(
+ /** 音频停止事件的回调函数 */
+ callback?: OffStopCallback
+ ): void
+ /** [InnerAudioContext.offTimeUpdate(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offTimeUpdate.html)
+ *
+ * 取消监听音频播放进度更新事件
+ *
+ * 最低基础库: `1.9.0` */
+ offTimeUpdate(
+ /** 音频播放进度更新事件的回调函数 */
+ callback?: OffTimeUpdateCallback
+ ): void
+ /** [InnerAudioContext.offWaiting(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offWaiting.html)
+ *
+ * 取消监听音频加载中事件
+ *
+ * 最低基础库: `1.9.0` */
+ offWaiting(
+ /** 音频加载中事件的回调函数 */
+ callback?: OffWaitingCallback
+ ): void
+ /** [InnerAudioContext.onCanplay(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onCanplay.html)
+ *
+ * 监听音频进入可以播放状态的事件。但不保证后面可以流畅播放 */
+ onCanplay(
+ /** 音频进入可以播放状态的事件的回调函数 */
+ callback: OnCanplayCallback
+ ): void
+ /** [InnerAudioContext.onEnded(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onEnded.html)
+ *
+ * 监听音频自然播放至结束的事件 */
+ onEnded(
+ /** 音频自然播放至结束的事件的回调函数 */
+ callback: OnEndedCallback
+ ): void
+ /** [InnerAudioContext.onError(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onError.html)
+ *
+ * 监听音频播放错误事件
+ *
+ * **Tips**
+ *
+ *
+ * 1. errCode=100001 时,如若 errMsg 中有 INNERCODE -11828 ,请先检查 response header 是否缺少 Content-Length
+ * 2. errCode=100001 时,如若 errMsg 中有 systemErrCode:200333420,请检查文件编码格式和 fileExtension 是否一致 */
+ onError(
+ /** 音频播放错误事件的回调函数 */
+ callback: InnerAudioContextOnErrorCallback
+ ): void
+ /** [InnerAudioContext.onPause(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onPause.html)
+ *
+ * 监听音频暂停事件 */
+ onPause(
+ /** 音频暂停事件的回调函数 */
+ callback: OnPauseCallback
+ ): void
+ /** [InnerAudioContext.onPlay(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onPlay.html)
+ *
+ * 监听音频播放事件 */
+ onPlay(
+ /** 音频播放事件的回调函数 */
+ callback: OnPlayCallback
+ ): void
+ /** [InnerAudioContext.onSeeked(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onSeeked.html)
+ *
+ * 监听音频完成跳转操作的事件 */
+ onSeeked(
+ /** 音频完成跳转操作的事件的回调函数 */
+ callback: OnSeekedCallback
+ ): void
+ /** [InnerAudioContext.onSeeking(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onSeeking.html)
+ *
+ * 监听音频进行跳转操作的事件 */
+ onSeeking(
+ /** 音频进行跳转操作的事件的回调函数 */
+ callback: OnSeekingCallback
+ ): void
+ /** [InnerAudioContext.onStop(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onStop.html)
+ *
+ * 监听音频停止事件 */
+ onStop(
+ /** 音频停止事件的回调函数 */
+ callback: InnerAudioContextOnStopCallback
+ ): void
+ /** [InnerAudioContext.onTimeUpdate(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onTimeUpdate.html)
+ *
+ * 监听音频播放进度更新事件 */
+ onTimeUpdate(
+ /** 音频播放进度更新事件的回调函数 */
+ callback: OnTimeUpdateCallback
+ ): void
+ /** [InnerAudioContext.onWaiting(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onWaiting.html)
+ *
+ * 监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发 */
+ onWaiting(
+ /** 音频加载中事件的回调函数 */
+ callback: OnWaitingCallback
+ ): void
+ /** [InnerAudioContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.pause.html)
+ *
+ * 暂停。暂停后的音频再播放会从暂停处开始播放 */
+ pause(): void
+ /** [InnerAudioContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.play.html)
+ *
+ * 播放 */
+ play(): void
+ /** [InnerAudioContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.seek.html)
+ *
+ * 跳转到指定位置 */
+ seek(
+ /** 跳转的时间,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度 */
+ position: number
+ ): void
+ /** [InnerAudioContext.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.stop.html)
+ *
+ * 停止。停止后的音频再播放会从头开始播放。 */
+ stop(): void
+ }
+ interface IntersectionObserver {
+ /** [IntersectionObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.disconnect.html)
+ *
+ * 停止监听。回调函数将不再触发 */
+ disconnect(): void
+ /** [IntersectionObserver.observe(string targetSelector, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.observe.html)
+ *
+ * 指定目标节点并开始监听相交状态变化情况 */
+ observe(
+ /** 选择器 */
+ targetSelector: string,
+ /** 监听相交状态变化的回调函数 */
+ callback: IntersectionObserverObserveCallback
+ ): void
+ /** [[IntersectionObserver](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.html) IntersectionObserver.relativeTo(string selector, Object margins)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.relativeTo.html)
+ *
+ * 使用选择器指定一个节点,作为参照区域之一。 */
+ relativeTo(
+ /** 选择器 */
+ selector: string,
+ /** 用来扩展(或收缩)参照节点布局区域的边界 */
+ margins?: Margins
+ ): IntersectionObserver
+ /** [[IntersectionObserver](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.html) IntersectionObserver.relativeToViewport(Object margins)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.relativeToViewport.html)
+*
+* 指定页面显示区域作为参照区域之一
+*
+* **示例代码**
+*
+*
+* 下面的示例代码中,如果目标节点(用选择器 .target-class 指定)进入显示区域以下 100px 时,就会触发回调函数。
+* ```javascript
+Page({
+ onLoad: function(){
+ wx.createIntersectionObserver().relativeToViewport({bottom: 100}).observe('.target-class', (res) => {
+ res.intersectionRatio // 相交区域占目标节点的布局区域的比例
+ res.intersectionRect // 相交区域
+ res.intersectionRect.left // 相交区域的左边界坐标
+ res.intersectionRect.top // 相交区域的上边界坐标
+ res.intersectionRect.width // 相交区域的宽度
+ res.intersectionRect.height // 相交区域的高度
+ })
+ }
+})
+``` */
+ relativeToViewport(
+ /** 用来扩展(或收缩)参照节点布局区域的边界 */
+ margins?: Margins
+ ): IntersectionObserver
+ }
+ interface InterstitialAd {
+ /** [InterstitialAd.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.destroy.html)
+ *
+ * 销毁插屏广告实例。
+ *
+ * 最低基础库: `2.8.0` */
+ destroy(): void
+ /** [InterstitialAd.offClose(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offClose.html)
+ *
+ * 取消监听插屏广告关闭事件 */
+ offClose(
+ /** 插屏广告关闭事件的回调函数 */
+ callback?: UDPSocketOffCloseCallback
+ ): void
+ /** [InterstitialAd.offError(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offError.html)
+ *
+ * 取消监听插屏错误事件 */
+ offError(
+ /** 插屏错误事件的回调函数 */
+ callback?: InterstitialAdOffErrorCallback
+ ): void
+ /** [InterstitialAd.offLoad(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offLoad.html)
+ *
+ * 取消监听插屏广告加载事件 */
+ offLoad(
+ /** 插屏广告加载事件的回调函数 */
+ callback?: OffLoadCallback
+ ): void
+ /** [InterstitialAd.onClose(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onClose.html)
+ *
+ * 监听插屏广告关闭事件。 */
+ onClose(
+ /** 插屏广告关闭事件的回调函数 */
+ callback: UDPSocketOnCloseCallback
+ ): void
+ /** [InterstitialAd.onError(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onError.html)
+ *
+ * 监听插屏错误事件。
+ *
+ * **错误码信息与解决方案表**
+ *
+ *
+ * 错误码是通过onError获取到的错误信息。调试期间,可以通过异常返回来捕获信息。
+ * 在小程序发布上线之后,如果遇到异常问题,可以在[“运维中心“](https://mp.weixin.qq.com/)里面搜寻错误日志,还可以针对异常返回加上适当的监控信息。
+ *
+ * | 代码 | 异常情况 | 理由 | 解决方案 |
+ * | ------ | -------------- | --------------- | -------------------------- |
+ * | 1000 | 后端错误调用失败 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。 |
+ * | 1001 | 参数错误 | 使用方法错误 | 可以前往developers.weixin.qq.com确认具体教程(小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换。|
+ * | 1002 | 广告单元无效 | 可能是拼写错误、或者误用了其他APP的广告ID | 请重新前往mp.weixin.qq.com确认广告位ID。 |
+ * | 1003 | 内部错误 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。|
+ * | 1004 | 无适合的广告 | 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 | 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 |
+ * | 1005 | 广告组件审核中 | 你的广告正在被审核,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。|
+ * | 1006 | 广告组件被驳回 | 你的广告审核失败,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。|
+ * | 1007 | 广告组件被驳回 | 你的广告能力已经被封禁,封禁期间无法展现广告 | 请前往mp.weixin.qq.com确认小程序广告封禁状态。 |
+ * | 1008 | 广告单元已关闭 | 该广告位的广告能力已经被关闭 | 请前往mp.weixin.qq.com重新打开对应广告位的展现。| */
+ onError(
+ /** 插屏错误事件的回调函数 */
+ callback: InterstitialAdOnErrorCallback
+ ): void
+ /** [InterstitialAd.onLoad(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onLoad.html)
+ *
+ * 监听插屏广告加载事件。 */
+ onLoad(
+ /** 插屏广告加载事件的回调函数 */
+ callback: OnLoadCallback
+ ): void
+ /** [Promise InterstitialAd.load()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.load.html)
+ *
+ * 加载插屏广告。
+ *
+ * 最低基础库: `2.8.0` */
+ load(): Promise
+ /** [Promise InterstitialAd.show()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.show.html)
+ *
+ * 显示插屏广告。
+ *
+ * **错误码信息表**
+ *
+ *
+ * 如果插屏广告显示失败,InterstitialAd.show() 方法会返回一个rejected Promise,开发者可以获取到错误码及对应的错误信息。
+ *
+ * | 代码 | 异常情况 | 理由 |
+ * | ------ | -------------- | -------------------------- |
+ * | 2001 | 触发频率限制 | 小程序启动一定时间内不允许展示插屏广告 |
+ * | 2002 | 触发频率限制 | 距离小程序插屏广告或者激励视频广告上次播放时间间隔不足,不允许展示插屏广告 |
+ * | 2003 | 触发频率限制 | 当前正在播放激励视频广告或者插屏广告,不允许再次展示插屏广告 |
+ * | 2004 | 广告渲染失败 | 该项错误不是开发者的异常情况,或因小程序页面切换导致广告渲染失败 |
+ * | 2005 | 广告调用异常 | 插屏广告实例不允许跨页面调用 | */
+ show(): Promise
+ }
+ interface IsoDep {
+ /** [IsoDep.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.close.html)
+ *
+ * 断开连接
+ *
+ * 最低基础库: `2.11.2` */
+ close(option?: NdefCloseOption): void
+ /** [IsoDep.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.connect.html)
+ *
+ * 连接 NFC 标签
+ *
+ * 最低基础库: `2.11.2` */
+ connect(option?: ConnectOption): void
+ /** [IsoDep.getHistoricalBytes(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.getHistoricalBytes.html)
+ *
+ * 获取复位信息
+ *
+ * 最低基础库: `2.11.2` */
+ getHistoricalBytes(option?: GetHistoricalBytesOption): void
+ /** [IsoDep.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.getMaxTransceiveLength.html)
+ *
+ * 获取最大传输长度
+ *
+ * 最低基础库: `2.11.2` */
+ getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void
+ /** [IsoDep.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.isConnected.html)
+ *
+ * 检查是否已连接
+ *
+ * 最低基础库: `2.11.2` */
+ isConnected(option?: IsConnectedOption): void
+ /** [IsoDep.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.setTimeout.html)
+ *
+ * 设置超时时间
+ *
+ * 最低基础库: `2.11.2` */
+ setTimeout(option: SetTimeoutOption): void
+ /** [IsoDep.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.transceive.html)
+ *
+ * 发送数据
+ *
+ * 最低基础库: `2.11.2` */
+ transceive(option: TransceiveOption): void
+ }
+ interface JoinVoIPChatError {
+ /** 错误信息
+ *
+ * | 错误码 | 错误信息 | 说明 |
+ * | - | - | - |
+ * | -1 | 当前已在房间内 | |
+ * | -2 | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | |
+ * | -3 | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | |
+ * | -1000 | 系统错误 | | */ errMsg: string
+ /** 错误码
+ *
+ * | 错误码 | 错误信息 | 说明 |
+ * | - | - | - |
+ * | -1 | 当前已在房间内 | |
+ * | -2 | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | |
+ * | -3 | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | |
+ * | -1000 | 系统错误 | | */ errCode: number
+ }
+ interface LivePlayerContext {
+ /** [LivePlayerContext.exitFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.exitFullScreen.html)
+ *
+ * 退出全屏 */
+ exitFullScreen(option?: ExitFullScreenOption): void
+ /** [LivePlayerContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.exitPictureInPicture.html)
+ *
+ * 退出小窗,该方法可在任意页面调用 */
+ exitPictureInPicture(option?: ExitPictureInPictureOption): void
+ /** [LivePlayerContext.mute(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.mute.html)
+ *
+ * 静音 */
+ mute(option?: MuteOption): void
+ /** [LivePlayerContext.pause(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.pause.html)
+ *
+ * 暂停
+ *
+ * 最低基础库: `1.9.90` */
+ pause(option?: PauseOption): void
+ /** [LivePlayerContext.play(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.play.html)
+ *
+ * 播放 */
+ play(option?: PlayOption): void
+ /** [LivePlayerContext.requestFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.requestFullScreen.html)
+ *
+ * 进入全屏 */
+ requestFullScreen(
+ option: LivePlayerContextRequestFullScreenOption
+ ): void
+ /** [LivePlayerContext.requestPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.requestPictureInPicture.html)
+ *
+ * 进入小窗
+ *
+ * 最低基础库: `2.15.0` */
+ requestPictureInPicture(option?: RequestPictureInPictureOption): void
+ /** [LivePlayerContext.resume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.resume.html)
+ *
+ * 恢复
+ *
+ * 最低基础库: `1.9.90` */
+ resume(option?: ResumeOption): void
+ /** [LivePlayerContext.snapshot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.snapshot.html)
+ *
+ * 截图
+ *
+ * 最低基础库: `2.7.1` */
+ snapshot(option: LivePlayerContextSnapshotOption): void
+ /** [LivePlayerContext.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.stop.html)
+ *
+ * 停止 */
+ stop(option?: StopOption): void
+ }
+ interface LivePusherContext {
+ /** [LivePusherContext.pause(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.pause.html)
+ *
+ * 暂停推流 */
+ pause(option?: PauseOption): void
+ /** [LivePusherContext.pauseBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.pauseBGM.html)
+ *
+ * 暂停背景音
+ *
+ * 最低基础库: `2.4.0` */
+ pauseBGM(option?: PauseBGMOption): void
+ /** [LivePusherContext.playBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.playBGM.html)
+ *
+ * 播放背景音
+ *
+ * 最低基础库: `2.4.0` */
+ playBGM(option: PlayBGMOption): void
+ /** [LivePusherContext.resume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.resume.html)
+ *
+ * 恢复推流 */
+ resume(option?: ResumeOption): void
+ /** [LivePusherContext.resumeBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.resumeBGM.html)
+ *
+ * 恢复背景音
+ *
+ * 最低基础库: `2.4.0` */
+ resumeBGM(option?: ResumeBGMOption): void
+ /** [LivePusherContext.sendMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.sendMessage.html)
+ *
+ * 发送SEI消息
+ *
+ * 最低基础库: `2.10.0` */
+ sendMessage(option?: SendMessageOption): void
+ /** [LivePusherContext.setBGMVolume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.setBGMVolume.html)
+ *
+ * 设置背景音音量
+ *
+ * 最低基础库: `2.4.0` */
+ setBGMVolume(option: SetBGMVolumeOption): void
+ /** [LivePusherContext.setMICVolume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.setMICVolume.html)
+ *
+ * 设置麦克风音量
+ *
+ * 最低基础库: `2.10.0` */
+ setMICVolume(option: SetMICVolumeOption): void
+ /** [LivePusherContext.snapshot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.snapshot.html)
+ *
+ * 快照
+ *
+ * 最低基础库: `1.9.90` */
+ snapshot(option: LivePusherContextSnapshotOption): void
+ /** [LivePusherContext.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.start.html)
+ *
+ * 开始推流,同时开启摄像头预览 */
+ start(option?: CameraFrameListenerStartOption): void
+ /** [LivePusherContext.startPreview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.startPreview.html)
+ *
+ * 开启摄像头预览
+ *
+ * 最低基础库: `2.7.0` */
+ startPreview(option?: StartPreviewOption): void
+ /** [LivePusherContext.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stop.html)
+ *
+ * 停止推流,同时停止摄像头预览 */
+ stop(option?: StopOption): void
+ /** [LivePusherContext.stopBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stopBGM.html)
+ *
+ * 停止背景音
+ *
+ * 最低基础库: `2.4.0` */
+ stopBGM(option?: StopBGMOption): void
+ /** [LivePusherContext.stopPreview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stopPreview.html)
+ *
+ * 关闭摄像头预览
+ *
+ * 最低基础库: `2.7.0` */
+ stopPreview(option?: StopPreviewOption): void
+ /** [LivePusherContext.switchCamera(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.switchCamera.html)
+ *
+ * 切换前后摄像头 */
+ switchCamera(option?: SwitchCameraOption): void
+ /** [LivePusherContext.toggleTorch(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.toggleTorch.html)
+ *
+ * 切换手电筒
+ *
+ * 最低基础库: `2.1.0` */
+ toggleTorch(option?: ToggleTorchOption): void
+ }
+ interface LogManager {
+ /** [LogManager.debug()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.debug.html)
+ *
+ * 写 debug 日志 */
+ debug(
+ /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */
+ ...args: any[]
+ ): void
+ /** [LogManager.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.info.html)
+ *
+ * 写 info 日志 */
+ info(
+ /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */
+ ...args: any[]
+ ): void
+ /** [LogManager.log()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.log.html)
+ *
+ * 写 log 日志 */
+ log(
+ /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */
+ ...args: any[]
+ ): void
+ /** [LogManager.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.warn.html)
+ *
+ * 写 warn 日志 */
+ warn(
+ /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */
+ ...args: any[]
+ ): void
+ }
+ interface MapContext {
+ /** [MapContext.addCustomLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addCustomLayer.html)
+ *
+ * 添加个性化图层。
+ *
+ * 最低基础库: `2.12.0` */
+ addCustomLayer(option: AddCustomLayerOption): void
+ /** [MapContext.addGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addGroundOverlay.html)
+ *
+ * 创建自定义图片图层,图片会随着地图缩放而缩放。
+ *
+ * 最低基础库: `2.14.0` */
+ addGroundOverlay(option: AddGroundOverlayOption): void
+ /** [MapContext.addMarkers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addMarkers.html)
+ *
+ * 添加 marker。
+ *
+ * 最低基础库: `2.13.0` */
+ addMarkers(option: AddMarkersOption): void
+ /** [MapContext.fromScreenLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.fromScreenLocation.html)
+ *
+ * 获取屏幕上的点对应的经纬度,坐标原点为地图左上角。
+ *
+ * 最低基础库: `2.14.0` */
+ fromScreenLocation(option: FromScreenLocationOption): void
+ /** [MapContext.getCenterLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getCenterLocation.html)
+ *
+ * 获取当前地图中心的经纬度。返回的是 gcj02 坐标系,可以用于 [wx.openLocation()](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.openLocation.html) */
+ getCenterLocation(option?: GetCenterLocationOption): void
+ /** [MapContext.getRegion(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getRegion.html)
+ *
+ * 获取当前地图的视野范围
+ *
+ * 最低基础库: `1.4.0` */
+ getRegion(option?: GetRegionOption): void
+ /** [MapContext.getRotate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getRotate.html)
+ *
+ * 获取当前地图的旋转角
+ *
+ * 最低基础库: `2.8.0` */
+ getRotate(option?: GetRotateOption): void
+ /** [MapContext.getScale(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getScale.html)
+ *
+ * 获取当前地图的缩放级别
+ *
+ * 最低基础库: `1.4.0` */
+ getScale(option?: GetScaleOption): void
+ /** [MapContext.getSkew(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getSkew.html)
+ *
+ * 获取当前地图的倾斜角
+ *
+ * 最低基础库: `2.8.0` */
+ getSkew(option?: GetSkewOption): void
+ /** [MapContext.includePoints(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.includePoints.html)
+ *
+ * 缩放视野展示所有经纬度
+ *
+ * 最低基础库: `1.2.0` */
+ includePoints(option: IncludePointsOption): void
+ /** [MapContext.initMarkerCluster(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.initMarkerCluster.html)
+ *
+ * 初始化点聚合的配置,未调用时采用默认配置。
+ *
+ * 最低基础库: `2.13.0` */
+ initMarkerCluster(option: InitMarkerClusterOption): void
+ /** [MapContext.moveAlong(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.moveAlong.html)
+ *
+ * 沿指定路径移动 `marker`,用于轨迹回放等场景。动画完成时触发回调事件,若动画进行中,对同一 `marker` 再次调用 `moveAlong` 方法,前一次的动画将被打断。
+ *
+ * 最低基础库: `2.13.0` */
+ moveAlong(option: MoveAlongOption): void
+ /** [MapContext.moveToLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.moveToLocation.html)
+ *
+ * 将地图中心移置当前定位点,此时需设置地图组件 show-location 为true。[2.8.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持将地图中心移动到指定位置。
+ *
+ * 最低基础库: `1.2.0` */
+ moveToLocation(option?: MoveToLocationOption): void
+ /** [MapContext.on(string event, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.on.html)
+*
+* 监听地图事件。
+*
+* ### markerClusterCreate
+*
+* 缩放或拖动导致新的聚合簇产生时触发,仅返回新创建的聚合簇信息。
+*
+* #### 返回参数
+*
+* | 参数 | 类型 | 说明 |
+* | --------- | ------ | --------- |
+* | clusters | `Array<ClusterInfo>` | 聚合簇数据 |
+*
+* ### markerClusterClick
+*
+* 聚合簇的点击事件。
+*
+* #### 返回参数
+*
+* | 参数 | 类型 | 说明 |
+* | --------- | ------------- | --------- |
+* | cluster | ClusterInfo | 聚合簇 |
+*
+*
+* #### ClusterInfo 结构
+*
+* | 参数 | 类型 | 说明 |
+* | ---------- | -------------------- | -------------------------- |
+* | clusterId | Number | 聚合簇的 id |
+* | center | LatLng | 聚合簇的坐标 |
+* | markerIds | `Array<Number>` | 该聚合簇内的点标记数据数组 |
+*
+* **示例代码**
+*
+*
+*
+* ```js
+ MapContext.on('markerClusterCreate', (res) => {})
+ MapContext.on('markerClusterClick', (res) => {})
+```
+*
+* 最低基础库: `2.13.0` */
+ on(
+ /** 事件名
+ *
+ * 参数 event 可选值:
+ * - 'markerClusterCreate': ;
+ * - 'markerClusterClick': ; */
+ event: 'markerClusterCreate' | 'markerClusterClick',
+ /** 事件的回调函数 */
+ callback: (...args: any[]) => any
+ ): void
+ /** [MapContext.openMapApp(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.openMapApp.html)
+ *
+ * 拉起地图APP选择导航。
+ *
+ * 最低基础库: `2.14.0` */
+ openMapApp(option: OpenMapAppOption): void
+ /** [MapContext.removeCustomLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeCustomLayer.html)
+ *
+ * 移除个性化图层。
+ *
+ * 最低基础库: `2.12.0` */
+ removeCustomLayer(option: RemoveCustomLayerOption): void
+ /** [MapContext.removeGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeGroundOverlay.html)
+ *
+ * 移除自定义图片图层。
+ *
+ * 最低基础库: `2.14.0` */
+ removeGroundOverlay(option: RemoveGroundOverlayOption): void
+ /** [MapContext.removeMarkers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeMarkers.html)
+ *
+ * 移除 marker。
+ *
+ * 最低基础库: `2.13.0` */
+ removeMarkers(option: RemoveMarkersOption): void
+ /** [MapContext.setCenterOffset(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setCenterOffset.html)
+ *
+ * 设置地图中心点偏移,向后向下为增长,屏幕比例范围(0.25~0.75),默认偏移为[0.5, 0.5]
+ *
+ * 最低基础库: `2.10.0` */
+ setCenterOffset(option: SetCenterOffsetOption): void
+ /** [MapContext.toScreenLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.toScreenLocation.html)
+ *
+ * 获取经纬度对应的屏幕坐标,坐标原点为地图左上角。
+ *
+ * 最低基础库: `2.14.0` */
+ toScreenLocation(option: ToScreenLocationOption): void
+ /** [MapContext.translateMarker(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.translateMarker.html)
+ *
+ * 平移marker,带动画。
+ *
+ * 最低基础库: `1.2.0` */
+ translateMarker(option: TranslateMarkerOption): void
+ /** [MapContext.updateGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.updateGroundOverlay.html)
+ *
+ * 更新自定义图片图层。
+ *
+ * 最低基础库: `2.14.0` */
+ updateGroundOverlay(option: UpdateGroundOverlayOption): void
+ }
+ interface MediaAudioPlayer {
+ /** [Promise MediaAudioPlayer.addAudioSource([VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) source)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.addAudioSource.html)
+ *
+ * 添加音频源 */
+ addAudioSource(
+ /** [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html)
+ *
+ * 视频解码器实例。作为音频源添加到音频播放器中 */
+ source: VideoDecoder
+ ): Promise
+ /** [Promise MediaAudioPlayer.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.destroy.html)
+ *
+ * 销毁播放器 */
+ destroy(): Promise
+ /** [Promise MediaAudioPlayer.removeAudioSource([VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) source)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.removeAudioSource.html)
+ *
+ * 移除音频源 */
+ removeAudioSource(
+ /** [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html)
+ *
+ * 视频解码器实例 */
+ source: VideoDecoder
+ ): Promise
+ /** [Promise MediaAudioPlayer.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.start.html)
+ *
+ * 启动播放器 */
+ start(): Promise
+ /** [Promise MediaAudioPlayer.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.stop.html)
+ *
+ * 停止播放器 */
+ stop(): Promise
+ }
+ interface MediaContainer {
+ /** [MediaContainer.addTrack([MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) track)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.addTrack.html)
+ *
+ * 将音频或视频轨道添加到容器
+ *
+ * 最低基础库: `2.9.0` */
+ addTrack(
+ /** [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html)
+ *
+ * 要添加的音频或视频轨道 */
+ track: MediaTrack
+ ): void
+ /** [MediaContainer.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.destroy.html)
+ *
+ * 将容器销毁,释放资源
+ *
+ * 最低基础库: `2.9.0` */
+ destroy(): void
+ /** [MediaContainer.export()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.export.html)
+ *
+ * 将容器内的轨道合并并导出视频文件
+ *
+ * 最低基础库: `2.9.0` */
+ export(): void
+ /** [MediaContainer.extractDataSource(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.extractDataSource.html)
+ *
+ * 将传入的视频源分离轨道。不会自动将轨道添加到待合成的容器里。
+ *
+ * 最低基础库: `2.9.0` */
+ extractDataSource(option: ExtractDataSourceOption): void
+ /** [MediaContainer.removeTrack([MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) track)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.removeTrack.html)
+ *
+ * 将音频或视频轨道从容器中移除
+ *
+ * 最低基础库: `2.9.0` */
+ removeTrack(
+ /** [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html)
+ *
+ * 要移除的音频或视频轨道 */
+ track: MediaTrack
+ ): void
+ }
+ interface MediaQueryObserver {
+ /** [MediaQueryObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/MediaQueryObserver.disconnect.html)
+ *
+ * 停止监听。回调函数将不再触发 */
+ disconnect(): void
+ /** [MediaQueryObserver.observe(Object descriptor, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/MediaQueryObserver.observe.html)
+ *
+ * 开始监听页面 media query 变化情况 */
+ observe(
+ /** media query 描述符 */
+ descriptor: ObserveDescriptor,
+ /** 监听 media query 状态变化的回调函数 */
+ callback: MediaQueryObserverObserveCallback
+ ): void
+ }
+ interface MediaRecorder {
+ /** [MediaRecorder.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.destroy.html)
+ *
+ * 销毁录制器
+ *
+ * 最低基础库: `2.11.0` */
+ destroy(): void
+ /** [MediaRecorder.off(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.off.html)
+ *
+ * 取消监听录制事件。当对应事件触发时,该回调函数不再执行。
+ *
+ * 最低基础库: `2.11.0` */
+ off(
+ /** 事件名 */
+ eventName: string,
+ /** 事件触发时执行的回调函数 */
+ callback: (...args: any[]) => any
+ ): void
+ /** [MediaRecorder.on(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.on.html)
+ *
+ * 注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行。
+ *
+ * 最低基础库: `2.11.0` */
+ on(
+ /** 事件名
+ *
+ * 参数 eventName 可选值:
+ * - 'start': 录制开始事件。;
+ * - 'stop': 录制结束事件。返回 {tempFilePath, duration, fileSize}; */
+ eventName: 'start' | 'stop',
+ /** 事件触发时执行的回调函数 */
+ callback: (...args: any[]) => any
+ ): void
+ /** [MediaRecorder.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.pause.html)
+ *
+ * 暂停录制
+ *
+ * 最低基础库: `2.11.0` */
+ pause(): void
+ /** [MediaRecorder.requestFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.requestFrame.html)
+ *
+ * 请求下一帧录制,在 callback 里完成一帧渲染后开始录制当前帧
+ *
+ * 最低基础库: `2.11.0` */
+ requestFrame(callback: (...args: any[]) => any): void
+ /** [MediaRecorder.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.resume.html)
+ *
+ * 恢复录制
+ *
+ * 最低基础库: `2.11.0` */
+ resume(): void
+ /** [MediaRecorder.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.start.html)
+ *
+ * 开始录制
+ *
+ * 最低基础库: `2.11.0` */
+ start(): void
+ /** [MediaRecorder.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.stop.html)
+ *
+ * 结束录制
+ *
+ * 最低基础库: `2.11.0` */
+ stop(): void
+ }
+ interface MifareClassic {
+ /** [MifareClassic.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.close.html)
+ *
+ * 断开连接
+ *
+ * 最低基础库: `2.11.2` */
+ close(option?: NdefCloseOption): void
+ /** [MifareClassic.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.connect.html)
+ *
+ * 连接 NFC 标签
+ *
+ * 最低基础库: `2.11.2` */
+ connect(option?: ConnectOption): void
+ /** [MifareClassic.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.getMaxTransceiveLength.html)
+ *
+ * 获取最大传输长度
+ *
+ * 最低基础库: `2.11.2` */
+ getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void
+ /** [MifareClassic.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.isConnected.html)
+ *
+ * 检查是否已连接
+ *
+ * 最低基础库: `2.11.2` */
+ isConnected(option?: IsConnectedOption): void
+ /** [MifareClassic.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.setTimeout.html)
+ *
+ * 设置超时时间
+ *
+ * 最低基础库: `2.11.2` */
+ setTimeout(option: SetTimeoutOption): void
+ /** [MifareClassic.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.transceive.html)
+ *
+ * 发送数据
+ *
+ * 最低基础库: `2.11.2` */
+ transceive(option: TransceiveOption): void
+ }
+ interface MifareUltralight {
+ /** [MifareUltralight.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.close.html)
+ *
+ * 断开连接
+ *
+ * 最低基础库: `2.11.2` */
+ close(option?: NdefCloseOption): void
+ /** [MifareUltralight.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.connect.html)
+ *
+ * 连接 NFC 标签
+ *
+ * 最低基础库: `2.11.2` */
+ connect(option?: ConnectOption): void
+ /** [MifareUltralight.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.getMaxTransceiveLength.html)
+ *
+ * 获取最大传输长度
+ *
+ * 最低基础库: `2.11.2` */
+ getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void
+ /** [MifareUltralight.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.isConnected.html)
+ *
+ * 检查是否已连接
+ *
+ * 最低基础库: `2.11.2` */
+ isConnected(option?: IsConnectedOption): void
+ /** [MifareUltralight.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.setTimeout.html)
+ *
+ * 设置超时时间
+ *
+ * 最低基础库: `2.11.2` */
+ setTimeout(option: SetTimeoutOption): void
+ /** [MifareUltralight.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.transceive.html)
+ *
+ * 发送数据
+ *
+ * 最低基础库: `2.11.2` */
+ transceive(option: TransceiveOption): void
+ }
+ interface NFCAdapter {
+ /** [NFCAdapter.offDiscovered(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.offDiscovered.html)
+ *
+ * 取消监听 NFC Tag
+ *
+ * 最低基础库: `2.11.2` */
+ offDiscovered(
+ /** 的回调函数 */
+ callback?: OffDiscoveredCallback
+ ): void
+ /** [NFCAdapter.onDiscovered(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.onDiscovered.html)
+ *
+ * 监听 NFC Tag
+ *
+ * 最低基础库: `2.11.2` */
+ onDiscovered(
+ /** 的回调函数 */
+ callback: OnDiscoveredCallback
+ ): void
+ /** [NFCAdapter.startDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.startDiscovery.html)
+ *
+ *
+ *
+ * 最低基础库: `2.11.2` */
+ startDiscovery(option?: StartDiscoveryOption): void
+ /** [NFCAdapter.stopDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.stopDiscovery.html)
+ *
+ *
+ *
+ * 最低基础库: `2.11.2` */
+ stopDiscovery(option?: StopDiscoveryOption): void
+ /** [[IsoDep](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.html) NFCAdapter.getIsoDep()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getIsoDep.html)
+ *
+ * 获取IsoDep实例,实例支持ISO-DEP (ISO 14443-4)标准的读写
+ *
+ * 最低基础库: `2.11.2` */
+ getIsoDep(): IsoDep
+ /** [[MifareClassic](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.html) NFCAdapter.getMifareClassic()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getMifareClassic.html)
+ *
+ * 获取MifareClassic实例,实例支持MIFARE Classic标签的读写
+ *
+ * 最低基础库: `2.11.2` */
+ getMifareClassic(): MifareClassic
+ /** [[MifareUltralight](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.html) NFCAdapter.getMifareUltralight()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getMifareUltralight.html)
+ *
+ * 获取MifareUltralight实例,实例支持MIFARE Ultralight标签的读写
+ *
+ * 最低基础库: `2.11.2` */
+ getMifareUltralight(): MifareUltralight
+ /** [[Ndef](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.html) NFCAdapter.getNdef()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNdef.html)
+ *
+ * 获取Ndef实例,实例支持对NDEF格式的NFC标签上的NDEF数据的读写
+ *
+ * 最低基础库: `2.11.2` */
+ getNdef(): Ndef
+ /** [[NfcA](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.html) NFCAdapter.getNfcA()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcA.html)
+ *
+ * 获取NfcA实例,实例支持NFC-A (ISO 14443-3A)标准的读写
+ *
+ * 最低基础库: `2.11.2` */
+ getNfcA(): NfcA
+ /** [[NfcB](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.html) NFCAdapter.getNfcB()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcB.html)
+ *
+ * 获取NfcB实例,实例支持NFC-B (ISO 14443-3B)标准的读写
+ *
+ * 最低基础库: `2.11.2` */
+ getNfcB(): NfcB
+ /** [[NfcF](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.html) NFCAdapter.getNfcF()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcF.html)
+ *
+ * 获取NfcF实例,实例支持NFC-F (JIS 6319-4)标准的读写
+ *
+ * 最低基础库: `2.11.2` */
+ getNfcF(): NfcF
+ /** [[NfcV](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.html) NFCAdapter.getNfcV()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcV.html)
+ *
+ * 获取NfcV实例,实例支持NFC-V (ISO 15693)标准的读写
+ *
+ * 最低基础库: `2.11.2` */
+ getNfcV(): NfcV
+ }
+ interface NFCError {
+ /** 错误信息
+ *
+ * | 错误码 | 错误信息 | 说明 |
+ * | - | - | - |
+ * | 0 | ok | 正常 |
+ * | 13000 | | 当前设备不支持NFC |
+ * | 13001 | | 当前设备支持NFC,但系统NFC开关未开启 |
+ * | 13002 | | 当前设备支持NFC,但不支持HCE |
+ * | 13003 | | AID列表参数格式错误 |
+ * | 13004 | | 未设置微信为默认NFC支付应用 |
+ * | 13005 | | 返回的指令不合法 |
+ * | 13006 | | 注册AID失败 | */ errMsg: string
+ /** 错误码
+ *
+ * | 错误码 | 错误信息 | 说明 |
+ * | - | - | - |
+ * | 0 | ok | 正常 |
+ * | 13000 | | 当前设备不支持NFC |
+ * | 13001 | | 当前设备支持NFC,但系统NFC开关未开启 |
+ * | 13002 | | 当前设备支持NFC,但不支持HCE |
+ * | 13003 | | AID列表参数格式错误 |
+ * | 13004 | | 未设置微信为默认NFC支付应用 |
+ * | 13005 | | 返回的指令不合法 |
+ * | 13006 | | 注册AID失败 | */ errCode: number
+ }
+ interface Ndef {
+ /** [Ndef.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.close.html)
+ *
+ * 断开连接
+ *
+ * 最低基础库: `2.11.2` */
+ close(option?: NdefCloseOption): void
+ /** [Ndef.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.connect.html)
+ *
+ * 连接 NFC 标签
+ *
+ * 最低基础库: `2.11.2` */
+ connect(option?: ConnectOption): void
+ /** [Ndef.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.isConnected.html)
+ *
+ * 检查是否已连接
+ *
+ * 最低基础库: `2.11.2` */
+ isConnected(option?: IsConnectedOption): void
+ /** [Ndef.offNdefMessage(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.offNdefMessage.html)
+ *
+ * 取消监听 Ndef 消息
+ *
+ * 最低基础库: `2.11.2` */
+ offNdefMessage(callback: (...args: any[]) => any): void
+ /** [Ndef.onNdefMessage(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.onNdefMessage.html)
+ *
+ * 监听 Ndef 消息
+ *
+ * 最低基础库: `2.11.2` */
+ onNdefMessage(callback: (...args: any[]) => any): void
+ /** [Ndef.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.setTimeout.html)
+ *
+ * 设置超时时间
+ *
+ * 最低基础库: `2.11.2` */
+ setTimeout(option: SetTimeoutOption): void
+ /** [Ndef.writeNdefMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.writeNdefMessage.html)
+ *
+ * 重写 Ndef 标签内容
+ *
+ * 最低基础库: `2.11.2` */
+ writeNdefMessage(option: WriteNdefMessageOption): void
+ }
+ interface NfcA {
+ /** [NfcA.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.close.html)
+ *
+ * 断开连接
+ *
+ * 最低基础库: `2.11.2` */
+ close(option?: NdefCloseOption): void
+ /** [NfcA.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.connect.html)
+ *
+ * 连接 NFC 标签
+ *
+ * 最低基础库: `2.11.2` */
+ connect(option?: ConnectOption): void
+ /** [NfcA.getAtqa(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getAtqa.html)
+ *
+ * 获取ATQA信息
+ *
+ * 最低基础库: `2.11.2` */
+ getAtqa(option?: GetAtqaOption): void
+ /** [NfcA.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getMaxTransceiveLength.html)
+ *
+ * 获取最大传输长度
+ *
+ * 最低基础库: `2.11.2` */
+ getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void
+ /** [NfcA.getSak(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getSak.html)
+ *
+ * 获取SAK信息
+ *
+ * 最低基础库: `2.11.2` */
+ getSak(option?: GetSakOption): void
+ /** [NfcA.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.isConnected.html)
+ *
+ * 检查是否已连接
+ *
+ * 最低基础库: `2.11.2` */
+ isConnected(option?: IsConnectedOption): void
+ /** [NfcA.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.setTimeout.html)
+ *
+ * 设置超时时间
+ *
+ * 最低基础库: `2.11.2` */
+ setTimeout(option: SetTimeoutOption): void
+ /** [NfcA.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.transceive.html)
+ *
+ * 发送数据
+ *
+ * 最低基础库: `2.11.2` */
+ transceive(option: TransceiveOption): void
+ }
+ interface NfcB {
+ /** [NfcB.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.close.html)
+ *
+ * 断开连接
+ *
+ * 最低基础库: `2.11.2` */
+ close(option?: NdefCloseOption): void
+ /** [NfcB.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.connect.html)
+ *
+ * 连接 NFC 标签
+ *
+ * 最低基础库: `2.11.2` */
+ connect(option?: ConnectOption): void
+ /** [NfcB.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.getMaxTransceiveLength.html)
+ *
+ * 获取最大传输长度
+ *
+ * 最低基础库: `2.11.2` */
+ getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void
+ /** [NfcB.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.isConnected.html)
+ *
+ * 检查是否已连接
+ *
+ * 最低基础库: `2.11.2` */
+ isConnected(option?: IsConnectedOption): void
+ /** [NfcB.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.setTimeout.html)
+ *
+ * 设置超时时间
+ *
+ * 最低基础库: `2.11.2` */
+ setTimeout(option: SetTimeoutOption): void
+ /** [NfcB.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.transceive.html)
+ *
+ * 发送数据
+ *
+ * 最低基础库: `2.11.2` */
+ transceive(option: TransceiveOption): void
+ }
+ interface NfcF {
+ /** [NfcF.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.close.html)
+ *
+ * 断开连接
+ *
+ * 最低基础库: `2.11.2` */
+ close(option?: NdefCloseOption): void
+ /** [NfcF.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.connect.html)
+ *
+ * 连接 NFC 标签
+ *
+ * 最低基础库: `2.11.2` */
+ connect(option?: ConnectOption): void
+ /** [NfcF.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.getMaxTransceiveLength.html)
+ *
+ * 获取最大传输长度
+ *
+ * 最低基础库: `2.11.2` */
+ getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void
+ /** [NfcF.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.isConnected.html)
+ *
+ * 检查是否已连接
+ *
+ * 最低基础库: `2.11.2` */
+ isConnected(option?: IsConnectedOption): void
+ /** [NfcF.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.setTimeout.html)
+ *
+ * 设置超时时间
+ *
+ * 最低基础库: `2.11.2` */
+ setTimeout(option: SetTimeoutOption): void
+ /** [NfcF.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.transceive.html)
+ *
+ * 发送数据
+ *
+ * 最低基础库: `2.11.2` */
+ transceive(option: TransceiveOption): void
+ }
+ interface NfcV {
+ /** [NfcV.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.close.html)
+ *
+ * 断开连接
+ *
+ * 最低基础库: `2.11.2` */
+ close(option?: NdefCloseOption): void
+ /** [NfcV.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.connect.html)
+ *
+ * 连接 NFC 标签
+ *
+ * 最低基础库: `2.11.2` */
+ connect(option?: ConnectOption): void
+ /** [NfcV.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.getMaxTransceiveLength.html)
+ *
+ * 获取最大传输长度
+ *
+ * 最低基础库: `2.11.2` */
+ getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void
+ /** [NfcV.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.isConnected.html)
+ *
+ * 检查是否已连接
+ *
+ * 最低基础库: `2.11.2` */
+ isConnected(option?: IsConnectedOption): void
+ /** [NfcV.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.setTimeout.html)
+ *
+ * 设置超时时间
+ *
+ * 最低基础库: `2.11.2` */
+ setTimeout(option: SetTimeoutOption): void
+ /** [NfcV.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.transceive.html)
+ *
+ * 发送数据
+ *
+ * 最低基础库: `2.11.2` */
+ transceive(option: TransceiveOption): void
+ }
+ interface Nfcrwerror {
+ /** 错误信息
+ *
+ * | 错误码 | 错误信息 | 说明 |
+ * | - | - | - |
+ * | 13000 | 设备不支持NFC | |
+ * | 13001 | 系统NFC开关未打开 | |
+ * | 13010 | 未知错误 | |
+ * | 13019 | user is not authorized | 用户未授权 |
+ * | 13011 | invalid parameter | 参数无效 |
+ * | 13012 | parse NdefMessage failed | 将参数解析为NdefMessage失败 |
+ * | 13021 | NFC discovery already started | 已经开始NFC扫描 |
+ * | 13018 | NFC discovery has not started | 尝试在未开始NFC扫描时停止NFC扫描 |
+ * | 13022 | Tech already connected | 标签已经连接 |
+ * | 13023 | Tech has not connected | 尝试在未连接标签时断开连接 |
+ * | 13013 | NFC tag has not been discovered | 未扫描到NFC标签 |
+ * | 13014 | invalid tech | 无效的标签技术 |
+ * | 13015 | unavailable tech | 从标签上获取对应技术失败 |
+ * | 13024 | function not support | 当前标签技术不支持该功能 |
+ * | 13017 | system internal error | 相关读写操作失败 |
+ * | 13016 | connect fail | 连接失败 | */ errMsg: string
+ /** 错误码
+ *
+ * | 错误码 | 错误信息 | 说明 |
+ * | - | - | - |
+ * | 13000 | 设备不支持NFC | |
+ * | 13001 | 系统NFC开关未打开 | |
+ * | 13010 | 未知错误 | |
+ * | 13019 | user is not authorized | 用户未授权 |
+ * | 13011 | invalid parameter | 参数无效 |
+ * | 13012 | parse NdefMessage failed | 将参数解析为NdefMessage失败 |
+ * | 13021 | NFC discovery already started | 已经开始NFC扫描 |
+ * | 13018 | NFC discovery has not started | 尝试在未开始NFC扫描时停止NFC扫描 |
+ * | 13022 | Tech already connected | 标签已经连接 |
+ * | 13023 | Tech has not connected | 尝试在未连接标签时断开连接 |
+ * | 13013 | NFC tag has not been discovered | 未扫描到NFC标签 |
+ * | 13014 | invalid tech | 无效的标签技术 |
+ * | 13015 | unavailable tech | 从标签上获取对应技术失败 |
+ * | 13024 | function not support | 当前标签技术不支持该功能 |
+ * | 13017 | system internal error | 相关读写操作失败 |
+ * | 13016 | connect fail | 连接失败 | */ errCode: number
+ }
+ interface NodesRef {
+ /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.boundingClientRect(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.boundingClientRect.html)
+*
+* 添加节点的布局位置的查询请求。相对于显示区域,以像素为单位。其功能类似于 DOM 的 `getBoundingClientRect`。返回 `NodesRef` 对应的 `SelectorQuery`。
+*
+* **示例代码**
+*
+*
+* ```js
+Page({
+ getRect () {
+ wx.createSelectorQuery().select('#the-id').boundingClientRect(function(rect){
+ rect.id // 节点的ID
+ rect.dataset // 节点的dataset
+ rect.left // 节点的左边界坐标
+ rect.right // 节点的右边界坐标
+ rect.top // 节点的上边界坐标
+ rect.bottom // 节点的下边界坐标
+ rect.width // 节点的宽度
+ rect.height // 节点的高度
+ }).exec()
+ },
+ getAllRects () {
+ wx.createSelectorQuery().selectAll('.a-class').boundingClientRect(function(rects){
+ rects.forEach(function(rect){
+ rect.id // 节点的ID
+ rect.dataset // 节点的dataset
+ rect.left // 节点的左边界坐标
+ rect.right // 节点的右边界坐标
+ rect.top // 节点的上边界坐标
+ rect.bottom // 节点的下边界坐标
+ rect.width // 节点的宽度
+ rect.height // 节点的高度
+ })
+ }).exec()
+ }
+})
+``` */
+ boundingClientRect(
+ /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */
+ callback?: BoundingClientRectCallback
+ ): SelectorQuery
+ /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.context(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.context.html)
+*
+* 添加节点的 Context 对象查询请求。目前支持 [VideoContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.html)、[CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html)、[LivePlayerContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.html)、[EditorContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.html)和 [MapContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.html) 的获取。
+*
+* **示例代码**
+*
+*
+* ```js
+Page({
+ getContext () {
+ wx.createSelectorQuery().select('.the-video-class').context(function(res){
+ console.log(res.context) // 节点对应的 Context 对象。如:选中的节点是