From 8e3f3890e93d097df4be744648b9ac404d20a558 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 23 四月 2026 17:58:50 +0800
Subject: [PATCH] 2026.4.23

---
 miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxss                           |    2 
 miniprogram_npm/tdesign-miniprogram/locale/it_IT.d.ts                                          |  130 
 miniprogram_npm/tdesign-miniprogram/guide/guide.d.ts                                           |    1 
 miniprogram_npm/tdesign-miniprogram/locale/zh_TW.d.ts                                          |  130 
 miniprogram_npm/tdesign-miniprogram/rate/rate.js                                               |    2 
 miniprogram_npm/tdesign-miniprogram/toast/toast.wxml                                           |    2 
 miniprogram_npm/tdesign-miniprogram/divider/divider.wxss                                       |    2 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.wxss                           |   28 
 miniprogram_npm/tdesign-miniprogram/progress/progress.wxss                                     |    8 
 miniprogram_npm/tdesign-miniprogram/form/index.js                                              |    1 
 miniprogram_npm/tdesign-miniprogram/chat-loading/type.d.ts                                     |   10 
 miniprogram_npm/tdesign-miniprogram/common/validator.js                                        |    2 
 miniprogram_npm/tdesign-miniprogram/popup/popup.wxs                                            |    5 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/index.d.ts                                   |    3 
 miniprogram_npm/tdesign-miniprogram/badge/type.d.ts                                            |    2 
 miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxml                                         |    2 
 miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.d.ts                             |    8 
 miniprogram_npm/tdesign-miniprogram/button/button.wxss                                         |    8 
 miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.wxml                             |    2 
 miniprogram_npm/tdesign-miniprogram/search/search.wxss                                         |    9 
 miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.d.ts                                         |   11 
 miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.wxml                         |    1 
 miniprogram_npm/tdesign-miniprogram/chat-thinking/type.d.ts                                    |   31 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.d.ts   |   23 
 miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxss                                     |    2 
 miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxml                                         |    2 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.json                           |    1 
 miniprogram_npm/tdesign-miniprogram/icon/icon.wxss                                             | 4479 ++++++++++++++-------------
 miniprogram_npm/tdesign-miniprogram/form-item/form-model.js                                    |    1 
 miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.d.ts                         |   47 
 miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.d.ts                             |    4 
 miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.wxml                           |    1 
 miniprogram_npm/tdesign-miniprogram/tag/tag.js                                                 |    2 
 miniprogram_npm/tdesign-miniprogram/empty/empty.wxss                                           |    2 
 miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.d.ts                           |   26 
 miniprogram_npm/tdesign-miniprogram/config-provider/props.d.ts                                 |    3 
 miniprogram_npm/tdesign-miniprogram/slider/slider.js                                           |    2 
 miniprogram_npm/tdesign-miniprogram/chat-message/index.d.ts                                    |    1 
 miniprogram_npm/tdesign-miniprogram/common/style/theme/_index.wxss                             |  409 ++
 miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.js                       |    2 
 package-lock.json                                                                              |   15 
 miniprogram_npm/tdesign-miniprogram/config-provider/use-config.js                              |    1 
 miniprogram_npm/tdesign-miniprogram/form-item/form-item.js                                     |    1 
 miniprogram_npm/tdesign-miniprogram/avatar/avatar.js                                           |    2 
 miniprogram_npm/tdesign-miniprogram/common/utils.wxs                                           |    2 
 miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.wxml                             |    1 
 miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxml                             |    2 
 miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxss                             |    7 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.js     |    1 
 miniprogram_npm/tdesign-miniprogram/popover/popover.wxss                                       |   63 
 miniprogram_npm/tdesign-miniprogram/button/type.d.ts                                           |   14 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/index.js                                     |    1 
 miniprogram_npm/tdesign-miniprogram/chat-thinking/type.js                                      |    1 
 miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.wxss                             |   31 
 miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.wxss                       |    1 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/props.js                                     |    1 
 miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.js           |    2 
 miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.wxs                                |   25 
 miniprogram_npm/tdesign-miniprogram/popover/type.js                                            |    1 
 miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.wxss                               |   26 
 miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxss                             |    2 
 miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/it.js                         |    1 
 miniprogram_npm/tdesign-miniprogram/tab-bar/type.d.ts                                          |    8 
 miniprogram_npm/tdesign-miniprogram/picker/picker.js                                           |    2 
 miniprogram_npm/tdesign-miniprogram/button/props.js                                            |    2 
 miniprogram_npm/tdesign-miniprogram/step-item/step-item.wxss                                   |    6 
 miniprogram_npm/dayjs/index.js                                                                 |    4 
 miniprogram_npm/tdesign-miniprogram/attachments/attachments.d.ts                               |   52 
 miniprogram_npm/tdesign-miniprogram/attachments/props.d.ts                                     |    3 
 miniprogram_npm/tdesign-miniprogram/chat-sender/type.d.ts                                      |   58 
 miniprogram_npm/tdesign-miniprogram/upload/upload.js                                           |    2 
 miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.wxss                                   |   10 
 miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.d.ts                             |    2 
 miniprogram_npm/tdesign-miniprogram/attachments/attachments.wxml                               |    1 
 miniprogram_npm/tdesign-miniprogram/footer/footer.wxss                                         |    6 
 miniprogram_npm/tdesign-miniprogram/chat-actionbar/type.js                                     |    1 
 miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.js                             |    2 
 miniprogram_npm/tdesign-miniprogram/popover/props.js                                           |    1 
 miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxss                                     |    8 
 app.json                                                                                       |    2 
 miniprogram_npm/tdesign-miniprogram/calendar/calendar.d.ts                                     |    2 
 miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.js                               |    1 
 miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.json                             |    2 
 miniprogram_npm/tdesign-miniprogram/popover/popover.json                                       |    1 
 miniprogram_npm/tdesign-miniprogram/attachments/props.js                                       |    1 
 miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.d.ts                                   |   53 
 miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.wxml                                   |    1 
 miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.json                               |    1 
 miniprogram_npm/tdesign-miniprogram/loading/loading.wxss                                       |    4 
 miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.json                       |    1 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.json |    1 
 miniprogram_npm/tdesign-miniprogram/mixins/using-config.js                                     |    1 
 miniprogram_npm/tdesign-miniprogram/search/search.js                                           |    2 
 miniprogram_npm/tdesign-miniprogram/badge/badge.js                                             |    2 
 miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.json                             |    1 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.wxss   |    1 
 miniprogram_npm/tdesign-miniprogram/picker/picker.wxml                                         |    2 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.js   |    1 
 miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.wxss                             |   36 
 miniprogram_npm/tdesign-miniprogram/form/props.js                                              |    1 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.json   |    1 
 miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.wxml                               |    2 
 package_supervision/api/problemApi.js                                                          |   39 
 miniprogram_npm/tdesign-miniprogram/locale/zh_CN.js                                            |    1 
 miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.js                                 |    2 
 miniprogram_npm/tdesign-miniprogram/common/style/theme/_font.wxss                              |   74 
 miniprogram_npm/tdesign-miniprogram/avatar/avatar.d.ts                                         |    2 
 miniprogram_npm/tdesign-miniprogram/popover/popover.wxml                                       |    1 
 miniprogram_npm/tdesign-miniprogram/chat-sender/props.js                                       |    1 
 miniprogram_npm/tdesign-miniprogram/popover/popover.d.ts                                       |   50 
 miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.d.ts                               |   23 
 miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.wxss                         |    2 
 miniprogram_npm/tdesign-miniprogram/locale/ru_RU.js                                            |    1 
 miniprogram_npm/tdesign-miniprogram/stepper/stepper.d.ts                                       |    2 
 miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxml                                         |    2 
 miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.js                                       |    2 
 miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.wxss                                 |    2 
 miniprogram_npm/tdesign-miniprogram/attachments/index.d.ts                                     |    3 
 miniprogram_npm/tdesign-miniprogram/chat-sender/props.d.ts                                     |    3 
 miniprogram_npm/tdesign-miniprogram/color-picker/template.wxml                                 |    2 
 miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxml                           |    2 
 miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.wxss         |    4 
 miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxss                                     |  284 +
 miniprogram_npm/tdesign-miniprogram/picker/picker.wxs                                          |    9 
 miniprogram_npm/tdesign-miniprogram/chat-content/type.js                                       |    1 
 miniprogram_npm/tdesign-miniprogram/message-item/index.d.ts                                    |    3 
 miniprogram_npm/tdesign-miniprogram/rate/rate.wxss                                             |    2 
 miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxss                                         |    4 
 miniprogram_npm/tdesign-miniprogram/mixins/using-config.d.ts                                   |    5 
 miniprogram_npm/tdesign-miniprogram/config-provider/reactive-state.d.ts                        |    9 
 package_supervision/pages/inspection/index.js                                                  |    6 
 miniprogram_npm/tdesign-miniprogram/locale/zh_TW.js                                            |    1 
 miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.js                               |    2 
 miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.js                             |    1 
 miniprogram_npm/tdesign-miniprogram/locale/zh_CN.d.ts                                          |  131 
 miniprogram_npm/tdesign-miniprogram/result/result.wxss                                         |    4 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.json   |    1 
 miniprogram_npm/tdesign-miniprogram/locale/ko_KR.js                                            |    1 
 miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxml                                   |    2 
 package_supervision/pages/menu_evidence/index.json                                             |    5 
 miniprogram_npm/tdesign-miniprogram/chat-sender/type.js                                        |    1 
 miniprogram_npm/tdesign-miniprogram/upload/upload.wxss                                         |    6 
 miniprogram_npm/tdesign-miniprogram/toast/toast.wxss                                           |    4 
 miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.js                                       |    2 
 miniprogram_npm/tdesign-miniprogram/chat-content/index.js                                      |    1 
 miniprogram_npm/tdesign-miniprogram/locale/ar_KW.d.ts                                          |  129 
 miniprogram_npm/tdesign-miniprogram/config-provider/props.js                                   |    1 
 miniprogram_npm/tdesign-miniprogram/attachments/attachments.json                               |    1 
 miniprogram_npm/tdesign-miniprogram/config-provider/utils.js                                   |    1 
 miniprogram_npm/tdesign-miniprogram/chat-message/type.d.ts                                     |   63 
 miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.wxml                             |    1 
 miniprogram_npm/tdesign-miniprogram/guide/guide.js                                             |    2 
 miniprogram_npm/tdesign-miniprogram/form-item/type.js                                          |    1 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.wxss   |    7 
 miniprogram_npm/tdesign-miniprogram/chat-actionbar/props.d.ts                                  |    3 
 miniprogram_npm/tdesign-miniprogram/tab-bar/props.js                                           |    2 
 miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.d.ts                       |   30 
 miniprogram_npm/tdesign-miniprogram/date-time-picker/props.js                                  |    2 
 miniprogram_npm/tdesign-miniprogram/form-item/props.js                                         |    1 
 miniprogram_npm/tdesign-miniprogram/icon/icon.js                                               |    2 
 miniprogram_npm/tdesign-miniprogram/locale/ru_RU.d.ts                                          |  130 
 miniprogram_npm/tdesign-miniprogram/cascader/props.js                                          |    2 
 miniprogram_npm/tdesign-miniprogram/form-item/form-item.wxml                                   |    1 
 miniprogram_npm/tdesign-miniprogram/form/props.d.ts                                            |    3 
 miniprogram_npm/tdesign-miniprogram/chat-actionbar/props.js                                    |    1 
 miniprogram_npm/tdesign-miniprogram/chat-list/type.d.ts                                        |   26 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/type.d.ts                                    |   17 
 miniprogram_npm/tdesign-miniprogram/config-provider/use-config.d.ts                            |    5 
 miniprogram_npm/tdesign-miniprogram/chat-content/index.d.ts                                    |    3 
 miniprogram_npm/tdesign-miniprogram/form/form.d.ts                                             |   41 
 miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.wxml                                   |    2 
 miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.d.ts                             |   25 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.wxss |   12 
 miniprogram_npm/tdesign-miniprogram/popover/props.d.ts                                         |    3 
 miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.d.ts                   |    2 
 miniprogram_npm/tdesign-miniprogram/form/form.wxml                                             |    1 
 miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.wxml                   |    2 
 miniprogram_npm/tdesign-miniprogram/chat-thinking/props.d.ts                                   |    3 
 miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxs                                          |    4 
 miniprogram_npm/tdesign-miniprogram/chat-loading/props.js                                      |    1 
 pages/home/index.wxss                                                                          |    2 
 miniprogram_npm/tdesign-miniprogram/common/utils.d.ts                                          |   14 
 package.json                                                                                   |    2 
 miniprogram_npm/tdesign-miniprogram/calendar/type.d.ts                                         |    2 
 miniprogram_npm/tdesign-miniprogram/config-provider/config-store.d.ts                          |   16 
 miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.js                                         |    2 
 miniprogram_npm/tdesign-miniprogram/date-time-picker/type.d.ts                                 |    4 
 style/theme.wxss                                                                               |   22 
 miniprogram_npm/tdesign-miniprogram/stepper/stepper.js                                         |    2 
 miniprogram_npm/tdesign-miniprogram/link/link.wxss                                             |    6 
 miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.js                               |    1 
 miniprogram_npm/tdesign-miniprogram/form-item/form-item.d.ts                                   |   52 
 miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxss                             |   42 
 miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxml                             |    2 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/props.d.ts                                   |    3 
 miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.d.ts         |    2 
 miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.wxml                       |    1 
 miniprogram_npm/tdesign-miniprogram/rate/rate.wxs                                              |    6 
 miniprogram_npm/tdesign-miniprogram/chat-list/type.js                                          |    1 
 miniprogram_npm/tdesign-miniprogram/message/index.d.ts                                         |    3 
 miniprogram_npm/tdesign-miniprogram/common/validator.d.ts                                      |   18 
 miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxml                                     |    2 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/type.js                                      |    1 
 package_supervision/pages/menu_evidence/index.wxml                                             |  108 
 miniprogram_npm/tdesign-miniprogram/attachments/attachments.wxss                               |   33 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.d.ts |   17 
 miniprogram_npm/tdesign-miniprogram/popover/index.d.ts                                         |    3 
 miniprogram_npm/tdesign-miniprogram/badge/badge.wxs                                            |   11 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.wxml |    1 
 miniprogram_npm/tdesign-miniprogram/chat-actionbar/type.d.ts                                   |   46 
 miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxss                                       |    2 
 miniprogram_npm/tdesign-miniprogram/attachments/attachments.wxs                                |   53 
 miniprogram_npm/tdesign-miniprogram/cascader/cascader.d.ts                                     |    3 
 miniprogram_npm/tdesign-miniprogram/attachments/index.js                                       |    1 
 miniprogram_npm/tdesign-miniprogram/calendar/calendar.js                                       |    2 
 miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxss                                       |    4 
 miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxss                                 |    2 
 miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.js                                 |    1 
 miniprogram_npm/tdesign-miniprogram/input/input.wxss                                           |    8 
 miniprogram_npm/tdesign-miniprogram/popup/popup.wxml                                           |    2 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.js                             |    1 
 miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxml                           |    2 
 miniprogram_npm/tdesign-miniprogram/attachments/type.js                                        |    1 
 miniprogram_npm/tdesign-miniprogram/tag/tag.wxss                                               |  303 +
 miniprogram_npm/tdesign-miniprogram/toast/toast.js                                             |    2 
 miniprogram_npm/tdesign-miniprogram/chat-message/type.js                                       |    1 
 miniprogram_npm/tdesign-miniprogram/chat-list/props.js                                         |    1 
 miniprogram_npm/tdesign-miniprogram/chat-content/props.js                                      |    1 
 miniprogram_npm/tdesign-miniprogram/checkbox/index.d.ts                                        |    3 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.wxml                           |    1 
 miniprogram_npm/tdesign-miniprogram/progress/progress.wxml                                     |   51 
 miniprogram_npm/tdesign-miniprogram/cascader/cascader.js                                       |    2 
 miniprogram_npm/tdesign-miniprogram/cell/cell.wxss                                             |   10 
 miniprogram_npm/tdesign-miniprogram/config-provider/type.d.ts                                  |  136 
 miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/props.d.ts                 |    2 
 miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.d.ts                           |    1 
 miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.json                           |    1 
 miniprogram_npm/tdesign-miniprogram/chat-thinking/props.js                                     |    1 
 miniprogram_npm/tdesign-miniprogram/action-sheet/type.d.ts                                     |    5 
 miniprogram_npm/tdesign-miniprogram/attachments/type.d.ts                                      |   28 
 miniprogram_npm/tdesign-miniprogram/chat-message/props.d.ts                                    |    3 
 miniprogram_npm/tdesign-miniprogram/button/button.wxml                                         |    2 
 miniprogram_npm/tdesign-miniprogram/chat-message/props.js                                      |    1 
 miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxss                         |   20 
 miniprogram_npm/tdesign-miniprogram/badge/badge.wxml                                           |    2 
 miniprogram_npm/tdesign-miniprogram/checkbox/index.js                                          |    1 
 miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.wxml                     |    2 
 miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.d.ts                             |   34 
 miniprogram_npm/tdesign-miniprogram/form-item/type.d.ts                                        |   39 
 miniprogram_npm/tdesign-miniprogram/navbar/props.js                                            |    2 
 miniprogram_npm/tdesign-miniprogram/locale/ko_KR.d.ts                                          |  130 
 package_supervision/pages/subtask/subtaskitem.wxss                                             |    5 
 miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.js                                           |    2 
 miniprogram_npm/tdesign-miniprogram/form/type.d.ts                                             |  165 +
 miniprogram_npm/tdesign-miniprogram/popover/popover.js                                         |    1 
 miniprogram_npm/tdesign-miniprogram/chat-list/props.d.ts                                       |    3 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.d.ts                           |   22 
 miniprogram_npm/tdesign-miniprogram/config-provider/reactive-state.js                          |    1 
 miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.wxml                             |    1 
 miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxss                                         |    4 
 miniprogram_npm/tdesign-miniprogram/locale/en_US.js                                            |    1 
 miniprogram_npm/tdesign-miniprogram/action-sheet/template/grid.wxml                            |    2 
 miniprogram_npm/tdesign-miniprogram/image-viewer/props.js                                      |    2 
 miniprogram_npm/tdesign-miniprogram/badge/badge.d.ts                                           |    4 
 miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.d.ts                     |    6 
 miniprogram_npm/tdesign-miniprogram/checkbox-group/type.d.ts                                   |    2 
 miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.wxss                           |   22 
 miniprogram_npm/tdesign-miniprogram/form/type.js                                               |    1 
 miniprogram_npm/tdesign-miniprogram/button/button.d.ts                                         |    1 
 miniprogram_npm/tdesign-miniprogram/chat-loading/type.js                                       |    1 
 miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.json                             |    1 
 miniprogram_npm/tdesign-miniprogram/picker/template.wxml                                       |    2 
 miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.d.ts                                     |    4 
 miniprogram_npm/tdesign-miniprogram/tabs/tabs.js                                               |    2 
 miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxss                                   |   11 
 miniprogram_npm/tdesign-miniprogram/upload/upload.wxml                                         |    2 
 miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.js                                     |    1 
 miniprogram_npm/tdesign-miniprogram/slider/slider.wxss                                         |    4 
 miniprogram_npm/tdesign-miniprogram/form/form.json                                             |    1 
 miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.json                             |    1 
 miniprogram_npm/tdesign-miniprogram/locale/ja_JP.d.ts                                          |  130 
 miniprogram_npm/tdesign-miniprogram/miniprogram_npm/marked/index.js                            |    1 
 miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.wxss                                 |    4 
 miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.d.ts                               |   65 
 miniprogram_npm/tdesign-miniprogram/upload/upload.d.ts                                         |    6 
 miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.wxss                             |    8 
 miniprogram_npm/tdesign-miniprogram/popover/type.d.ts                                          |   34 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.wxml   |    1 
 miniprogram_npm/tdesign-miniprogram/chat-loading/props.d.ts                                    |    3 
 miniprogram_npm/tdesign-miniprogram/navbar/navbar.js                                           |    2 
 miniprogram_npm/tdesign-miniprogram/search/type.d.ts                                           |    4 
 miniprogram_npm/tdesign-miniprogram/form-item/form-item.wxss                                   |   19 
 miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxml                         |    2 
 miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.js                           |    1 
 miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.wxml                               |    2 
 miniprogram_npm/tdesign-miniprogram/badge/badge.wxss                                           |   29 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.d.ts   |   17 
 miniprogram_npm/tdesign-miniprogram/config-provider/utils.d.ts                                 |    1 
 miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxs                              |   15 
 miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.js                     |    2 
 miniprogram_npm/tdesign-miniprogram/common/style/theme/_dark.wxss                              |    2 
 miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.js                         |    1 
 miniprogram_npm/tdesign-miniprogram/guide/guide.wxss                                           |    8 
 miniprogram_npm/tdesign-miniprogram/watermark/watermark.js                                     |    2 
 package_supervision/pages/subtask/subtaskitem.wxml                                             |    6 
 miniprogram_npm/tdesign-miniprogram/config-provider/type.js                                    |    1 
 miniprogram_npm/tdesign-miniprogram/form-item/form-model.d.ts                                  |   39 
 miniprogram_npm/tdesign-miniprogram/chat-content/props.d.ts                                    |    3 
 miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.wxss                             |   43 
 miniprogram_npm/tdesign-miniprogram/popover/index.js                                           |    1 
 miniprogram_npm/tdesign-miniprogram/checkbox/type.d.ts                                         |    3 
 miniprogram_npm/tdesign-miniprogram/form/form.wxss                                             |    1 
 miniprogram_npm/tdesign-miniprogram/chat-content/type.d.ts                                     |   25 
 miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxml                                     |    2 
 miniprogram_npm/tdesign-miniprogram/form-item/form-item.json                                   |    1 
 miniprogram_npm/tdesign-miniprogram/locale/en_US.d.ts                                          |  131 
 miniprogram_npm/tdesign-miniprogram/drawer/drawer.wxss                                         |    4 
 miniprogram_npm/tdesign-miniprogram/chat-message/index.js                                      |    0 
 miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.wxss                                   |    5 
 miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/ar.js                         |    1 
 miniprogram_npm/tdesign-miniprogram/locale/ar_KW.js                                            |    1 
 miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.json                                   |    1 
 miniprogram_npm/tdesign-miniprogram/common/style/theme/_components.wxss                        |    2 
 miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.json                         |    1 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.wxml   |    1 
 miniprogram_npm/tdesign-miniprogram/form/form.js                                               |    1 
 miniprogram_npm/tdesign-miniprogram/picker/picker.wxss                                         |    4 
 miniprogram_npm/tdesign-miniprogram/attachments/attachments.js                                 |    1 
 miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.js                               |    1 
 miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxss                                     |    8 
 miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxss                                         |  142 
 miniprogram_npm/tdesign-miniprogram/form/index.d.ts                                            |    3 
 miniprogram_npm/tdesign-miniprogram/image-viewer/type.d.ts                                     |    5 
 miniprogram_npm/tdesign-miniprogram/button/button.js                                           |    2 
 miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxss                           |    2 
 miniprogram_npm/tdesign-miniprogram/locale/ja_JP.js                                            |    1 
 miniprogram_npm/tdesign-miniprogram/config-provider/config-store.js                            |    1 
 miniprogram_npm/tdesign-miniprogram/form-item/props.d.ts                                       |    3 
 miniprogram_npm/tdesign-miniprogram/search/search.wxml                                         |    2 
 miniprogram_npm/tdesign-miniprogram/common/wechat.js                                           |    2 
 miniprogram_npm/tdesign-miniprogram/search/search.d.ts                                         |    4 
 miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxss                                     |    8 
 miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.wxss                         |   16 
 miniprogram_npm/tdesign-miniprogram/locale/it_IT.js                                            |    1 
 miniprogram_npm/tdesign-miniprogram/radio/radio.wxss                                           |    6 
 miniprogram_npm/tdesign-miniprogram/navbar/type.d.ts                                           |    8 
 miniprogram_npm/tdesign-miniprogram/rate/rate.d.ts                                             |    2 
 miniprogram_npm/tdesign-miniprogram/rate/rate.wxml                                             |    2 
 miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.js                             |    2 
 miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxss                                             |    5 
 /dev/null                                                                                      |    1 
 miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxml                                       |    2 
 miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.js     |    1 
 package_supervision/pages/menu_evidence/index.js                                               |  102 
 miniprogram_npm/tdesign-miniprogram/common/utils.js                                            |    2 
 miniprogram_npm/tdesign-miniprogram/search/props.js                                            |    2 
 package_supervision/api/domainApi.js                                                           |   26 
 miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.d.ts                                       |    3 
 miniprogram_npm/tdesign-miniprogram/upload/drag.wxs                                            |    1 
 359 files changed, 7,032 insertions(+), 2,667 deletions(-)

diff --git a/app.json b/app.json
index 88d3c4f..0304414 100644
--- a/app.json
+++ b/app.json
@@ -91,6 +91,8 @@
     "t-cascader": "tdesign-miniprogram/cascader/cascader",
     "t-calendar": "tdesign-miniprogram/calendar/calendar",
     "t-dialog": "tdesign-miniprogram/dialog/dialog",
+    "t-form": "tdesign-miniprogram/form/form",
+    "t-form-item": "tdesign-miniprogram/form-item/form-item",
     "t-tabs": "tdesign-miniprogram/tabs/tabs",
     "t-tab-panel": "tdesign-miniprogram/tab-panel/tab-panel",
     "t-loading": "tdesign-miniprogram/loading/loading",
diff --git a/miniprogram_npm/dayjs/index.js b/miniprogram_npm/dayjs/index.js
index 9eaa76f..c58f9d5 100644
--- a/miniprogram_npm/dayjs/index.js
+++ b/miniprogram_npm/dayjs/index.js
@@ -4,10 +4,10 @@
 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__(1764293132550, function(require, module, exports) {
+__DEFINE__(1776931689896, function(require, module, exports) {
 !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(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|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,M={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},v={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()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p="$isDayjsObject",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.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(b.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($);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 b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f="set"+(this.$u?"UTC":""),l=(n={},n[a]=f+"Date",n[d]=f+"Date",n[c]=f+"Month",n[h]=f+"FullYear",n[u]=f+"Hours",n[s]=f+"Minutes",n[i]=f+"Seconds",n[r]=f+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,"0")},$=f||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return b.s(e.$y,4,"0");case"M":return a+1;case"MM":return b.s(a+1,2,"0");case"MMM":return h(n.monthsShort,a,c,3);case"MMMM":return h(c,a);case"D":return e.$D;case"DD":return b.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return h(n.weekdaysMin,e.$W,o,2);case"ddd":return h(n.weekdaysShort,e.$W,o,3);case"dddd":return o[e.$W];case"H":return String(s);case"HH":return b.s(s,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return $(s,u,!0);case"A":return $(s,u,!1);case"m":return String(u);case"mm":return b.s(u,2,"0");case"s":return String(e.$s);case"ss":return b.s(e.$s,2,"0");case"SSS":return b.s(e.$ms,3,"0");case"Z":return i}return null}(t)||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",c],["$y",h],["$D",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));
 }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
-return __REQUIRE__(1764293132550);
+return __REQUIRE__(1776931689896);
 })()
 //miniprogram-npm-outsideDeps=[]
 //# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.d.ts b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.d.ts
index d3c2b76..14d36b5 100644
--- a/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.d.ts
@@ -68,6 +68,7 @@
     }[];
     observers: {
         items(): void;
+        globalConfig(): void;
     };
     lifetimes: {
         ready(): void;
@@ -75,6 +76,7 @@
     methods: {
         init(): void;
         memoInitialData(): void;
+        updateInitialData(): void;
         splitGridThemeActions(): void;
         show(options: any): void;
         close(): void;
diff --git a/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.js b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.js
index 176dfdc..6d01abb 100644
--- a/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.js
+++ b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.js
@@ -1 +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
+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";import usingConfig from"../mixins/using-config";const{prefix:prefix}=config,componentName="action-sheet";let ActionSheet=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[useCustomNavbar,usingConfig({componentName:componentName})],this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-cancel`],this.properties=Object.assign({},props),this.data={prefix:prefix,classPrefix:`${prefix}-${componentName}`,gridThemeItems:[],currentSwiperIndex:0,defaultPopUpProps:{},defaultPopUpzIndex:11500},this.controlledProps=[{key:"visible",event:"visible-change"}],this.observers={items(){this.splitGridThemeActions()},globalConfig(){this.updateInitialData()}},this.lifetimes={ready(){this.init()}},this.methods={init(){this.memoInitialData(),this.splitGridThemeActions()},memoInitialData(){this.updateInitialData()},updateInitialData(){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:n}=this.data,{index:a}=e.currentTarget.dataset,r=n===ActionSheetTheme.Grid,h=r?s[t][a]:i[a],c=r?a+t*o:a;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_npm/tdesign-miniprogram/action-sheet/action-sheet.wxml b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxml
index cabb001..a1f9c93 100644
--- a/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxml
@@ -1 +1 @@
-<wxs src="./action-sheet.wxs" module="_this"/><wxs src="../common/utils.wxs" module="_"/><import src="./template/list.wxml"/><import src="./template/grid.wxml"/><view id="{{classPrefix}}" style="{{_._style([style, customStyle])}}" class="{{classPrefix}} class {{prefix}}-class"><t-popup visible="{{visible}}" placement="bottom" usingCustomNavbar="{{usingCustomNavbar}}" bind:visible-change="onPopupVisibleChange" show-overlay="{{showOverlay}}" z-index="{{ popupProps.zIndex || defaultPopUpzIndex }}" overlay-props="{{ popupProps.overlayProps || defaultPopUpProps }}"><view class="{{_.cls(classPrefix + '__content', [['grid', gridThemeItems.length]])}} {{prefix}}-class-content" tabindex="0"><view wx:if="{{description}}" tabindex="0" class="{{_.cls(classPrefix + '__description', [align])}}">{{description}}</view><block wx:if="{{gridThemeItems.length}}"><template is="grid" data="{{classPrefix, prefix, gridThemeItems, count, currentSwiperIndex}}"/></block><view wx:elif="{{items && items.length}}" class="{{classPrefix}}__list"><block wx:for="{{ items }}" wx:key="index"><template is="list" data="{{index, classPrefix, listThemeItemClass: _.cls(classPrefix + '__list-item', [align, [disabled, item.disabled]]), item}}"/></block></view></view><slot/><view wx:if="{{showCancel}}" class="{{classPrefix}}__footer"><view class="{{classPrefix}}__gap-{{theme}}"/><view class="{{classPrefix}}__cancel {{prefix}}-class-cancel" hover-class="{{classPrefix}}__cancel--hover" hover-stay-time="70" bind:tap="onCancel" aria-role="button">{{ cancelText || '鍙栨秷' }}</view></view></t-popup></view>
\ No newline at end of file
+<wxs src="./action-sheet.wxs" module="_this"/><wxs src="../common/utils.wxs" module="_"/><import src="./template/grid.wxml"/><import src="../common/template/icon.wxml"/><view id="{{classPrefix}}" style="{{_._style([style, customStyle])}}" class="{{_.cls(classPrefix, [align, theme, ['no-description', !description]])}} class {{prefix}}-class"><t-popup visible="{{visible}}" placement="bottom" usingCustomNavbar="{{usingCustomNavbar}}" bind:visible-change="onPopupVisibleChange" show-overlay="{{showOverlay}}" z-index="{{ popupProps.zIndex || defaultPopUpzIndex }}" overlay-props="{{ popupProps.overlayProps || defaultPopUpProps }}"><view class="{{classPrefix}}__content {{prefix}}-class-content" tabindex="0"><view wx:if="{{description}}" tabindex="0" class="{{classPrefix}}__description">{{description}}</view><block wx:if="{{gridThemeItems.length}}"><template is="grid" data="{{classPrefix, prefix, gridThemeItems, count, currentSwiperIndex}}"/></block><view wx:elif="{{items && items.length}}" class="{{classPrefix}}__list"><block wx:for="{{ items }}" wx:key="index"><view data-index="{{index}}" style="{{ item.color ? 'color: ' + item.color : '' }}" class="{{_.cls(classPrefix + '__list-item', [['disabled', item.disabled]])}}" bind:tap="onSelect" aria-role="{{ariaRole || 'button'}}" aria-label="{{item.label || item}}" tabindex="0"><view class="{{classPrefix}}__list-item-content"><template wx:if="{{_this.getIconData(item.icon)}}" is="icon" data="{{tClass: classPrefix + '__list-item-icon', ..._this.getIconData(item.icon)}}"/><view class="{{classPrefix}}__list-item-text">{{item.label || item}}</view><template wx:if="{{_this.getIconData(item.suffixIcon)}}" is="icon" data="{{tClass: classPrefix + '__list-item-icon--suffix', ..._this.getIconData(item.suffixIcon)}}"/></view><view wx:if="{{item.description}}" class="{{classPrefix}}__list-item-desc">{{item.description}}</view></view></block></view></view><slot/><view wx:if="{{showCancel}}" class="{{classPrefix}}__footer"><view class="{{classPrefix}}__gap-{{theme}}"/><view class="{{classPrefix}}__cancel {{prefix}}-class-cancel" hover-class="{{classPrefix}}__cancel--hover" hover-stay-time="70" bind:tap="onCancel" aria-role="button">{{ cancelText || globalConfig.cancel }}</view></view></t-popup></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxs b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxs
index af7a695..f9fd47e 100644
--- a/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxs
+++ b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxs
@@ -1,3 +1,5 @@
+var utils = require('../common/utils.wxs');
+
 var getListThemeItemClass = function (props) {
   var classPrefix = props.classPrefix;
   var item = props.item;
@@ -9,11 +11,24 @@
   return classList.join(' ');
 };
 
+var getIconData = function (icon) {
+  if (utils.isString(icon)) {
+    return { name: icon };
+  }
+
+  if (utils.isNoEmptyObj(icon)) {
+    return icon;
+  }
+
+  return null;
+};
+
 var isImage = function (name) {
   return name.indexOf('/') !== -1;
 };
 
 module.exports = {
   getListThemeItemClass: getListThemeItemClass,
+  getIconData: getIconData,
   isImage: isImage,
 };
diff --git a/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxss b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxss
index 0fd9a1b..6443a22 100644
--- a/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxss
@@ -1,29 +1,33 @@
 @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-top:var(--td-spacer,16rpx);}
+.t-action-sheet--grid .t-action-sheet__description::after{display:none;}
+.t-action-sheet--left .t-action-sheet__description{text-align:left;}
+.t-action-sheet--left .t-action-sheet__list-item-content,.t-action-sheet--left .t-action-sheet__list-item-desc{justify-content:start;}
+.t-action-sheet--left .t-action-sheet__list-item-icon--suffix{margin-left:auto;}
 .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{color:var(--td-action-sheet-description-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));font:var(--td-action-sheet-description-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));text-align:center;padding:var(--td-spacer-1,24rpx) var(--td-spacer-2,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{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-action-sheet-border-color,var(--td-component-stroke,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{flex-direction:column;padding:var(--td-spacer-2,32rpx);display:flex;align-items:center;justify-content:center;}
+.t-action-sheet__list-item:not(:last-child){position:relative;}
+.t-action-sheet__list-item:not(:last-child)::after{content:'';display:block;position:absolute;top:unset;bottom:0;left:unset;right:unset;background-color:var(--td-action-sheet-border-color,var(--td-component-stroke,var(--td-gray-color-3,#e7e7e7)));}
+.t-action-sheet__list-item:not(:last-child)::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__list-item--disabled{color:var(--td-action-sheet-disabled-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));}
+.t-action-sheet__list-item-content,.t-action-sheet__list-item-desc{width:100%;display:flex;align-items:center;justify-content:center;}
+.t-action-sheet__list-item-text{font:var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
+.t-action-sheet__list-item-desc{font:var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));color:var(--td-action-sheet-description-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));margin-top:var(--td-spacer,16rpx);}
+.t-action-sheet__list-item-desc,.t-action-sheet__list-item-text{word-wrap:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
+.t-action-sheet__list-item-icon{font-size:48rpx;margin-right:var(--td-spacer,16rpx);}
+.t-action-sheet__list-item-icon--suffix{margin-right:0;margin-left:var(--td-spacer,16rpx);}
 .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
+.t-action-sheet__gap-grid{height:1rpx;background-color:var(--td-action-sheet-border-color,var(--td-component-stroke,var(--td-gray-color-3,#e7e7e7)));}
+.t-action-sheet__cancel{padding:var(--td-spacer-1,24rpx) var(--td-spacer-2,32rpx);font:var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));color:var(--td-action-sheet-cancel-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));display:flex;align-items:center;justify-content:center;}
+.t-action-sheet__dots{position:absolute;left:50%;bottom:var(--td-spacer-2,32rpx);transform:translateX(-50%);display:flex;flex-direction:row;}
+.t-action-sheet__dots-item{width:var(--td-action-sheet-dot-size,16rpx);height:var(--td-action-sheet-dot-size,16rpx);background-color:var(--td-action-sheet-dot-color,var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26))));border-radius:50%;margin:0 var(--td-spacer,16rpx);transition:all .4s ease-in;}
+.t-action-sheet__dots-item.t-is-active{background-color:var(--td-action-sheet-dot-active-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/action-sheet/template/grid.wxml b/miniprogram_npm/tdesign-miniprogram/action-sheet/template/grid.wxml
index 29334a5..4b6fedb 100644
--- a/miniprogram_npm/tdesign-miniprogram/action-sheet/template/grid.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/action-sheet/template/grid.wxml
@@ -1 +1 @@
-<template name="grid"><block wx:if="{{gridThemeItems.length === 1}}"><t-grid align="center" t-class="{{classPrefix}}__grid" column="{{count / 2}}" class="{{classPrefix}}__single-wrap"><t-grid-item t-class="{{classPrefix}}__grid-item" class="{{classPrefix}}__square" wx:for="{{gridThemeItems[0]}}" wx:key="index" bind:tap="onSelect" data-index="{{index}}" icon="{{ { name: item.icon, color: item.color } }}" text="{{item.label || ''}}" image="{{item.image || ''}}" style="--td-grid-item-text-color: {{item.color}}"></t-grid-item></t-grid></block><block wx:elif="{{gridThemeItems.length > 1}}"><view class="{{classPrefix}}__swiper-wrap"><swiper style="height: 456rpx" autoplay="{{false}}" current="{{currentSwiperIndex}}" bindchange="onSwiperChange"><swiper-item wx:for="{{gridThemeItems}}" wx:key="index"><t-grid align="center" t-class="{{classPrefix}}__grid {{classPrefix}}__grid--swiper" column="{{count / 2}}"><t-grid-item t-class="{{classPrefix}}__grid-item" class="{{classPrefix}}__square" wx:for="{{item}}" wx:key="index" data-index="{{index}}" bind:tap="onSelect" icon="{{ { name: item.icon, color: item.color } }}" text="{{item.label || ''}}" image="{{item.image || ''}}" style="--td-grid-item-text-color: {{item.color}}"></t-grid-item></t-grid></swiper-item></swiper><view class="{{classPrefix}}__nav"><view class="{{classPrefix}}__dots"><view wx:for="{{gridThemeItems.length}}" wx:key="index" class="{{classPrefix}}__dots-item {{index === currentSwiperIndex ? prefix + '-is-active' : ''}}"/></view></view></view></block></template>
\ No newline at end of file
+<wxs src="../action-sheet.wxs" module="_this"/><template name="grid"><block wx:if="{{gridThemeItems.length === 1}}"><t-grid align="center" t-class="{{classPrefix}}__grid" column="{{count / 2}}" class="{{classPrefix}}__single-wrap"><t-grid-item t-class="{{classPrefix}}__grid-item" class="{{classPrefix}}__square" wx:for="{{gridThemeItems[0]}}" wx:key="index" bind:tap="onSelect" data-index="{{index}}" icon="{{ { color: item.color, ..._this.getIconData(item.icon) } }}" text="{{item.label || ''}}" description="{{item.description || ''}}" image="{{item.image || ''}}" style="--td-grid-item-text-color: {{item.color}}"></t-grid-item></t-grid></block><block wx:elif="{{gridThemeItems.length > 1}}"><view class="{{classPrefix}}__swiper-wrap"><swiper style="height: 456rpx" autoplay="{{false}}" current="{{currentSwiperIndex}}" bindchange="onSwiperChange"><swiper-item wx:for="{{gridThemeItems}}" wx:key="index"><t-grid align="center" t-class="{{classPrefix}}__grid {{classPrefix}}__grid--swiper" column="{{count / 2}}"><t-grid-item t-class="{{classPrefix}}__grid-item" class="{{classPrefix}}__square" wx:for="{{item}}" wx:key="index" data-index="{{index}}" bind:tap="onSelect" icon="{{ { color: item.color, ..._this.getIconData(item.icon) } }}" text="{{item.label || ''}}" description="{{item.description || ''}}" image="{{item.image || ''}}" style="--td-grid-item-text-color: {{item.color}}"></t-grid-item></t-grid></swiper-item></swiper><view class="{{classPrefix}}__nav"><view class="{{classPrefix}}__dots"><view wx:for="{{gridThemeItems.length}}" wx:key="index" class="{{classPrefix}}__dots-item {{index === currentSwiperIndex ? prefix + '-is-active' : ''}}"/></view></view></view></block></template>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/action-sheet/template/list.wxml b/miniprogram_npm/tdesign-miniprogram/action-sheet/template/list.wxml
deleted file mode 100644
index a1e8bc9..0000000
--- a/miniprogram_npm/tdesign-miniprogram/action-sheet/template/list.wxml
+++ /dev/null
@@ -1 +0,0 @@
-<template name="list"><view data-index="{{index}}" style="{{ item.color ? 'color: ' + item.color : '' }}" class="{{listThemeItemClass}}" bind:tap="onSelect" aria-role="{{ariaRole || 'button'}}" aria-label="{{item.label || item}}" tabindex="0"><t-icon wx:if="{{item.icon}}" name="{{item.icon}}" class="{{classPrefix}}__list-item-icon" size="48rpx"></t-icon><view class="{{classPrefix}}__list-item-text">{{item.label || item}}</view><t-icon wx:if="{{item.suffixIcon}}" name="{{item.suffixIcon}}" class="{{classPrefix}}__list-item-icon {{classPrefix}}__list-item-icon--suffix" size="48rpx"></t-icon></view></template>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/action-sheet/type.d.ts b/miniprogram_npm/tdesign-miniprogram/action-sheet/type.d.ts
index 8eb7822..5105e53 100644
--- a/miniprogram_npm/tdesign-miniprogram/action-sheet/type.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/action-sheet/type.d.ts
@@ -52,8 +52,9 @@
 }
 export interface ActionSheetItem {
     label: string;
+    description?: string;
     color?: string;
     disabled?: boolean;
-    icon?: string;
-    suffixIcon?: string;
+    icon?: string | object;
+    suffixIcon?: string | object;
 }
diff --git a/miniprogram_npm/tdesign-miniprogram/attachments/attachments.d.ts b/miniprogram_npm/tdesign-miniprogram/attachments/attachments.d.ts
new file mode 100644
index 0000000..86e157f
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/attachments/attachments.d.ts
@@ -0,0 +1,52 @@
+import { SuperComponent } from '../../../components/common/src/index';
+import { TdAttachmentsProps } from './type';
+export interface AttachmentsProps extends TdAttachmentsProps {
+}
+export default class Attachments extends SuperComponent {
+    behaviors: string[];
+    options: {
+        multipleSlots: boolean;
+    };
+    properties: {
+        inChat: {
+            type: BooleanConstructor;
+            value: boolean;
+        };
+        imageViewer?: {
+            type: BooleanConstructor;
+            value?: boolean;
+        };
+        items: {
+            type: ArrayConstructor;
+            value?: import("./type").FileItem[];
+            required?: boolean;
+        };
+        removable?: {
+            type: BooleanConstructor;
+            value?: boolean;
+        };
+    };
+    data: {
+        classPrefix: string;
+        files: any[];
+    };
+    observers: {
+        items(): void;
+    };
+    methods: {
+        onFileWrapTap(e: any): void;
+        onRemoveTap(e: any): void;
+        handleFileClick(item: any): void;
+        handleRemove(item: any, index: any): void;
+        renderDesc(item: any): string;
+        renderIcon(item: any): any;
+        renderFileType(item: any): any;
+        renderExtension(item: any): any;
+        setFiles(): void;
+    };
+    lifetimes: {
+        created(): void;
+        attached(): void;
+        detached(): void;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/attachments/attachments.js b/miniprogram_npm/tdesign-miniprogram/attachments/attachments.js
new file mode 100644
index 0000000..1f367de
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/attachments/attachments.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 usingConfig from"../mixins/using-config";const{prefix:prefix}=config,componentName="attachments";let Attachments=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[usingConfig({componentName:"attachments"})],this.options={multipleSlots:!0},this.properties=Object.assign(Object.assign({},props),{inChat:{type:Boolean,value:!1}}),this.data={classPrefix:`${prefix}-attachments`,files:[]},this.observers={items(){this.setFiles()}},this.methods={onFileWrapTap(e){var i;const{index:t}=e.currentTarget.dataset||{},o=null===(i=this.data.files)||void 0===i?void 0:i[t];o&&this.handleFileClick(o)},onRemoveTap(e){var i;const{index:t}=e.currentTarget.dataset||{},o=null===(i=this.data.files)||void 0===i?void 0:i[t];"function"==typeof(null==e?void 0:e.stopPropagation)&&e.stopPropagation(),void 0!==o&&this.handleRemove(o,t)},handleFileClick(e){this.data.imageViewer&&"image"===e.fileType&&wx.previewImage({urls:[e.url]}),this.triggerEvent("fileClick",{item:e})},handleRemove(e,i){this.triggerEvent("remove",{item:e,index:i})},renderDesc(e){const i=e.size||0;let t,o;if(i<1024)t=i,o="B";else if(i<1048576){const e=i/1024;t=e%1==0?e:e.toFixed(2),o="KB"}else{const e=i/1048576;t=e%1==0?e:e.toFixed(2),o="MB"}return`${t} ${o}`},renderIcon(e){const i={file:{name:"file-zip-filled",color:"#E37318"},video:{name:"video-filled",color:"#D54941"},pdf:{name:"file-pdf-filled",color:"#D54941"},doc:{name:"file-word-filled",color:"#0052d9"},excel:{name:"file-excel-filled",color:"#2BA471"},ppt:{name:"file-powerpoint-filled",color:"#E37318"},audio:{name:"video-filled",color:"#D54941"}};return i[e.fileType]||i.file},renderFileType(e){if(e.fileType)return e.fileType;if(["image","video","audio","pdf","doc","ppt","txt","excel"].includes(e.type))return e.fileType;const i=e.url||"",t=i.lastIndexOf(".");return{jpg:"image",jpeg:"image",png:"image",gif:"image",bmp:"image",webp:"image",mp4:"video",mov:"video",avi:"video",mkv:"video",webm:"video",mp3:"audio",wav:"audio",ogg:"audio",aac:"audio",pdf:"pdf",doc:"doc",docx:"doc",ppt:"ppt",pptx:"ppt",xls:"excel",xlsx:"excel",txt:"txt"}[-1!==t?i.substring(t+1).toLowerCase():""]||""},renderExtension(e){if(e.extension)return e.extension;return e.extension||(e.url?e.url.split(".").pop().toLowerCase():"")},setFiles(){this.setData({files:this.properties.items.map(e=>Object.assign(Object.assign({},e),{fileType:this.data.renderFileType(e),desc:this.data.renderDesc(e),fileIcon:this.data.renderIcon(e)}))})}},this.lifetimes={created(){this.data.handleFileClick=this.handleFileClick.bind(this),this.data.handleRemove=this.handleRemove.bind(this),this.data.renderDesc=this.renderDesc.bind(this),this.data.renderIcon=this.renderIcon.bind(this),this.data.renderFileType=this.renderFileType.bind(this),this.data.renderExtension=this.renderExtension.bind(this)},attached(){this.setFiles()},detached(){}}}};Attachments=__decorate([wxComponent()],Attachments);export default Attachments;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/attachments/attachments.json b/miniprogram_npm/tdesign-miniprogram/attachments/attachments.json
new file mode 100644
index 0000000..6895e1d
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/attachments/attachments.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-image":"../image/image","t-loading":"../loading/loading"}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/attachments/attachments.wxml b/miniprogram_npm/tdesign-miniprogram/attachments/attachments.wxml
new file mode 100644
index 0000000..519aa44
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/attachments/attachments.wxml
@@ -0,0 +1 @@
+<wxs src="./attachments.wxs" module="_this"/><wxs src="../common/utils.wxs" module="_"/><view class="{{classPrefix}} {{[inChat ? classPrefix + '--chatting' : '', _this.getFileTypeClass(inChat, files)]}}" style="{{_._style([style, customStyle])}}"><view class="{{classPrefix}}__left"><view class="{{classPrefix}}__scrollable scroll-x"><block wx:for="{{files}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="{{classPrefix}}__files" bindtap="onFileWrapTap" data-index="{{index}}"><block wx:if="{{item.fileType==='image'}}"><view class="file-image {{classPrefix}}__file {{removable ? classPrefix + '__file--removable' : ''}}"><block wx:if="{{item.status==='pending' || item.status==='fail' || item.status==='error'}}"><view class="{{item.status}} {{classPrefix}}__file--{{item.status}}"><t-loading theme="circular" size="48rpx"/></view></block><block wx:else><image class="image" src="{{item.url}}" mode="{{_this.getImageMode(item)}}" lazy-load="false" style="{{inChat ? _this.imageStyle(item) : ''}}"></image></block><view wx:if="{{removable}}" class="{{classPrefix}}__remove"><t-icon data-index="{{index}}" name="multiply" size="16px" catchtap="onRemoveTap"/></view></view></block><block wx:else><view class="file {{classPrefix}}__file {{removable ? classPrefix + '__file--removable' : ''}}"><view class="image"><block wx:if="{{item.status==='pending'}}"><view class="loading {{classPrefix}}__file--pending"><t-loading theme="circular" size="48rpx"/></view></block><block wx:elif="{{item.status==='fail'}}"><view class="fail {{classPrefix}}__file--fail"><t-loading theme="circular" size="48rpx"/></view></block><block wx:elif="{{item.status==='error'}}"><view class="error {{classPrefix}}__file--error"><t-loading theme="circular" size="48rpx"/></view></block><block wx:else><t-icon name="{{item.fileIcon.name}}" color="{{item.fileIcon.color}}" size="48rpx"></t-icon></block></view><view class="{{classPrefix}}__content"><view class="{{classPrefix}}__title">{{item.name}}</view><block><view wx:if="{{item.status==='pending'}}" class="{{classPrefix}}__desc">{{globalConfig.status['pending']}} {{item.progress || 0+"%"}}</view><view wx:elif="{{item.status==='fail'}}" class="{{classPrefix}}__desc">{{globalConfig.status['fail']}}</view><view wx:elif="{{item.status==='error'}}" class="{{classPrefix}}__desc">{{item.errorMessage}}</view><view wx:else class="{{classPrefix}}__desc">{{item.desc}}</view></block></view><view wx:if="{{removable}}" class="{{classPrefix}}__remove"><t-icon data-index="{{index}}" name="multiply" size="16px" catchtap="onRemoveTap"/></view></view></block></view></block></view></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/attachments/attachments.wxs b/miniprogram_npm/tdesign-miniprogram/attachments/attachments.wxs
new file mode 100644
index 0000000..d258fd6
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/attachments/attachments.wxs
@@ -0,0 +1,53 @@
+var utils = require('../common/utils.wxs');
+
+function imageStyle(imageProps) {
+  if (imageProps && imageProps.width && imageProps.height) {
+    return utils._style({
+      width: utils.addUnit(imageProps.width),
+      height: utils.addUnit(imageProps.height),
+    });
+  }
+  // 鍏滃簳閫昏緫锛氭病鏈変紶鍏� width 鍜� height 鏃讹紝浣跨敤榛樿鏈�澶у楂樺昂瀵�
+  return utils._style({
+    width: '400rpx',
+    height: '400rpx',
+  });
+}
+
+function getImageMode(imageProps) {
+  if (imageProps && imageProps.width && imageProps.height) {
+    return imageProps.width > imageProps.height ? 'widthFix' : 'heightFix';
+  }
+  // 鍏滃簳閫昏緫锛氭病鏈変紶鍏� width 鍜� height 鏃讹紝浣跨敤 aspectFit 淇濇寔鍥剧墖姣斾緥
+  return imageProps && imageProps.mode ? imageProps.mode : 'scaleToFill';
+}
+
+function getFileTypeClass(inChat, files) {
+  // 濡傛灉 inChat 涓嶄负 true锛岃繑鍥炵┖瀛楃涓�
+  if (!inChat) {
+    return '';
+  }
+
+  // 濡傛灉 files 涓虹┖鎴栦笉瀛樺湪锛岃繑鍥炵┖瀛楃涓�
+  if (!files || files.length === 0) {
+    return '';
+  }
+
+  // 妫�鏌ユ槸鍚︽墍鏈夋枃浠剁殑 fileType 閮芥槸 'image'
+  var allImages = true;
+  for (var i = 0; i < files.length; i++) {
+    if (files[i].fileType !== 'image') {
+      allImages = false;
+      break;
+    }
+  }
+
+  // 鏍规嵁鍒ゆ柇缁撴灉杩斿洖鐩稿簲鐨勭被鍚�
+  return allImages ? 'all_images' : 'all_files';
+}
+
+module.exports = {
+  imageStyle: imageStyle,
+  getImageMode: getImageMode,
+  getFileTypeClass: getFileTypeClass,
+};
diff --git a/miniprogram_npm/tdesign-miniprogram/attachments/attachments.wxss b/miniprogram_npm/tdesign-miniprogram/attachments/attachments.wxss
new file mode 100644
index 0000000..97e4087
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/attachments/attachments.wxss
@@ -0,0 +1,33 @@
+@import '../common/style/index.wxss';.t-attachments{display:flex;width:100%;height:auto;}
+.t-attachments__scrollable{height:100%;display:flex;align-items:center;justify-content:flex-start;}
+.t-attachments .scroll-x{white-space:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;}
+.t-attachments .scroll-x::-webkit-scrollbar{display:none;}
+.t-attachments .wrap{flex-wrap:wrap;overflow-x:hidden;}
+.t-attachments__left{flex:1;overflow:hidden;}
+.t-attachments__file--error,.t-attachments__file--fail,.t-attachments__file--pending,.t-attachments__file--success{position:absolute;width:100%;height:100%;top:0;left:0;border-radius:var(--td-radius-extraLarge,24rpx);display:flex;flex-direction:column;align-items:center;justify-content:center;}
+.t-attachments__files{box-sizing:border-box;margin-left:16rpx;}
+.t-attachments__files:first-of-type{margin-left:0;}
+.t-attachments__file{border-radius:var(--td-radius-extraLarge,24rpx);display:block;position:relative;background-color:var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3));overflow:visible;}
+.t-attachments__file--removable{margin-top:12rpx;margin-right:8rpx;}
+.t-attachments__file .t-attachments__remove{background-color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));color:var(--td-bg-color-container,var(--td-font-white-1,#fff));border-radius:var(--td-radius-circle,50%);position:absolute;right:-8rpx;top:-8rpx;}
+.t-attachments__file.file-image{width:104rpx;height:104rpx;}
+.t-attachments__file.file-image .image{width:100%;height:100%;border-radius:var(--td-radius-extraLarge,24rpx);}
+.t-attachments__file.file{width:256rpx;height:104rpx;display:flex;align-items:stretch;justify-content:flex-start;padding:0 24rpx;}
+.t-attachments__file.file .image{width:64rpx;height:auto;box-sizing:border-box;overflow:hidden;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;}
+.t-attachments__file.file .image image{width:100%;height:100%;}
+.t-attachments__file.file .t-attachments__content{flex:1;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;margin-left:16rpx;}
+.t-attachments__file.file .t-attachments__content .t-attachments__title{width:100%;color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:-2rpx;padding:0;}
+.t-attachments__file.file .t-attachments__content .t-attachments__desc{width:100%;color:var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4)));font:var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));font-style:normal;margin-top:-4rpx;}
+.t-attachments--chatting.all_images{width:100%;}
+.t-attachments--chatting.all_images .file-image.t-attachments__file{background-color:transparent!important;}
+.t-attachments--chatting.all_images .file-image{width:auto;height:auto;}
+.t-attachments--chatting.all_images .file-image .image{max-width:400rpx;max-height:400rpx;border-radius:var(--td-radius-extraLarge,24rpx);}
+.t-attachments--chatting.all_files{width:auto;}
+.t-attachments--chatting.all_files .t-attachments__files:not(:last-child){margin-bottom:16rpx;}
+.t-attachments--chatting.all_files .file-image.t-attachments__file{background-color:transparent!important;}
+.t-attachments--chatting.all_files .file-image{width:auto;height:auto;}
+.t-attachments--chatting.all_files .file-image .image{max-width:400rpx;max-height:400rpx;border-radius:var(--td-radius-extraLarge,24rpx);}
+.t-attachments--chatting.all_files .t-attachments__files{margin-left:0;}
+.t-attachments--chatting.all_files .t-attachments__scrollable{display:contents;}
+.t-attachments--chatting.all_files .file.t-attachments__file{width:352rpx;}
+.t-chat__inner.right .t-attachments--chatting .file-image.t-attachments__file{text-align:right;}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/attachments/index.d.ts b/miniprogram_npm/tdesign-miniprogram/attachments/index.d.ts
new file mode 100644
index 0000000..7b19e77
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/attachments/index.d.ts
@@ -0,0 +1,3 @@
+export * from './props';
+export * from './type';
+export * from './attachments';
diff --git a/miniprogram_npm/tdesign-miniprogram/attachments/index.js b/miniprogram_npm/tdesign-miniprogram/attachments/index.js
new file mode 100644
index 0000000..cb1cc30
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/attachments/index.js
@@ -0,0 +1 @@
+export*from"./props";export*from"./type";export*from"./attachments";
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/attachments/props.d.ts b/miniprogram_npm/tdesign-miniprogram/attachments/props.d.ts
new file mode 100644
index 0000000..2bf5c09
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/attachments/props.d.ts
@@ -0,0 +1,3 @@
+import { TdAttachmentsProps } from './type';
+declare const props: TdAttachmentsProps;
+export default props;
diff --git a/miniprogram_npm/tdesign-miniprogram/attachments/props.js b/miniprogram_npm/tdesign-miniprogram/attachments/props.js
new file mode 100644
index 0000000..84ea27c
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/attachments/props.js
@@ -0,0 +1 @@
+const props={imageViewer:{type:Boolean,value:!0},items:{type:Array,value:[],required:!0},removable:{type:Boolean,value:!0}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/attachments/type.d.ts b/miniprogram_npm/tdesign-miniprogram/attachments/type.d.ts
new file mode 100644
index 0000000..ba19ffd
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/attachments/type.d.ts
@@ -0,0 +1,28 @@
+export interface TdAttachmentsProps {
+    imageViewer?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    items: {
+        type: ArrayConstructor;
+        value?: FileItem[];
+        required?: boolean;
+    };
+    removable?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+}
+export interface FileItem {
+    fileType: 'image' | 'video' | 'audio' | 'pdf' | 'doc' | 'ppt' | 'txt';
+    name: string;
+    url: string;
+    size: number;
+    status?: 'success' | 'fail' | 'pending' | 'error';
+    progress?: number;
+    errorMessage?: string;
+    fileIcon?: string;
+    width?: number;
+    height?: number;
+    mode?: 'aspectFit' | 'aspectFill' | 'widthFix' | 'heightFix' | 'scaleToFill';
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/attachments/type.js b/miniprogram_npm/tdesign-miniprogram/attachments/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/attachments/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/avatar/avatar.d.ts b/miniprogram_npm/tdesign-miniprogram/avatar/avatar.d.ts
index 4ecd9f6..44c0d56 100644
--- a/miniprogram_npm/tdesign-miniprogram/avatar/avatar.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/avatar/avatar.d.ts
@@ -9,7 +9,7 @@
         classPrefix: string;
         isShow: boolean;
         zIndex: number;
-        systemInfo: WechatMiniprogram.WindowInfo | WechatMiniprogram.SystemInfo;
+        windowWidth: number;
     };
     relations: RelationsOptions;
     observers: {
diff --git a/miniprogram_npm/tdesign-miniprogram/avatar/avatar.js b/miniprogram_npm/tdesign-miniprogram/avatar/avatar.js
index 44d3c60..862095e 100644
--- a/miniprogram_npm/tdesign-miniprogram/avatar/avatar.js
+++ b/miniprogram_npm/tdesign-miniprogram/avatar/avatar.js
@@ -1 +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
+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,windowWidth:systemInfo.windowWidth},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 e=setIcon("icon",t,"");this.setData(Object.assign({},e))}},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_npm/tdesign-miniprogram/avatar/avatar.wxml b/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxml
index 38f77b0..9a82256 100644
--- a/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxml
@@ -1 +1 @@
-<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><wxs src="./avatar.wxs" module="_this"/><view class="{{classPrefix}}__wrapper class {{prefix}}-class" style="{{_._style([_this.getStyles(isShow), style, customStyle])}}"><t-badge color="{{badgeProps.color || ''}}" content="{{badgeProps.content || ''}}" count="{{badgeProps.count || 0}}" dot="{{badgeProps.dot || false}}" max-count="{{badgeProps.maxCount || 99}}" offset="{{badgeProps.offset || []}}" shape="{{badgeProps.shape || 'circle'}}" show-zero="{{badgeProps.showZero || false}}" size="{{badgeProps.size || 'medium'}}" t-class="{{badgeProps.tClass}}" t-class-content="{{badgeProps.tClassContent}}" t-class-count="{{badgeProps.tClassCount}}"><view class="{{_this.getClass(classPrefix, size || 'medium', shape, bordered)}} {{prefix}}-class-image" style="{{_this.getSize(size, systemInfo)}}" aria-label="{{ ariaLabel || alt ||'澶村儚'}}" aria-role="{{ ariaRole || 'img'}}" aria-hidden="{{ ariaHidden }}"><t-image wx:if="{{image}}" t-class="{{prefix}}-image {{classPrefix}}__image" t-class-load="{{prefix}}-class-alt" style="{{imageProps && imageProps.style || ''}}" src="{{image}}" mode="{{imageProps && imageProps.mode || 'aspectFill'}}" lazy="{{imageProps && imageProps.lazy || false}}" loading="{{imageProps && imageProps.loading || 'default'}}" shape="{{imageProps && imageProps.shape || 'round'}}" webp="{{imageProps && imageProps.webp || false}}" error="{{alt || 'default'}}" bind:error="onLoadError"/><template wx:elif="{{iconName || _.isNoEmptyObj(iconData)}}" is="icon" data="{{tClass: classPrefix + '__icon ' + prefix + '-class-icon', name: iconName, ...iconData}}"/><view wx:else class="{{classPrefix}}__text {{prefix}}-class-content"><slot/></view></view></t-badge></view>
\ No newline at end of file
+<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><wxs src="./avatar.wxs" module="_this"/><view class="{{classPrefix}}__wrapper class {{prefix}}-class" style="{{_._style([_this.getStyles(isShow), style, customStyle])}}"><t-badge color="{{badgeProps.color || ''}}" content="{{badgeProps.content || ''}}" count="{{badgeProps.count || 0}}" dot="{{badgeProps.dot || false}}" max-count="{{badgeProps.maxCount || 99}}" offset="{{badgeProps.offset || []}}" shape="{{badgeProps.shape || 'circle'}}" show-zero="{{badgeProps.showZero || false}}" size="{{badgeProps.size || 'medium'}}" t-class="{{badgeProps.tClass}}" t-class-content="{{badgeProps.tClassContent}}" t-class-count="{{badgeProps.tClassCount}}"><view class="{{_this.getClass(classPrefix, size || 'medium', shape, bordered)}} {{prefix}}-class-image" style="{{_this.getSize(size, windowWidth)}}" aria-label="{{ ariaLabel || alt ||'澶村儚'}}" aria-role="{{ ariaRole || 'img'}}" aria-hidden="{{ ariaHidden }}"><t-image wx:if="{{image}}" t-class="{{prefix}}-image {{classPrefix}}__image" t-class-load="{{prefix}}-class-alt" style="{{imageProps && imageProps.style || ''}}" src="{{image}}" mode="{{imageProps && imageProps.mode || 'aspectFill'}}" lazy="{{imageProps && imageProps.lazy || false}}" loading="{{imageProps && imageProps.loading || 'default'}}" shape="{{imageProps && imageProps.shape || 'round'}}" webp="{{imageProps && imageProps.webp || false}}" error="{{alt || 'default'}}" bind:error="onLoadError"/><template wx:elif="{{iconName || _.isNoEmptyObj(iconData)}}" is="icon" data="{{tClass: classPrefix + '__icon ' + prefix + '-class-icon', name: iconName, ...iconData}}"/><view wx:else class="{{classPrefix}}__text {{prefix}}-class-content"><slot/></view></view></t-badge></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxs b/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxs
index 240a956..13bcd7f 100644
--- a/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxs
+++ b/miniprogram_npm/tdesign-miniprogram/avatar/avatar.wxs
@@ -11,13 +11,13 @@
     return classNames.join(' ');
   },
 
-  getSize: function (size = 'medium', systemInfo) {
+  getSize: function (size = 'medium', windowWidth) {
     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);
+        px = Math.floor((windowWidth * res[1]) / 750);
       }
 
       return 'width:' + size + ';height:' + size + ';font-size:' + ((px / 8) * 3 + 2) + 'px';
diff --git a/miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxss b/miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxss
index 590956d..0c3a4f0 100644
--- a/miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/back-top/back-top.wxss
@@ -4,7 +4,7 @@
 .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,.t-back-top__text--round,.t-back-top__text--round-dark{font-weight:600;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_npm/tdesign-miniprogram/badge/badge.d.ts b/miniprogram_npm/tdesign-miniprogram/badge/badge.d.ts
index 2680a17..f5dbff2 100644
--- a/miniprogram_npm/tdesign-miniprogram/badge/badge.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/badge/badge.d.ts
@@ -14,8 +14,12 @@
         value: string;
         labelID: string;
         descriptionID: string;
+        useOuterClass: boolean;
     };
     lifetimes: {
         ready(): void;
     };
+    methods: {
+        checkForActualContent(): Promise<void>;
+    };
 }
diff --git a/miniprogram_npm/tdesign-miniprogram/badge/badge.js b/miniprogram_npm/tdesign-miniprogram/badge/badge.js
index 90075aa..575e9ac 100644
--- a/miniprogram_npm/tdesign-miniprogram/badge/badge.js
+++ b/miniprogram_npm/tdesign-miniprogram/badge/badge.js
@@ -1 +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
+import{__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{uniqueFactory,getRect}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:"",useOuterClass:!1},this.lifetimes={ready(){const e=getUniqueID();this.setData({labelID:`${e}_label`,descriptionID:`${e}_description`}),this.checkForActualContent()}},this.methods={checkForActualContent(){if(!this.properties.content&&["ribbon","ribbon-right","ribbon-left","triangle-right","triangle-left"].includes(this.properties.shape))return getRect(this,`.${name}__content`).then(e=>{const t=e.width>0||e.height>0;this.setData({useOuterClass:!t})});this.setData({useOuterClass:!1})}}}};Badge=__decorate([wxComponent()],Badge);export default Badge;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/badge/badge.wxml b/miniprogram_npm/tdesign-miniprogram/badge/badge.wxml
index 81e7b25..d3be0d5 100644
--- a/miniprogram_npm/tdesign-miniprogram/badge/badge.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/badge/badge.wxml
@@ -1 +1 @@
-<wxs src="./badge.wxs" module="_this"/><wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle])}}" class="{{_this.getBadgeOuterClass({shape})}} class {{prefix}}-class" aria-labelledby="{{labelID}}" aria-describedby="{{descriptionID}}" aria-role="{{ ariaRole || 'option'}}"><view id="{{labelID}}" class="{{classPrefix}}__content {{prefix}}-class-content" aria-hidden="true"><slot wx:if="{{!content}}" class="{{classPrefix}}__content-slot"/><text wx:else class="{{classPrefix}}__content-text">{{content}}</text></view><view aria-hidden="true" aria-label="{{ ariaLabel || _.getBadgeAriaLabel({dot, count, maxCount}) }}" wx:if="{{_this.isShowBadge({dot,count,showZero})}}" id="{{descriptionID}}" class="{{_this.getBadgeInnerClass({dot, size, shape, count})}} {{prefix}}-has-count {{prefix}}-class-count" style="{{_._style([_this.getBadgeStyles({color, offset})])}}" aria-hidden="true" aria-label="{{ ariaLabel || _.getBadgeAriaLabel({dot, count, maxCount}) }}">{{ _this.getBadgeValue({dot, count, maxCount}) }}</view><slot name="count"/></view>
\ No newline at end of file
+<wxs src="./badge.wxs" module="_this"/><wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle])}}" class="{{classPrefix}} {{ useOuterClass? classPrefix + '__' + shape + '-outer': '' }} class {{prefix}}-class" aria-labelledby="{{labelID}}" aria-describedby="{{descriptionID}}" aria-role="{{ ariaRole || 'option'}}"><view id="{{labelID}}" class="{{classPrefix}}__content {{prefix}}-class-content" aria-hidden="true"><slot wx:if="{{!content}}" class="{{classPrefix}}__content-slot"/><text wx:else class="{{classPrefix}}__content-text">{{content}}</text></view><view aria-hidden="true" aria-label="{{ ariaLabel || _.getBadgeAriaLabel({dot, count, maxCount}) }}" wx:if="{{_this.isShowBadge({dot,count,showZero}) || count === null}}" id="{{descriptionID}}" class="{{_this.getBadgeInnerClass({classPrefix, dot, size, shape, count})}} {{prefix}}-has-count {{prefix}}-class-count" style="{{_._style([_this.getBadgeStyles({color, offset})])}}" aria-hidden="true" aria-label="{{ ariaLabel || _.getBadgeAriaLabel({dot, count, maxCount}) }}"><view class="{{classPrefix}}__count"><block wx:if="{{_this.isShowBadge({dot,count,showZero})}}">{{ _this.getBadgeValue({dot, count, maxCount}) }}</block><slot else name="count"/></view></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/badge/badge.wxs b/miniprogram_npm/tdesign-miniprogram/badge/badge.wxs
index 613263c..62d5c65 100644
--- a/miniprogram_npm/tdesign-miniprogram/badge/badge.wxs
+++ b/miniprogram_npm/tdesign-miniprogram/badge/badge.wxs
@@ -35,20 +35,14 @@
   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 baseClass = props.classPrefix;
   var classNames = [
     baseClass + '--basic',
     props.dot ? baseClass + '--dot' : '',
     baseClass + '--' + props.size,
     baseClass + '--' + props.shape,
-    !props.dot && props.count ? baseClass + '--count' : '',
+    !props.dot ? baseClass + '--count' : '',
   ];
   return classNames.join(' ');
 };
@@ -66,6 +60,5 @@
 
 module.exports.getBadgeValue = getBadgeValue;
 module.exports.getBadgeStyles = getBadgeStyles;
-module.exports.getBadgeOuterClass = getBadgeOuterClass;
 module.exports.getBadgeInnerClass = getBadgeInnerClass;
 module.exports.isShowBadge = isShowBadge;
diff --git a/miniprogram_npm/tdesign-miniprogram/badge/badge.wxss b/miniprogram_npm/tdesign-miniprogram/badge/badge.wxss
index 2362913..8e5a31e 100644
--- a/miniprogram_npm/tdesign-miniprogram/badge/badge.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/badge/badge.wxss
@@ -1,15 +1,26 @@
 @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--basic{z-index:100;padding:0 var(--td-badge-basic-padding,8rpx);font:var(--td-badge-font,var(--td-font-mark-extraSmall,600 20rpx / 32rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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);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__ribbon-left-outer,.t-badge__ribbon-outer,.t-badge__ribbon-right-outer,.t-badge__triangle-left-outer,.t-badge__triangle-right-outer{position:absolute;top:0;}
+.t-badge__ribbon-outer,.t-badge__ribbon-right-outer,.t-badge__triangle-right-outer{right:0;}
+.t-badge__ribbon-left-outer,.t-badge__triangle-left-outer{left:0;}
 .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--ribbon,.t-badge--ribbon-left,.t-badge--ribbon-right,.t-badge--triangle-left,.t-badge--triangle-right{width:calc(var(--td-badge-basic-height,32rpx) * 2);height:calc(var(--td-badge-basic-height,32rpx) * 2);border-radius:0;padding:0;position:absolute;top:0;display:flex;align-items:center;justify-content:center;overflow:hidden;}
+.t-badge--ribbon,.t-badge--ribbon-right{background:linear-gradient(45deg,transparent 50%,var(--td-badge-bg-color,var(--td-error-color,var(--td-error-color-6,#d54941))) 50%,var(--td-badge-bg-color,var(--td-error-color,var(--td-error-color-6,#d54941))) 85%,transparent 85%);}
+.t-badge--triangle-right{background:linear-gradient(45deg,transparent 50%,var(--td-badge-bg-color,var(--td-error-color,var(--td-error-color-6,#d54941))) 50%);}
+.t-badge--ribbon,.t-badge--ribbon-right,.t-badge--triangle-right{right:0;}
+.t-badge--ribbon .t-badge__count,.t-badge--ribbon-right .t-badge__count,.t-badge--triangle-right .t-badge__count{transform:rotate(45deg) translateY(calc(-1 * var(--td-line-height-mark-extraSmall,32rpx)/ 2 + 1rpx));}
+.t-badge--ribbon-left{background:linear-gradient(-45deg,transparent 50%,var(--td-badge-bg-color,var(--td-error-color,var(--td-error-color-6,#d54941))) 50%,var(--td-badge-bg-color,var(--td-error-color,var(--td-error-color-6,#d54941))) 85%,transparent 85%);}
+.t-badge--triangle-left{background:linear-gradient(-45deg,transparent 50%,var(--td-badge-bg-color,var(--td-error-color,var(--td-error-color-6,#d54941))) 50%);}
+.t-badge--ribbon-left,.t-badge--triangle-left{left:0;}
+.t-badge--ribbon-left .t-badge__count,.t-badge--triangle-left .t-badge__count{transform:rotate(-45deg) translateY(calc(-1 * var(--td-line-height-mark-extraSmall,32rpx)/ 2 + 1rpx));}
+.t-badge--large{font:var(--td-badge-large-font,var(--td-font-mark-small,600 24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));height:var(--td-badge-large-height,40rpx);min-width: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
+.t-badge--large.t-badge--ribbon,.t-badge--large.t-badge--ribbon-left,.t-badge--large.t-badge--ribbon-right,.t-badge--large.t-badge--triangle-left,.t-badge--large.t-badge--triangle-right{width:calc(var(--td-badge-large-height,40rpx) * 2);height:calc(var(--td-badge-large-height,40rpx) * 2);padding:0;}
+.t-badge--large.t-badge--ribbon .t-badge__count,.t-badge--large.t-badge--ribbon-right .t-badge__count,.t-badge--large.t-badge--triangle-right .t-badge__count{transform:rotate(45deg) translateY(calc(-1 * var(--td-line-height-mark-small,40rpx)/ 2 + 3rpx));}
+.t-badge--large.t-badge--ribbon-left .t-badge__count,.t-badge--large.t-badge--triangle-left .t-badge__count{transform:rotate(-45deg) translateY(calc(-1 * var(--td-line-height-mark-small,40rpx)/ 2 + 3rpx));}
+.t-badge__content:not(:empty)+.t-badge--bubble.t-has-count,.t-badge__content:not(:empty)+.t-badge--circle.t-has-count,.t-badge__content:not(:empty)+.t-badge--square.t-has-count{transform-origin:center center;transform:translate(-50%,-50%);position:absolute;top:0;left:100%;}
+.t-badge__content-text{display:block;font:var(--td-badge-content-text-font,var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));color:var(--td-badge-content-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-badge__count:empty{display:none;}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/badge/type.d.ts b/miniprogram_npm/tdesign-miniprogram/badge/type.d.ts
index 5a09876..43f9add 100644
--- a/miniprogram_npm/tdesign-miniprogram/badge/type.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/badge/type.d.ts
@@ -25,7 +25,7 @@
     };
     shape?: {
         type: StringConstructor;
-        value?: 'circle' | 'square' | 'bubble' | 'ribbon';
+        value?: 'circle' | 'square' | 'bubble' | 'ribbon' | 'ribbon-right' | 'ribbon-left' | 'triangle-right' | 'triangle-left';
     };
     showZero?: {
         type: BooleanConstructor;
diff --git a/miniprogram_npm/tdesign-miniprogram/button/button.d.ts b/miniprogram_npm/tdesign-miniprogram/button/button.d.ts
index a0239e5..4b998f5 100644
--- a/miniprogram_npm/tdesign-miniprogram/button/button.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/button/button.d.ts
@@ -33,6 +33,7 @@
         launchapp(e: any): void;
         chooseavatar(e: any): void;
         agreeprivacyauthorization(e: any): void;
+        phoneoneclicklogin(e: any): void;
         handleTap(e: any): void;
     };
 }
diff --git a/miniprogram_npm/tdesign-miniprogram/button/button.js b/miniprogram_npm/tdesign-miniprogram/button/button.js
index 54b4e66..0d13a5d 100644
--- a/miniprogram_npm/tdesign-miniprogram/button/button.js
+++ b/miniprogram_npm/tdesign-miniprogram/button/button.js
@@ -1 +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
+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)},phoneoneclicklogin(t){this.triggerEvent("phoneoneclicklogin",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_npm/tdesign-miniprogram/button/button.wxml b/miniprogram_npm/tdesign-miniprogram/button/button.wxml
index d40df7f..1d04f83 100644
--- a/miniprogram_npm/tdesign-miniprogram/button/button.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/button/button.wxml
@@ -1 +1 @@
-<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><button id="{{tId}}" style="{{_._style([style, customStyle])}}" data-custom="{{ customDataset }}" class="class {{className}}" form-type="{{disabled || loading ? '' : type}}" open-type="{{disabled || loading ? '' : openType}}" hover-stop-propagation="{{hoverStopPropagation}}" hover-start-time="{{hoverStartTime}}" hover-stay-time="{{hoverStayTime}}" lang="{{lang}}" session-from="{{sessionFrom}}" hover-class="{{disabled || loading ? '' : (hoverClass || classPrefix + '--hover')}}" send-message-title="{{sendMessageTitle}}" send-message-path="{{sendMessagePath}}" send-message-img="{{sendMessageImg}}" app-parameter="{{appParameter}}" show-message-card="{{showMessageCard}}" catch:tap="handleTap" bind:getuserinfo="getuserinfo" bind:contact="contact" bind:createliveactivity="createliveactivity" bind:getphonenumber="getphonenumber" bind:getrealtimephonenumber="getrealtimephonenumber" bind:error="error" bind:opensetting="opensetting" bind:launchapp="launchapp" bind:chooseavatar="chooseavatar" bind:agreeprivacyauthorization="agreeprivacyauthorization" aria-label="{{ariaLabel}}"><template wx:if="{{_icon}}" is="icon" data="{{tClass: classPrefix + '__icon ' + prefix + '-class-icon', ariaHidden: true, name: iconName, ..._icon}}"/><t-loading wx:if="{{loading}}" delay="{{loadingProps.delay || 0}}" duration="{{loadingProps.duration || 800}}" indicator="{{loadingProps.indicator || true}}" inheritColor="{{loadingProps.inheritColor || true}}" layout="{{loadingProps.layout || 'horizontal'}}" pause="{{loadingProps.pause || false}}" progress="{{loadingProps.progress || 0}}" reverse="{{loadingProps.reverse || false}}" size="{{loadingProps.size || '40rpx'}}" text="{{loadingProps.text || '' }}" theme="{{loadingProps.theme || 'circular'}}" loading t-class="{{classPrefix}}__loading {{classPrefix}}__loading--wrapper" t-class-indicator="{{classPrefix}}__loading--indicator {{prefix}}-class-loading"/><view class="{{classPrefix}}__content"><slot name="content"/><block wx:if="{{content}}">{{content}}</block><slot/></view><slot name="suffix"/></button>
\ No newline at end of file
+<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><button id="{{tId}}" style="{{_._style([style, customStyle])}}" data-custom="{{customDataset}}" class="class {{className}}" activity-type="{{activityType ? activityType : ''}}" entrance-path="{{entrancePath}}" form-type="{{disabled || loading ? '' : type}}" open-type="{{disabled || loading ? '' : openType}}" hover-stop-propagation="{{hoverStopPropagation}}" hover-start-time="{{hoverStartTime}}" hover-stay-time="{{hoverStayTime}}" lang="{{lang}}" need-show-entrance="{{needShowEntrance}}" session-from="{{sessionFrom}}" hover-class="{{disabled || loading ? '' : (hoverClass || classPrefix + '--hover')}}" send-message-title="{{sendMessageTitle}}" send-message-path="{{sendMessagePath}}" send-message-img="{{sendMessageImg}}" app-parameter="{{appParameter}}" show-message-card="{{showMessageCard}}" phone-number-no-quota-toast="{{phoneNumberNoQuotaToast}}" catch:tap="handleTap" bind:getuserinfo="getuserinfo" bind:contact="contact" bind:createliveactivity="createliveactivity" bind:getphonenumber="getphonenumber" bind:getrealtimephonenumber="getrealtimephonenumber" bind:error="error" bind:opensetting="opensetting" bind:launchapp="launchapp" bind:chooseavatar="chooseavatar" bind:agreeprivacyauthorization="agreeprivacyauthorization" bindphoneoneclicklogin="phoneoneclicklogin" aria-label="{{ariaLabel}}"><template wx:if="{{_icon}}" is="icon" data="{{tClass: classPrefix + '__icon ' + prefix + '-class-icon', ariaHidden: true, name: iconName, ..._icon}}"/><t-loading wx:if="{{loading}}" delay="{{loadingProps.delay || 0}}" duration="{{loadingProps.duration || 800}}" indicator="{{loadingProps.indicator || true}}" inheritColor="{{loadingProps.inheritColor || true}}" layout="{{loadingProps.layout || 'horizontal'}}" pause="{{loadingProps.pause || false}}" progress="{{loadingProps.progress || 0}}" reverse="{{loadingProps.reverse || false}}" size="{{loadingProps.size || '40rpx'}}" text="{{loadingProps.text || '' }}" theme="{{loadingProps.theme || 'circular'}}" loading t-class="{{classPrefix}}__loading {{classPrefix}}__loading--wrapper" t-class-indicator="{{classPrefix}}__loading--indicator {{prefix}}-class-loading"/><view class="{{classPrefix}}__content"><slot name="content"/><block wx:if="{{content}}">{{content}}</block><slot/></view><slot name="suffix"/></button>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/button/button.wxss b/miniprogram_npm/tdesign-miniprogram/button/button.wxss
index 9f3298d..1ed039b 100644
--- a/miniprogram_npm/tdesign-miniprogram/button/button.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/button/button.wxss
@@ -1,11 +1,11 @@
 @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-extra-small .t-button__icon{font-size:var(--td-button-extra-small-icon-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-small .t-button__icon{font-size:var(--td-button-small-icon-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-medium .t-button__icon{font-size:var(--td-button-medium-icon-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--size-large .t-button__icon{font-size:var(--td-button-large-icon-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;}
diff --git a/miniprogram_npm/tdesign-miniprogram/button/props.js b/miniprogram_npm/tdesign-miniprogram/button/props.js
index e3f88fa..98729cb 100644
--- a/miniprogram_npm/tdesign-miniprogram/button/props.js
+++ b/miniprogram_npm/tdesign-miniprogram/button/props.js
@@ -1 +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
+const props={activityType:{type:Number},appParameter:{type:String,value:""},block:{type:Boolean,value:!1},content:{type:String},customDataset:{type:null},disabled:{type:null,value:void 0},entrancePath:{type:String,value:""},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},needShowEntrance:{type:Boolean,value:!0},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_npm/tdesign-miniprogram/button/type.d.ts b/miniprogram_npm/tdesign-miniprogram/button/type.d.ts
index 4fc4266..1867fd3 100644
--- a/miniprogram_npm/tdesign-miniprogram/button/type.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/button/type.d.ts
@@ -1,5 +1,9 @@
 import { LoadingProps } from '../loading/index';
 export interface TdButtonProps {
+    activityType?: {
+        type: NumberConstructor;
+        value?: number;
+    };
     appParameter?: {
         type: StringConstructor;
         value?: string;
@@ -19,6 +23,10 @@
     disabled?: {
         type: BooleanConstructor;
         value?: boolean;
+    };
+    entrancePath?: {
+        type: StringConstructor;
+        value?: string;
     };
     ghost?: {
         type: BooleanConstructor;
@@ -56,9 +64,13 @@
         type: ObjectConstructor;
         value?: LoadingProps;
     };
+    needShowEntrance?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
     openType?: {
         type: StringConstructor;
-        value?: 'contact' | 'share' | 'getPhoneNumber' | 'getUserInfo' | 'launchApp' | 'openSetting' | 'feedback' | 'chooseAvatar' | 'agreePrivacyAuthorization';
+        value?: 'contact' | 'liveActivity' | 'share' | 'getPhoneNumber' | 'getRealtimePhoneNumber' | 'getUserInfo' | 'launchApp' | 'openSetting' | 'feedback' | 'chooseAvatar' | 'agreePrivacyAuthorization' | 'phoneOneClickLogin';
     };
     phoneNumberNoQuotaToast?: {
         type: BooleanConstructor;
diff --git a/miniprogram_npm/tdesign-miniprogram/calendar/calendar.d.ts b/miniprogram_npm/tdesign-miniprogram/calendar/calendar.d.ts
index 2b7ef4f..f94f8f6 100644
--- a/miniprogram_npm/tdesign-miniprogram/calendar/calendar.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/calendar/calendar.d.ts
@@ -32,6 +32,8 @@
         ready(): void;
     };
     observers: {
+        localeText(): void;
+        globalConfig(): void;
         type(v: any): void;
         allowSameDay(v: any): void;
         confirmBtn(v: any): void;
diff --git a/miniprogram_npm/tdesign-miniprogram/calendar/calendar.js b/miniprogram_npm/tdesign-miniprogram/calendar/calendar.js
index 39f1b68..2caf12c 100644
--- a/miniprogram_npm/tdesign-miniprogram/calendar/calendar.js
+++ b/miniprogram_npm/tdesign-miniprogram/calendar/calendar.js
@@ -1 +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=o<s||h<s,u=h<s,g=l>r||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
+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 usingConfig from"../mixins/using-config";import{getPrevMonth,getPrevYear,getNextMonth,getNextYear}from"./utils";const{prefix:prefix}=config,componentName="calendar";let Calendar=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[useCustomNavbar,usingConfig({componentName:"calendar",localeTextPropName:"localeText"})],this.externalClasses=[`${prefix}-class`],this.options={multipleSlots:!0},this.properties=props,this.data={prefix:prefix,classPrefix:`${prefix}-calendar`,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(){this.initialValue(),this.calcMonths(),this.updateCurrentMonth(),this.data.usePopup||this.scrollIntoView()}},this.observers={localeText(){var t;null===(t=this.updateLocale)||void 0===t||t.call(this)},globalConfig(){const{globalConfig:t}=this.data;this.setData({days:this.base.getDays(t.weekdays),realLocalText:t})},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=o<s||h<s,u=h<s,g=l>r||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_npm/tdesign-miniprogram/calendar/calendar.wxss b/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxss
index c385c77..093a30f 100644
--- a/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/calendar/calendar.wxss
@@ -1,39 +1,245 @@
-@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
+@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: var(--td-calendar-title-font, var(--td-font-title-large, 600 36rpx / 52rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular)));
+  color: var(--td-calendar-title-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, .9))));
+  padding: var(--td-spacer-2, 32rpx);
+}
+
+.t-calendar__title:focus {
+  outline: 0;
+}
+
+.t-calendar__close-btn {
+  position: absolute;
+  top: var(--td-spacer-2, 32rpx);
+  right: var(--td-spacer-2, 32rpx);
+  margin: calc(-1 * var(--td-spacer-1, 24rpx));
+  padding: var(--td-spacer-1, 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: var(--td-font-title-small, 600 28rpx / 44rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular));
+  color: var(--td-calendar-title-color, var(--td-text-color-primary, var(--td-font-gray-1, rgba(0, 0, 0, .9))));
+  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: var(--td-font-title-medium, 600 32rpx / 48rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular));
+  border-radius: var(--td-calendar-selected-border-radius, var(--td-radius-default, 12rpx));
+  height: 120rpx;
+  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: var(--td-font-body-extraSmall, 20rpx / 32rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular));
+  width: 100%;
+  text-align: center;
+}
+
+.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;
+}
+
+.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: var(--td-font-title-small, 600 28rpx / 44rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular));
+}
+
+.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_npm/tdesign-miniprogram/calendar/type.d.ts b/miniprogram_npm/tdesign-miniprogram/calendar/type.d.ts
index 1b69017..fac4a61 100644
--- a/miniprogram_npm/tdesign-miniprogram/calendar/type.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/calendar/type.d.ts
@@ -70,7 +70,7 @@
     };
 }
 export declare type CalendarFormatType = (day: TDate) => TDate;
-export declare type TDateType = 'selected' | 'disabled' | 'start' | 'centre' | 'end' | '';
+export declare type TDateType = 'selected' | 'disabled' | 'start' | 'start-end' | 'centre' | 'end' | '';
 export interface TDate {
     date: Date;
     day: number;
diff --git a/miniprogram_npm/tdesign-miniprogram/cascader/cascader.d.ts b/miniprogram_npm/tdesign-miniprogram/cascader/cascader.d.ts
index 7aa5bde..8835d5f 100644
--- a/miniprogram_npm/tdesign-miniprogram/cascader/cascader.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/cascader/cascader.d.ts
@@ -4,6 +4,7 @@
 export interface CascaderProps extends TdCascaderProps {
 }
 export default class Cascader extends SuperComponent {
+    behaviors: string[];
     externalClasses: string[];
     options: WechatMiniprogram.Component.ComponentOptions;
     properties: TdCascaderProps<import("../common/common").TreeOptionData<string | number>>;
@@ -20,7 +21,7 @@
     };
     data: {
         prefix: string;
-        name: string;
+        classPrefix: string;
         stepIndex: number;
         selectedIndexes: any[];
         selectedValue: any[];
diff --git a/miniprogram_npm/tdesign-miniprogram/cascader/cascader.js b/miniprogram_npm/tdesign-miniprogram/cascader/cascader.js
index 60948b2..86a9529 100644
--- a/miniprogram_npm/tdesign-miniprogram/cascader/cascader.js
+++ b/miniprogram_npm/tdesign-miniprogram/cascader/cascader.js
@@ -1 +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<o;a+=1){const o=e[a];if(o[null!==(s=null==n?void 0:n.value)&&void 0!==s?s:"value"]===t)return[a];if(o[null!==(i=null==n?void 0:n.children)&&void 0!==i?i:"children"]){const e=this.getIndexesByValue(o[null!==(l=null==n?void 0:n.children)&&void 0!==l?l:"children"],t);if(e)return[a,...e]}}},updateScrollTop(){const{visible:e,items:t,selectedIndexes:s,stepIndex:i}=this.data;e&&getRect(this,".cascader-radio-group-0").then(e=>{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<u;n+=1){const u=h[a[n]];h=u[null!==(e=null==o?void 0:o.children)&&void 0!==e?e:"children"],d.push(u[null!==(t=null==o?void 0:o.value)&&void 0!==t?t:"value"]),r.push(u[null!==(s=null==o?void 0:o.label)&&void 0!==s?s:"label"]),u[null!==(i=null==o?void 0:o.children)&&void 0!==i?i:"children"]&&c.push(parseOptions(u[null!==(l=null==o?void 0:o.children)&&void 0!==l?l:"children"],o))}}return r.length<c.length&&r.push(h),{selectedValue:d,steps:r,items:c}},handleSelect(e){var t,s,i,l,n,a;const{level:o}=e.target.dataset,{value:h}=e.detail,{checkStrictly:d}=this.properties,{selectedIndexes:r,items:c,keys:u,options:p,selectedValue:g}=this.data,v=c[o].findIndex(e=>{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
+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";import usingConfig from"../mixins/using-config";const{prefix:prefix}=config,componentName="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.behaviors=[usingConfig({componentName:"cascader"})],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,classPrefix:`${prefix}-cascader`,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{classPrefix:t}=this.data,{theme:s,subTitles:i}=this.properties,{height:l}=yield getRect(this,`.${t}__content`);if(this.state.contentHeight=l,"step"===s&&(yield Promise.all([getRect(this,`.${t}__steps`),getRect(this,`.${t}__step`)]).then(([t,s])=>{this.state.stepsInitHeight=t.height-(e-1)*s.height,this.state.stepHeight=s.height})),i.length>0){const{height:e}=yield getRect(this,`.${t}__options-title`);this.state.subTitlesHeight=e}const n=this.state.contentHeight-this.state.subTitlesHeight;this.setData({_optionsHeight:"step"===s?n-this.state.stepsInitHeight-(e-1)*this.state.stepHeight:n-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<o;a+=1){const o=e[a];if(o[null!==(s=null==n?void 0:n.value)&&void 0!==s?s:"value"]===t)return[a];if(o[null!==(i=null==n?void 0:n.children)&&void 0!==i?i:"children"]){const e=this.getIndexesByValue(o[null!==(l=null==n?void 0:n.children)&&void 0!==l?l:"children"],t);if(e)return[a,...e]}}},updateScrollTop(){const{visible:e,items:t,selectedIndexes:s,stepIndex:i}=this.data;e&&getRect(this,".cascader-radio-group-0").then(e=>{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,globalConfig:d}=this.data,r=[],c=[],u=[parseOptions(n,o)];if(n.length>0){let h=n;for(let n=0,d=a.length;n<d;n+=1){const d=h[a[n]];h=d[null!==(e=null==o?void 0:o.children)&&void 0!==e?e:"children"],r.push(d[null!==(t=null==o?void 0:o.value)&&void 0!==t?t:"value"]),c.push(d[null!==(s=null==o?void 0:o.label)&&void 0!==s?s:"label"]),d[null!==(i=null==o?void 0:o.children)&&void 0!==i?i:"children"]&&u.push(parseOptions(d[null!==(l=null==o?void 0:o.children)&&void 0!==l?l:"children"],o))}}return c.length<u.length&&c.push(h||d.placeholder),{selectedValue:r,steps:c,items:u}},handleSelect(e){var t,s,i,l,n,a;const{level:o}=e.target.dataset,{value:h}=e.detail,{checkStrictly:d}=this.properties,{selectedIndexes:r,items:c,keys:u,options:p,selectedValue:g}=this.data,v=c[o].findIndex(e=>{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_npm/tdesign-miniprogram/cascader/cascader.wxml b/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxml
index acb0917..5059500 100644
--- a/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><t-popup class="class" visible="{{visible}}" placement="bottom" bind:visible-change="onVisibleChange"><view style="{{_._style([style, customStyle])}}" class="{{name}}"><view class="{{name}}__title"><slot name="title"/>{{title}}</view><view class="{{name}}__close-btn" bind:tap="onClose"><slot name="close-btn"/><t-icon wx:if="{{closeBtn}}" size="48rpx" name="close"/></view><slot name="header"/><view class="{{name}}__content"><block wx:if="{{steps && steps.length}}"><view wx:if="{{theme == 'step'}}" class="{{name}}__steps"><view wx:for="{{steps}}" wx:key="index" class="{{name}}__step" bind:tap="onStepClick" data-index="{{index}}"><view class="{{name}}__step-dot {{name}}__step-dot--{{item !== placeholder ? 'active' : ''}} {{name}}__step-dot--{{index === steps.length - 1 ? 'last' : ''}}"></view><view class="{{name}}__step-label {{name}}__step-label--{{index === stepIndex ? 'active' : ''}}">{{ item }}</view><t-icon name="chevron-right" size="44rpx" t-class="{{name}}__step-arrow"/></view></view><block wx:if="{{theme == 'tab'}}"><t-tabs id="tabs" value="{{stepIndex}}" bind:change="onTabChange" space-evenly="{{false}}"><t-tab-panel wx:for="{{steps}}" wx:key="index" value="{{index}}" label="{{item}}"/></t-tabs></block></block><view wx:if="{{ subTitles && subTitles[stepIndex] }}" class="{{name}}__options-title">{{subTitles[stepIndex]}}</view><view class="{{name}}__options-container" style="width: {{items.length + 1}}00vw; transform: translateX(-{{stepIndex}}00vw)"><scroll-view wx:for="{{items}}" wx:for-item="options" wx:key="index" class="{{name}}__options" scroll-y scroll-top="{{scrollTopList[index]}}" type="list" style="height: {{_optionsHeight}}px"><view class="cascader-radio-group-{{index}}"><t-radio-group value="{{selectedValue[index]}}" keys="{{keys}}" options="{{options}}" bind:change="handleSelect" data-level="{{index}}" placement="right" icon="line" borderless></t-radio-group></view></scroll-view></view></view></view></t-popup>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><t-popup class="class" visible="{{visible}}" placement="bottom" bind:visible-change="onVisibleChange"><view style="{{_._style([style, customStyle])}}" class="{{classPrefix}}"><view class="{{classPrefix}}__title"><slot name="title"/>{{title || globalConfig.title}}</view><view class="{{classPrefix}}__close-btn" bind:tap="onClose"><slot name="close-btn"/><t-icon wx:if="{{closeBtn}}" size="48rpx" name="close"/></view><slot name="header"/><view class="{{classPrefix}}__content"><block wx:if="{{steps && steps.length}}"><view wx:if="{{theme == 'step'}}" class="{{classPrefix}}__steps"><view wx:for="{{steps}}" wx:key="index" class="{{classPrefix}}__step" bind:tap="onStepClick" data-index="{{index}}"><view class="{{classPrefix}}__step-dot {{classPrefix}}__step-dot--{{item !== placeholder ? 'active' : ''}} {{classPrefix}}__step-dot--{{index === steps.length - 1 ? 'last' : ''}}"></view><view class="{{classPrefix}}__step-label {{classPrefix}}__step-label--{{index === stepIndex ? 'active' : ''}}">{{ item }}</view><t-icon name="chevron-right" size="44rpx" t-class="{{classPrefix}}__step-arrow"/></view></view><block wx:if="{{theme == 'tab'}}"><t-tabs id="tabs" value="{{stepIndex}}" bind:change="onTabChange" space-evenly="{{false}}"><t-tab-panel wx:for="{{steps}}" wx:key="index" value="{{index}}" label="{{item}}"/></t-tabs></block></block><slot name="middle-content"/><view wx:if="{{ subTitles && subTitles[stepIndex] }}" class="{{classPrefix}}__options-title">{{subTitles[stepIndex]}}</view><view class="{{classPrefix}}__options-container" style="width: {{items.length + 1}}00vw; transform: translateX(-{{stepIndex}}00vw)"><scroll-view wx:for="{{items}}" wx:for-item="options" wx:key="index" class="{{classPrefix}}__options" scroll-y scroll-top="{{scrollTopList[index]}}" type="list" style="height: {{_optionsHeight}}px"><view class="cascader-radio-group-{{index}}"><t-radio-group value="{{selectedValue[index]}}" keys="{{keys}}" options="{{options}}" bind:change="handleSelect" data-level="{{index}}" placement="right" icon="line" borderless></t-radio-group></view></scroll-view></view></view></view></t-popup>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxss b/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxss
index b5c7349..e81db7b 100644
--- a/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/cascader/cascader.wxss
@@ -1,9 +1,9 @@
 @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__close-btn{right:var(--td-spacer-2,32rpx);top:var(--td-spacer-2,32rpx);position:absolute;}
+.t-cascader__title{position:relative;font:var(--td-cascader-title-font,var(--td-font-title-large,600 36rpx / 52rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));text-align:center;padding:var(--td-cascader-title-padding,var(--td-spacer-2,32rpx));}
 .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-title{color:var(--td-cascader-options-title-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));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;}
@@ -12,6 +12,6 @@
 .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{padding-left:var(--td-spacer-2,32rpx);font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
 .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_npm/tdesign-miniprogram/cascader/props.js b/miniprogram_npm/tdesign-miniprogram/cascader/props.js
index b051517..7f2e950 100644
--- a/miniprogram_npm/tdesign-miniprogram/cascader/props.js
+++ b/miniprogram_npm/tdesign-miniprogram/cascader/props.js
@@ -1 +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
+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_npm/tdesign-miniprogram/cell/cell.wxss b/miniprogram_npm/tdesign-miniprogram/cell/cell.wxss
index 6cb9cb0..61b0d69 100644
--- a/miniprogram_npm/tdesign-miniprogram/cell/cell.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/cell/cell.wxss
@@ -1,19 +1,19 @@
-@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)));}
+@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);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{font:var(--td-cell-description-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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__title-text{display:flex;font:var(--td-cell-title-font,var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));color:var(--td-cell-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
 .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-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-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-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-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;}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.d.ts
new file mode 100644
index 0000000..b3010b6
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.d.ts
@@ -0,0 +1,47 @@
+import { SuperComponent, ComponentsOptionsType } from '../../../components/common/src/index';
+export default class ChatActionbar extends SuperComponent {
+    behaviors: string[];
+    options: ComponentsOptionsType;
+    properties: import("./type").TdChatActionbarProps;
+    data: {
+        actions: any[];
+        classPrefix: string;
+        pComment: string;
+        iconMap: {
+            good: string;
+            bad: string;
+            replay: string;
+            copy: string;
+            share: string;
+            quote: string;
+        };
+        iconActiveMap: {
+            good: string;
+            bad: string;
+        };
+        widthStyle: string;
+        popoverStyle: string;
+        popoverPosition: string;
+        longpressVisible: boolean;
+    };
+    observers: {
+        comment(newVal: any): void;
+        'actionBar, pComment, placement'(): void;
+        longPressPosition(newVal: any): void;
+    };
+    methods: {
+        filterSpecialChars(content: string): string;
+        handleActionClick(e: any): void;
+        handleCopy(): void;
+        setActions(): void;
+        setPComment(newVal: any): void;
+        showPopover(pos: any): void;
+        hidePopover(): void;
+        onVisibleChange(e: any): void;
+    };
+    lifetimes: {
+        created(): void;
+        attached(): void;
+        detached(): void;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.js b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.js
new file mode 100644
index 0000000..3ce2f71
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.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 usingConfig from"../mixins/using-config";const{prefix:prefix}=config,componentName="chat-actionbar";let ChatActionbar=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[usingConfig({componentName:componentName})],this.options={multipleSlots:!0},this.properties=props,this.data={actions:[],classPrefix:`${prefix}-${componentName}`,pComment:"",iconMap:{good:"thumb-up",bad:"thumb-down",replay:"refresh",copy:"copy",share:"share-1",quote:"enter"},iconActiveMap:{good:"thumb-up-filled",bad:"thumb-down-filled"},widthStyle:"",popoverStyle:"transition: none;position: fixed;",popoverPosition:"",longpressVisible:!1},this.observers={comment(t){this.setPComment(t)},"actionBar, pComment, placement"(){this.setActions()},longPressPosition(t){"longpress"===this.properties.placement&&(t?this.showPopover(t):this.hidePopover())}},this.methods={filterSpecialChars(t){let e=t;const i=[];e=e.replace(/^(\s*\|.*\|.*\n\s*\|[-: ]+\|.*\n(\s*\|.*\|.*\n)*)/gm,t=>{const e=t.replace(/\[\d+(?:,\d+)*\]\(@ref\)/g,"").replace(/(\*\*|__)(.*?)\1|(\*|_)(.*?)\3/g,"$2$4").replace(/<br\s*\/?>/gi,"\n");return i.push(e),`%%TABLE${i.length-1}%%`}),e=e.replace(/^(\s*)#{1,6}\s+/gm,"$1"),e=e.replace(/(\*\*|__)(.*?)\1|(\*|_)(.*?)\3/g,"$2$4"),e=e.replace(/!\[.*?\]\(.*?\)/g,""),e=e.replace(/\[\d+(?:,\d+)*\]\(@ref\)/g,"");return e=e.replace(/(\\|`|\{|\}|\[|\]|\(|\)|\||锛亅@ref|\([@#]\w+\))/g,""),e=e.replace(/\[\d+\]/g,""),e=e.replace(/<br\s*\/?>/gi,"\n"),e=e.replace(/%%TABLE(\d+)%%/g,(t,e)=>i[parseInt(e,10)]||""),e.replace(/\n{3,}/g,"\n\n").trim()},handleActionClick(t){const{name:e}=t.currentTarget.dataset;if("copy"===e&&this.data.content)this.data.handleCopy();else if("good"===e){const t="good"===this.data.pComment;this.setData({pComment:t?void 0:"good"}),this.triggerEvent("actions",{name:e,active:!t,chatId:this.properties.chatId})}else if("bad"===e){const t="bad"===this.data.pComment;this.setData({pComment:t?void 0:"bad"}),this.triggerEvent("actions",{name:e,active:!t,chatId:this.properties.chatId})}else this.triggerEvent("actions",{name:e,chatId:this.properties.chatId});this.onVisibleChange({detail:{visible:!1}})},handleCopy(){if(!this.data.content)return;const t="markdown"===this.data.copyMode?this.data.content:this.data.filterSpecialChars(this.data.content);this.triggerEvent("actions",{name:"copy",data:t})},setActions(){const{globalConfig:t}=this.data,e=[];let i=[];i=this.properties.actionBar,i.forEach(i=>{var o,s;"good"===i||"bad"===i?e.push({name:i,isActive:this.data.pComment===i,text:(null===(o=t.actionBar)||void 0===o?void 0:o[i])||i}):e.push({name:i,isActive:!1,text:(null===(s=t.actionBar)||void 0===s?void 0:s[i])||i})}),this.setData({actions:e})},setPComment(t){this.setData({pComment:t||""})},showPopover(t){this.setData({widthStyle:`width: ${128*this.data.actions.length+8*(this.data.actions.length-1)}rpx`,popoverPosition:`top:${t.y}px;left:${t.x}px`,longpressVisible:!0}),setTimeout(()=>{const t=this.selectComponent(".popover"),e=this.createSelectorQuery().in(t);e.select(".t-popover").boundingClientRect(),e.exec(t=>{const[e]=t,{screenWidth:i}=wx.getWindowInfo();e.left+e.width>i?this.setData({popoverStyle:"transition: none;position:fixed; left: unset !important; right: 16rpx !important;"}):e.left<=0&&this.setData({popoverStyle:"transition: none;position:fixed; left: 16rpx !important;"})})},200)},hidePopover(){this.onVisibleChange({detail:{visible:!1}})},onVisibleChange(t){const{visible:e}=t.detail;this.setData({longpressVisible:e}),e||setTimeout(()=>{this.setData({popoverPosition:"",popoverStyle:"transition: none;position: fixed;"})},200)}},this.lifetimes={created(){this.data.filterSpecialChars=this.filterSpecialChars.bind(this),this.data.handleActionClick=this.handleActionClick.bind(this),this.data.handleCopy=this.handleCopy.bind(this),this.data.showPopover=this.showPopover.bind(this),this.data.hidePopover=this.hidePopover.bind(this),this.data.setPComment=this.setPComment.bind(this)},attached(){this.setData({pComment:this.properties.comment||""}),this.setActions()},detached(){}}}};ChatActionbar=__decorate([wxComponent()],ChatActionbar);export default ChatActionbar;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.json b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.json
new file mode 100644
index 0000000..e1a191d
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","t-popover":"../popover/popover"}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.wxml b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.wxml
new file mode 100644
index 0000000..75f2b68
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.wxml
@@ -0,0 +1 @@
+<wxs src="../common/utils.wxs" module="_"/><view wx:if="{{placement !== 'longpress'}}" class="{{[classPrefix, placement]}}" style="{{_._style([style, customStyle])}}"><view class="{{classPrefix}}__inner {{classPrefix}}__inner--column"><view class="{{classPrefix}}__left {{classPrefix+'__item'}}"><slot name="prefix"/></view><block wx:for="{{actions}}" wx:for-item="item" wx:for-index="index" wx:key="index"><button wx:if="{{item.name === 'share'}}" data-name="{{item.name}}" class="{{_.cls(classPrefix+'__item', [['active', item.isActive]])}}" open-type="{{content ? 'share' : 'none'}}" data-chat-id="{{chatId}}" bindtap="handleActionClick"><t-icon name="{{item.isActive ? iconActiveMap[item.name] : iconMap[item.name]}}" size="40rpx"/></button><view wx:else data-name="{{item.name}}" class="{{_.cls(classPrefix+'__item', [['active', item.isActive]])}}" bindtap="handleActionClick"><t-icon name="{{item.isActive ? iconActiveMap[item.name] : iconMap[item.name]}}" size="40rpx"/></view></block></view></view><view wx:else class="{{[classPrefix, classPrefix+'__popover-skeleton']}}" style="{{popoverPosition}}"><t-popover class="popover" placement="bottom" theme="dark" visible="{{longpressVisible}}" customStyle="{{popoverStyle}}" bind:visible-change="onVisibleChange"><view class="{{[classPrefix, classPrefix+'__popover-skeleton__inner']}}"></view><view slot="content" class="{{[classPrefix, classPrefix+'--popover', 'popover-visible']}}" style="{{_._style([style, customStyle, widthStyle])}}"><view class="{{classPrefix}}__inner {{classPrefix}}__inner--column"><view class="{{classPrefix}}__left {{classPrefix+'__item--popover'}}"><slot name="prefix"/></view><block wx:for="{{actions}}" wx:for-item="item" wx:for-index="index" wx:key="index"><button wx:if="{{item.name === 'share'}}" data-name="{{item.name}}" class="{{_.cls(classPrefix+'__item--popover', [['active', item.isActive]])}}" open-type="{{content ? 'share' : 'none'}}" data-chat-id="{{chatId}}" bindtap="handleActionClick"><t-icon name="{{iconMap[item.name]}}" size="40rpx"/><view class="{{classPrefix}}__item__text">{{item.text}}</view></button><view wx:else data-name="{{item.name}}" class="{{_.cls(classPrefix+'__item--popover', [['active', item.isActive]])}}" bindtap="handleActionClick"><t-icon name="{{iconMap[item.name]}}" size="40rpx" customStyle="{{item.name === 'quote' ? 'transform: scaleX(-1)' : ''}}"/><view class="{{classPrefix}}__item__text">{{item.text}}</view></view></block></view></view></t-popover></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.wxss b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.wxss
new file mode 100644
index 0000000..659aa96
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/chat-actionbar.wxss
@@ -0,0 +1,16 @@
+@import '../common/style/index.wxss';.t-chat-actionbar{display:flex;padding:var(--chat-actionbar-padding,0);}
+.t-chat-actionbar.start{justify-content:flex-start;}
+.t-chat-actionbar.end{justify-content:flex-end;}
+.t-chat-actionbar--popover{color:var(--td-font-white-1,#fff);border-radius:6rpx;}
+.t-chat-actionbar--popover .t-chat-actionbar__inner{background-color:unset;border:none;display:flex;flex-wrap:wrap;gap:4rpx;}
+.t-chat-actionbar--popover .t-chat-actionbar__inner--column{gap:8rpx;}
+.t-chat-actionbar--popover .t-chat-actionbar__item--popover{color:#fff;background-color:unset;padding:0;margin:0;font-size:28rpx;line-height:42rpx;width:128rpx;height:156rpx;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8rpx;}
+.t-chat-actionbar__inner{background-color:var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3));border:2rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));box-sizing:border-box;border-radius:var(--td-radius-default,12rpx);display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;}
+.t-chat-actionbar__inner--column{display:flex;align-items:center;justify-content:space-between;}
+.t-chat-actionbar__left:empty{display:none;}
+.t-chat-actionbar__item{color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));padding:var(--chat-actionbar-item-padding,16rpx 28rpx);border-right:2rpx solid var(--td-component-stroke,var(--td-gray-color-3,#e7e7e7));background-color:unset;outline:0;}
+.t-chat-actionbar__item:after{display:none;}
+.t-chat-actionbar__item:last-child{border-right:none;}
+.t-chat-actionbar__item--active{color:var(--td-brand-color,var(--td-primary-color-7,#0052d9));}
+.t-chat-actionbar__popover-skeleton{position:fixed;--td-popover-padding:8rpx 16rpx;}
+.t-chat-actionbar__popover-skeleton__inner{width:20rpx;height:20rpx;}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-actionbar/props.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/props.d.ts
new file mode 100644
index 0000000..38b2a6f
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/props.d.ts
@@ -0,0 +1,3 @@
+import { TdChatActionbarProps } from './type';
+declare const props: TdChatActionbarProps;
+export default props;
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-actionbar/props.js b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/props.js
new file mode 100644
index 0000000..8f8dcdf
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/props.js
@@ -0,0 +1 @@
+const props={actionBar:{type:Array,value:["replay","copy","good","bad","share"]},chatId:{type:String,value:""},comment:{type:String},content:{type:String,value:""},copyMode:{type:String,value:"markdown"},disabled:{type:Boolean,value:!1},longPressPosition:{type:Object},placement:{type:String,value:"start"}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-actionbar/type.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/type.d.ts
new file mode 100644
index 0000000..bb5e83d
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/type.d.ts
@@ -0,0 +1,46 @@
+export interface TdChatActionbarProps {
+    actionBar?: {
+        type: ArrayConstructor;
+        value?: Array<'replay' | 'copy' | 'good' | 'bad' | 'share' | 'quote'>;
+    };
+    chatId?: {
+        type: StringConstructor;
+        value?: string;
+    };
+    comment?: {
+        type: StringConstructor;
+        value?: 'good' | 'bad';
+    };
+    content?: {
+        type: StringConstructor;
+        value?: string;
+    };
+    copyMode?: {
+        type: StringConstructor;
+        value?: 'markdown' | 'text';
+    };
+    disabled?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    longPressPosition?: {
+        type: ObjectConstructor;
+        value?: ChatActionbarLongPressPosition;
+    };
+    placement?: {
+        type: StringConstructor;
+        value?: 'start' | 'end' | 'space-around' | 'space-between' | 'longpress';
+    };
+}
+export interface ChatActionbarLongPressPosition {
+    type?: object;
+    value?: LongPressPositionValue;
+}
+export interface LongPressPositionValue {
+    pageX?: number;
+    pageY?: number;
+    clientX?: number;
+    clientY?: number;
+    x?: number;
+    y?: number;
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-actionbar/type.js b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-actionbar/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.d.ts
new file mode 100644
index 0000000..3927537
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.d.ts
@@ -0,0 +1,25 @@
+import { SuperComponent, ComponentsOptionsType } from '../../../components/common/src/index';
+import { TdChatContentProps } from './type';
+export interface ChatContentProps extends TdChatContentProps {
+}
+export default class ChatContent extends SuperComponent {
+    options: ComponentsOptionsType;
+    properties: TdChatContentProps;
+    data: {
+        classPrefix: string;
+        textInfo: string;
+    };
+    observers: {
+        content(): void;
+    };
+    methods: {
+        getEscapeReplacement(ch: any): any;
+        escape(html: any, encode?: boolean): any;
+        setTextInfo(): void;
+    };
+    lifetimes: {
+        created(): void;
+        attached(): void;
+        detached(): void;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.js b/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.js
new file mode 100644
index 0000000..67b06da
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.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}-chat-content`;let ChatContent=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.properties=props,this.data={classPrefix:name,textInfo:""},this.observers={content(){this.setTextInfo()}},this.methods={getEscapeReplacement:t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[t]),escape(t,e=!1){const s=/[&<>"']/,o=new RegExp(s.source,"g"),n=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,a=new RegExp(n.source,"g");if(e){if(s.test(t))return t.replace(o,this.data.getEscapeReplacement)}else if(n.test(t))return t.replace(a,this.data.getEscapeReplacement);return t},setTextInfo(){"text"===this.properties.content.type||"error"===this.properties.status?this.setData({textInfo:this.escape(this.properties.content.data||"")}):this.setData({textInfo:this.properties.content.data})}},this.lifetimes={created(){this.data.getEscapeReplacement=this.getEscapeReplacement.bind(this),this.data.escape=this.escape.bind(this)},attached(){this.setTextInfo()},detached(){}}}};ChatContent=__decorate([wxComponent()],ChatContent);export default ChatContent;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.json b/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.json
new file mode 100644
index 0000000..f37a9be
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-chat-markdown":"../chat-markdown/chat-markdown"}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.wxml b/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.wxml
new file mode 100644
index 0000000..c908b05
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.wxml
@@ -0,0 +1 @@
+<wxs src="../common/utils.wxs" module="_"/><view class="class {{classPrefix}}" style="{{_._style([style, customStyle])}}"><block wx:if="{{status === 'error' || content.type === 'text'}}"><view class="{{classPrefix}}__{{role}} {{classPrefix}}__{{status}}"><view class="_pre"><rich-text nodes="{{textInfo}}"/></view></view></block><block wx:else><view class="{{classPrefix}}__assistant"><t-chat-markdown content="{{textInfo}}" options="{{markdownProps && markdownProps.options}}"></t-chat-markdown></view></block></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.wxss b/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.wxss
new file mode 100644
index 0000000..cb96d65
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-content/chat-content.wxss
@@ -0,0 +1,8 @@
+@import '../common/style/index.wxss';.t-chat-content{font:var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));word-break:break-word;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;width:fit-content;}
+.t-chat-content__system,.t-chat-content__user{color:var(--td-chat-content-user-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-chat-content__system ._pre,.t-chat-content__user ._pre{margin:0;white-space:pre-wrap;}
+.t-chat-content__assistant{color:var(--td-chat-content-assistant-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.t-chat-content__assistant ._ol{-webkit-padding-start:40rpx;padding-inline-start:40rpx;}
+.t-chat-content__assistant ._ol ._li{list-style:decimal;}
+.t-chat-content__assistant ._img{max-width:100%;margin:8rpx 0;border-radius:var(--td-radius-small,6rpx);}
+.t-chat-content__error{color:var(--td-chat-content-error-text-color,var(--td-error-color,var(--td-error-color-6,#d54941)));}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-content/index.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-content/index.d.ts
new file mode 100644
index 0000000..44a41be
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-content/index.d.ts
@@ -0,0 +1,3 @@
+export * from './props';
+export * from './type';
+export * from './chat-content';
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-content/index.js b/miniprogram_npm/tdesign-miniprogram/chat-content/index.js
new file mode 100644
index 0000000..b887f58
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-content/index.js
@@ -0,0 +1 @@
+export*from"./props";export*from"./type";export*from"./chat-content";
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-content/props.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-content/props.d.ts
new file mode 100644
index 0000000..cfdb116
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-content/props.d.ts
@@ -0,0 +1,3 @@
+import { TdChatContentProps } from './type';
+declare const props: TdChatContentProps;
+export default props;
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-content/props.js b/miniprogram_npm/tdesign-miniprogram/chat-content/props.js
new file mode 100644
index 0000000..607cae5
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-content/props.js
@@ -0,0 +1 @@
+const props={content:{type:Object,required:!0},markdownProps:{type:Object},role:{type:String,required:!0},status:{type:String}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-content/type.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-content/type.d.ts
new file mode 100644
index 0000000..ec6a488
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-content/type.d.ts
@@ -0,0 +1,25 @@
+import { ChatMarkdownProps } from '../chat-markdown/index';
+export interface TdChatContentProps {
+    content: {
+        type: ObjectConstructor;
+        value?: TdChatContentType;
+        required?: boolean;
+    };
+    markdownProps?: {
+        type: ObjectConstructor;
+        value?: ChatMarkdownProps;
+    };
+    role: {
+        type: StringConstructor;
+        value?: 'user' | 'assistant' | 'system';
+        required?: boolean;
+    };
+    status?: {
+        type: StringConstructor;
+        value?: 'error' | '';
+    };
+}
+export interface TdChatContentType {
+    type: 'text' | 'markdown';
+    data: string;
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-content/type.js b/miniprogram_npm/tdesign-miniprogram/chat-content/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-content/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.d.ts
new file mode 100644
index 0000000..2b5ae71
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.d.ts
@@ -0,0 +1,53 @@
+import { SuperComponent, ComponentsOptionsType } from '../../../components/common/src/index';
+export default class Chat extends SuperComponent {
+    options: ComponentsOptionsType;
+    properties: {
+        virtualList: {
+            type: BooleanConstructor;
+            value: boolean;
+        };
+        fragmentLen: {
+            type: NumberConstructor;
+            value: number;
+        };
+        animation?: {
+            type: StringConstructor;
+            value?: "skeleton" | "moving" | "gradient" | "dot";
+        };
+        data?: {
+            type: ArrayConstructor;
+            value?: import("./type").TdChatItemMeta[];
+        };
+        layout?: {
+            type: StringConstructor;
+            value?: "both" | "single";
+        };
+        reverse?: {
+            type: BooleanConstructor;
+            value?: boolean;
+        };
+    };
+    data: {
+        classPrefix: string;
+        scrollViewTop: number;
+        classes: any[];
+        listClasses: any[];
+        startIndex: number;
+        endIndex: number;
+    };
+    observers: {
+        data(): void;
+    };
+    methods: {
+        setScrollTop(scrollTop?: number): void;
+        scrollToBottom(): void;
+        onScroll(e: any): void;
+        handlerScrollToUpper(): void;
+        handlerScrollToLower(): void;
+        resetFragments(): void;
+        addFragment(count?: number): void;
+    };
+    lifetimes: {
+        created(): void;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.js b/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.js
new file mode 100644
index 0000000..be6c60e
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.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}-chat-list`;let Chat=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.properties=Object.assign(Object.assign({},props),{virtualList:{type:Boolean,value:!1},fragmentLen:{type:Number,value:8}}),this.data={classPrefix:name,scrollViewTop:0,classes:[],listClasses:[],startIndex:0,endIndex:0},this.observers={data(){const t=this.properties.data.length;this.properties.virtualList&&this.oldDataLen!==t&&(this.oldDataLen=t,this.resetFragments())}},this.methods={setScrollTop(t=0){t===this.data.scrollViewTop&&(t-=1),this.setData({scrollViewTop:t})},scrollToBottom(){const t=this.properties.reverse?0:999999;this.setScrollTop(t)},onScroll(t){this.triggerEvent("scroll",t)},handlerScrollToUpper(){!this.properties.reverse&&this.properties.virtualList&&this.addFragment()},handlerScrollToLower(){this.properties.reverse&&this.properties.virtualList&&this.addFragment()},resetFragments(){const t=this.properties.data.length;if(t){const{fragmentLen:e}=this.properties;this.properties.reverse?this.setData({startIndex:0,endIndex:Math.min(t-1,e-1)}):this.setData({startIndex:Math.max(t-e,0),endIndex:Math.max(t-1,0)})}},addFragment(t=4){const e=this.properties.data.length;e&&(this.properties.reverse?this.setData({endIndex:Math.min(e-1,this.data.endIndex+t)}):this.setData({startIndex:Math.max(this.data.startIndex-t,0)}))}},this.lifetimes={created(){this.data.setScrollTop=this.setScrollTop.bind(this),this.data.scrollToBottom=this.scrollToBottom.bind(this)}}}};Chat=__decorate([wxComponent()],Chat);export default Chat;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.json b/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.json
new file mode 100644
index 0000000..5d46104
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"chat-message":"../chat-message/chat-message"}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.wxml b/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.wxml
new file mode 100644
index 0000000..c1b5206
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.wxml
@@ -0,0 +1 @@
+<wxs src="../common/utils.wxs" module="_"/><view class="class {{classPrefix}} {{[classes]}}" style="{{_._style([style, customStyle])}}"><scroll-view class="{{_.cls(classPrefix + '__content', [['reverse' , reverse]])}}" scroll-y="{{true}}" enable-flex="{{true}}" enhanced="{{true}}" scroll-with-animation="{{true}}" scroll-top="{{scrollViewTop}}" data-ref="chatListRef" bindscroll="onScroll" bindscrolltoupper="handlerScrollToUpper" bindscrolltolower="handlerScrollToLower"><block wx:if="{{reverse}}"><view class="placeholder"></view></block><block wx:if="{{data.length > 0}}"><block wx:for="{{data}}" wx:for-index="index" wx:for-item="item" wx:key="index"><chat-message wx:if="{{virtualList ? index >= startIndex && index <= endIndex : true}}" avatar="{{item.avatar || ''}}" name="{{item.name || ''}}" datetime="{{item.datetime || ''}}" content="{{item.content}}" role="{{item.role}}" placement="{{ layout === 'both' ? (item.role === 'user' ? 'right' : 'left') : 'left' }}" animation="{{animation}}" status="{{item.status || ''}}"/></block></block><slot wx:else/></scroll-view><view class="{{classPrefix}}__footer"><slot name="footer"/></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.wxss b/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.wxss
new file mode 100644
index 0000000..f71db30
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-list/chat-list.wxss
@@ -0,0 +1,5 @@
+@import '../common/style/index.wxss';.t-chat-list{display:flex;flex-direction:column;height:100%;width:100%;color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));}
+.t-chat-list__content{flex:1;overflow-y:auto;overflow-x:hidden;width:100%;}
+.t-chat-list__content--reverse{display:flex;flex-direction:column;transform:scaleY(-1);}
+.t-chat-list__content--reverse::-webkit-scrollbar{transform:scaleY(-1);}
+.t-chat-list__content .placeholder{flex-grow:1;flex-shrink:1;}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-list/props.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-list/props.d.ts
new file mode 100644
index 0000000..ba446b8
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-list/props.d.ts
@@ -0,0 +1,3 @@
+import { TdChatListProps } from './type';
+declare const props: TdChatListProps;
+export default props;
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-list/props.js b/miniprogram_npm/tdesign-miniprogram/chat-list/props.js
new file mode 100644
index 0000000..c05b299
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-list/props.js
@@ -0,0 +1 @@
+const props={animation:{type:String,value:"skeleton"},data:{type:Array},layout:{type:String,value:"both"},reverse:{type:Boolean,value:!0}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-list/type.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-list/type.d.ts
new file mode 100644
index 0000000..b91611b
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-list/type.d.ts
@@ -0,0 +1,26 @@
+export interface TdChatListProps {
+    animation?: {
+        type: StringConstructor;
+        value?: 'skeleton' | 'moving' | 'gradient' | 'dot';
+    };
+    data?: {
+        type: ArrayConstructor;
+        value?: Array<TdChatItemMeta>;
+    };
+    layout?: {
+        type: StringConstructor;
+        value?: 'both' | 'single';
+    };
+    reverse?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+}
+export interface TdChatItemMeta {
+    avatar?: string;
+    name?: string;
+    role?: string;
+    datetime?: string;
+    content?: string;
+    status?: string;
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-list/type.js b/miniprogram_npm/tdesign-miniprogram/chat-list/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-list/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.d.ts
new file mode 100644
index 0000000..f038f9b
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.d.ts
@@ -0,0 +1,8 @@
+import { SuperComponent, ComponentsOptionsType } from '../../../components/common/src/index';
+export default class ChatLoading extends SuperComponent {
+    options: ComponentsOptionsType;
+    properties: import("./type").TdChatLoadingProps;
+    data: {
+        classPrefix: string;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.js b/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.js
new file mode 100644
index 0000000..9e9e666
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-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}-chat-loading`;let ChatLoading=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.properties=props,this.data={classPrefix:name}}};ChatLoading=__decorate([wxComponent()],ChatLoading);export default ChatLoading;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.json b/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.json
new file mode 100644
index 0000000..65a6b0b
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-skeleton":"../skeleton/skeleton","t-loading":"../loading/loading"}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.wxml b/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.wxml
new file mode 100644
index 0000000..f7d32ed
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.wxml
@@ -0,0 +1 @@
+<wxs src="../common/utils.wxs" module="_"/><view class="class {{[classPrefix]}}" style="{{_._style([style, customStyle])}}"><view wx:if="{{animation !== 'skeleton'}}" class="{{classPrefix}}__icon {{ animation === 'dots' ? '' : classPrefix + '__icon--with-padding' }}"><block wx:if="{{animation === 'moving'}}"><view class="{{classPrefix}}__moving"><view class="{{classPrefix}}__moving--top"/><view class="{{classPrefix}}__moving--left"/><view class="{{classPrefix}}__moving--right"/></view></block><block wx:if="{{animation === 'gradient'}}"><view class="{{classPrefix}}__gradient"/></block><view wx:if="{{animation === 'dots'}}" class="{{classPrefix}}__dots"><t-loading theme="dots" size="60rpx"/></view></view><block wx:if="{{animation === 'skeleton'}}"><view class="{{classPrefix}}__skeleton"><t-skeleton rowCol="{{[1, 1, 1, {width: '80%'}]}}" theme="paragraph" animation="gradient" loading/></view></block><view wx:if="{{text}}" class="{{classPrefix}}__text">{{text}}</view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.wxss b/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.wxss
new file mode 100644
index 0000000..cf6baaf
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-loading/chat-loading.wxss
@@ -0,0 +1,36 @@
+@import '../common/style/index.wxss';.t-chat-loading{display:flex;align-items:center;}
+.t-chat-loading::after,.t-chat-loading::before{box-sizing:border-box;}
+.t-chat-loading__icon--with-padding{padding:6rpx;box-sizing:border-box;}
+.t-chat-loading__icon .t-chat-loading__skeleton{width:100%;}
+.t-chat-loading__text{color:var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4)));font-size:var(--td-font-size-base,28rpx);}
+.t-chat-loading__text:not(:empty){margin-left:var(--td-spacer,16rpx);}
+.t-chat-loading__moving{position:relative;width:28rpx;height:28rpx;}
+.t-chat-loading__moving--left,.t-chat-loading__moving--right,.t-chat-loading__moving--top{position:absolute;width:14rpx;height:14rpx;border-radius:50%;background-color:var(--td-brand-color,var(--td-primary-color-7,#0052d9));}
+.t-chat-loading__moving--top{top:-6rpx;left:7rpx;animation:dot-moving-top .6s ease-in-out alternate infinite;}
+.t-chat-loading__moving--left{bottom:-6rpx;left:-6rpx;animation:dot-moving-left .6s ease-in-out alternate infinite;}
+.t-chat-loading__moving--right{bottom:-6rpx;right:-6rpx;animation:dot-moving-right .6s ease-in-out alternate infinite;}
+.t-chat-loading__gradient{width:28rpx;height:28rpx;background-color:transparent;border-radius:50%;border:3rpx solid var(--td-brand-color,var(--td-primary-color-7,#0052d9));animation:border-gradient-color .6s ease-in-out alternate infinite;box-sizing:border-box;padding:0 6rpx;}
+.t-chat-loading__dots{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
+.t-chat-loading__skeleton{width:100%;}
+@keyframes dot-moving-top{
+0%{transform:scale(1);top:-6rpx;}
+to{transform:scale(2);top:7rpx;}}
+@keyframes dot-moving-left{
+0%{transform:scale(1);bottom:-6rpx;left:-6rpx;}
+to{transform:scale(2);bottom:7rpx;left:7rpx;}}
+@keyframes dot-moving-right{
+0%{transform:scale(1);bottom:-6rpx;right:-6rpx;}
+to{transform:scale(2);bottom:7rpx;right:7rpx;}}
+@keyframes border-gradient-color{
+0%{border-color:var(--td-brand-color,var(--td-primary-color-7,#0052d9));border-width:1.5px;}
+50%{border-color:var(--td-brand-color-active,var(--td-primary-color-8,#003cab));border-width:3px;}
+100%{border-color:var(--td-primary-color-6,#366ef4);border-width:4px;}}
+@keyframes a_tick{
+0%{width:0;}
+100%{width:14rpx;}}
+@keyframes a_tick-1{
+0%{transform:rotate(45deg) scale(0,1);}
+100%{transform:rotate(45deg) scale(1,1);}}
+@keyframes a_tick-2{
+0%{transform:rotate(-45deg) scale(0,1);}
+100%{transform:rotate(-45deg) scale(1,1);}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-loading/props.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-loading/props.d.ts
new file mode 100644
index 0000000..74deecf
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-loading/props.d.ts
@@ -0,0 +1,3 @@
+import { TdChatLoadingProps } from './type';
+declare const props: TdChatLoadingProps;
+export default props;
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-loading/props.js b/miniprogram_npm/tdesign-miniprogram/chat-loading/props.js
new file mode 100644
index 0000000..a513bf5
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-loading/props.js
@@ -0,0 +1 @@
+const props={animation:{type:String,value:"moving"},text:{type:String,value:""}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-loading/type.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-loading/type.d.ts
new file mode 100644
index 0000000..97accc6
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-loading/type.d.ts
@@ -0,0 +1,10 @@
+export interface TdChatLoadingProps {
+    animation?: {
+        type: StringConstructor;
+        value?: 'skeleton' | 'moving' | 'gradient' | 'dot';
+    };
+    text?: {
+        type: StringConstructor;
+        value?: string;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-loading/type.js b/miniprogram_npm/tdesign-miniprogram/chat-loading/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-loading/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.d.ts
new file mode 100644
index 0000000..378b402
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.d.ts
@@ -0,0 +1,17 @@
+import { SuperComponent, ComponentsOptionsType } from '../../../../components/common/src/index';
+export default class ChatMarkdownCode extends SuperComponent {
+    options: ComponentsOptionsType;
+    properties: {
+        node: {
+            type: ObjectConstructor;
+            value: () => {};
+        };
+    };
+    data: {
+        classPrefix: string;
+    };
+    methods: {
+        nodeClick(e: any): void;
+        getCareMarkdown(): any;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.js b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.js
new file mode 100644
index 0000000..cf3ffd6
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.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}-chat-markdown-code`,markdownName=`${prefix}-chat-markdown`;let ChatMarkdownCode=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.properties={node:{type:Object,value:()=>({})}},this.data={classPrefix:name},this.methods={nodeClick(e){this.getCareMarkdown().triggerEvent("click",{event:e,node:this.data.node})},getCareMarkdown(){if(this.data.careMarkdown)return this.data.careMarkdown;for(this.setData({careMarkdown:this.selectOwnerComponent()});this.data.careMarkdown.__data__.name!==markdownName;this.setData({careMarkdown:this.data.careMarkdown.selectOwnerComponent()}));return this.data.careMarkdown}}}};ChatMarkdownCode=__decorate([wxComponent()],ChatMarkdownCode);export default ChatMarkdownCode;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.json b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.wxml b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.wxml
new file mode 100644
index 0000000..0840d3e
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.wxml
@@ -0,0 +1 @@
+<view class="{{classPrefix}}" bindtap="nodeClick"><view class="{{classPrefix}}__header" wx:if="{{node.lang}}"><text class="{{classPrefix}}__lang">{{node.lang}}</text></view><scroll-view class="{{classPrefix}}__content" scroll-x="{{true}}"><text class="{{classPrefix}}__text" decode="{{true}}">{{node.text}}</text></scroll-view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.wxss b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.wxss
new file mode 100644
index 0000000..a87bbf8
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-code/chat-markdown-code.wxss
@@ -0,0 +1,7 @@
+@import '../../common/style/index.wxss';.t-chat-markdown-code{margin:16rpx 0;border-radius:8rpx;background-color:#f6f8fa;border:1rpx solid #e1e4e8;overflow:hidden;}
+.t-chat-markdown-code__header{padding:8rpx 16rpx;background-color:#e1e4e8;border-bottom:1rpx solid #d0d7de;}
+.t-chat-markdown-code__lang{font-size:24rpx;color:#656d76;font-weight:500;}
+.t-chat-markdown-code__content{padding:16rpx;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;white-space:nowrap;height:auto;}
+.t-chat-markdown-code__text{font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));font-family:'SF Mono',Monaco,'Cascadia Code','Roboto Mono',Consolas,'Courier New',monospace;color:#24292f;white-space:pre;word-wrap:normal;word-break:normal;overflow-wrap:normal;display:inline-block;vertical-align:top;min-width:100%;}
+.t-chat-markdown-code-light .t-chat-markdown-code-block{background-color:#fff;border-color:#d0d7de;}
+.t-chat-markdown-code-light .t-chat-markdown-code-header{background-color:#f6f8fa;border-bottom-color:#d0d7de;}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.d.ts
new file mode 100644
index 0000000..3aaea68
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.d.ts
@@ -0,0 +1,23 @@
+import { SuperComponent, ComponentsOptionsType } from '../../../../components/common/src/index';
+export default class ChatMarkdownNode extends SuperComponent {
+    options: ComponentsOptionsType;
+    properties: {
+        nodes: {
+            type: ArrayConstructor;
+            value: () => any[];
+        };
+    };
+    data: {
+        classPrefix: string;
+    };
+    methods: {
+        nodeClick(e: any): void;
+        getCareMarkdown(): any;
+        handleClick(event: any, type: any, token: any): void;
+    };
+    lifetimes: {
+        created(): void;
+        attached(): void;
+        detached(): void;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.js b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.js
new file mode 100644
index 0000000..1701351
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.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}-chat-markdown`;let ChatMarkdownNode=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.properties={nodes:{type:Array,value:()=>[]}},this.data={classPrefix:name},this.methods={nodeClick(t){var e;const{index:a}=t.currentTarget.dataset||{},o=null===(e=this.data.nodes)||void 0===e?void 0:e[a];this.handleClick(t,"node-tap",o)},getCareMarkdown(){if(this.data.careMarkdown)return this.data.careMarkdown;for(this.setData({careMarkdown:this.selectOwnerComponent()});this.data.careMarkdown.__data__.name!==name;this.setData({careMarkdown:this.data.careMarkdown.selectOwnerComponent()}));return this.data.careMarkdown},handleClick(t,e,a){this.data.getCareMarkdown().triggerEvent("click",{event:t,node:a})}},this.lifetimes={created(){this.data.getCareMarkdown=this.getCareMarkdown.bind(this),this.data.handleClick=this.handleClick.bind(this)},attached(){},detached(){}}}};ChatMarkdownNode=__decorate([wxComponent()],ChatMarkdownNode);export default ChatMarkdownNode;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.json b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.json
new file mode 100644
index 0000000..bf7bbc0
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"chat-markdown-table":"../chat-markdown-table/chat-markdown-table","chat-markdown-code":"../chat-markdown-code/chat-markdown-code","chat-markdown-node":"./chat-markdown-node"}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.wxml b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.wxml
new file mode 100644
index 0000000..c551a2c
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.wxml
@@ -0,0 +1 @@
+<block wx:for="{{nodes}}" wx:for-item="item" wx:for-index="i" wx:key="i"><block wx:if="{{item.type==='heading'}}"><view class="{{classPrefix}}-h {{ classPrefix}}-h{{item.depth}}" data-index="{{i}}" bindtap="nodeClick"><chat-markdown-node nodes="{{item.tokens}}"/></view></block><block wx:elif="{{item.type==='list'}}"><view class="{{classPrefix}}-list {{item.ordered ? classPrefix + '-list__decimal' : ''}}" data-type="{{item.ordered}}" data-index="{{i}}" bindtap="nodeClick"><block wx:for="{{item.items}}" wx:for-item="li" wx:for-index="j" wx:key="j"><view class="{{classPrefix}}-list-item"><block wx:if="{{li.tokens && li.tokens.length}}"><chat-markdown-node nodes="{{li.tokens}}"/></block><block wx:else>{{''+li.text+''}}</block></view></block></view></block><block wx:elif="{{item.type==='paragraph'}}"><view class="{{classPrefix}}-p" data-index="{{i}}" bindtap="nodeClick"><chat-markdown-node nodes="{{item.tokens}}"/></view></block><block wx:elif="{{item.type==='image'}}"><view class="{{classPrefix}}-image" data-index="{{i}}" bindtap="nodeClick"><image src="{{item.href}}" alt="{{item.title}}" mode="widthFix"/></view></block><block wx:elif="{{item.type==='table'}}"><chat-markdown-table node="{{item}}"/></block><block wx:elif="{{item.type==='blockquote'}}"><view class="{{classPrefix}}-blockquote" data-index="{{i}}" bindtap="nodeClick"><chat-markdown-node nodes="{{item.tokens}}"/></view></block><block wx:elif="{{item.type==='code'}}"><chat-markdown-code node="{{item}}" theme="{{theme}}"/></block><block wx:elif="{{item.type==='text'}}"><view class="{{classPrefix}}-text {{classPrefix}}-inline" data-raw="{{item.raw}}" data-index="{{i}}" bindtap="nodeClick"><block wx:if="{{item.tokens && item.tokens.length}}"><chat-markdown-node nodes="{{item.tokens}}"/></block><block wx:else>{{''+item.raw+''}}</block></view></block><block wx:elif="{{item.type==='strong'}}"><view class="{{classPrefix}}-strong {{classPrefix}}-inline" data-index="{{i}}" bindtap="nodeClick"><block wx:if="{{item.tokens && item.tokens.length}}"><chat-markdown-node nodes="{{item.tokens}}"/></block><block wx:else>{{''+item.text+''}}</block></view></block><block wx:elif="{{item.type==='em'}}"><view class="{{classPrefix}}-em {{classPrefix}}-inline" data-index="{{i}}" bindtap="nodeClick"><block wx:if="{{item.tokens && item.tokens.length}}"><chat-markdown-node nodes="{{item.tokens}}"/></block><block wx:else>{{''+item.text+''}}</block></view></block><block wx:elif="{{item.type==='del'}}"><view class="{{classPrefix}}-del {{classPrefix}}-inline" data-index="{{i}}" bindtap="nodeClick"><block wx:if="{{item.tokens && item.tokens.length}}"><chat-markdown-node nodes="{{item.tokens}}"/></block><block wx:else>{{''+item.text+''}}</block></view></block><block wx:elif="{{item.type==='link'}}"><view class="{{classPrefix}}-link {{classPrefix}}-inline" data-index="{{i}}" bindtap="nodeClick"><block wx:if="{{item.tokens && item.tokens.length}}"><chat-markdown-node nodes="{{item.tokens}}"/></block></view></block><block wx:elif="{{item.type==='ref'}}"><view class="{{classPrefix}}-ref {{classPrefix}}-inline" data-index="{{i}}" bindtap="nodeClick"><text class="{{classPrefix}}-ref-txt">{{''+item.text+''}}</text></view></block><block wx:elif="{{item.type==='space'}}"><view class="{{classPrefix}}-space" data-index="{{i}}" bindtap="nodeClick"></view></block><block wx:elif="{{item.type==='br'}}"><view class="{{classPrefix}}-br" data-index="{{i}}" bindtap="nodeClick"></view></block><block wx:elif="{{item.type==='hr'}}"><view class="{{classPrefix}}-hr" data-index="{{i}}" bindtap="nodeClick"></view></block><block wx:elif="{{item.type==='codespan'}}"><view class="{{classPrefix}}-codespan {{classPrefix}}-inline" data-type="{{item.type}}" data-index="{{i}}" bindtap="nodeClick">{{''+(item.text||item.raw)+''}}</view></block><block wx:else><view class="{{classPrefix}}-raw {{classPrefix}}-inline" data-type="{{item.type}}" data-index="{{i}}" bindtap="nodeClick">{{''+(item.text||item.raw)+''}}</view></block></block>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.wxss b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.wxss
new file mode 100644
index 0000000..475b570
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-node/chat-markdown-node.wxss
@@ -0,0 +1 @@
+@import '../../common/style/index.wxss';
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.d.ts
new file mode 100644
index 0000000..b512a4d
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.d.ts
@@ -0,0 +1,17 @@
+import { SuperComponent, ComponentsOptionsType } from '../../../../components/common/src/index';
+export default class ChatMarkdownTable extends SuperComponent {
+    options: ComponentsOptionsType;
+    properties: {
+        node: {
+            type: ObjectConstructor;
+            value: {};
+        };
+    };
+    data: {
+        classPrefix: string;
+    };
+    methods: {
+        nodeClick(e: any): void;
+        getCareMarkdown(): any;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.js b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.js
new file mode 100644
index 0000000..4f093fc
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.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}-chat-markdown-table`,markdownName=`${prefix}-chat-markdown`;let ChatMarkdownTable=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.properties={node:{type:Object,value:{}}},this.data={classPrefix:name},this.methods={nodeClick(e){this.getCareMarkdown().triggerEvent("click",{event:e,node:this.data.node})},getCareMarkdown(){if(this.data.careMarkdown)return this.data.careMarkdown;for(this.setData({careMarkdown:this.selectOwnerComponent()});this.data.careMarkdown.__data__.name!==markdownName;this.setData({careMarkdown:this.data.careMarkdown.selectOwnerComponent()}));return this.data.careMarkdown}}}};ChatMarkdownTable=__decorate([wxComponent()],ChatMarkdownTable);export default ChatMarkdownTable;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.json b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.json
new file mode 100644
index 0000000..44ed952
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"chat-markdown-node":"../chat-markdown-node/chat-markdown-node"}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.wxml b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.wxml
new file mode 100644
index 0000000..ddd49cd
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.wxml
@@ -0,0 +1 @@
+<view class="{{classPrefix}}" bindtap="nodeClick"><view class="{{classPrefix}}__container"><view class="{{classPrefix}}__thead"><view class="{{classPrefix}}__tr"><block wx:for="{{node.header}}" wx:for-item="th" wx:for-index="j" wx:key="j"><view class="{{classPrefix}}__th" style="{{('text-align:'+node.align[j]||'left'+';')}}"><chat-markdown-node nodes="{{th.tokens}}"></chat-markdown-node></view></block></view></view><view class="{{classPrefix}}__tbody"><block wx:for="{{node.rows}}" wx:for-item="row" wx:for-index="k" wx:key="k"><view class="{{classPrefix}}__tr"><block wx:for="{{row}}" wx:for-item="cell" wx:for-index="l" wx:key="l"><view class="{{classPrefix}}__td" style="{{('text-align:'+node.align[l]||'left'+';')}}"><chat-markdown-node nodes="{{cell.tokens}}"></chat-markdown-node></view></block></view></block></view></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.wxss b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.wxss
new file mode 100644
index 0000000..5089c7c
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown-table/chat-markdown-table.wxss
@@ -0,0 +1,12 @@
+@import '../../common/style/index.wxss';.t-chat-markdown-table{width:100%;overflow-y:hidden;overflow-x:auto;border:1rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));}
+.t-chat-markdown-table__container{display:table;min-width:100%;max-width:max-content;border-collapse:collapse;white-space:nowrap;}
+.t-chat-markdown-table__thead{display:table-header-group;}
+.t-chat-markdown-table__tbody{display:table-row-group;}
+.t-chat-markdown-table__tr{display:table-row;border-bottom:1rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));}
+.t-chat-markdown-table__tr:last-child{border-bottom:none;}
+.t-chat-markdown-table__tr:nth-child(2n+1){background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));}
+.t-chat-markdown-table__tr:nth-child(2n){background-color:var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3));}
+.t-chat-markdown-table__th{display:table-cell;vertical-align:middle;background-color:var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3));padding:5rpx 10rpx;color:var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6)));border-right:1rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));}
+.t-chat-markdown-table__th:last-child{border-right:none;}
+.t-chat-markdown-table__td{display:table-cell;vertical-align:middle;padding:5rpx 10rpx;border-right:1rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));}
+.t-chat-markdown-table__td:last-child{border-right:none;}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.d.ts
new file mode 100644
index 0000000..9422743
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.d.ts
@@ -0,0 +1,22 @@
+import { SuperComponent, ComponentsOptionsType } from '../../../components/common/src/index';
+import { TdChatMarkdownProps } from './type';
+export interface ChatMarkdownProps extends TdChatMarkdownProps {
+}
+export default class ChatMarkdown extends SuperComponent {
+    options: ComponentsOptionsType;
+    properties: TdChatMarkdownProps;
+    data: {
+        classPrefix: string;
+        nodes: any[];
+        name: string;
+    };
+    observers: {
+        content: (markdown: string) => void;
+    };
+    methods: {
+        parseMarkdown(markdown: string): void;
+    };
+    lifetimes: {
+        attached(): void;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.js b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.js
new file mode 100644
index 0000000..0b4c9f8
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.js
@@ -0,0 +1 @@
+import{__decorate}from"tslib";import{Lexer}from"marked";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";const{prefix:prefix}=config,name=`${prefix}-chat-markdown`;let ChatMarkdown=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.properties=props,this.data={classPrefix:name,nodes:[],name:name},this.observers={content:function(o){this.parseMarkdown(o)}},this.methods={parseMarkdown(o){try{const t=new Lexer(this.data.options).lex(o);this.setData({nodes:t})}catch(t){console.error("Markdown parsing error:",t),this.setData({nodes:[{type:"text",raw:o,text:o}]})}}},this.lifetimes={attached(){}}}};ChatMarkdown=__decorate([wxComponent()],ChatMarkdown);export default ChatMarkdown;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.json b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.json
new file mode 100644
index 0000000..b740121
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"shared","usingComponents":{"chat-markdown-node":"./chat-markdown-node/chat-markdown-node"}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.wxml b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.wxml
new file mode 100644
index 0000000..6149adc
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.wxml
@@ -0,0 +1 @@
+<wxs src="../common/utils.wxs" module="_"/><view class="class {{classPrefix}} {{classPrefix}}--normal" style="{{_._style([style, customStyle])}}"><chat-markdown-node nodes="{{nodes}}"></chat-markdown-node></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.wxss b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.wxss
new file mode 100644
index 0000000..de26284
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/chat-markdown.wxss
@@ -0,0 +1,28 @@
+@import '../common/style/index.wxss';.t-chat-markdown{color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));word-wrap:break-word;word-break:break-word;line-height:1.75;}
+.t-chat-markdown-inline{display:inline;}
+.t-chat-markdown-p{-webkit-margin-before:var(--td-spacer-1,24rpx);margin-block-start:var(--td-spacer-1,24rpx);-webkit-margin-after:var(--td-spacer-1,24rpx);margin-block-end:var(--td-spacer-1,24rpx);}
+.t-chat-markdown-p:first-child{-webkit-margin-before:0;margin-block-start:0;}
+.t-chat-markdown-p:last-child{-webkit-margin-after:0;margin-block-end:0;}
+.t-chat-markdown-blockquote{padding:0 .75em;color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));background-color:var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3));border-left:4rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));margin-bottom:var(--td-spacer-1,24rpx);}
+.t-chat-markdown-h{font-size:1em;margin:var(--td-spacer-1,24rpx) 0;font-weight:700;}
+.t-chat-markdown-h1{font-size:2em;}
+.t-chat-markdown-h2{font-size:1.75em;}
+.t-chat-markdown-h3{font-size:1.5em;}
+.t-chat-markdown-h4{font-size:1.25em;}
+.t-chat-markdown-h5{font-size:1em;}
+.t-chat-markdown-h6{font-size:.75em;}
+.t-chat-markdown-em{font-style:italic;}
+.t-chat-markdown-strong{font-weight:700;}
+.t-chat-markdown-hr{height:6rpx;padding:0;margin:var(--td-spacer-1,24rpx) 0;background-color:var(--td-component-border,var(--td-gray-color-4,#dcdcdc));border:0;}
+.t-chat-markdown-list{display:block;padding:0;margin:0 0 var(--td-spacer,16rpx) 1.5em;}
+.t-chat-markdown-list__decimal{list-style-type:decimal;}
+.t-chat-markdown-list-item{display:list-item;margin-bottom:var(--td-spacer-1,24rpx);}
+.t-chat-markdown-link{color:var(--td-brand-color,var(--td-primary-color-7,#0052d9));}
+.t-chat-markdown-del{text-decoration:line-through;}
+.t-chat-markdown-codespan{padding:4rpx 8rpx;margin:0 4rpx;border-radius:8rpx;font-size:.8em;overflow-x:auto;background-color:var(--td-bg-color-page,var(--td-gray-color-1,#f3f3f3));border:1rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));}
+.t-chat-markdown .t-chat-markdown-table__container{display:table;width:100%;border-collapse:collapse;}
+.t-chat-markdown .t-chat-markdown-table__container-thead{display:table-header-group;}
+.t-chat-markdown .t-chat-markdown-table__container-tbody{display:table-row-group;}
+.t-chat-markdown .t-chat-markdown-table__container-tr{display:table-row;}
+.t-chat-markdown .t-chat-markdown-table__container-th{display:table-cell;vertical-align:middle;background-color:var(--td-bg-color-component,var(--td-gray-color-3,#e7e7e7));font-weight:700;padding:5rpx 10rpx;border:1rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));}
+.t-chat-markdown .t-chat-markdown-table__container-td{display:table-cell;vertical-align:middle;padding:5rpx 10rpx;border:1rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/index.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-markdown/index.d.ts
new file mode 100644
index 0000000..3cdf654
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/index.d.ts
@@ -0,0 +1,3 @@
+export * from './props';
+export * from './type';
+export * from './chat-markdown';
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/index.js b/miniprogram_npm/tdesign-miniprogram/chat-markdown/index.js
new file mode 100644
index 0000000..24e644f
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/index.js
@@ -0,0 +1 @@
+export*from"./props";export*from"./type";export*from"./chat-markdown";
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/props.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-markdown/props.d.ts
new file mode 100644
index 0000000..fa9221b
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/props.d.ts
@@ -0,0 +1,3 @@
+import { TdChatMarkdownProps } from './type';
+declare const props: TdChatMarkdownProps;
+export default props;
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/props.js b/miniprogram_npm/tdesign-miniprogram/chat-markdown/props.js
new file mode 100644
index 0000000..6e18e90
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/props.js
@@ -0,0 +1 @@
+const props={content:{type:String,value:"",required:!0},options:{type:Object,value:{gfm:!0,pedantic:!1,breaks:!0}}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/type.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-markdown/type.d.ts
new file mode 100644
index 0000000..5bc39cf
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/type.d.ts
@@ -0,0 +1,17 @@
+export interface TdChatMarkdownProps {
+    content: {
+        type: StringConstructor;
+        value?: string;
+        required?: boolean;
+    };
+    options?: {
+        type: ObjectConstructor;
+        value?: TdChatContentMDOptions;
+    };
+}
+export interface TdChatContentMDOptions {
+    gfm?: boolean;
+    pedantic?: boolean;
+    smartLists?: boolean;
+    breaks?: boolean;
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-markdown/type.js b/miniprogram_npm/tdesign-miniprogram/chat-markdown/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-markdown/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.d.ts
new file mode 100644
index 0000000..3b0b2a2
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.d.ts
@@ -0,0 +1,34 @@
+import { SuperComponent, ComponentsOptionsType } from '../../../components/common/src/index';
+export default class ChatMessage extends SuperComponent {
+    options: ComponentsOptionsType;
+    properties: import("./type").TdChatMessageProps;
+    data: {
+        classPrefix: string;
+        article: string;
+        showAvatar: any;
+        showName: any;
+        showDateTime: any;
+        contentClasses: any[];
+        chatItemClass: any[];
+    };
+    observers: {
+        avatar(): void;
+        name(): void;
+        datetime(): void;
+        classPrefix(): void;
+        'classPrefix, variant, placement, showDateTime'(): void;
+    };
+    methods: {
+        handleLongPress(e: any): void;
+        setShowAvatar(): void;
+        setShowName(): void;
+        setShowDateTime(): void;
+        setContentClasses(): void;
+        setChatItemClass(): void;
+    };
+    lifetimes: {
+        created(): void;
+        attached(): void;
+        detached(): void;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.js b/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.js
new file mode 100644
index 0000000..902cff8
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.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}-chat-message`;let ChatMessage=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.properties=props,this.data={classPrefix:name,article:"",showAvatar:null,showName:null,showDateTime:null,contentClasses:[],chatItemClass:[]},this.observers={avatar(){this.setShowAvatar()},name(){this.setShowName()},datetime(){this.setShowDateTime()},classPrefix(){this.setContentClasses()},"classPrefix, variant, placement, showDateTime"(){this.setChatItemClass()}},this.methods={handleLongPress(t){this.triggerEvent("message-longpress",{e:t,id:this.data.chatId,longPressPosition:{x:t.detail.x,y:t.detail.y}})},setShowAvatar(){var t;this.setData({showAvatar:(null===(t=this.properties)||void 0===t?void 0:t.avatar)||""})},setShowName(){var t;this.setData({showName:(null===(t=this.properties)||void 0===t?void 0:t.name)||""})},setShowDateTime(){var t;this.setData({showDateTime:(null===(t=this.properties)||void 0===t?void 0:t.datetime)||""})},setContentClasses(){this.setData({contentClasses:[`${this.data.classPrefix}__content`]})},setChatItemClass(){const{classPrefix:t,showDateTime:e}=this.data,{variant:s,role:a,placement:i}=this.properties,o=[`${t}`,`${t}--${s}`,a,i];e&&o.push(`${t}__header`),this.setData({chatItemClass:o})}},this.lifetimes={created(){this.data.handleLongPress=this.handleLongPress.bind(this)},attached(){this.setShowAvatar(),this.setShowName(),this.setShowDateTime(),this.setContentClasses(),this.setChatItemClass()},detached(){}}}};ChatMessage=__decorate([wxComponent()],ChatMessage);export default ChatMessage;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.json b/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.json
new file mode 100644
index 0000000..896ee6d
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"shared","usingComponents":{"chat-content":"../chat-content/chat-content","chat-thinking":"../chat-thinking/chat-thinking","chat-loading":"../chat-loading/chat-loading","attachments":"../attachments/attachments"}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.wxml b/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.wxml
new file mode 100644
index 0000000..881a0aa
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.wxml
@@ -0,0 +1 @@
+<wxs src="../common/utils.wxs" module="_"/><view class="class {{chatItemClass}}" style="{{_._style([style, customStyle])}}" bindlongpress="handleLongPress"><view class="{{classPrefix}}__avatar"><slot name="avatar"/><block wx:if="{{avatar}}"><image src="{{avatar}}" class="{{classPrefix}}__avatar-image"></image></block></view><view class="{{contentClasses}}"><view class="{{classPrefix}}__base"><slot name="name"/><text wx:if="{{showName}}" class="{{classPrefix}}__name">{{name}}</text><text wx:if="{{datetime}}" class="{{classPrefix}}__time">{{datetime}}</text></view><block wx:if="{{status === 'pending'}}"><view style="width: 100%"><chat-loading animation="{{animation}}"></chat-loading></view></block><block wx:else><view class="{{classPrefix}}__detail"><block wx:if="{{content.length > 0}}"><block wx:for="{{content}}" wx:key="index"><attachments wx:if="{{item.type === 'attachment' && role === 'user'}}" items="{{item.data}}" removable="{{false}}" inChat="{{true}}"></attachments><chat-thinking wx:if="{{item.type === 'thinking'}}" content="{{item.data}}" role="{{role}}" status="{{status}}"></chat-thinking><chat-content wx:elif="{{item.type === 'text' || item.type === 'markdown'}}" content="{{item}}" role="{{role}}" status="{{status}}"></chat-content></block></block><block wx:else><slot name="content"/></block></view></block><view wx:if="{{role === 'assistant'}}" class="{{classPrefix}}__actionbar"><slot name="actionbar"></slot></view></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.wxss b/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.wxss
new file mode 100644
index 0000000..b2d67a7
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-message/chat-message.wxss
@@ -0,0 +1,43 @@
+@import '../common/style/index.wxss';.t-chat-list__content--reverse .t-chat-message{-webkit-transform:scaleY(-1);transform:scaleY(-1);}
+.t-attachments+.t-chat-content:not(:empty),.t-chat-thinking+.t-chat-content:not(:empty){margin-top:24rpx;}
+.t-chat-message{display:flex;margin-bottom:var(--td-spacer-2,32rpx);}
+.t-chat-message .t-chat-message__avatar{flex:0 0 auto;padding-top:0rpx;}
+.t-chat-message .t-chat-message__content{flex:1 1 auto;width:1%;}
+.t-chat-message .t-chat-message__content--base{padding-top:var(--td-spacer-3,48rpx);}
+.t-chat-message .t-chat-message__detail{max-width:100%;box-sizing:border-box;display:contents;}
+.t-chat-message__header .t-chat-message__avatar{padding-top:calc(44rpx + var(--td-spacer,16rpx));}
+.t-chat-message__header .t-chat-message__avatar:empty{padding-top:0;}
+.t-chat-message.user .t-chat-message__base{padding-right:var(--td-spacer-2,32rpx);}
+.t-chat-message.assistant .t-chat-message__base{padding-left:var(--td-spacer-2,32rpx);}
+.t-chat-message.error .t-chat-message__base{padding-left:var(--td-spacer-2,32rpx);}
+.t-chat-message.error .t-chat-message__text--error{color:var(--td-error-color-6,#d54941);}
+.t-chat-message.left{display:flex;flex-direction:row;}
+.t-chat-message.left .t-chat-message__content{align-items:flex-start;}
+.t-chat-message.left .t-chat-message__base{padding-left:var(--td-spacer-2,32rpx);}
+.t-chat-message.right{display:flex;flex-direction:row-reverse;}
+.t-chat-message.right .t-chat-message__content{align-items:flex-end;}
+.t-chat-message.right .t-chat-message__base{padding-right:var(--td-spacer-2,32rpx);}
+.t-chat-message.right .t-chat-message__avatar{margin-left:var(--td-spacer-1,24rpx);margin-right:0;}
+.t-chat-message.right .t-chat-message__avatar:empty{margin-left:0;}
+.t-chat-message__avatar{flex-shrink:0;cursor:pointer;display:flex;margin-right:var(--td-spacer-1,24rpx);padding-top:calc(44rpx + var(--td-spacer,16rpx));}
+.t-chat-message__avatar:empty{padding-top:0;margin-right:0;}
+.t-chat-message__avatar-image{width:var(--td-spacer-4,64rpx);height:var(--td-spacer-4,64rpx);border-radius:var(--td-radius-circle,50%);}
+.t-chat-message__content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;font:var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
+.t-chat-message__content .t-skeleton{width:100%;}
+.t-chat-message__base{display:flex;justify-content:flex-start;align-items:center;height:44rpx;font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));color:var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4)));margin-bottom:var(--td-spacer,16rpx);}
+.t-chat-message__base:empty{height:0;margin-bottom:0;}
+.t-chat-message__name{padding-right:var(--td-spacer,16rpx);cursor:pointer;}
+.t-chat-message--text .t-chat-content__assistant,.t-chat-message--text .t-chat-content__user{color:var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6)));}
+.t-chat-message--base .t-chat-content{padding:24rpx 32rpx;background-color:var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3));border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
+.t-chat-message--base.assistant .t-chat-content{border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);background-color:transparent;padding:0;}
+.t-chat-message--base.user .t-chat-content{border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
+.t-chat-message--base.left .t-chat-content{border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
+.t-chat-message--base.right .t-chat-content{border-radius:var(--td-radius-extraLarge,24rpx) 0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
+.t-chat-message--outline .t-chat-content{padding:24rpx 32rpx;border:1rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
+.t-chat-message--outline.assistant .t-chat-content{border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
+.t-chat-message--outline.user .t-chat-content{border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
+.t-chat-message--outline.left .t-chat-content{border-radius:0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
+.t-chat-message--outline.right .t-chat-content{border-radius:var(--td-radius-extraLarge,24rpx) 0 var(--td-radius-extraLarge,24rpx) var(--td-radius-extraLarge,24rpx);}
+.t-chat-message--base.right .t-attachments__scrollable,.t-chat-message--outline.right .t-attachments__scrollable,.t-chat-message--text.right .t-attachments__scrollable{justify-content:flex-end;}
+.t-chat-message__actionbar{--chat-actionbar-padding:var(--td-spacer-1, 24rpx) 0 0 0;}
+.t-chat-message__actionbar:empty{display:none;}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-message/index.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-message/index.d.ts
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-message/index.d.ts
@@ -0,0 +1 @@
+
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-message/index.js b/miniprogram_npm/tdesign-miniprogram/chat-message/index.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-message/index.js
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-message/props.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-message/props.d.ts
new file mode 100644
index 0000000..ac30e11
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-message/props.d.ts
@@ -0,0 +1,3 @@
+import { TdChatMessageProps } from './type';
+declare const props: TdChatMessageProps;
+export default props;
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-message/props.js b/miniprogram_npm/tdesign-miniprogram/chat-message/props.js
new file mode 100644
index 0000000..e8bcf9a
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-message/props.js
@@ -0,0 +1 @@
+const props={animation:{type:String,value:"skeleton"},avatar:{type:String},chatContentProps:{type:Object},chatId:{type:String,value:""},content:{type:Array},datetime:{type:String,value:""},name:{type:String},placement:{type:String},role:{type:String,value:"user"},status:{type:String},variant:{type:String,value:"base"}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-message/type.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-message/type.d.ts
new file mode 100644
index 0000000..d740747
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-message/type.d.ts
@@ -0,0 +1,63 @@
+import { ChatContentProps } from '../chat-content/index';
+import { FileItem } from '../attachments/index';
+export interface TdChatMessageProps {
+    animation?: {
+        type: StringConstructor;
+        value?: 'skeleton' | 'moving' | 'gradient' | 'dots';
+    };
+    avatar?: {
+        type: StringConstructor;
+        value?: string;
+    };
+    chatContentProps?: {
+        type: ObjectConstructor;
+        value?: ChatContentProps;
+    };
+    chatId?: {
+        type: StringConstructor;
+        value?: string;
+    };
+    content?: {
+        type: ArrayConstructor;
+        value?: ChatMessageContent[];
+    };
+    datetime?: {
+        type: StringConstructor;
+        value?: string;
+    };
+    name?: {
+        type: StringConstructor;
+        value?: string;
+    };
+    placement?: {
+        type: StringConstructor;
+        value?: 'left' | 'right';
+    };
+    role?: {
+        type: StringConstructor;
+        value?: 'user' | 'assistant' | 'system';
+    };
+    status?: {
+        type: StringConstructor;
+        value?: 'pending' | 'streaming' | 'complete' | 'stop' | 'error';
+    };
+    variant?: {
+        type: StringConstructor;
+        value?: 'base' | 'outline' | 'text';
+    };
+}
+export declare type ChatMessageContent = TextContent | MarkdownContent | ThinkingContent | AttachmentContent;
+export declare type AttachmentContent = ChatBaseContent<'attachment', FileItem[]>;
+export declare type ThinkingContent = ChatBaseContent<'thinking', ThinkingContentData>;
+export declare type MarkdownContent = ChatBaseContent<'markdown', string>;
+export declare type TextContent = ChatBaseContent<'text', string>;
+export interface ThinkingContentData {
+    title?: string;
+    text: string;
+}
+export interface ChatBaseContent<T extends ChatContentType, TData> {
+    type: T;
+    data: TData;
+}
+export declare type ChatMessageStatus = 'pending' | 'streaming' | 'complete' | 'stop' | 'error';
+export declare type ChatContentType = 'text' | 'markdown' | 'thinking' | 'attachment';
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-message/type.js b/miniprogram_npm/tdesign-miniprogram/chat-message/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-message/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.d.ts
new file mode 100644
index 0000000..ebc5dc2
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.d.ts
@@ -0,0 +1,65 @@
+import { SuperComponent } from '../../../components/common/src/index';
+export default class ChatSender extends SuperComponent {
+    behaviors: string[];
+    options: {
+        multipleSlots: boolean;
+    };
+    properties: import("./type").TdChatSenderProps;
+    data: {
+        classPrefix: string;
+        scrollViewTop: number;
+        focusFlag: boolean;
+        isSending: boolean;
+        inputStyle: string;
+        originalMarginBottom: number;
+        files: any[];
+        uploadPlacement: string;
+        uploadConfig: {
+            uploadCamera: {
+                iconClass: string;
+                text: string;
+                handler: string;
+                handlerArg: string;
+            };
+            uploadImage: {
+                iconClass: string;
+                text: string;
+                handler: string;
+                handlerArg: string;
+            };
+            uploadAttachment: {
+                iconClass: string;
+                text: string;
+                handler: string;
+                handlerArg: string;
+            };
+        };
+        uploadNames: any[];
+    };
+    observers: {
+        fileList(newVal: any): void;
+        renderPresets(newVal: any): void;
+    };
+    methods: {
+        onkeyboardheightchange(e: any): void;
+        handleSendClick(e: any): void;
+        handleOutsideClick(): void;
+        sendClick(e: any): void;
+        handleStop(e: any): void;
+        handlerClick(): void;
+        focusFn(e: any): void;
+        blurFn(e: any): void;
+        textChange(e: any): void;
+        handleUploadClick(e: any): void;
+        handleFileClick(e: any): void;
+        handleFileRemove(e: any): void;
+        handleImageUpload(e: any): Promise<void>;
+        handleWechatFileUpload(e: any): Promise<void>;
+        handleUploadEntryClick(e: any): void;
+    };
+    lifetimes: {
+        created(): void;
+        attached(): void;
+        detached(): void;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.js b/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.js
new file mode 100644
index 0000000..9f09327
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.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 usingConfig from"../mixins/using-config";const{prefix:prefix}=config,componentName="chat-sender";let ChatSender=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[usingConfig({componentName:"chat-sender"})],this.options={multipleSlots:!0},this.properties=props,this.data={classPrefix:`${prefix}-chat-sender`,scrollViewTop:0,focusFlag:!1,isSending:!1,inputStyle:"",originalMarginBottom:12,files:[],uploadPlacement:"bottom",uploadConfig:{uploadCamera:{iconClass:"camera",text:"鎷嶆憚",handler:"handleImageUpload",handlerArg:"camera"},uploadImage:{iconClass:"image",text:"鍥剧墖",handler:"handleImageUpload",handlerArg:"album"},uploadAttachment:{iconClass:"file-add",text:"鏂囦欢",handler:"handleWechatFileUpload",handlerArg:"attachment"}},uploadNames:[]},this.observers={fileList(t){this.setData({files:t?JSON.parse(JSON.stringify(t)):[]})},renderPresets(t){const e=t.find(t=>Array.isArray(t.presets));this.setData({uploadNames:e?e.presets:[]})}},this.methods={onkeyboardheightchange(t){if(this.triggerEvent("keyboardheightchange",t.detail),!this.data.autoRiseWithKeyboard)return;const e=t.detail.height;if(e>0){const t=e+this.data.originalMarginBottom;this.setData({inputStyle:`margin-bottom: ${t}px;`})}else this.setData({inputStyle:""})},handleSendClick(t){this.data.loading?this.handleStop(t):this.sendClick(t)},handleOutsideClick(){this.triggerEvent("updatevisible",!1)},sendClick(t){this.data.value&&!this.data.disabled&&this.triggerEvent("send",{value:this.data.value,e:t})},handleStop(t){this.triggerEvent("stop",{value:this.data.value,e:t},{bubbles:!1})},handlerClick(){this.data.disabled?this.setData({focusFlag:!1}):this.setData({focusFlag:!0})},focusFn(t){this.setData({focusFlag:!0}),this.triggerEvent("focus",{value:t.detail.value,context:t})},blurFn(t){this.setData({focusFlag:!1}),this.triggerEvent("blur",{value:t.detail.value,context:t})},textChange(t){this.setData({value:t.detail.value}),this.triggerEvent("change",{value:t.detail.value,context:t})},handleUploadClick(t){const{status:e}=t.currentTarget.dataset;this.triggerEvent("uploadClick"),this.data.disabled||"disabled"===e||this.triggerEvent("updateVisible",!this.data.visible)},handleFileClick(t){const{item:e}=t.detail;this.triggerEvent("fileClick",{file:e})},handleFileRemove(t){if(!Array.isArray(this.data.files))return;const{item:e,index:i}=t.detail;this.triggerEvent("fileDelete",{file:e});const a=[...this.data.files];a.splice(i,1),this.setData({files:a}),this.triggerEvent("fileChange",{files:a})},handleImageUpload(t){return __awaiter(this,void 0,void 0,function*(){const{type:e}=t.currentTarget.dataset,i=[e];try{const a=yield wx.chooseImage({count:1,sizeType:["original","compressed"],sourceType:i});if(a.tempFilePaths&&a.tempFilePaths.length>0){const i=a.tempFilePaths.map(t=>({url:t,name:t,size:0,fileType:"image"})),s="album"===e?"uploadImage":"uploadCamera";this.triggerEvent("fileSelect",{e:t,name:s,files:i});const l=[...this.data.files,...i];this.setData({files:l}),this.triggerEvent("fileChange",{files:l})}}catch(t){wx.showToast({title:"album"===e?"閫夋嫨鍥剧墖澶辫触":"鎷嶇収澶辫触",icon:"none"})}finally{this.triggerEvent("updatevisible",!1)}})},handleWechatFileUpload(t){return __awaiter(this,void 0,void 0,function*(){try{const e=yield wx.chooseMessageFile({count:5,type:"all"});if(e.tempFiles&&e.tempFiles.length>0){const i=e.tempFiles.map(t=>Object.assign(Object.assign({},t),{url:t.path})),a=[...this.data.files,...i];this.setData({files:a}),this.triggerEvent("fileSelect",{e:t,name:"uploadAttachment",files:i}),this.triggerEvent("fileChange",{files:a})}}catch(t){wx.showToast({title:"閫夋嫨寰俊鏂囦欢澶辫触",icon:"none"})}finally{this.triggerEvent("updatevisible",!1)}})},handleUploadEntryClick(t){const{name:e}=t.currentTarget.dataset,i=this.data.uploadConfig[e];i&&this[i.handler]&&this[i.handler]({currentTarget:{dataset:{type:i.handlerArg}}})}},this.lifetimes={created(){this.data.onkeyboardheightchange=this.onkeyboardheightchange.bind(this),this.data.handleSendClick=this.handleSendClick.bind(this),this.data.handleOutsideClick=this.handleOutsideClick.bind(this),this.data.sendClick=this.sendClick.bind(this),this.data.handleStop=this.handleStop.bind(this),this.data.handlerClick=this.handlerClick.bind(this),this.data.focusFn=this.focusFn.bind(this),this.data.blurFn=this.blurFn.bind(this),this.data.textChange=this.textChange.bind(this),this.data.handleUploadClick=this.handleUploadClick.bind(this),this.data.handleFileClick=this.handleFileClick.bind(this),this.data.handleFileRemove=this.handleFileRemove.bind(this),this.data.handleImageUpload=this.handleImageUpload.bind(this),this.data.handleWechatFileUpload=this.handleWechatFileUpload.bind(this),this.data.handleUploadEntryClick=this.handleUploadEntryClick.bind(this)},attached(){},detached(){}}}};ChatSender=__decorate([wxComponent()],ChatSender);export default ChatSender;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.json b/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.json
new file mode 100644
index 0000000..8986997
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"../icon/icon","attachments":"../attachments/attachments"}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.wxml b/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.wxml
new file mode 100644
index 0000000..720150f
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.wxml
@@ -0,0 +1,2 @@
+<wxs src="./chat-sender.wxs" module="_this"/><view class="class {{classPrefix}}" style="{{_this._style([style, customStyle, inputStyle])}}" bindtap="handleOutsideClick"><view class="{{classPrefix}}__header" style="{{(attachmentsProps.items && attachmentsProps.items.length > 0)?'margin-top:-8rpx;':''}}"><block wx:if="{{attachmentsProps.items && attachmentsProps.items.length > 0}}"><view class="{{classPrefix}}__attachments"><attachments items="{{attachmentsProps.items}}" removable="{{attachmentsProps.removable}}" imageViewer="{{attachmentsProps.imageViewer}}" bind:fileClick="handleFileClick" bind:remove="handleFileRemove"></attachments></view></block><block wx:else><slot name="header"/></block></view><view class="{{classPrefix}}__actions"><view class="{{classPrefix}}__textarea"><slot name="input-prefix"/><textarea class="{{classPrefix}}__textarea--control" style="{{_this.textareaStyle(textareaProps.autosize)}}" disabled="{{disabled}}" auto-height="{{!!textareaProps.autosize}}" confirm-type="send" adjust-position="{{adjustPosition}}" disable-default-padding="{{false}}" cursor-spacing="30" maxlength="-1" value="{{value}}" bindchange="textChange" bindfocus="focusFn" bindblur="blurFn" bindtap="handlerClick" bindinput="textChange" bindkeyboardheightchange="onkeyboardheightchange" bindconfirm="handleSendClick">
+      </textarea><view class="{{classPrefix}}__textarea--placeholder {{focusFlag || value ? 'hide' : ''}}">{{placeholder || globalConfig.placeholder}}</view></view><view class="{{classPrefix}}__footer"><view class="{{classPrefix + '__mode'}}"><slot name="footer-prefix"/></view><view class="{{classPrefix}}__sendbtn"><block wx:if="{{renderPresets}}"><view class="{{classPrefix}}__sendbtn--default"><block wx:for="{{renderPresets}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view><block wx:if="{{item.name === 'upload'}}"><view class="plus-btn {{item.status === 'disabled' ? 'disabled' : ''}}"><block><view class="btn-func" data-status="{{item.status}}" catchtap="handleUploadClick"><t-icon name="{{visible? 'close' : 'add'}}" size="40rpx"/></view></block></view></block><block wx:if="{{item.name === 'send'}}"><block wx:if="{{item.type === 'text'}}"><view class="send-btn-{{item.type}} {{value || loading ? 'active' : 'disabled'}}" bindtap="handleSendClick">{{loading ? globalConfig.sendText : globalConfig.stopText}}</view></block><block wx:else><view class="send-btn-icon send-btn-{{item.type}} {{value || loading ? 'active' : 'disabled'}} {{loading ? 'stop' : ''}}" bindtap="handleSendClick"><block wx:if="{{!loading}}"><t-icon name="send-filled" size="32rpx"/></block><block wx:else><view style="width: 24rpx; height: 24rpx; background-color: #ffffff"/></block></view></block></block></view></block></view></block><block wx:else><slot name="suffix"/></block></view></view></view></view><view wx:if="{{visible}}" class="{{classPrefix}}__upload" catchtap="handleUploadClick"><block wx:for="{{uploadNames}}" wx:for-item="name" wx:for-index="index" wx:key="index"><view class="{{classPrefix}}__upload-item" data-name="{{name}}" bindtap="handleUploadEntryClick"><view class="{{classPrefix}}__upload-item__icon"><t-icon name="{{uploadConfig[name].iconClass}}" size="56rpx"/></view><view class="{{classPrefix}}__upload-item__text">{{uploadConfig[name].text}}</view></view></block></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.wxs b/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.wxs
new file mode 100644
index 0000000..f03c3f1
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.wxs
@@ -0,0 +1,25 @@
+var utils = require('../common/utils.wxs');
+
+function textareaStyle(autosize) {
+  if (autosize && autosize.constructor === 'Object') {
+    return utils._style({
+      'min-height': addUnit(autosize.minHeight),
+      'max-height': addUnit(autosize.maxHeight),
+    });
+  }
+  return '';
+}
+
+function addUnit(value) {
+  // prettier-ignore
+  var REGEXP = getRegExp('^-?\d+(.\d+)?$');
+  if (value == null) {
+    return undefined;
+  }
+  return REGEXP.test('' + value) ? value + 'rpx' : value;
+}
+
+module.exports = {
+  textareaStyle: textareaStyle,
+  _style: utils._style,
+};
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.wxss b/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.wxss
new file mode 100644
index 0000000..70e15cb
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-sender/chat-sender.wxss
@@ -0,0 +1,26 @@
+@import '../common/style/index.wxss';.t-chat-sender{position:relative;border-radius:32rpx;padding:22rpx 0;border:2rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));box-sizing:border-box;margin:24rpx 24rpx 80rpx 24rpx;box-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));transition:margin-bottom .3s ease;background-color:var(--td-bg-color-specialcomponent,#fff);}
+.t-chat-sender__header{padding-bottom:16rpx;width:100%;overflow:hidden;}
+.t-chat-sender__header:empty{display:none;}
+.t-chat-sender__attachments{padding:0 24rpx;}
+.t-chat-sender__actions{position:relative;display:flex;flex-direction:column;padding:0 24rpx;}
+.t-chat-sender__textarea{position:relative;flex:1;padding-bottom:16rpx;max-height:280rpx;}
+.t-chat-sender__textarea--control{max-height:264rpx;display:block;width:100%;color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));font:var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));word-break:break-word;caret-color:var(--td-brand-color,var(--td-primary-color-7,#0052d9));letter-spacing:5%;padding-bottom:16rpx;}
+.t-chat-sender__textarea--placeholder{color:var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26)));font:var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));position:absolute;left:0;top:0;transform:translateY(1%);z-index:1;pointer-events:none;opacity:1;transition:opacity .25s linear;}
+.t-chat-sender__textarea--placeholder.hide{opacity:0;}
+.t-chat-sender__footer{display:flex;justify-content:space-between;position:relative;z-index:2;}
+.t-chat-sender__upload{display:flex;margin-top:-40rpx;margin-bottom:24rpx;align-items:center;justify-content:flex-start;transition:all .3s ease;}
+.t-chat-sender__upload-item{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8rpx;flex-shrink:0;flex-grow:1;color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));}
+.t-chat-sender__upload-item__icon{width:96rpx;height:96rpx;border-radius:var(--td-radius-default,12rpx);margin-bottom:16rpx;background-color:var(--td-bg-color-secondarycontainer,var(--td-gray-color-1,#f3f3f3));display:flex;align-items:center;justify-content:center;}
+.t-chat-sender__upload-item__text{font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
+.t-chat-sender__sendbtn{display:flex;align-items:center;justify-content:center;}
+.t-chat-sender__sendbtn--default{display:flex;align-items:center;justify-content:center;}
+.t-chat-sender__sendbtn--default .plus-btn{color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));}
+.t-chat-sender__sendbtn--default .plus-btn .btn-icon{display:block;}
+.t-chat-sender__sendbtn--default .plus-btn.disabled{pointer-events:none;opacity:.24;}
+.t-chat-sender__sendbtn--default .plus-btn.disabled .btn-func:after{background:#c9ccd2;}
+.t-chat-sender__sendbtn--default .send-btn-text{color:var(--td-brand-color,var(--td-primary-color-7,#0052d9));}
+.t-chat-sender__sendbtn--default .send-btn-text.disabled{color:var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26)));}
+.t-chat-sender__sendbtn--default .send-btn-icon{color:var(--td-bg-color-container,var(--td-font-white-1,#fff));width:64rpx;height:64rpx;margin-left:16rpx;border-radius:999rpx;background-color:var(--td-brand-color,var(--td-primary-color-7,#0052d9));display:flex;align-items:center;justify-content:center;transform:rotate(-90deg);transition:all .3s ease;}
+.t-chat-sender__sendbtn--default .send-btn-icon.active{color:var(--td-text-color-anti,var(--td-font-white-1,#fff));}
+.t-chat-sender__sendbtn--default .send-btn-icon.disabled{background-color:var(--td-bg-color-secondarycomponent,var(--td-gray-color-4,#dcdcdc));color:var(--td-bg-color-container,var(--td-font-white-1,#fff));}
+.t-chat-sender .btn-func{width:58rpx;height:58rpx;position:relative;z-index:2;background-color:var(--td-bg-color-container,var(--td-font-white-1,#fff));border-radius:999rpx;border:2rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));display:flex;justify-content:center;align-items:center;}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-sender/props.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-sender/props.d.ts
new file mode 100644
index 0000000..9dccc5d
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-sender/props.d.ts
@@ -0,0 +1,3 @@
+import { TdChatSenderProps } from './type';
+declare const props: TdChatSenderProps;
+export default props;
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-sender/props.js b/miniprogram_npm/tdesign-miniprogram/chat-sender/props.js
new file mode 100644
index 0000000..1519083
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-sender/props.js
@@ -0,0 +1 @@
+const props={adjustPosition:{type:Boolean,value:!1},attachmentsProps:{type:Object},autoRiseWithKeyboard:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1},fileList:{type:Array,value:[]},loading:{type:Boolean,value:!1},placeholder:{type:String,value:""},renderPresets:{type:Array,value:[{name:"upload",presets:["uploadCamera","uploadImage","uploadAttachment"],status:""},{name:"send",type:"icon"}]},textareaProps:{type:null,value:{autosize:{maxHeight:264,minHeight:48}}},value:{type:String,value:""},visible:{type:Boolean,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-sender/type.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-sender/type.d.ts
new file mode 100644
index 0000000..32d4322
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-sender/type.d.ts
@@ -0,0 +1,58 @@
+import { AttachmentsProps, FileItem } from '../attachments/index';
+export interface TdChatSenderProps {
+    adjustPosition?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    attachmentsProps?: {
+        type: ObjectConstructor;
+        value?: AttachmentsProps;
+    };
+    autoRiseWithKeyboard?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    disabled?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    fileList?: {
+        type: ArrayConstructor;
+        value?: FileItem[];
+    };
+    loading?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    placeholder?: {
+        type: StringConstructor;
+        value?: string;
+    };
+    renderPresets?: {
+        type: ArrayConstructor;
+        value?: ChatActionButtons;
+    };
+    textareaProps?: {
+        type: null;
+        value?: boolean | object;
+    };
+    value?: {
+        type: StringConstructor;
+        value?: string;
+    };
+    visible?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+}
+export declare type ChatActionButtons = Array<ChatActionButton>;
+export declare type ChatActionButton = UploadButton | SendButton;
+export interface UploadButton {
+    name: 'upload';
+    presets: string[];
+    status?: string;
+}
+export interface SendButton {
+    name: 'send';
+    type: 'icon' | 'text';
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-sender/type.js b/miniprogram_npm/tdesign-miniprogram/chat-sender/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-sender/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.d.ts
new file mode 100644
index 0000000..226667f
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.d.ts
@@ -0,0 +1,26 @@
+import { SuperComponent } from '../../../components/common/src/index';
+export default class ChatThinking extends SuperComponent {
+    behaviors: string[];
+    options: {
+        multipleSlots: boolean;
+    };
+    properties: import("./type").TdChatThinkingProps;
+    data: {
+        localCollapsed: boolean;
+        contentStyle: string;
+        classPrefix: string;
+    };
+    observers: {
+        maxHeight(): void;
+        collapsed(val: boolean): void;
+    };
+    methods: {
+        handleCollapse(): void;
+        setContentStyle(): void;
+    };
+    lifetimes: {
+        created(): void;
+        attached(): void;
+        detached(): void;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.js b/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.js
new file mode 100644
index 0000000..342eca9
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.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 usingConfig from"../mixins/using-config";const{prefix:prefix}=config,componentName="chat-thinking";let ChatThinking=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[usingConfig({componentName:componentName})],this.options={multipleSlots:!0},this.properties=props,this.data={localCollapsed:!1,contentStyle:"",classPrefix:`${prefix}-${componentName}`},this.observers={maxHeight(){this.setContentStyle()},collapsed(t){this.setData({localCollapsed:t})}},this.methods={handleCollapse(){this.setData({localCollapsed:!this.data.localCollapsed}),this.triggerEvent("collapsedChange",this.data.localCollapsed)},setContentStyle(){this.data.maxHeight?this.setData({contentStyle:`max-height: ${this.data.maxHeight}px;`}):this.setData({contentStyle:""})}},this.lifetimes={created(){this.data.handleCollapse=this.handleCollapse.bind(this)},attached(){this.setData({localCollapsed:this.properties.collapsed}),this.setContentStyle()},detached(){}}}};ChatThinking=__decorate([wxComponent()],ChatThinking);export default ChatThinking;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.json b/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.json
new file mode 100644
index 0000000..f71ffc8
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-chat-loading":"../chat-loading/chat-loading","t-icon":"../icon/icon"}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.wxml b/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.wxml
new file mode 100644
index 0000000..26317db
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.wxml
@@ -0,0 +1 @@
+<wxs src="../common/utils.wxs" module="_"/><view class="class {{classPrefix}}" style="{{_._style([style, customStyle])}}"><view class="{{_.cls(classPrefix + '__inner', [layout])}}"><view class="{{classPrefix}}__hd"><block wx:if="{{status === 'error' || status === 'complete' || status === 'stop'}}"><t-icon class="{{_.cls(classPrefix + '__icon', [status])}}" name="{{ status === 'error' ? 'close-circle' : 'check-circle'}}"/></block><block wx:else><t-chat-loading animation="{{animation}}"></t-chat-loading></block><view class="{{classPrefix}}__txt">{{content.title || globalConfig.status[status]}}</view><view data-event-opts="{{[['tap',[['handleCollapse',['$event']]]]]}}"><t-icon style="{{localCollapsed ? 'transform: rotate(180deg)' : ''}}" class="{{_.cls(classPrefix + '__icon', [['collapse', true]])}}" name="chevron-up" bindtap="handleCollapse"/></view></view><view hidden="{{!(!localCollapsed)}}" class="{{_.cls(classPrefix + '__bd', [layout])}}"><block wx:if="{{content.text}}" class="{{_.cls(classPrefix + '__bd__inner')}}">{{content.text}}</block><slot wx:else name="content"/></view></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.wxss b/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.wxss
new file mode 100644
index 0000000..146b68d
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-thinking/chat-thinking.wxss
@@ -0,0 +1,22 @@
+@import '../common/style/index.wxss';.t-chat-thinking{width:100%;box-sizing:border-box;}
+.t-chat-thinking__inner--block{background-color:var(--td-bg-color-page,var(--td-gray-color-1,#f3f3f3));border-radius:var(--td-radius-default,12rpx);padding:var(--td-spacer,16rpx) var(--td-spacer-1,24rpx);}
+.t-chat-thinking__inner--border{padding:var(--td-spacer,16rpx) var(--td-spacer-1,24rpx);}
+.t-chat-thinking__hd{height:48rpx;overflow:hidden;display:flex;align-items:center;}
+.t-chat-thinking__hd .t-chat-thinking__icon{font-size:var(--td-font-size-xl,40rpx);}
+.t-chat-thinking__hd .t-chat-thinking__icon--close{color:var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6)));}
+.t-chat-thinking__hd .t-chat-thinking__icon--complete,.t-chat-thinking__hd .t-chat-thinking__icon--stop{color:var(--td-success-color,var(--td-success-color-5,#2ba471));}
+.t-chat-thinking__hd .t-chat-thinking__icon--collapse{color:var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6)));transition:transform .3s ease-in-out;}
+.t-chat-thinking__hd .t-chat-thinking__txt{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:32rpx;flex:1;margin-left:var(--td-spacer,16rpx);}
+.t-chat-thinking__bd{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:170%;margin-top:var(--td-spacer-1,24rpx);overflow-y:auto;}
+.t-chat-thinking__bd__inner{white-space:pre-wrap;}
+.t-chat-thinking__bd--border{border-left:4rpx solid var(--td-component-stroke,var(--td-gray-color-3,#e7e7e7));padding-left:var(--td-spacer,16rpx);}
+@keyframes scale{
+0%{transform:scale(1.333) translateY(-50%);}
+33%{transform:scale(1.333) translateY(-50%);}
+34%{transform:scale(1) translateY(-50%);}
+100%{transform:scale(1) translateY(-50%);}}
+@-webkit-keyframes scale{
+0%{-webkit-transform:scale(1.333) translateY(-50%);transform:scale(1.333) translateY(-50%);}
+33%{-webkit-transform:scale(1.333) translateY(-50%);transform:scale(1.333) translateY(-50%);}
+34%{-webkit-transform:scale(1) translateY(-50%);transform:scale(1) translateY(-50%);}
+100%{-webkit-transform:scale(1) translateY(-50%);transform:scale(1) translateY(-50%);}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-thinking/props.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-thinking/props.d.ts
new file mode 100644
index 0000000..d9f34cb
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-thinking/props.d.ts
@@ -0,0 +1,3 @@
+import { TdChatThinkingProps } from './type';
+declare const props: TdChatThinkingProps;
+export default props;
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-thinking/props.js b/miniprogram_npm/tdesign-miniprogram/chat-thinking/props.js
new file mode 100644
index 0000000..ae1e981
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-thinking/props.js
@@ -0,0 +1 @@
+const props={animation:{type:String,value:"moving"},collapsed:{type:Boolean,value:!1},content:{type:Object,required:!0},layout:{type:String,value:"block"},maxHeight:{type:Number},status:{type:String,value:"pending",required:!0}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-thinking/type.d.ts b/miniprogram_npm/tdesign-miniprogram/chat-thinking/type.d.ts
new file mode 100644
index 0000000..b51ed25
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-thinking/type.d.ts
@@ -0,0 +1,31 @@
+export interface TdChatThinkingProps {
+    animation?: {
+        type: StringConstructor;
+        value?: 'skeleton' | 'moving' | 'gradient' | 'dot';
+    };
+    collapsed?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    content: {
+        type: ObjectConstructor;
+        value?: {
+            text?: string;
+            title?: string;
+        };
+        required?: boolean;
+    };
+    layout?: {
+        type: StringConstructor;
+        value?: 'block' | 'border';
+    };
+    maxHeight?: {
+        type: NumberConstructor;
+        value?: number;
+    };
+    status: {
+        type: StringConstructor;
+        value?: 'complete' | 'stop' | 'error' | 'pending';
+        required?: boolean;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/chat-thinking/type.js b/miniprogram_npm/tdesign-miniprogram/chat-thinking/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/chat-thinking/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.wxss b/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.wxss
index 31e2fa8..9017eb7 100644
--- a/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/check-tag/check-tag.wxss
@@ -1,14 +1,14 @@
-@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;}
+@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);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{padding:var(--td-tag-small-padding,2rpx 10rpx);font:var(--td-tag-small-font,var(--td-font-body-extraSmall,20rpx / 32rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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{padding:var(--td-tag-medium-padding,2rpx 14rpx);font:var(--td-tag-medium-font,var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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{padding:var(--td-tag-large-padding,4rpx 14rpx);font:var(--td-tag-large-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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{padding:var(--td-tag-extra-large-padding,16rpx 30rpx);font:var(--td-tag-extra-large-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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);}
diff --git a/miniprogram_npm/tdesign-miniprogram/checkbox-group/type.d.ts b/miniprogram_npm/tdesign-miniprogram/checkbox-group/type.d.ts
index fd024eb..a4aff59 100644
--- a/miniprogram_npm/tdesign-miniprogram/checkbox-group/type.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/checkbox-group/type.d.ts
@@ -1,3 +1,4 @@
+import { CheckboxIconType } from '../checkbox/index';
 import { KeysType } from '../common/common';
 export interface TdCheckboxGroupProps<T = CheckboxGroupValue> {
     borderless?: {
@@ -42,6 +43,7 @@
     label?: string;
     value?: string | number;
     disabled?: boolean;
+    icon?: CheckboxIconType;
     checkAll?: true;
 }
 export declare type CheckboxGroupValue = Array<string | number | boolean>;
diff --git a/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.d.ts b/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.d.ts
index 3cfb0f9..0eb8b14 100644
--- a/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.d.ts
@@ -1,4 +1,6 @@
 import { SuperComponent, ComponentsOptionsType, RelationsOptions } from '../common/src/index';
+import { TdCheckboxProps } from './type';
+export declare type CheckboxProps = TdCheckboxProps;
 export default class CheckBox extends SuperComponent {
     externalClasses: string[];
     behaviors: string[];
@@ -46,7 +48,7 @@
         };
         icon?: {
             type: null;
-            value?: string[] | "rectangle" | "circle" | "line";
+            value?: import("./type").CheckboxIconType;
         };
         indeterminate?: {
             type: BooleanConstructor;
diff --git a/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxml b/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxml
index 4e68dbd..708e8e6 100644
--- a/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><view id="{{tId}}" style="{{_._style([style, customStyle])}}" class="{{_.cls(classPrefix, [placement, theme, ['checked', checked], ['block', block], ['disabled', _disabled]])}} class {{prefix}}-class" aria-role="checkbox" aria-checked="{{checked ? (indeterminate ? 'mixed' : true) : false}}" aria-disabled="{{_disabled ? true : false}}" mut-bind:tap="handleTap" tabindex="{{tabindex}}"><view wx:if="{{theme == 'default'}}" class="{{_.cls(classPrefix + '__icon', [placement, ['checked', checked], ['disabled', _disabled]])}} {{prefix}}-class-icon"><slot name="icon" wx:if="{{icon === 'slot'}}"/><view wx:elif="{{_.isArray(icon)}}" class="{{classPrefix}}__icon"><image src="{{checked ? indeterminate && icon[2] ? icon[2] : icon[0] : icon[1]}}" class="{{classPrefix}}__icon-image"/></view><block wx:else><t-icon wx:if="{{checked && (icon == 'circle' || icon == 'rectangle')}}" name="{{indeterminate ? ('minus-' + icon + '-filled') : ('check-' + icon + '-filled')}}" class="{{_.cls(classPrefix + '__icon-wrapper', [])}}"/><t-icon wx:if="{{checked && icon == 'line'}}" name="{{indeterminate ? ('minus-' + icon + '-filled') : 'check'}}" class="{{_.cls(classPrefix + '__icon-wrapper', [])}}"/><view wx:elif="{{!checked && (icon == 'circle' || icon == 'rectangle')}}" class="{{_.cls(classPrefix + '__icon-' + icon, [['disabled', _disabled]])}}"/><view wx:if="{{!checked && icon == 'line'}}" class="placeholder"></view></block></view><view class="{{classPrefix}}__content" data-target="text" mut-bind:tap="handleTap"><view class="{{_.cls(classPrefix + '__title', [['disabled', _disabled], ['checked', checked]])}} {{prefix}}-class-label" style="-webkit-line-clamp:{{maxLabelRow}}"><block wx:if="{{label}}">{{label}}</block><slot/><slot name="label"/></view><view class="{{_.cls(classPrefix + '__description', [['disabled', _disabled]])}} {{prefix}}-class-content" style="-webkit-line-clamp:{{maxContentRow}}"><block wx:if="{{content}}">{{content}}</block><slot name="content"/></view></view><view wx:if="{{theme == 'default' && !borderless}}" class="{{_.cls(classPrefix + '__border', [placement])}} {{prefix}}-class-border"/></view>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><view id="{{tId}}" style="{{_._style([style, customStyle])}}" class="{{_.cls(classPrefix, [placement, theme, ['checked', checked], ['block', block], ['disabled', _disabled]])}} class {{prefix}}-class" aria-role="checkbox" aria-checked="{{checked ? (indeterminate ? 'mixed' : true) : false}}" aria-disabled="{{_disabled ? true : false}}" mut-bind:tap="handleTap" tabindex="{{tabindex}}"><view wx:if="{{theme == 'default'}}" class="{{_.cls(classPrefix + '__icon', [placement, ['checked', checked], ['disabled', _disabled]])}} {{prefix}}-class-icon"><slot name="icon" wx:if="{{icon === 'slot'}}"/><view wx:elif="{{_.isArray(icon)}}" class="{{classPrefix}}__icon"><image src="{{checked ? indeterminate && icon[2] ? icon[2] : icon[0] : icon[1]}}" class="{{classPrefix}}__icon-image"/></view><block wx:else><t-icon wx:if="{{checked && (icon == 'circle' || icon == 'rectangle')}}" name="{{indeterminate ? ('minus-' + icon + '-filled') : ('check-' + icon + '-filled')}}" class="{{classPrefix}}__icon-wrapper"/><t-icon wx:if="{{checked && icon == 'line'}}" name="{{indeterminate ? ('minus-' + icon + '-filled') : 'check'}}" class="{{classPrefix}}__icon-wrapper"/><view wx:elif="{{!checked && (icon == 'circle' || icon == 'rectangle')}}" class="{{_.cls(classPrefix + '__icon-' + icon, [['disabled', _disabled]])}}"/><view wx:if="{{!checked && icon == 'line'}}" class="placeholder"></view></block></view><view class="{{classPrefix}}__content" data-target="text" mut-bind:tap="handleTap"><view class="{{_.cls(classPrefix + '__title', [['disabled', _disabled], ['checked', checked]])}} {{prefix}}-class-label" style="-webkit-line-clamp:{{maxLabelRow}}"><block wx:if="{{label}}">{{label}}</block><slot/><slot name="label"/></view><view class="{{_.cls(classPrefix + '__description', [['disabled', _disabled]])}} {{prefix}}-class-content" style="-webkit-line-clamp:{{maxContentRow}}"><block wx:if="{{content}}">{{content}}</block><slot name="content"/></view></view><view wx:if="{{theme == 'default' && !borderless}}" class="{{_.cls(classPrefix + '__border', [placement])}} {{prefix}}-class-border"/></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxss b/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxss
index f0d5b66..11e75e4 100644
--- a/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/checkbox/checkbox.wxss
@@ -1,6 +1,6 @@
-@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)));}
+@import '../common/style/index.wxss';.t-checkbox{display:inline-flex;vertical-align:middle;position:relative;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--block{display:flex;padding:var(--td-checkbox-vertical-padding,var(--td-spacer-2,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%);}
@@ -21,9 +21,9 @@
 .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{color:var(--td-checkbox-title-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font:var(--td-checkbox-title-font,var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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{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:var(--td-checkbox-description-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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);}
diff --git a/miniprogram_npm/tdesign-miniprogram/checkbox/index.d.ts b/miniprogram_npm/tdesign-miniprogram/checkbox/index.d.ts
new file mode 100644
index 0000000..5ee525e
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/checkbox/index.d.ts
@@ -0,0 +1,3 @@
+export * from './props';
+export * from './type';
+export * from './checkbox';
diff --git a/miniprogram_npm/tdesign-miniprogram/checkbox/index.js b/miniprogram_npm/tdesign-miniprogram/checkbox/index.js
new file mode 100644
index 0000000..37899f4
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/checkbox/index.js
@@ -0,0 +1 @@
+export*from"./props";export*from"./type";export*from"./checkbox";
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/checkbox/type.d.ts b/miniprogram_npm/tdesign-miniprogram/checkbox/type.d.ts
index 1250d5b..7e2ac06 100644
--- a/miniprogram_npm/tdesign-miniprogram/checkbox/type.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/checkbox/type.d.ts
@@ -33,7 +33,7 @@
     };
     icon?: {
         type: null;
-        value?: 'circle' | 'line' | 'rectangle' | string[];
+        value?: CheckboxIconType;
     };
     indeterminate?: {
         type: BooleanConstructor;
@@ -68,3 +68,4 @@
         value?: string | number | boolean;
     };
 }
+export declare type CheckboxIconType = 'circle' | 'line' | 'rectangle' | string[];
diff --git a/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxml b/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxml
index bdcb890..b9e2570 100644
--- a/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle])}}" class="class {{classPrefix}} {{classPrefix}}--{{placement}} {{prefix}}-class"><view class="{{classPrefix}}__title" aria-role="button" aria-expanded="{{expanded}}" aria-disabled="{{ultimateDisabled}}" bind:tap="onClick"><t-cell title="{{header}}" note="{{headerRightContent}}" bordered="{{false}}" left-icon="{{headerLeftIcon}}" right-icon="{{ ultimateExpandIcon ? (expanded ? 'chevron-up' : 'chevron-down') : '' }}" t-class="{{_.cls(classPrefix + '__header', [placement, ['expanded', expanded]])}} {{prefix}}-class-header" t-class-title="class-title {{ultimateDisabled ? 'class-title--disabled' : ''}}" t-class-note="class-note {{ultimateDisabled ? 'class-note--disabled' : ''}}" t-class-right-icon="class-right-icon {{classPrefix}}__arrow--{{placement}} {{ultimateDisabled ? 'class-right-icon--disabled' : ''}}" t-class-hover="class-header-hover"><slot name="header-left-icon" slot="left-icon"/><slot name="header" slot="title"/><slot name="header-right-content" slot="note"/><slot name="expand-icon" slot="right-icon"/></t-cell></view><view class="{{classPrefix}}__wrapper" animation="{{animation}}" aria-hidden="{{expanded ? '' : true}}"><view class="{{_.cls(classPrefix + '__content', [['disabled', ultimateDisabled], ['expanded', expanded], placement])}} {{prefix}}-class-content">{{content}}<slot/><slot name="content"/></view></view></view>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle])}}" class="class {{classPrefix}} {{classPrefix}}--{{placement}} {{prefix}}-class"><view class="{{classPrefix}}__title" aria-role="button" aria-expanded="{{expanded}}" aria-disabled="{{ultimateDisabled}}" bind:tap="onClick"><t-cell title="{{header}}" note="{{headerRightContent}}" bordered="{{false}}" left-icon="{{headerLeftIcon}}" right-icon="{{ ultimateExpandIcon ? (expanded ? 'chevron-up' : 'chevron-down') : '' }}" t-class="{{_.cls(classPrefix + '__header', [placement, ['expanded', expanded]])}} {{prefix}}-class-header" t-class-title="class-title {{ultimateDisabled ? 'class-title--disabled' : ''}}" t-class-note="class-note {{ultimateDisabled ? 'class-note--disabled' : ''}}" t-class-left-icon="class-left-icon {{ultimateDisabled ? 'class-left-icon--disabled' : ''}}" t-class-right-icon="class-right-icon {{classPrefix}}__arrow--{{placement}} {{ultimateDisabled ? 'class-right-icon--disabled' : ''}}" t-class-hover="class-header-hover"><slot name="header-left-icon" slot="left-icon"/><slot name="header" slot="title"/><slot name="header-right-content" slot="note"/><slot name="expand-icon" slot="right-icon"/></t-cell></view><view class="{{classPrefix}}__wrapper" animation="{{animation}}" aria-hidden="{{expanded ? '' : true}}"><view class="{{_.cls(classPrefix + '__content', [['disabled', ultimateDisabled], ['expanded', expanded], placement])}} {{prefix}}-class-content">{{content}}<slot/><slot name="content"/></view></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxss b/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxss
index 93f5055..b1c184e 100644
--- a/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/collapse-panel/collapse-panel.wxss
@@ -2,23 +2,21 @@
 .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{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);}
 .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__header::after{left:var(--td-spacer-2,32rpx);}
+.t-collapse-panel__extra{font:var(--td-collapse-extra-font,var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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{color:var(--td-collapse-content-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font:var(--td-collapse-content-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));padding:var(--td-collapse-content-padding,32rpx);}
+.t-collapse-panel__content--disabled{color:var(--td-collapse-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);}
@@ -26,7 +24,7 @@
 .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
+.class-title{font:var(--td-collapse-title-font,var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));color:var(--td-collapse-header-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.class-left-icon{color:var(--td-collapse-left-icon-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));}
+.class-right-icon{color:var(--td-collapse-icon-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));}
+.class-left-icon--disabled,.class-note--disabled,.class-right-icon--disabled,.class-title--disabled{color:var(--td-collapse-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_npm/tdesign-miniprogram/color-picker/color-picker.json b/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.json
index 4139673..f34a4c1 100644
--- a/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.json
+++ b/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.json
@@ -1 +1 @@
-{"component":true,"usingComponents":{"t-popup":"../popup/popup"}}
\ No newline at end of file
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-popup":"../popup/popup"}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.wxss b/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.wxss
index 0fc40c2..8710b3c 100644
--- a/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/color-picker/color-picker.wxss
@@ -1,14 +1,14 @@
-@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;}
+@import '../common/style/index.wxss';.t-color-picker__panel{padding:0;width:var(--td-color-picker-panel-width,750rpx);background:var(--td-color-picker-panel-background,var(--td-bg-color-container,var(--td-font-white-1,#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{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-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-radius-circle,50%);box-sizing:border-box;display:block;border:1px solid var(--td-component-border,var(--td-gray-color-4,#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__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-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;}
@@ -19,24 +19,25 @@
 .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{flex-shrink:0;margin-left:var(--td-spacer-1,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{display:flex;align-items:center;justify-content:space-between;color:var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4)));text-align:center;}
+.t-color-picker__format:not(:empty)+.t-color-picker__swatches-wrap:not(:empty){margin-top:56rpx;}
+.t-color-picker__format-item{font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
+.t-color-picker__format-item--first{flex-shrink:0;width:136rpx;border:2rpx solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));border-radius:var(--td-radius-default,12rpx);padding:6rpx 0;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{flex:1;width:0;margin-left:-2rpx;padding:6rpx 0;border:1px solid var(--td-component-border,var(--td-gray-color-4,#dcdcdc));border-radius:var(--td-radius-default,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-wrap{position:relative;}
+.t-color-picker__swatches+.t-color-picker__swatches{margin-top:var(--td-spacer-1,24rpx);}
+.t-color-picker__swatches-title{font:var(--td-color-picker-swatches-title-font,var(--td-font-title-medium,600 32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));padding:0;color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));display:flex;align-items:center;justify-content:space-between;}
+.t-color-picker__swatches-items{margin-top:24rpx;width:100%;height:48rpx;display:flex;flex-direction:row;}
 .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{width:var(--td-color-picker-swatch-width,48rpx);height:var(--td-color-picker-swatch-height,48rpx);border-radius:var(--td-radius-small,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,var(--td-radius-small,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
+.t-color-picker__swatches-inner{width:100%;height:100%;display:block;border-radius:var(--td-color-picker-swatch-border-radius,var(--td-radius-small,6rpx));position:relative;}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/color-picker/template.wxml b/miniprogram_npm/tdesign-miniprogram/color-picker/template.wxml
index 00f1f0e..bc9372d 100644
--- a/miniprogram_npm/tdesign-miniprogram/color-picker/template.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/color-picker/template.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><view class="{{classPrefix}}__panel" style="{{_._style([style, customStyle])}}"><view class="{{classPrefix}}__body {{classPrefix}}__body--{{type}}"><view class="{{classPrefix}}__saturation" wx:if="{{isMultiple}}" catchtouchstart="onTouchStart" catchtouchmove="onTouchMove" catchtouchend="onTouchEnd" data-type="saturation" style="background: hsl({{sliderInfo.value}}, 100%, 50%)"><view class="{{classPrefix}}__thumb" tabIndex="{{0}}" style="{{_._style(saturationThumbStyle)}}"></view></view><view class="{{classPrefix}}__sliders-wrapper" wx:if="{{isMultiple}}"><view class="{{classPrefix}}__sliders"><view class="{{classPrefix}}__slider-wrapper {{classPrefix}}__slider-wrapper--hue-type"><view class="{{classPrefix}}__slider" catchtouchstart="onTouchStart" catchtouchmove="onTouchMove" catchtouchend="onTouchEnd" data-type="hue-slider"><view class="{{classPrefix}}__rail"></view><view class="{{classPrefix}}__thumb" style="{{_._style(hueSliderStyle)}}"></view></view></view><view wx:if="{{enableAlpha}}" class="{{classPrefix}}__slider-wrapper {{classPrefix}}__slider-wrapper--alpha-type"><view class="{{classPrefix}}__slider-padding" style="background: linear-gradient(90deg, rgba(0,0,0,.0) 0%, rgba(0,0,0,.0) 93%, {{alphaSliderStyle.color}} 93%, {{alphaSliderStyle.color}} 100%)"></view><view class="{{classPrefix}}__slider" catchtouchstart="onTouchStart" catchtouchmove="onTouchMove" catchtouchend="onTouchEnd" data-type="alpha-slider"><view class="{{classPrefix}}__rail" style="background: linear-gradient(to right, rgba(0, 0, 0, 0), {{alphaSliderStyle.color}})"></view><view class="{{classPrefix}}__thumb" style="{{_._style(alphaSliderStyle)}}"></view></view></view></view><view wx:if="{{showPrimaryColorPreview}}" class="{{classPrefix}}__sliders-preview {{classPrefix}}--bg-alpha"><view class="{{classPrefix}}__sliders-preview-inner" style="background: {{previewColor}}"/></view></view><view class="{{classPrefix}}__format" wx:if="{{isMultiple}}"><view class="{{classPrefix}}__format-item {{classPrefix}}__format-item--first">{{format}}</view><view class="{{classPrefix}}__format-item {{classPrefix}}__format-item--second"><view class="{{classPrefix}}__format-inputs"><view wx:for="{{formatList}}" wx:key="index" class="{{classPrefix}}__format-input {{classPrefix}}__format-input--{{ index === formatList.length - 1 && formatList.length === 2 ? 'fixed' : 'base' }}">{{item}}</view></view></view></view><view class="{{classPrefix}}__swatches-wrap" wx:if="{{innerSwatchList.length}}"><view class="{{classPrefix}}__swatches"><view class="{{classPrefix}}__swatches-title" wx:if="{{isMultiple}}">绯荤粺棰勮鑹插僵</view><view class="{{classPrefix}}__swatches-items"><view wx:for="{{innerSwatchList}}" wx:for-item="swatch" wx:key="swatch" class="{{classPrefix}}__swatches-item" data-value="{{swatch}}" catch:tap="clickSwatch"><view class="{{classPrefix}}__swatches-inner" style="background-color: {{swatch}};"></view></view></view></view></view></view></view>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><view class="{{classPrefix}}__panel" style="{{_._style([style, customStyle])}}"><view class="{{classPrefix}}__body {{classPrefix}}__body--{{type}}"><view class="{{classPrefix}}__saturation" wx:if="{{isMultiple}}" catchtouchstart="onTouchStart" catchtouchmove="onTouchMove" catchtouchend="onTouchEnd" data-type="saturation" style="background: hsl({{sliderInfo.value}}, 100%, 50%)"><view class="{{classPrefix}}__thumb" tabIndex="{{0}}" style="{{_._style(saturationThumbStyle)}}"></view></view><view class="{{classPrefix}}__sliders-wrapper" wx:if="{{isMultiple}}"><view class="{{classPrefix}}__sliders"><view class="{{classPrefix}}__slider-wrapper {{classPrefix}}__slider-wrapper--hue-type"><view class="{{classPrefix}}__slider" catchtouchstart="onTouchStart" catchtouchmove="onTouchMove" catchtouchend="onTouchEnd" data-type="hue-slider"><view class="{{classPrefix}}__rail"></view><view class="{{classPrefix}}__thumb" style="{{_._style(hueSliderStyle)}}"></view></view></view><view wx:if="{{enableAlpha}}" class="{{classPrefix}}__slider-wrapper {{classPrefix}}__slider-wrapper--alpha-type"><view class="{{classPrefix}}__slider-padding" style="background: linear-gradient(90deg, rgba(0,0,0,.0) 0%, rgba(0,0,0,.0) 93%, {{alphaSliderStyle.color}} 93%, {{alphaSliderStyle.color}} 100%)"></view><view class="{{classPrefix}}__slider" catchtouchstart="onTouchStart" catchtouchmove="onTouchMove" catchtouchend="onTouchEnd" data-type="alpha-slider"><view class="{{classPrefix}}__rail" style="background: linear-gradient(to right, rgba(0, 0, 0, 0), {{alphaSliderStyle.color}})"></view><view class="{{classPrefix}}__thumb" style="{{_._style(alphaSliderStyle)}}"></view></view></view></view><view wx:if="{{showPrimaryColorPreview}}" class="{{classPrefix}}__sliders-preview {{classPrefix}}--bg-alpha"><view class="{{classPrefix}}__sliders-preview-inner" style="background: {{previewColor}}"/></view></view><view class="{{classPrefix}}__format" wx:if="{{isMultiple}}"><view class="{{classPrefix}}__format-item {{classPrefix}}__format-item--first">{{format}}</view><view class="{{classPrefix}}__format-item {{classPrefix}}__format-item--second"><view class="{{classPrefix}}__format-inputs"><view wx:for="{{formatList}}" wx:key="index" class="{{classPrefix}}__format-input {{classPrefix}}__format-input--{{ index === formatList.length - 1 && formatList.length === 2 ? 'fixed' : 'base' }}">{{item}}</view></view></view></view><view class="{{classPrefix}}__swatches-wrap" wx:if="{{innerSwatchList.length}}"><view class="{{classPrefix}}__swatches"><view class="{{classPrefix}}__swatches-title" wx:if="{{isMultiple}}">绯荤粺棰勮鑹插僵</view><scroll-view class="{{classPrefix}}__swatches-items" scroll-x enable-flex scroll-anchoring type="list"><view wx:for="{{innerSwatchList}}" wx:for-item="swatch" wx:key="swatch" class="{{classPrefix}}__swatches-item" data-value="{{swatch}}" catch:tap="clickSwatch"><view class="{{classPrefix}}__swatches-inner" style="background-color: {{swatch}};"></view></view></scroll-view></view></view></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/common/style/theme/_components.wxss b/miniprogram_npm/tdesign-miniprogram/common/style/theme/_components.wxss
index d9e413b..90ebbb5 100644
--- a/miniprogram_npm/tdesign-miniprogram/common/style/theme/_components.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/common/style/theme/_components.wxss
@@ -1,4 +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
+.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);--td-progress-circle-inner-bg-color:var(--bg-color-page);}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/common/style/theme/_dark.wxss b/miniprogram_npm/tdesign-miniprogram/common/style/theme/_dark.wxss
index 60ae407..4838449 100644
--- a/miniprogram_npm/tdesign-miniprogram/common/style/theme/_dark.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/common/style/theme/_dark.wxss
@@ -1,2 +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
+.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-secondarycomponent:var(--td-gray-color-10);--td-bg-color-secondarycomponent-active:var(--td-gray-color-8);--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_npm/tdesign-miniprogram/common/style/theme/_font.wxss b/miniprogram_npm/tdesign-miniprogram/common/style/theme/_font.wxss
index a9f0c67..0184f4a 100644
--- a/miniprogram_npm/tdesign-miniprogram/common/style/theme/_font.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/common/style/theme/_font.wxss
@@ -1 +1,73 @@
-.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
+.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-line-height-link-small: 40rpx;
+  --td-line-height-link-medium: 44rpx;
+  --td-line-height-link-large: 48rpx;
+  --td-line-height-mark-extraSmall: 32rpx;
+  --td-line-height-mark-small: 40rpx;
+  --td-line-height-mark-medium: 44rpx;
+  --td-line-height-mark-large: 48rpx;
+  --td-line-height-body-extraSmall: 32rpx;
+  --td-line-height-body-small: 40rpx;
+  --td-line-height-body-medium: 44rpx;
+  --td-line-height-body-large: 48rpx;
+  --td-line-height-title-small: 44rpx;
+  --td-line-height-title-medium: 48rpx;
+  --td-line-height-title-large: 52rpx;
+  --td-line-height-title-extraLarge: 56rpx;
+  --td-line-height-headline-small: 64rpx;
+  --td-line-height-headline-medium: 72rpx;
+  --td-line-height-headline-large: 88rpx;
+  --td-line-height-display-medium: 112rpx;
+  --td-line-height-display-large: 144rpx;
+  --td-font-link-small: var(--td-font-size-link-small)/var(--td-line-height-link-small) var(--td-font-family);
+  --td-font-link-medium: var(--td-font-size-link-medium)/var(--td-line-height-link-medium) var(--td-font-family);
+  --td-font-link-large: var(--td-font-size-link-large)/var(--td-line-height-link-large) var(--td-font-family);
+  --td-font-mark-extraSmall: 600 var(--td-font-size-mark-extraSmall)/var(--td-line-height-mark-extraSmall) var(--td-font-family);
+  --td-font-mark-small: 600 var(--td-font-size-mark-small)/var(--td-line-height-mark-small) var(--td-font-family);
+  --td-font-mark-medium: 600 var(--td-font-size-mark-medium)/var(--td-line-height-mark-medium) var(--td-font-family);
+  --td-font-mark-large: 600 var(--td-font-size-mark-large)/var(--td-line-height-mark-large) var(--td-font-family);
+  --td-font-body-extraSmall: var(--td-font-size-body-extraSmall)/var(--td-line-height-body-extraSmall) var(--td-font-family);
+  --td-font-body-small: var(--td-font-size-body-small)/var(--td-line-height-body-small) var(--td-font-family);
+  --td-font-body-medium: var(--td-font-size-body-medium)/var(--td-line-height-body-medium) var(--td-font-family);
+  --td-font-body-large: var(--td-font-size-body-large)/var(--td-line-height-body-large) var(--td-font-family);
+  --td-font-title-small: 600 var(--td-font-size-title-small)/var(--td-line-height-title-small) var(--td-font-family);
+  --td-font-title-medium: 600 var(--td-font-size-title-medium)/var(--td-line-height-title-medium) var(--td-font-family);
+  --td-font-title-large: 600 var(--td-font-size-title-large)/var(--td-line-height-title-large) var(--td-font-family);
+  --td-font-title-extraLarge: 600 var(--td-font-size-title-extraLarge)/var(--td-line-height-title-extraLarge) var(--td-font-family);
+  --td-font-headline-small: 600 var(--td-font-size-headline-small)/var(--td-line-height-headline-small) var(--td-font-family);
+  --td-font-headline-medium: 600 var(--td-font-size-headline-medium)/var(--td-line-height-headline-medium) var(--td-font-family);
+  --td-font-headline-large: 600 var(--td-font-size-headline-large)/var(--td-line-height-headline-large) var(--td-font-family);
+  --td-font-display-medium: 600 var(--td-font-size-display-medium)/var(--td-line-height-display-medium) var(--td-font-family);
+  --td-font-display-large: 600 var(--td-font-size-display-large)/var(--td-line-height-display-large) var(--td-font-family);
+  --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_npm/tdesign-miniprogram/common/style/theme/_index.wxss b/miniprogram_npm/tdesign-miniprogram/common/style/theme/_index.wxss
index 7f9932e..5ef685d 100644
--- a/miniprogram_npm/tdesign-miniprogram/common/style/theme/_index.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/common/style/theme/_index.wxss
@@ -1,11 +1,398 @@
-@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
+@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-secondarycomponent: var(--td-gray-color-10);
+    --td-bg-color-secondarycomponent-active: var(--td-gray-color-8);
+    --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-line-height-link-small: 40rpx;
+  --td-line-height-link-medium: 44rpx;
+  --td-line-height-link-large: 48rpx;
+  --td-line-height-mark-extraSmall: 32rpx;
+  --td-line-height-mark-small: 40rpx;
+  --td-line-height-mark-medium: 44rpx;
+  --td-line-height-mark-large: 48rpx;
+  --td-line-height-body-extraSmall: 32rpx;
+  --td-line-height-body-small: 40rpx;
+  --td-line-height-body-medium: 44rpx;
+  --td-line-height-body-large: 48rpx;
+  --td-line-height-title-small: 44rpx;
+  --td-line-height-title-medium: 48rpx;
+  --td-line-height-title-large: 52rpx;
+  --td-line-height-title-extraLarge: 56rpx;
+  --td-line-height-headline-small: 64rpx;
+  --td-line-height-headline-medium: 72rpx;
+  --td-line-height-headline-large: 88rpx;
+  --td-line-height-display-medium: 112rpx;
+  --td-line-height-display-large: 144rpx;
+  --td-font-link-small: var(--td-font-size-link-small)/var(--td-line-height-link-small) var(--td-font-family);
+  --td-font-link-medium: var(--td-font-size-link-medium)/var(--td-line-height-link-medium) var(--td-font-family);
+  --td-font-link-large: var(--td-font-size-link-large)/var(--td-line-height-link-large) var(--td-font-family);
+  --td-font-mark-extraSmall: 600 var(--td-font-size-mark-extraSmall)/var(--td-line-height-mark-extraSmall) var(--td-font-family);
+  --td-font-mark-small: 600 var(--td-font-size-mark-small)/var(--td-line-height-mark-small) var(--td-font-family);
+  --td-font-mark-medium: 600 var(--td-font-size-mark-medium)/var(--td-line-height-mark-medium) var(--td-font-family);
+  --td-font-mark-large: 600 var(--td-font-size-mark-large)/var(--td-line-height-mark-large) var(--td-font-family);
+  --td-font-body-extraSmall: var(--td-font-size-body-extraSmall)/var(--td-line-height-body-extraSmall) var(--td-font-family);
+  --td-font-body-small: var(--td-font-size-body-small)/var(--td-line-height-body-small) var(--td-font-family);
+  --td-font-body-medium: var(--td-font-size-body-medium)/var(--td-line-height-body-medium) var(--td-font-family);
+  --td-font-body-large: var(--td-font-size-body-large)/var(--td-line-height-body-large) var(--td-font-family);
+  --td-font-title-small: 600 var(--td-font-size-title-small)/var(--td-line-height-title-small) var(--td-font-family);
+  --td-font-title-medium: 600 var(--td-font-size-title-medium)/var(--td-line-height-title-medium) var(--td-font-family);
+  --td-font-title-large: 600 var(--td-font-size-title-large)/var(--td-line-height-title-large) var(--td-font-family);
+  --td-font-title-extraLarge: 600 var(--td-font-size-title-extraLarge)/var(--td-line-height-title-extraLarge) var(--td-font-family);
+  --td-font-headline-small: 600 var(--td-font-size-headline-small)/var(--td-line-height-headline-small) var(--td-font-family);
+  --td-font-headline-medium: 600 var(--td-font-size-headline-medium)/var(--td-line-height-headline-medium) var(--td-font-family);
+  --td-font-headline-large: 600 var(--td-font-size-headline-large)/var(--td-line-height-headline-large) var(--td-font-family);
+  --td-font-display-medium: 600 var(--td-font-size-display-medium)/var(--td-line-height-display-medium) var(--td-font-family);
+  --td-font-display-large: 600 var(--td-font-size-display-large)/var(--td-line-height-display-large) var(--td-font-family);
+  --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);
+    --td-progress-circle-inner-bg-color: var(--bg-color-page);
+  }
+}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/common/utils.d.ts b/miniprogram_npm/tdesign-miniprogram/common/utils.d.ts
index 191c99c..24e7a7d 100644
--- a/miniprogram_npm/tdesign-miniprogram/common/utils.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/common/utils.d.ts
@@ -1,9 +1,14 @@
 /// <reference types="miniprogram-api-typings" />
 /// <reference types="miniprogram-api-typings" />
 /// <reference types="miniprogram-api-typings" />
-export declare const systemInfo: WechatMiniprogram.WindowInfo | WechatMiniprogram.SystemInfo;
-export declare const appBaseInfo: WechatMiniprogram.AppBaseInfo | WechatMiniprogram.SystemInfo;
-export declare const deviceInfo: WechatMiniprogram.DeviceInfo | WechatMiniprogram.SystemInfo;
+interface WxWorkSystemInfo extends WechatMiniprogram.SystemInfo {
+    environment?: 'wxwork';
+}
+interface SystemInfo extends WxWorkSystemInfo {
+}
+export declare const systemInfo: WechatMiniprogram.WindowInfo | SystemInfo;
+export declare const appBaseInfo: WechatMiniprogram.AppBaseInfo | SystemInfo;
+export declare const deviceInfo: WechatMiniprogram.DeviceInfo | 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;
@@ -17,6 +22,8 @@
 }
 export declare const getTreeDepth: (tree: TreeNode[], key?: string) => any;
 export declare const isIOS: () => boolean;
+export declare const isWxWork: boolean;
+export declare const isPC: boolean;
 export declare const addUnit: (value?: string | number) => string | undefined;
 export declare const getCharacterLength: (type: string, char: string | number, max?: number) => {
     length: number;
@@ -29,6 +36,7 @@
     [x: string]: any;
 };
 export declare const toCamel: (str: any) => any;
+export declare function toKebabCase(str: string): string;
 export declare const getCurrentPage: <T>() => T & WechatMiniprogram.OptionalInterface<WechatMiniprogram.Page.ILifetime> & WechatMiniprogram.Page.InstanceProperties & WechatMiniprogram.Page.InstanceMethods<WechatMiniprogram.IAnyObject> & WechatMiniprogram.Page.Data<WechatMiniprogram.IAnyObject> & WechatMiniprogram.IAnyObject;
 export declare const uniqueFactory: (compName: any) => () => string;
 export declare const calcIcon: (icon: string | Record<string, any>, defaultIcon?: string) => Record<string, any>;
diff --git a/miniprogram_npm/tdesign-miniprogram/common/utils.js b/miniprogram_npm/tdesign-miniprogram/common/utils.js
index 0ae9d0a..503818b 100644
--- a/miniprogram_npm/tdesign-miniprogram/common/utils.js
+++ b/miniprogram_npm/tdesign-miniprogram/common/utils.js
@@ -1 +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;t<o.length;t+=1){let r=0;if(r=o.charCodeAt(t)>127||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("鏈壘鍒扮粍浠�,璇锋鏌elector鏄惁姝g‘"),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
+import{prefix}from"./config";import{isString,isNumeric,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 isWxWork="wxwork"===(null==deviceInfo?void 0:deviceInfo.environment);export const isPC=["mac","windows"].includes(null==deviceInfo?void 0:deviceInfo.platform);export const addUnit=function(e){if(isDef(e))return e=String(e),isNumeric(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;t<o.length;t+=1){let r=0;if(r=o.charCodeAt(t)>127||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("鏈壘鍒扮粍浠�,璇锋鏌elector鏄惁姝g‘"),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 function toKebabCase(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z][a-z])/g,"$1-$2").replace(/([0-9])([a-zA-Z])/g,"$1-$2").toLowerCase()}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_npm/tdesign-miniprogram/common/utils.wxs b/miniprogram_npm/tdesign-miniprogram/common/utils.wxs
index 774cd11..a339451 100644
--- a/miniprogram_npm/tdesign-miniprogram/common/utils.wxs
+++ b/miniprogram_npm/tdesign-miniprogram/common/utils.wxs
@@ -110,7 +110,7 @@
         return item != null && item !== '';
       })
       .map(function (item) {
-        return isArray(item) ? _style(item) : endsWith(item, ';');
+        return isString(item) ? endsWith(item, ';') : _style(item);
       })
       .join(' ');
   }
diff --git a/miniprogram_npm/tdesign-miniprogram/common/validator.d.ts b/miniprogram_npm/tdesign-miniprogram/common/validator.d.ts
index 61bc04e..72e758f 100644
--- a/miniprogram_npm/tdesign-miniprogram/common/validator.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/common/validator.d.ts
@@ -3,7 +3,23 @@
 export declare const isNull: <T>(value: T) => value is null;
 export declare const isUndefined: <T>(value: T) => value is undefined;
 export declare function isDef(value: unknown): boolean;
-export declare function isNumber(value: string | number): boolean;
+export declare function isInteger(value: unknown): boolean;
+export declare function isNumeric(value: unknown): boolean;
+export declare function isNumber(value: unknown): boolean;
 export declare function isBoolean(value: unknown): value is boolean;
 export declare function isObject(x: unknown): x is Record<string, unknown>;
 export declare function isPlainObject(val: unknown): val is Record<string, unknown>;
+export declare function isEmpty(val: unknown): boolean;
+export declare function isDate(input: unknown, options?: {
+    format?: string;
+    delimiters?: string[];
+    strictMode?: boolean;
+}): boolean;
+export declare function isEmail(str: unknown): boolean;
+export declare function isURL(str: unknown, options?: {
+    protocols?: string[];
+    require_tld?: boolean;
+    require_protocol?: boolean;
+    require_host?: boolean;
+    allow_protocol_relative_urls?: boolean;
+}): boolean;
diff --git a/miniprogram_npm/tdesign-miniprogram/common/validator.js b/miniprogram_npm/tdesign-miniprogram/common/validator.js
index 745ed3b..599288e 100644
--- a/miniprogram_npm/tdesign-miniprogram/common/validator.js
+++ b/miniprogram_npm/tdesign-miniprogram/common/validator.js
@@ -1 +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
+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 isInteger(t){return Number.isInteger(t)}export function isNumeric(t){return!Number.isNaN(Number(t))}export function isNumber(t){return"number"==typeof t}export function isBoolean(t){return"boolean"==typeof t}export function isObject(t){const e=typeof t;return null!==t&&("object"===e||"function"===e)}export function isPlainObject(t){return null!==t&&"object"==typeof t&&"[object Object]"===Object.prototype.toString.call(t)}export function isEmpty(t){return null==t||("string"==typeof t||Array.isArray(t)?0===t.length:t instanceof Map||t instanceof Set?0===t.size:"object"!=typeof t||0===Object.keys(t).length)}export function isDate(t,e){const r=Object.assign(Object.assign({},{format:"YYYY/MM/DD",delimiters:["/","-"],strictMode:!1}),e);if("string"==typeof t){const e=r.delimiters.find(t=>r.format.includes(t));if(!e)return!1;const n=r.format.split(e),i=t.split(e);if(n.length!==i.length)return!1;let o="",s="",u="";for(let t=0;t<n.length;t+=1){const e=n[t].toUpperCase(),r=i[t];e.includes("Y")?o=r:e.includes("M")?s=r:e.includes("D")&&(u=r)}if(1===s.length&&(s=`0${s}`),1===u.length&&(u=`0${u}`),2===o.length){const t=(new Date).getFullYear()%100;o=Number(o)<=t?`20${o}`:`19${o}`}const l=new Date(`${o}-${s}-${u}T00:00:00.000Z`);return l.getUTCFullYear()===Number(o)&&l.getUTCMonth()+1===Number(s)&&l.getUTCDate()===Number(u)}return!(r.strictMode||"[object Date]"!==Object.prototype.toString.call(t)||!Number.isFinite(t.getTime()))}export function isEmail(t){if("string"!=typeof t)return!1;if(t.length>254)return!1;const e=t.split("@");if(2!==e.length)return!1;const[r,n]=e;if(!r||r.length>64)return!1;if(!n)return!1;if(/^[-.]/.test(n)||/[-.]$/.test(n))return!1;if(!/^[a-zA-Z0-9.-]+$/.test(n))return!1;if(!n.includes("."))return!1;const i=n.split(".").pop();if(!i||i.length<2)return!1;return/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+$/.test(r)}export function isURL(t,e){if("string"!=typeof t)return!1;if(0===t.length||/\s/.test(t))return!1;if(t.length>2084)return!1;const r=Object.assign(Object.assign({},{protocols:["http","https","ftp"],require_tld:!0,require_protocol:!1,require_host:!0,allow_protocol_relative_urls:!1}),e);let n=t;const i=n.match(/^([a-z][a-z0-9+\-.]*):\/\//i);if(i){const t=i[1].toLowerCase();if(!r.protocols.includes(t))return!1;n=n.slice(i[0].length)}else if(r.require_protocol){if(!r.allow_protocol_relative_urls||!t.startsWith("//"))return!1;n=n.slice(2)}else if(t.startsWith("//")){if(!r.allow_protocol_relative_urls)return!1;n=n.slice(2)}if(!n&&r.require_host)return!1;const[o]=n.split(/[/?#]/);if(!o&&r.require_host)return!1;let s=o;s.includes("@")&&(s=s.split("@").pop()||"");let u=s;const l=s.match(/:(\d+)$/);if(l){const t=Number(l[1]);if(t<0||t>65535)return!1;u=s.slice(0,s.lastIndexOf(":"))}if(!u)return!1;const c=u.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);if(c)return c.slice(1).every(t=>Number(t)>=0&&Number(t)<=255);if(u.startsWith("[")&&u.endsWith("]"))return!0;const f=u.split(".");if(r.require_tld&&f.length<2)return!1;if(f.some(t=>!t||t.length>63||(!/^[a-zA-Z0-9-]+$/.test(t)||!(!t.startsWith("-")&&!t.endsWith("-")))))return!1;if(r.require_tld){const t=f[f.length-1];if(/^\d+$/.test(t))return!1}return!0}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/common/wechat.js b/miniprogram_npm/tdesign-miniprogram/common/wechat.js
index 1c1c7d6..6cd78e9 100644
--- a/miniprogram_npm/tdesign-miniprogram/common/wechat.js
+++ b/miniprogram_npm/tdesign-miniprogram/common/wechat.js
@@ -1 +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
+export const getObserver=(e,t)=>new Promise(o=>{e.createIntersectionObserver({nativeMode:!0}).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_npm/tdesign-miniprogram/config-provider/config-provider.d.ts b/miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.d.ts
new file mode 100644
index 0000000..00f3225
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.d.ts
@@ -0,0 +1,30 @@
+import { SuperComponent } from '../common/src/index';
+import { TdConfigProviderProps } from './type';
+export interface ConfigProviderProps extends TdConfigProviderProps {
+}
+export default class ConfigProvider extends SuperComponent {
+    options: {
+        multipleSlots: boolean;
+    };
+    externalClasses: string[];
+    properties: TdConfigProviderProps;
+    data: {
+        prefix: string;
+        classPrefix: string;
+        cssVars: {};
+    };
+    _unsubscribeLocale?: () => void;
+    _componentId?: string;
+    observers: {
+        'themeVars, globalConfig'(): void;
+    };
+    lifetimes: {
+        attached(): void;
+        detached(): void;
+    };
+    methods: {
+        initStore(): void;
+        updateConfig(): void;
+        applyTheme(): void;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.js b/miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.js
new file mode 100644
index 0000000..977813b
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.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{configStore}from"./config-store";import themeVarsToCSS from"./utils";const{prefix:prefix}=config,componentName="config-provider";let ConfigProvider=class extends SuperComponent{constructor(){super(...arguments),this.options={multipleSlots:!0},this.externalClasses=[`${prefix}-class`],this.properties=props,this.data={prefix:prefix,classPrefix:`${prefix}-${componentName}`,cssVars:{}},this.observers={"themeVars, globalConfig"(){this.updateConfig()}},this.lifetimes={attached(){this._componentId=`${Date.now()}-${Math.random().toString(36).slice(2)}`,this.initStore(),this.updateConfig()},detached(){this._unsubscribeLocale&&this._unsubscribeLocale(),this._componentId&&configStore.resetPageState(this._componentId)}},this.methods={initStore(){this._unsubscribeLocale=configStore.currentLocale.subscribe(()=>{})},updateConfig(){const{themeVars:e,globalConfig:o}=this.properties;o&&configStore.switchLocale(o,this._componentId),e&&configStore.updateThemeVars(e),this.applyTheme()},applyTheme(){const{themeVars:e}=this.properties,o=themeVarsToCSS(e||{});this.setData({cssVars:o})}}}};ConfigProvider=__decorate([wxComponent()],ConfigProvider);export default ConfigProvider;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.json b/miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.json
new file mode 100644
index 0000000..1bbd8ba
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared"}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.wxml b/miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.wxml
new file mode 100644
index 0000000..7dfec99
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.wxml
@@ -0,0 +1 @@
+<wxs src="../common/utils.wxs" module="_"/><view class="{{classPrefix}} class {{prefix}}-class" style="{{_._style([style, customStyle, cssVars])}}"><slot></slot></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.wxss b/miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.wxss
new file mode 100644
index 0000000..aed803e
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/config-provider.wxss
@@ -0,0 +1 @@
+@import '../common/style/index.wxss';
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/config-store.d.ts b/miniprogram_npm/tdesign-miniprogram/config-provider/config-store.d.ts
new file mode 100644
index 0000000..1b9066f
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/config-store.d.ts
@@ -0,0 +1,16 @@
+import ReactiveState from './reactive-state';
+export declare type Locale = Record<string, any>;
+declare class ConfigStore {
+    currentLocale: ReactiveState<Locale>;
+    themeVars: ReactiveState<Record<string, string>>;
+    private _pageInitFlags;
+    private _cleanupCallbacks;
+    private _deepEqual;
+    switchLocale(locale: Locale, componentId?: string): void;
+    updateThemeVars(vars: Record<string, string>): void;
+    private _getOrInitPageFlag;
+    registerCleanup(componentId: string, cleanup: () => void): void;
+    resetPageState(componentId?: string): void;
+}
+export declare const configStore: ConfigStore;
+export {};
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/config-store.js b/miniprogram_npm/tdesign-miniprogram/config-provider/config-store.js
new file mode 100644
index 0000000..d5f402e
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/config-store.js
@@ -0,0 +1 @@
+import ReactiveState from"./reactive-state";class ConfigStore{constructor(){this.currentLocale=new ReactiveState({}),this.themeVars=new ReactiveState({}),this._pageInitFlags=new Map,this._cleanupCallbacks=new Map}_deepEqual(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(null==e||null==t)return e===t;if("object"!=typeof e)return!1;const a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;try{const a=JSON.stringify(e);if(a===JSON.stringify(t))return!0}catch(e){}return a.every(a=>this._deepEqual(e[a],t[a]))}switchLocale(e,t){if(!t)return;const a=this._getOrInitPageFlag(t);if(a.locale){(!e||0===Object.keys(e).length)===(0===Object.keys(this.currentLocale.value).length)&&this._deepEqual(e,this.currentLocale.value)||(this.currentLocale.value=e)}else a.locale=!0,this.currentLocale.value=e}updateThemeVars(e){this.themeVars.value=Object.assign(Object.assign({},this.themeVars.value),e)}_getOrInitPageFlag(e){return this._pageInitFlags.has(e)||this._pageInitFlags.set(e,{theme:!1,locale:!1}),this._pageInitFlags.get(e)}registerCleanup(e,t){this._cleanupCallbacks.set(e,t)}resetPageState(e){if(e){this._pageInitFlags.delete(e);const t=this._cleanupCallbacks.get(e);if(t){try{t()}catch(t){console.error(`[ConfigStore] Error during cleanup for ${e}:`,t)}this._cleanupCallbacks.delete(e)}Array.from(this._pageInitFlags.values()).some(e=>e.locale)||(this.currentLocale.value={})}}}export const configStore=new ConfigStore;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/props.d.ts b/miniprogram_npm/tdesign-miniprogram/config-provider/props.d.ts
new file mode 100644
index 0000000..85cdf84
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/props.d.ts
@@ -0,0 +1,3 @@
+import { TdConfigProviderProps } from './type';
+declare const props: TdConfigProviderProps;
+export default props;
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/props.js b/miniprogram_npm/tdesign-miniprogram/config-provider/props.js
new file mode 100644
index 0000000..0ca71ed
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/props.js
@@ -0,0 +1 @@
+const props={globalConfig:{type:Object},themeVars:{type:Object}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/reactive-state.d.ts b/miniprogram_npm/tdesign-miniprogram/config-provider/reactive-state.d.ts
new file mode 100644
index 0000000..1a4dce1
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/reactive-state.d.ts
@@ -0,0 +1,9 @@
+export default class ReactiveState<T> {
+    private _value;
+    private _listeners;
+    constructor(initialValue: T);
+    get value(): T;
+    set value(newValue: T);
+    subscribe(listener: (value: T) => void): () => void;
+    private _notify;
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/reactive-state.js b/miniprogram_npm/tdesign-miniprogram/config-provider/reactive-state.js
new file mode 100644
index 0000000..9da4f84
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/reactive-state.js
@@ -0,0 +1 @@
+export default class ReactiveState{constructor(e){this._listeners=new Set,this._value=e}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this._notify())}subscribe(e){return this._listeners.add(e),e(this._value),()=>{this._listeners.delete(e)}}_notify(){this._listeners.forEach(e=>{try{e(this._value)}catch(e){console.error("State listener error:",e)}})}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/type.d.ts b/miniprogram_npm/tdesign-miniprogram/config-provider/type.d.ts
new file mode 100644
index 0000000..eb9e686
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/type.d.ts
@@ -0,0 +1,136 @@
+import { FormErrorMessage } from '../form/index';
+import { ImageProps } from '../image/index';
+export interface TdConfigProviderProps {
+    globalConfig?: {
+        type: ObjectConstructor;
+        value?: GlobalConfigProvider;
+    };
+    themeVars?: {
+        type: ObjectConstructor;
+        value?: object;
+    };
+}
+export interface GlobalConfigProvider {
+    actionSheet?: ActionSheetConfig;
+    calendar?: CalendarConfig;
+    cascader?: CascaderConfig;
+    classPrefix?: string;
+    dateTimePicker?: DateTimePickerConfig;
+    dropdownMenu?: DropdownMenuConfig;
+    guide?: GuideConfig;
+    picker?: PickerConfig;
+    pullDownRefresh?: PullDownRefreshConfig;
+    qrcode?: QRCodeConfig;
+    rate?: RateConfig;
+    tabBar?: TabBarConfig;
+    upload?: UploadConfig;
+}
+export interface ActionSheetConfig {
+    cancel?: string;
+}
+export interface AttachmentsConfig {
+    status?: {
+        pending: string;
+        fail: string;
+    };
+}
+export interface CalendarConfig {
+    confirm?: string;
+    monthTitle?: string;
+    months?: string[];
+    title?: string;
+    weekdays?: string[];
+}
+export interface CascaderConfig {
+    placeholder?: string;
+    title?: string;
+}
+export interface ChatActionbarConfig {
+    actionBar?: {
+        replay: string;
+        copy: string;
+        good: string;
+        bad: string;
+        share: string;
+        quote: string;
+    };
+}
+export interface ChatSenderConfig {
+    placeholder?: string;
+    sendText?: string;
+    stopText?: string;
+}
+export interface ChatThinkingConfig {
+    status?: {
+        pending: string;
+        complete: string;
+        stop: string;
+    };
+}
+export interface DateTimePickerConfig {
+    cancel?: string;
+    confirm?: string;
+    dateLabel?: string;
+    format?: string;
+    hourLabel?: string;
+    minuteLabel?: string;
+    monthLabel?: string;
+    secondLabel?: string;
+    title?: string;
+    yearLabel?: string;
+}
+export interface DropdownMenuConfig {
+    confirm?: string;
+    reset?: string;
+}
+export interface FormConfig {
+    colonText?: string;
+    errorMessage?: FormErrorMessage;
+    requiredMark?: boolean;
+    requiredMarkPosition?: 'left' | 'right';
+}
+export interface GuideConfig {
+    back?: string;
+    finish?: string;
+    next?: string;
+    skip?: string;
+}
+export interface ImageConfig {
+    errorText?: string;
+    loadingText?: string;
+    replaceImageSrc?: (params: ImageProps) => string;
+}
+export interface InputConfig {
+    placeholder?: string;
+}
+export interface PickerConfig {
+    cancel?: string;
+    confirm?: string;
+}
+export interface PullDownRefreshConfig {
+    loadingTexts?: string[];
+}
+export interface QRCodeConfig {
+    expiredText?: string;
+    refreshText?: string;
+    scannedText?: string;
+}
+export interface RateConfig {
+    noValueText?: string;
+    valueText?: string;
+}
+export interface TabBarConfig {
+    haveMoreNewsAriaLabel?: string;
+    haveNewsAriaLabel?: string;
+    moreNewsAriaLabel?: string;
+    newsAriaLabel?: string;
+}
+export interface UploadConfig {
+    progress?: UploadConfigProgress;
+}
+export interface UploadConfigProgress {
+    failText?: string;
+    successText?: string;
+    uploadingText?: string;
+    waitingText?: string;
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/type.js b/miniprogram_npm/tdesign-miniprogram/config-provider/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/use-config.d.ts b/miniprogram_npm/tdesign-miniprogram/config-provider/use-config.d.ts
new file mode 100644
index 0000000..b8ae0cc
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/use-config.d.ts
@@ -0,0 +1,5 @@
+export declare function getComponentLocale<T extends Record<string, any>>(component: any, componentName: string, defaultLocale: T, localePropName?: string): T;
+export declare function useConfig(componentName: string): {
+    getLocale<T extends Record<string, any>>(defaultLocale: T, component: any): T;
+    subscribeLocale(component: any, callback: (locale: Record<string, any>) => void): () => void;
+};
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/use-config.js b/miniprogram_npm/tdesign-miniprogram/config-provider/use-config.js
new file mode 100644
index 0000000..fe806fe
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/use-config.js
@@ -0,0 +1 @@
+import{configStore}from"./config-store";export function getComponentLocale(e,o,t,n){var r;let c={};n&&(c=(null===(r=e.properties)||void 0===r?void 0:r[n])||{});const i=configStore.currentLocale.value,s=i&&i[o]||{};return Object.assign(Object.assign(Object.assign({},t),s),c)}export function useConfig(e){return{getLocale:(o,t)=>getComponentLocale(t,e,o),subscribeLocale:(e,o)=>configStore.currentLocale.subscribe(e=>{o(e)})}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/utils.d.ts b/miniprogram_npm/tdesign-miniprogram/config-provider/utils.d.ts
new file mode 100644
index 0000000..4ca70c1
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/utils.d.ts
@@ -0,0 +1 @@
+export default function themeVarsToCSS(themeVars: Record<string, string | number>, prefix?: string): Record<string, string>;
diff --git a/miniprogram_npm/tdesign-miniprogram/config-provider/utils.js b/miniprogram_npm/tdesign-miniprogram/config-provider/utils.js
new file mode 100644
index 0000000..5acd668
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/config-provider/utils.js
@@ -0,0 +1 @@
+import{toKebabCase}from"../common/utils";export default function themeVarsToCSS(t,e="--td-"){const o={};return Object.keys(t).forEach(r=>{let s;s=r.startsWith("--")?r:r.includes("-")?`${e}${r}`:`${e}${toKebabCase(r)}`,o[s]=String(t[r])}),o}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.d.ts b/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.d.ts
index 3ef9abc..cf195ac 100644
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.d.ts
@@ -13,14 +13,14 @@
     label: string | number;
 }
 export default class DateTimePicker extends SuperComponent {
+    behaviors: string[];
     properties: import("./type").TdDateTimePickerProps;
     externalClasses: string[];
     options: {
         multipleSlots: boolean;
     };
     observers: {
-        'start, end, value': () => void;
-        customLocale(v: any): void;
+        'start, end, value, globalConfig'(): void;
         mode(m: any): void;
     };
     date: any;
@@ -30,8 +30,6 @@
         columns: any[];
         columnsValue: any[];
         fullModes: any[];
-        locale: any;
-        dayjsLocale: any;
     };
     controlledProps: {
         key: string;
diff --git a/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.js b/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.js
index ac86150..321a391 100644
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.js
+++ b/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.js
@@ -1 +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<l;i+=1){if(n[i]===t)return s[i];if(s[i]!==a[i])return o[t]["min"===e?0:1]}return o[t]["min"===e?0:1]},getMonthOptions(){const e=[],t=this.getOptionEdge("min","month"),a=this.getOptionEdge("max","month"),s=dayjs.monthsShort();for(let o=t;o<=a;o+=1)e.push({value:`${o}`,label:s[o]});return e},getDayOptions(){const{locale:e}=this.data,t=[],a=this.getOptionEdge("min","date"),s=this.getOptionEdge("max","date");for(let o=a;o<=s;o+=1)t.push({value:`${o}`,label:`${o+e.day}`});return t},getHourOptions(){const{locale:e}=this.data,t=[],a=this.getOptionEdge("min","hour"),s=this.getOptionEdge("max","hour");for(let o=a;o<=s;o+=1)t.push({value:`${o}`,label:`${o+e.hour}`});return t},getMinuteOptions(){const{locale:e}=this.data,t=[],a=this.getOptionEdge("min","minute"),s=this.getOptionEdge("max","minute");for(let o=a;o<=s;o+=1)t.push({value:`${o}`,label:`${o+e.minute}`});return t},getValueCols(){return{columns:this.getColumnOptions(),columnsValue:this.getColumnsValue()}},getColumnsValue(){const{fullModes:e}=this.data,t=this.getDate(),a=[];return null==e||e.forEach(e=>{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
+import{__decorate}from"tslib";import config from"../common/config";import{SuperComponent,wxComponent}from"../common/src/index";import usingConfig from"../mixins/using-config";import props from"./props";const dayjs=require("dayjs"),localeData=require("dayjs/plugin/localeData");dayjs.extend(localeData),dayjs.locale("zh-cn");const{prefix:prefix}=config,componentName="date-time-picker";var ModeItem;!function(t){t.YEAR="year",t.MONTH="month",t.DATE="date",t.HOUR="hour",t.MINUTE="minute",t.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.behaviors=[usingConfig({componentName:componentName})],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, globalConfig"(){this.updateColumns()},mode(t){const e=this.getFullModeArray(t);this.setData({fullModes:e}),this.updateColumns()}},this.date=null,this.data={prefix:prefix,classPrefix:`${prefix}-${componentName}`,columns:[],columnsValue:[],fullModes:[]},this.controlledProps=[{key:"value",event:"change"}],this.methods={updateColumns(){this.date=this.getParseDate();const{columns:t,columnsValue:e}=this.getValueCols();this.setData({columns:t,columnsValue:e})},getDaysOfWeekInMonth(t,e){var o;const{globalConfig:s,steps:a}=this.data,n=t.startOf("month"),i=this.getOptionEdge("min",e),l=this.getOptionEdge("max",e),r=null!==(o=null==a?void 0:a[e])&&void 0!==o?o:1,u=[],d=(null==s?void 0:s.dayjsLocale)||"zh-cn";for(let t=i;t<=l;t+=r){const e=n.date(t).locale(d).format("ddd");u.push({value:`${t}`,label:`${t}${null==s?void 0:s.dateLabel} ${e}`})}return u},getParseDate(){const{value:t,defaultValue:e}=this.properties,o=this.getMinDate();let s=t||e;if(this.isTimeMode()){const t=dayjs(o).format("YYYY-MM-DD");s=dayjs(`${t} ${s}`)}let a=dayjs(s||o);if(!a.isValid()&&"string"==typeof s){const t=s.match(/(\d{4}[-/]\d{1,2}[-/]\d{1,2}(\s+\d{1,2}:\d{1,2}(:\d{1,2})?)?)/);t&&(a=dayjs(t[1]))}return a.isValid()?a:o},normalize:(t,e)=>t&&dayjs(t).isValid()?dayjs(t):e,getMinDate(){return this.normalize(this.properties.start,dayjs().subtract(10,"year"))},getMaxDate(){return this.normalize(this.properties.end,dayjs().add(10,"year"))},getDateRect(t="default"){const e=this[{min:"getMinDate",max:"getMaxDate",default:"getDate"}[t]]();return["year","month","date","hour","minute","second"].map(t=>{var o;return null===(o=e[t])||void 0===o?void 0:o.call(e)})},getDate(){return this.clipDate((null==this?void 0:this.date)||this.getMinDate())},clipDate(t){const e=this.getMinDate(),o=this.getMaxDate();return dayjs(Math.min(Math.max(e.valueOf(),t.valueOf()),o.valueOf()))},setYear(t,e){const o=t.date(),s=t.year(e).daysInMonth();return t.date(Math.min(o.valueOf(),s.valueOf())).year(e)},setMonth(t,e){const o=t.date(),s=t.month(e).daysInMonth();return t.date(Math.min(o.valueOf(),s.valueOf())).month(e)},getColumnOptions(){const{fullModes:t,filter:e}=this.data,o=[];return null==t||t.forEach(t=>{const s=this.getOptionByType(t);"function"==typeof e?o.push(e(t,s)):o.push(s)}),o},getOptionByType(t){var e,o;const{globalConfig:s,steps:a,showWeek:n}=this.data,i=[],l=this.getOptionEdge("min",t),r=this.getOptionEdge("max",t),u=null!==(e=null==a?void 0:a[t])&&void 0!==e?e:1;if("date"===t&&n)return this.getDaysOfWeekInMonth(this.date,t);for(let e=l;e<=r;e+=u)i.push({value:`${e}`,label:"month"===t?null===(o=s.months)||void 0===o?void 0:o[e]:`${e}${s[`${t}Label`]}`});return i},getYearOptions(t){const{globalConfig:e}=this.data,{minDateYear:o,maxDateYear:s}=t,a=[];for(let t=o;t<=s;t+=1)a.push({value:`${t}`,label:`${t}${e.yearLabel}`});return a},getOptionEdge(t,e){const o=this.getDateRect(),s=this.getDateRect(t),a={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=o.length;i<l;i+=1){if(n[i]===e)return s[i];if(s[i]!==o[i])return a[e]["min"===t?0:1]}return a[e]["min"===t?0:1]},getMonthOptions(){const{globalConfig:t}=this.data,e=[],o=this.getOptionEdge("min","month"),s=this.getOptionEdge("max","month");for(let a=o;a<=s;a+=1)e.push({value:`${a}`,label:t.months[a]});return e},getDayOptions(){const{globalConfig:t}=this.data,e=[],o=this.getOptionEdge("min","date"),s=this.getOptionEdge("max","date");for(let a=o;a<=s;a+=1)e.push({value:`${a}`,label:`${a}${t.dateLabel}`});return e},getHourOptions(){const{globalConfig:t}=this.data,e=[],o=this.getOptionEdge("min","hour"),s=this.getOptionEdge("max","hour");for(let a=o;a<=s;a+=1)e.push({value:`${a}`,label:`${a}${t.hourLabel}`});return e},getMinuteOptions(){const{globalConfig:t}=this.data,e=[],o=this.getOptionEdge("min","minute"),s=this.getOptionEdge("max","minute");for(let a=o;a<=s;a+=1)e.push({value:`${a}`,label:`${a}${t.minuteLabel}`});return e},getValueCols(){return{columns:this.getColumnOptions(),columnsValue:this.getColumnsValue()}},getColumnsValue(){const{fullModes:t}=this.data,e=this.getDate(),o=[];return null==t||t.forEach(t=>{o.push(`${e[t]()}`)}),o},getNewDate(t,e){let o=this.getDate();switch(e){case ModeItem.YEAR:o=this.setYear(o,t);break;case ModeItem.MONTH:o=this.setMonth(o,t);break;case ModeItem.DATE:o=o.date(t);break;case ModeItem.HOUR:o=o.hour(t);break;case ModeItem.MINUTE:o=o.minute(t);break;case ModeItem.SECOND:o=o.second(t)}return this.clipDate(o)},onColumnChange(t){const{value:e,column:o}=null==t?void 0:t.detail,{fullModes:s,format:a}=this.data,n=null==e?void 0:e[o],i=null==s?void 0:s[o],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=a?d.format(a):d.valueOf();this.triggerEvent("pick",{value:h})},onConfirm(){const{format:t}=this.properties,e=this.getDate(),o=t?e.format(t):e.valueOf();this._trigger("change",{value:o}),this.triggerEvent("confirm",{value:o}),this.resetColumns()},onCancel(){this.resetColumns(),this.triggerEvent("cancel")},onVisibleChange(t){t.detail.visible||this.resetColumns()},onClose(t){const{trigger:e}=t.detail;this.triggerEvent("close",{trigger:e})},resetColumns(){const t=this.getParseDate();this.date=t;const{columns:e,columnsValue:o}=this.getValueCols();this.setData({columns:e,columnsValue:o})}}}getFullModeArray(t){if("string"==typeof t||t instanceof String)return this.getFullModeByModeString(t,FULL_MODES);if(Array.isArray(t)){if(1===(null==t?void 0:t.length))return this.getFullModeByModeString(t[0],FULL_MODES);if(2===(null==t?void 0:t.length)){return[...this.getFullModeByModeString(t[0],DATE_MODES),...this.getFullModeByModeString(t[1],TIME_MODES)]}}}getFullModeByModeString(t,e){if(!t)return[];const o=null==e?void 0:e.findIndex(e=>t===e);return null==e?void 0:e.slice(0,o+1)}isTimeMode(){const{fullModes:t}=this.data;return t[0]===ModeItem.HOUR}};DateTimePicker=__decorate([wxComponent()],DateTimePicker);export default DateTimePicker;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.wxml b/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.wxml
index d608c9a..775770a 100644
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/date-time-picker/date-time-picker.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><t-picker style="{{_._style([style, customStyle])}}" class="class {{prefix}}-class {{classPrefix}}" visible="{{visible}}" value="{{columnsValue}}" header="{{header}}" title="{{title}}" auto-close="{{autoClose}}" confirm-btn="{{confirmBtn || locale.confirm}}" cancel-btn="{{cancelBtn || locale.cancel}}" use-popup="{{usePopup}}" popup-props="{{ popupProps }}" bind:pick="onColumnChange" bind:confirm="onConfirm" bind:cancel="onCancel" bind:visible-change="onVisibleChange" bind:close="onClose"><slot slot="header" name="header"/><t-picker-item wx:for="{{columns}}" wx:key="index" class="{{_.cls(classPrefix + '__item', [['roomly', columns.length >= 5 && index == 0]])}}" options="{{item}}" index="index" format="{{formatter}}"/><slot slot="footer" name="footer"/></t-picker>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><t-picker style="{{_._style([style, customStyle])}}" class="class {{prefix}}-class {{classPrefix}}" visible="{{visible}}" value="{{columnsValue}}" header="{{header}}" title="{{title || globalConfig.title || ''}}" auto-close="{{autoClose}}" confirm-btn="{{confirmBtn || globalConfig.confirm}}" cancel-btn="{{cancelBtn || globalConfig.cancel}}" use-popup="{{usePopup}}" popup-props="{{ popupProps }}" bind:pick="onColumnChange" bind:confirm="onConfirm" bind:cancel="onCancel" bind:visible-change="onVisibleChange" bind:close="onClose"><slot slot="header" name="header"/><t-picker-item wx:for="{{columns}}" wx:key="index" class="{{_.cls(classPrefix + '__item', [['roomly', columns.length >= 5 && index == 0]])}}" use-slots="{{false}}" options="{{item}}" index="index" format="{{formatter}}"/><slot slot="footer" name="footer"/></t-picker>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/dayjs.d.ts b/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/dayjs.d.ts
deleted file mode 100644
index faf01c6..0000000
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/dayjs.d.ts
+++ /dev/null
@@ -1,174 +0,0 @@
-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_npm/tdesign-miniprogram/date-time-picker/locale/dayjs.js b/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/dayjs.js
deleted file mode 100644
index 582e653..0000000
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/dayjs.js
+++ /dev/null
@@ -1 +0,0 @@
-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_npm/tdesign-miniprogram/date-time-picker/locale/en.d.ts b/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/en.d.ts
deleted file mode 100644
index 9665c2e..0000000
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/en.d.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-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_npm/tdesign-miniprogram/date-time-picker/locale/en.js b/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/en.js
deleted file mode 100644
index f5c7622..0000000
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/en.js
+++ /dev/null
@@ -1 +0,0 @@
-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_npm/tdesign-miniprogram/date-time-picker/locale/ja.d.ts b/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ja.d.ts
deleted file mode 100644
index 9665c2e..0000000
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ja.d.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-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_npm/tdesign-miniprogram/date-time-picker/locale/ja.js b/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ja.js
deleted file mode 100644
index 0086028..0000000
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ja.js
+++ /dev/null
@@ -1 +0,0 @@
-export default{year:"骞�",month:"鏈�",date:"鏃�",hour:"鏅�",minute:"鍒�",second:"绉�",am:"鍗堝墠",pm:"鍗堝緦",confirm:"纰鸿獚",cancel:"銈儯銉炽偦銉�"};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ko.d.ts b/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ko.d.ts
deleted file mode 100644
index 9665c2e..0000000
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ko.d.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-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_npm/tdesign-miniprogram/date-time-picker/locale/ko.js b/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ko.js
deleted file mode 100644
index ec143c4..0000000
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ko.js
+++ /dev/null
@@ -1 +0,0 @@
-export default{year:"雲�",month:"鞗�",date:"鞚�",hour:"鞁�",minute:"攵�",second:"齑�",am:"鞓れ爠",pm:"鞓ろ泟",confirm:"頇曥澑",cancel:"旆唽"};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ru.d.ts b/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ru.d.ts
deleted file mode 100644
index 9665c2e..0000000
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ru.d.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-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_npm/tdesign-miniprogram/date-time-picker/locale/ru.js b/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ru.js
deleted file mode 100644
index b6655dd..0000000
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/ru.js
+++ /dev/null
@@ -1 +0,0 @@
-export default{year:"",month:"",date:"",hour:"",minute:"",second:"",am:"写芯 锌芯谢褍写薪褟",pm:"锌芯褋谢械 锌芯谢褍写薪褟",confirm:"锌芯写褌胁械褉写懈褌褜",cancel:"芯褌屑械薪懈褌褜"};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/tc.d.ts b/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/tc.d.ts
deleted file mode 100644
index 9665c2e..0000000
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/tc.d.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-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_npm/tdesign-miniprogram/date-time-picker/locale/tc.js b/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/tc.js
deleted file mode 100644
index f9ef748..0000000
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/tc.js
+++ /dev/null
@@ -1 +0,0 @@
-export default{year:"骞�",month:"鏈�",date:"鏃�",hour:"鏅�",minute:"鍒�",second:"绉�",am:"涓婂崍",pm:"涓嬪崍",confirm:"纰哄畾",cancel:"鍙栨秷"};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/zh.d.ts b/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/zh.d.ts
deleted file mode 100644
index 9665c2e..0000000
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/zh.d.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-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_npm/tdesign-miniprogram/date-time-picker/locale/zh.js b/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/zh.js
deleted file mode 100644
index ed21da3..0000000
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/locale/zh.js
+++ /dev/null
@@ -1 +0,0 @@
-export default{year:"骞�",month:"鏈�",date:"鏃�",hour:"鏃�",minute:"鍒�",second:"绉�",am:"涓婂崍",pm:"涓嬪崍",confirm:"纭畾",cancel:"鍙栨秷"};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/date-time-picker/props.js b/miniprogram_npm/tdesign-miniprogram/date-time-picker/props.js
index c593ba8..55d7a18 100644
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/props.js
+++ b/miniprogram_npm/tdesign-miniprogram/date-time-picker/props.js
@@ -1 +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
+const props={autoClose:{type:Boolean,value:!1},cancelBtn:{type:String,value:"鍙栨秷"},confirmBtn:{type:String,value:""},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_npm/tdesign-miniprogram/date-time-picker/type.d.ts b/miniprogram_npm/tdesign-miniprogram/date-time-picker/type.d.ts
index 80d40d5..a7d3eeb 100644
--- a/miniprogram_npm/tdesign-miniprogram/date-time-picker/type.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/date-time-picker/type.d.ts
@@ -12,10 +12,6 @@
         type: StringConstructor;
         value?: string;
     };
-    customLocale?: {
-        type: StringConstructor;
-        value?: string;
-    };
     end?: {
         type: null;
         value?: string | number;
diff --git a/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxss b/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxss
index 5392da2..eaec3ef 100644
--- a/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/dialog/dialog.wxss
@@ -3,9 +3,9 @@
 .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{text-align:center;font:var(--td-dialog-title-font,var(--td-font-title-large,600 36rpx / 52rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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{overflow-y:scroll;text-align:center;-webkit-overflow-scrolling:touch;font:var(--td-dialog-content-font,var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));color:var(--td-dialog-content-color,var(--td-text-color-secondary,var(--td-font-gray-2,rgba(0,0,0,.6))));}
 .t-dialog__body-text{word-wrap:break-word;}
 .t-dialog__body--left{text-align:left;}
 .t-dialog__body--right{text-align:right;}
diff --git a/miniprogram_npm/tdesign-miniprogram/divider/divider.wxss b/miniprogram_npm/tdesign-miniprogram/divider/divider.wxss
index f4c3075..843c3b9 100644
--- a/miniprogram_npm/tdesign-miniprogram/divider/divider.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/divider/divider.wxss
@@ -7,5 +7,5 @@
 .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__content{font:var(--td-divider-content-font,var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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_npm/tdesign-miniprogram/drawer/drawer.wxss b/miniprogram_npm/tdesign-miniprogram/drawer/drawer.wxss
index 171b612..4d9a8f1 100644
--- a/miniprogram_npm/tdesign-miniprogram/drawer/drawer.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/drawer/drawer.wxss
@@ -1,8 +1,8 @@
 @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__title{font:var(--td-drawer-title-font,var(--td-font-title-large,600 36rpx / 52rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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{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);font:var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
 .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);}
diff --git a/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.d.ts b/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.d.ts
index 21473e9..0ea1363 100644
--- a/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.d.ts
@@ -3,6 +3,7 @@
 export interface DropdownItemProps extends TdDropdownItemProps {
 }
 export default class DropdownMenuItem extends SuperComponent {
+    behaviors: string[];
     options: {
         multipleSlots: boolean;
     };
diff --git a/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.js b/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.js
index 12232db..1ff0c58 100644
--- a/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.js
+++ b/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.js
@@ -1 +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
+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";import usingConfig from"../mixins/using-config";const{prefix:prefix}=config,parentComponentName="dropdown-menu",componentName="dropdown-item";let DropdownMenuItem=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[usingConfig({componentName:"dropdown-menu"})],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:`${prefix}-${componentName}`,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:o,showOverlay:a}=e.properties;this.setData({zIndex:t,duration:o,showOverlay:a})}}},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:o,valueAlias:a}=this.data;if(this.data.multiple&&!Array.isArray(e))throw TypeError("搴斾紶鍏ユ暟缁勭被鍨嬬殑 value");const s=t.find(t=>t[a]===e);s&&this.setData({computedLabel:s[o]})},"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:o}=e.currentTarget.dataset,{value:a}=this.data;a[t]=o,this._trigger("change",{value:a})},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_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxml b/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxml
index 1317201..57a7a83 100644
--- a/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxml
@@ -1 +1 @@
-<wxs module="_this" src="./index.wxs"/><wxs module="_" src="../common/utils.wxs"/><view wx:if="{{wrapperVisible}}" class="{{classPrefix}} class {{prefix}}-class" style="{{_._style([_this.getStyles(top, zIndex), style, customStyle])}}"><view class="{{ classPrefix }}__mask" hidden="{{!show}}" style="{{_._style(['height:' + maskHeight + 'px', style, customStyle])}}" bind:tap="handleMaskClick" catchtouchmove="closeDropdown"></view><t-popup visible="{{show}}" z-index="{{zIndex + 1}}" duration="{{duration}}" show-overlay="{{showOverlay}}" custom-style="position: absolute" overlay-props="{{ { style: 'position: absolute' } }}" bind:leaved="onLeaved" bind:visible-change="handleMaskClick" t-class="{{classPrefix}}__popup-host" t-class-content="{{classPrefix}}__content {{prefix}}-class-content"><view class="{{classPrefix}}__body"><scroll-view wx:if="{{!multiple && options && options.length > 0}}" class="{{classPrefix}}__scroll" scroll-y scroll-into-view="id_{{value}}"><t-radio-group class="{{classPrefix}}__radio {{prefix}}-class-column" t-class="{{classPrefix}}__radio-group" style="grid-template-columns: repeat({{optionsColumns}}, 1fr)" value="{{value}}" bind:change="handleRadioChange"><view wx:for="{{options}}" wx:key="index" id="id_{{item[valueAlias]}}"><t-radio placement="{{placement}}" tabindex="0" icon="line" class="{{classPrefix}}__radio-item {{prefix}}-class-column-item" t-class="radio" t-class-label="{{prefix}}-class-column-item-label" value="{{item[valueAlias]}}" label="{{item[labelAlias]}}" disabled="{{item.disabled}}"/></view></t-radio-group></scroll-view><scroll-view wx:if="{{multiple && options && options.length > 0}}" class="{{classPrefix}}__scroll" scroll-y scroll-into-view="id_{{firstCheckedValue}}"><t-checkbox-group class="{{classPrefix}}__checkbox {{prefix}}-class-column" t-class="{{classPrefix}}__checkbox-group" style="grid-template-columns: repeat({{optionsColumns}}, 1fr)" value="{{value ? value : []}}" bind:change="handleRadioChange"><view wx:for="{{options}}" wx:key="index" id="id_{{item[valueAlias]}}"><t-checkbox tabindex="0" class="{{classPrefix}}__checkbox-item {{prefix}}-class-column-item" theme="tag" value="{{item[valueAlias]}}" label="{{item[labelAlias]}}" disabled="{{item.disabled}}"></t-checkbox></view></t-checkbox-group></scroll-view><slot/></view><view class="{{classPrefix}}__footer {{prefix}}-class-footer"><slot name="footer"/><block wx:if="{{multiple}}"><t-button block class="{{classPrefix}}__footer-btn {{classPrefix}}__reset-btn" theme="light" content="閲嶇疆" disabled="{{value.length == 0}}" bindtap="handleReset"/><t-button block class="{{classPrefix}}__footer-btn {{classPrefix}}__confirm-btn" theme="primary" content="纭畾" disabled="{{value.length == 0}}" bindtap="handleConfirm"/></block></view></t-popup></view>
\ No newline at end of file
+<wxs module="_this" src="./index.wxs"/><wxs module="_" src="../common/utils.wxs"/><view wx:if="{{wrapperVisible}}" class="{{classPrefix}} class {{prefix}}-class" style="{{_._style([_this.getStyles(top, zIndex), style, customStyle])}}"><view class="{{ classPrefix }}__mask" hidden="{{!show}}" style="{{_._style(['height:' + maskHeight + 'px', style, customStyle])}}" bind:tap="handleMaskClick" catchtouchmove="closeDropdown"></view><t-popup visible="{{show}}" z-index="{{zIndex + 1}}" duration="{{duration}}" show-overlay="{{showOverlay}}" custom-style="position: absolute" overlay-props="{{ { style: 'position: absolute' } }}" bind:leaved="onLeaved" bind:visible-change="handleMaskClick" t-class="{{classPrefix}}__popup-host" t-class-content="{{classPrefix}}__content {{prefix}}-class-content"><view class="{{classPrefix}}__body"><scroll-view wx:if="{{!multiple && options && options.length > 0}}" class="{{classPrefix}}__scroll" scroll-y scroll-into-view="id_{{value}}"><t-radio-group class="{{classPrefix}}__radio {{prefix}}-class-column" t-class="{{classPrefix}}__radio-group" style="grid-template-columns: repeat({{optionsColumns}}, 1fr)" value="{{value}}" bind:change="handleRadioChange"><view wx:for="{{options}}" wx:key="index" id="id_{{item[valueAlias]}}"><t-radio placement="{{placement}}" tabindex="0" icon="line" class="{{classPrefix}}__radio-item {{prefix}}-class-column-item" t-class="radio" t-class-label="{{prefix}}-class-column-item-label" value="{{item[valueAlias]}}" label="{{item[labelAlias]}}" disabled="{{item.disabled}}"/></view></t-radio-group></scroll-view><scroll-view wx:if="{{multiple && options && options.length > 0}}" class="{{classPrefix}}__scroll" scroll-y scroll-into-view="id_{{firstCheckedValue}}"><t-checkbox-group class="{{classPrefix}}__checkbox {{prefix}}-class-column" t-class="{{classPrefix}}__checkbox-group" style="grid-template-columns: repeat({{optionsColumns}}, 1fr)" value="{{value ? value : []}}" bind:change="handleRadioChange"><view wx:for="{{options}}" wx:key="index" id="id_{{item[valueAlias]}}"><t-checkbox tabindex="0" class="{{classPrefix}}__checkbox-item {{prefix}}-class-column-item" theme="tag" value="{{item[valueAlias]}}" label="{{item[labelAlias]}}" disabled="{{item.disabled}}"></t-checkbox></view></t-checkbox-group></scroll-view><slot/></view><view class="{{classPrefix}}__footer {{prefix}}-class-footer"><slot name="footer"/><block wx:if="{{multiple}}"><t-button block class="{{classPrefix}}__footer-btn {{classPrefix}}__reset-btn" theme="light" content="{{globalConfig.reset}}" disabled="{{value.length == 0}}" bindtap="handleReset"/><t-button block class="{{classPrefix}}__footer-btn {{classPrefix}}__confirm-btn" theme="primary" content="{{globalConfig.confirm}}" disabled="{{value.length == 0}}" bindtap="handleConfirm"/></block></view></t-popup></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxss b/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxss
index 01c0b96..4a314c2 100644
--- a/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/dropdown-item/dropdown-item.wxss
@@ -15,6 +15,4 @@
 .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_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.js b/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.js
index 109bcca..2713506 100644
--- a/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.js
+++ b/miniprogram_npm/tdesign-miniprogram/dropdown-menu/dropdown-menu.js
@@ -1 +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
+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,componentName="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:`${prefix}-${componentName}`,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_npm/tdesign-miniprogram/empty/empty.wxss b/miniprogram_npm/tdesign-miniprogram/empty/empty.wxss
index 2962edb..28a7e10 100644
--- a/miniprogram_npm/tdesign-miniprogram/empty/empty.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/empty/empty.wxss
@@ -1,5 +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{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:var(--td-empty-description-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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_npm/tdesign-miniprogram/footer/footer.wxss b/miniprogram_npm/tdesign-miniprogram/footer/footer.wxss
index e8d9202..d51f5ee 100644
--- a/miniprogram_npm/tdesign-miniprogram/footer/footer.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/footer/footer.wxss
@@ -1,10 +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__text{font:var(--td-footer-text-font,var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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-item{color:var(--td-footer-link-color,var(--td-brand-color,var(--td-primary-color-7,#0052d9)));font:var(--td-footer-link-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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{color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));font:var(--td-footer-logo-title-font,var(--td-font-title-medium,600 32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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_npm/tdesign-miniprogram/form-item/form-item.d.ts b/miniprogram_npm/tdesign-miniprogram/form-item/form-item.d.ts
new file mode 100644
index 0000000..62376a7
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form-item/form-item.d.ts
@@ -0,0 +1,52 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class FormItem extends SuperComponent {
+    externalClasses: string[];
+    behaviors: string[];
+    properties: import("./type").TdFormItemProps;
+    data: {
+        prefix: string;
+        classPrefix: string;
+        formClass: string;
+        formItemClass: string;
+        labelClass: string;
+        errorClasses: string;
+        errorList: any[];
+        successList: any[];
+        verifyStatus: number;
+        needResetField: boolean;
+        resetValidating: boolean;
+        formRules: any[];
+        innerLabelAlign: string;
+        innerLabelWidth: string;
+        form: {};
+        colon: boolean;
+        innerShowErrorMessage: boolean;
+    };
+    relations: RelationsOptions;
+    lifetimes: {
+        ready(): void;
+        detached(): void;
+    };
+    methods: {
+        calcErrorClasses(errorList?: any): string;
+        scrollIntoView(type: string, distanceTop?: number): void;
+        initFormItem(): void;
+        setInitialValue(): void;
+        getFormData(): any;
+        getValue(): any;
+        getRules(): any;
+        validate(data: any, trigger: any, showErrorMessage: any): Promise<{
+            [x: number]: boolean;
+        }>;
+        validateOnly(trigger: any): Promise<any>;
+        analysisValidateResult(results: any): {
+            errorList: any;
+            successList: any;
+            resultList: any;
+        };
+        updateValidateStatus(analysis: any): void;
+        clearValidate(): void;
+        resetField(): void;
+        setValidateMessage(validateMessage: any): void;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/form-item/form-item.js b/miniprogram_npm/tdesign-miniprogram/form-item/form-item.js
new file mode 100644
index 0000000..44b3558
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form-item/form-item.js
@@ -0,0 +1 @@
+import{__awaiter,__decorate}from"tslib";import props from"./props";import{validateRules,ValidateStatus}from"./form-model";import config from"../common/config";import{SuperComponent,wxComponent}from"../common/src/index";import usingConfig from"../mixins/using-config";import{isNumeric}from"../common/validator";const{prefix:prefix}=config,parentComponentName="form",componentName="form-item";function normalizeLabelWidth(e){return e?isNumeric(e)?`${e}px`:String(e):""}let FormItem=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`,`${prefix}-class-label`,`${prefix}-class-controls`,`${prefix}-class-help`,`${prefix}-class-extra`],this.behaviors=[usingConfig({componentName:"form"})],this.properties=props,this.data={prefix:prefix,classPrefix:`${prefix}-form-item`,formClass:`${prefix}-form`,formItemClass:`${prefix}-form__item`,labelClass:`${prefix}-form__label`,errorClasses:"",errorList:[],successList:[],verifyStatus:ValidateStatus.TO_BE_VALIDATED,needResetField:!1,resetValidating:!1,formRules:[],innerLabelAlign:"",innerLabelWidth:"",form:{},colon:!1,innerShowErrorMessage:!0},this.relations={"../form/form":{type:"parent",linked(e){var t;e.registerChild(this),this.form=e;const{globalConfig:r}=this.data,{requiredMark:s,labelAlign:i,labelWidth:a,showErrorMessage:o}=this.properties,l=null===(t=e.data.rules)||void 0===t?void 0:t[this.properties.name],n=null==l?void 0:l.some(e=>e.required);this.setData({formRules:l,colon:e.data.colon,innerLabelAlign:i||e.data.labelAlign,innerLabelWidth:normalizeLabelWidth(a||e.data.labelWidth),innerRequiredMark:s||e.data.requiredMark||r.requiredMark||n,innerShowErrorMessage:"boolean"==typeof o?o:e.properties.showErrorMessage,requiredMarkPosition:e.data.requiredMarkPosition||r.requiredMarkPosition})},unlinked(){this.form&&this.form.unregisterChild(this.properties.name)}}},this.lifetimes={ready(){this.initFormItem()},detached(){this.form&&this.form.unregisterChild(this.properties.name)}},this.methods={calcErrorClasses(e=this.data.errorList){if(!this.data.innerShowErrorMessage)return"";if(!e||0===e.length)return"";return"error"===(e[0].type||"error")?`${this.data.formItemClass}--error`:`${this.data.formItemClass}--warning`},scrollIntoView(e,t=0){this.createSelectorQuery().select(`.${this.data.classPrefix}`).boundingClientRect().selectViewport().scrollOffset().exec(r=>{r[0]&&r[1]&&wx.pageScrollTo({scrollTop:r[0].top+r[1].scrollTop-t,duration:"smooth"===e?300:0})})},initFormItem(){this.setInitialValue()},setInitialValue(){const{name:e}=this.properties;if(e&&this.form){const t=this.form.properties.data||{};this.initialValue=t[e]}},getFormData(){return this.form&&this.form.properties.data||{}},getValue(){const{name:e}=this.properties;if(e&&this.form){return(this.form.properties.data||{})[e]}},getRules(){const{rules:e}=this.properties;return e&&e.length>0?e:this.data.formRules||[]},validate(e,t,r){return __awaiter(this,void 0,void 0,function*(){const s=this.getRules();if(0===s.length)return{[this.properties.name]:!0};const i="all"===t?s:s.filter(e=>(e.trigger||"change")===t);if(0===i.length)return{[this.properties.name]:!0};const a=e[this.properties.name],o={formData:e,name:this.properties.name},l=yield validateRules(a,i,o),n=this.analysisValidateResult(l);this.updateValidateStatus(n,r);const m={};return m[this.properties.name]=!(n.errorList.length>0)||n.errorList,m})},validateOnly(e){return __awaiter(this,void 0,void 0,function*(){return this.validate(this.getFormData(),e,!1)})},analysisValidateResult(e){const{globalConfig:t}=this.data,r=this.form&&this.form.properties.errorMessage||t.errorMessage,s=this.properties.label||this.properties.name;return{errorList:e.filter(e=>!0!==e.result).map(e=>(e.message||Object.keys(e).forEach(t=>{if(!e.message&&r[t]){const i=r[t];e.message=i.replace(/\$\{name\}/g,s||"").replace(/\$\{validate\}/g,String(!0===e[t]?"":e[t]))}}),e)),successList:e.filter(e=>!0===e.result&&e.message&&"success"===e.type),resultList:e}},updateValidateStatus(e){const{errorList:t,successList:r}=e;this.setData({errorClasses:this.calcErrorClasses(t),errorList:t,successList:r,verifyStatus:t.length>0?ValidateStatus.FAIL:ValidateStatus.SUCCESS})},clearValidate(){this.setData({errorClasses:"",errorList:[],successList:[],verifyStatus:ValidateStatus.TO_BE_VALIDATED})},resetField(){this.clearValidate()},setValidateMessage(e){const t=e.filter(e=>"success"!==e.type),r=e.filter(e=>"success"===e.type);let s=ValidateStatus.SUCCESS;e.length>0&&(s=t.length>0?ValidateStatus.FAIL:ValidateStatus.SUCCESS),this.setData({errorClasses:this.calcErrorClasses(t),errorList:t,successList:r,verifyStatus:s})}}}};FormItem=__decorate([wxComponent()],FormItem);export default FormItem;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/form-item/form-item.json b/miniprogram_npm/tdesign-miniprogram/form-item/form-item.json
new file mode 100644
index 0000000..8629a41
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form-item/form-item.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-icon":"tdesign-miniprogram/icon/icon","t-button":"tdesign-miniprogram/button/button"}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/form-item/form-item.wxml b/miniprogram_npm/tdesign-miniprogram/form-item/form-item.wxml
new file mode 100644
index 0000000..a4523a4
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form-item/form-item.wxml
@@ -0,0 +1 @@
+<wxs src="../common/utils.wxs" module="_"/><view class="{{classPrefix}} {{formItemClass}} {{formClass}}--{{innerLabelAlign}} {{formClass}}-item__{{name}} {{prefix}}-class" style="{{_._style([style, customStyle])}}"><view class="{{formItemClass}}-wrap {{formItemClass}}--{{innerLabelAlign}} {{prefix}}-class-wrap"><view wx:if="{{label}}" class="{{_.cls(labelClass, [innerLabelAlign, ['required', innerRequiredMark], ['required-right', innerRequiredMark && requiredMarkPosition === 'right']])}} {{prefix}}-class-label" style="width: {{innerLabelWidth}}"><label for="{{for}}">{{label}}</label><block wx:if="{{colon}}">{{globalConfig.colonText}}</block></view><view class="{{formClass}}__controls {{errorClasses}} {{prefix}}-class-controls"><view class="{{formClass}}__controls-content {{formClass}}__controls--{{contentAlign}}" style="{{contentStyle}}"><slot/></view><view wx:if="{{help}}" class="{{formItemClass}}-help {{formClass}}__controls--{{contentAlign}} {{prefix}}-class-help">{{ help }}</view><view wx:if="{{(errorList.length > 0 && innerShowErrorMessage) || successList.length > 0}}" class="{{formItemClass}}-extra {{formClass}}__controls--{{contentAlign}} {{prefix}}-class-extra">{{errorList.length > 0 && innerShowErrorMessage ? errorList[0].message : successList[0].message}}</view></view></view><t-icon wx:if="{{arrow}}" name="chevron-right" size="24" color="rgba(0, 0, 0, 0.4)"/></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/form-item/form-item.wxss b/miniprogram_npm/tdesign-miniprogram/form-item/form-item.wxss
new file mode 100644
index 0000000..ef20473
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form-item/form-item.wxss
@@ -0,0 +1,19 @@
+@import '../common/style/index.wxss';.t-form__item{display:flex;box-sizing:border-box;padding:var(--td-form-item-vertical-padding,32rpx) var(--td-form-item-horizontal-padding,32rpx);position:relative;--td-cell-vertical-padding:0;--td-cell-horizontal-padding:0;--td-input-vertical-padding:0;--td-textarea-padding:0;}
+.t-form__item:not(:last-child)::after{position:absolute;box-sizing:border-box;content:' ';pointer-events:none;right:0;left:0;bottom:0;border-bottom:1px solid var(--td-form-item-border-color,var(--td-component-stroke,var(--td-gray-color-3,#e7e7e7)));transform:scaleY(.5);left:var(--td-form-item-border-left-space,var(--td-form-item-vertical-padding,32rpx));right:var(--td-form-item-border-right-space,0);}
+.t-form__item-extra,.t-form__item-help{display:flex;font-size:var(--td-font-size-s,24rpx);margin:0;width:100%;height:auto;min-height:40rpx;margin-top:8rpx;}
+.t-form__item-help{color:var(--td-text-color-disabled,var(--td-font-gray-4,rgba(0,0,0,.26)));}
+.t-form__item--error{color:var(--td-error-color-6,#d54941);}
+.t-form__item--warning{color:var(--td-warning-color-5,#e37318);}
+.t-form__item-wrap{width:100%;display:flex;}
+.t-form__item--top{display:flex;flex-direction:column;}
+.t-form--top{align-items:center;}
+.t-form__label{padding-right:32rpx;vertical-align:middle;line-height:48rpx;color:var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9)));box-sizing:border-box;word-break:break-all;}
+.t-form__label--top{padding-bottom:16rpx;}
+.t-form__label--left{text-align:left;}
+.t-form__label--right{text-align:right;}
+.t-form__label--required:not(.t-form__label--required-right) label::before{display:inline;margin-right:calc(var(--td-spacer,16rpx)/ 2);color:var(--td-error-color-6,#d54941);content:'*';}
+.t-form__label--required-right label::after{display:inline;margin-left:calc(var(--td-spacer,16rpx)/ 2);color:var(--td-error-color-6,#d54941);content:'*';}
+.t-form__controls{flex:1;position:relative;}
+.t-form__controls-content{display:flex;align-items:center;min-height:48rpx;}
+.t-form__controls--left{justify-content:flex-start;}
+.t-form__controls--right{justify-content:flex-end;}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/form-item/form-model.d.ts b/miniprogram_npm/tdesign-miniprogram/form-item/form-model.d.ts
new file mode 100644
index 0000000..03a29cb
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form-item/form-model.d.ts
@@ -0,0 +1,39 @@
+import { isDate, isEmail, isURL } from '../common/validator';
+import { CustomValidator, ValueType, FormRule, AllValidateResult, Data } from '../form/type';
+export declare const ValidateStatus: {
+    TO_BE_VALIDATED: number;
+    SUCCESS: number;
+    FAIL: number;
+};
+export declare function isValueEmpty(val: any): boolean;
+declare const VALIDATE_MAP: {
+    date: typeof isDate;
+    url: typeof isURL;
+    email: typeof isEmail;
+    required: (val: ValueType) => boolean;
+    whitespace: (val: ValueType) => boolean;
+    boolean: (val: ValueType) => boolean;
+    max: (val: ValueType, num: number) => boolean;
+    min: (val: ValueType, num: number) => boolean;
+    len: (val: ValueType, num: number) => boolean;
+    number: (val: ValueType) => boolean;
+    enum: (val: ValueType, strs: Array<string>) => boolean;
+    idcard: (val: ValueType) => boolean;
+    telnumber: (val: ValueType) => boolean;
+    pattern: (val: ValueType, regexp: RegExp | string) => boolean;
+    validator: (val: ValueType, validate: CustomValidator, context?: {
+        formData: Data;
+        name: string;
+    }) => ReturnType<CustomValidator>;
+};
+export declare type ValidateFuncType = (typeof VALIDATE_MAP)[keyof typeof VALIDATE_MAP];
+export declare function validateOneRule(value: ValueType, rule: FormRule, context?: {
+    formData: Data;
+    name: string;
+}): Promise<AllValidateResult>;
+export declare function validate(value: any, rules: any[], context?: {
+    formData: Data;
+    name: string;
+}): Promise<any[]>;
+export declare const validateRules: typeof validate;
+export {};
diff --git a/miniprogram_npm/tdesign-miniprogram/form-item/form-model.js b/miniprogram_npm/tdesign-miniprogram/form-item/form-model.js
new file mode 100644
index 0000000..b8196e8
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form-item/form-model.js
@@ -0,0 +1 @@
+import{__awaiter}from"tslib";import{isNumber,isBoolean,isObject,isEmpty,isDate,isEmail,isURL}from"../common/validator";export const ValidateStatus={TO_BE_VALIDATED:0,SUCCESS:1,FAIL:2};function getCharacterLength(t,e){const i=isNumber(e);if(!t||0===t.length)return i?{length:0,characters:t}:0;let r=0;for(let a=0;a<t.length;a+=1){let n=0;if(n=t.charCodeAt(a)>127||94===t.charCodeAt(a)?2:1,i&&r+n>e)return{length:r,characters:t.slice(0,a)};r+=n}return i?{length:r,characters:t}:r}export function isValueEmpty(t){return"[object Date]"!==Object.prototype.toString.call(t)&&(isObject(t)?isEmpty(t):["",void 0,null].includes(t))}const VALIDATE_MAP={date:isDate,url:isURL,email:isEmail,required:t=>!isValueEmpty(t),whitespace:t=>!(/^\s+$/.test(t)||""===t),boolean:t=>isBoolean(t),max:(t,e)=>isNumber(t)?t<=e:getCharacterLength(t)<=e,min:(t,e)=>isNumber(t)?t>=e:getCharacterLength(t)>=e,len:(t,e)=>getCharacterLength(t)===e,number:t=>isNumber(t),enum:(t,e)=>e.includes(t),idcard:t=>/^(\d{18,18}|\d{15,15}|\d{17,17}x)$/i.test(t),telnumber:t=>/^1[3-9]\d{9}$/.test(t),pattern:(t,e)=>("string"==typeof e?new RegExp(e):e).test(t),validator:(t,e,i)=>e(t,i)};export function validateOneRule(t,e,i){return __awaiter(this,void 0,void 0,function*(){let r={result:!0};const a=Object.keys(e);let n,s,l=!1;for(let i=0;i<a.length;i+=1){const o=a[i];if(!e.required&&isValueEmpty(t)&&!e.validator)return r;const c=VALIDATE_MAP[o],u=e[o];if(c&&(u||0===u)){n=!0===u?void 0:u,s=c,l="validator"===o;break}}if(s){if(r=l?yield s(t,n,i):yield s(t,n),isBoolean(r))return Object.assign(Object.assign({},e),{result:r});if(isObject(r))return r}return r})}export function validate(t,e,i){return __awaiter(this,void 0,void 0,function*(){const r=e.map(e=>validateOneRule(t,e,i));return yield Promise.all(r)})}export const validateRules=validate;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/form-item/props.d.ts b/miniprogram_npm/tdesign-miniprogram/form-item/props.d.ts
new file mode 100644
index 0000000..f04b352
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form-item/props.d.ts
@@ -0,0 +1,3 @@
+import { TdFormItemProps } from './type';
+declare const props: TdFormItemProps;
+export default props;
diff --git a/miniprogram_npm/tdesign-miniprogram/form-item/props.js b/miniprogram_npm/tdesign-miniprogram/form-item/props.js
new file mode 100644
index 0000000..283b4f0
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form-item/props.js
@@ -0,0 +1 @@
+const props={arrow:{type:Boolean,value:!1},help:{type:String},label:{type:String,value:""},labelAlign:{type:String},labelWidth:{type:null},name:{type:String,value:""},requiredMark:{type:null,value:void 0},rules:{type:Array},showErrorMessage:{type:null,value:void 0}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/form-item/type.d.ts b/miniprogram_npm/tdesign-miniprogram/form-item/type.d.ts
new file mode 100644
index 0000000..74ee885
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form-item/type.d.ts
@@ -0,0 +1,39 @@
+import { FormRule } from '../form/index';
+export interface TdFormItemProps {
+    arrow?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    help?: {
+        type: StringConstructor;
+        value?: string;
+    };
+    label?: {
+        type: StringConstructor;
+        value?: string;
+    };
+    labelAlign?: {
+        type: StringConstructor;
+        value?: 'left' | 'right' | 'top';
+    };
+    labelWidth?: {
+        type: null;
+        value?: string | number;
+    };
+    name?: {
+        type: StringConstructor;
+        value?: string;
+    };
+    requiredMark?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    rules?: {
+        type: ArrayConstructor;
+        value?: Array<FormRule>;
+    };
+    showErrorMessage?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/form-item/type.js b/miniprogram_npm/tdesign-miniprogram/form-item/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form-item/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/form/form.d.ts b/miniprogram_npm/tdesign-miniprogram/form/form.d.ts
new file mode 100644
index 0000000..1c53a6f
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form/form.d.ts
@@ -0,0 +1,41 @@
+import { SuperComponent, RelationsOptions } from '../common/src/index';
+export default class Form extends SuperComponent {
+    behaviors: string[];
+    externalClasses: string[];
+    properties: import("./type").TdFormProps<import("./type").Data>;
+    options: {
+        multipleSlots: boolean;
+    };
+    relations: RelationsOptions;
+    data: {
+        prefix: string;
+        classPrefix: string;
+        children: any[];
+        initialData: {};
+        fields: any[];
+    };
+    lifetimes: {
+        ready(): void;
+    };
+    methods: {
+        initFormData(): void;
+        registerChild(child: any): void;
+        unregisterChild(childName: any): void;
+        validate(): Promise<any>;
+        scrollToError(validateResult: any): void;
+        validateOnly(params: any): Promise<any>;
+        formatValidateResult(validateResultList: any): {};
+        getFirstError(validateResult: any): any;
+        submit(): Promise<any>;
+        getValidate(): Promise<false | {
+            validateResult: any;
+            firstError: any;
+        }>;
+        getEmptyValue(name: any): {};
+        reset(): void;
+        clearValidate(fields: any): void;
+        setValidateMessage(validateMessage: any): void;
+        onSubmit(): void;
+        onReset(): void;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/form/form.js b/miniprogram_npm/tdesign-miniprogram/form/form.js
new file mode 100644
index 0000000..1a10075
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form/form.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";import useCustomNavbar from"../mixins/using-custom-navbar";const{prefix:prefix}=config,name=`${prefix}-form`;let Form=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=["wx://component-export",useCustomNavbar],this.externalClasses=[`${prefix}-class`,`${prefix}-class-label`,`${prefix}-class-controls`,`${prefix}-class-help`,`${prefix}-class-extra`],this.properties=props,this.options={multipleSlots:!0},this.relations={"../form-item/form-item":{type:"child",linked(){}}},this.data={prefix:prefix,classPrefix:name,children:[],initialData:{},fields:[]},this.lifetimes={ready(){this.initFormData()}},this.methods={initFormData(){const{data:t}=this.properties,e=t||{},r=Object.assign({},e),i=Object.keys(e);this.setData({initialData:r,fields:i})},registerChild(t){const{children:e}=this.data;e.find(e=>e.data.name===t.data.name)||(e.push(t),this.setData({children:e}))},unregisterChild(t){const{children:e}=this.data,r=e.findIndex(e=>e.data.name===t);r>-1&&(e.splice(r,1),this.setData({children:e}))},validate(){return __awaiter(this,void 0,void 0,function*(){const{children:t}=this.data,{data:e}=this.properties,r=t.map(t=>t.validate(e,"all",this.properties.showErrorMessage));try{const t=yield Promise.all(r),e=this.formatValidateResult(t);return!0!==e&&this.scrollToError(e),this.triggerEvent("validate",{validateResult:e}),e}catch(t){return!1}})},scrollToError(t){const{distanceTop:e}=this.data,{scrollToFirstError:r}=this.properties;if(!r)return;const i=Object.keys(t)[0];if(!i)return;const{children:a}=this.data,s=a.find(t=>t.properties.name===i);s&&s.scrollIntoView(r,e)},validateOnly(t){return __awaiter(this,void 0,void 0,function*(){const{fields:e,trigger:r="all"}=t,{children:i}=this.data,a=i.filter(t=>!(e&&e.length>0)||e.includes(t.data.name)).map(t=>t.validateOnly(r));try{const t=yield Promise.all(a);return this.formatValidateResult(t)}catch(t){return!1}})},formatValidateResult(t){const e={};let r=!1;return t.forEach(t=>{t&&"object"==typeof t&&Object.keys(t).forEach(i=>{!0!==t[i]&&(e[i]=t[i],r=!0)})}),!r||e},getFirstError(t){if(!0===t)return"";const e=Object.keys(t)[0];if(!e)return"";const r=t[e];return Array.isArray(r)&&r.length>0&&r[0].message||""},submit(){return __awaiter(this,void 0,void 0,function*(){try{const t=yield this.validate(),e=this.getFirstError(t);return this.triggerEvent("submit",{validateResult:t,firstError:e}),t}catch(t){return!1}})},getValidate(){return __awaiter(this,void 0,void 0,function*(){try{const t=yield this.validate();return{validateResult:t,firstError:this.getFirstError(t)}}catch(t){return!1}})},getEmptyValue(t){const e=this.properties.data[t];return Array.isArray(e)?[]:"object"==typeof e&&null!==e?{}:"number"==typeof e?0:""},reset(){const{children:t,initialData:e,fields:r}=this.data,i={};t.forEach(t=>{r&&r.includes(t.data.name)&&("empty"===this.properties.resetType?i[t.data.name]=this.getEmptyValue(t.data.name):"initial"===this.properties.resetType&&(i[t.data.name]=e[t.data.name]),t.resetField())}),this.triggerEvent("reset",{formData:i})},clearValidate(t){const{children:e}=this.data;e.forEach(e=>{t&&!t.includes(e.data.name)||e.clearValidate()})},setValidateMessage(t){const{children:e}=this.data;e.forEach(e=>{t[e.data.name]&&e.setValidateMessage(t[e.data.name])})},onSubmit(){this.submit()},onReset(){this.reset()}}}};Form=__decorate([wxComponent()],Form);export default Form;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/form/form.json b/miniprogram_npm/tdesign-miniprogram/form/form.json
new file mode 100644
index 0000000..c673d75
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form/form.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/form/form.wxml b/miniprogram_npm/tdesign-miniprogram/form/form.wxml
new file mode 100644
index 0000000..27be780
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form/form.wxml
@@ -0,0 +1 @@
+<wxs src="../common/utils.wxs" module="_"/><form class="{{classPrefix}} {{prefix}}-class" style="{{_._style([style, customStyle])}}"><slot/></form>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/form/form.wxss b/miniprogram_npm/tdesign-miniprogram/form/form.wxss
new file mode 100644
index 0000000..220c55f
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form/form.wxss
@@ -0,0 +1 @@
+@import '../common/style/index.wxss';.t-form{display:block;background-color:var(--td-form-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/form/index.d.ts b/miniprogram_npm/tdesign-miniprogram/form/index.d.ts
new file mode 100644
index 0000000..fb7f963
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form/index.d.ts
@@ -0,0 +1,3 @@
+export * from './props';
+export * from './type';
+export * from './form';
diff --git a/miniprogram_npm/tdesign-miniprogram/form/index.js b/miniprogram_npm/tdesign-miniprogram/form/index.js
new file mode 100644
index 0000000..566b21f
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form/index.js
@@ -0,0 +1 @@
+export*from"./props";export*from"./type";export*from"./form";
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/form/props.d.ts b/miniprogram_npm/tdesign-miniprogram/form/props.d.ts
new file mode 100644
index 0000000..f66a3a5
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form/props.d.ts
@@ -0,0 +1,3 @@
+import { TdFormProps } from './type';
+declare const props: TdFormProps;
+export default props;
diff --git a/miniprogram_npm/tdesign-miniprogram/form/props.js b/miniprogram_npm/tdesign-miniprogram/form/props.js
new file mode 100644
index 0000000..0c31753
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form/props.js
@@ -0,0 +1 @@
+const props={colon:{type:Boolean,value:!1},data:{type:Object,value:{}},errorMessage:{type:Object},labelAlign:{type:String,value:"right"},labelWidth:{type:null,value:"81px"},requiredMark:{type:null,value:void 0},requiredMarkPosition:{type:String},resetType:{type:String,value:"empty"},rules:{type:Object},scrollToFirstError:{type:String},showErrorMessage:{type:Boolean,value:!0},submitWithWarningMessage:{type:Boolean,value:!1}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/form/type.d.ts b/miniprogram_npm/tdesign-miniprogram/form/type.d.ts
new file mode 100644
index 0000000..35a1c6d
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form/type.d.ts
@@ -0,0 +1,165 @@
+import { IsEmailOptions } from 'validator/es/lib/isEmail';
+import { IsURLOptions } from 'validator/es/lib/isURL';
+export interface TdFormProps<FormData extends Data = Data> {
+    colon?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    data?: {
+        type: ObjectConstructor;
+        value?: FormData;
+    };
+    errorMessage?: {
+        type: ObjectConstructor;
+        value?: FormErrorMessage;
+    };
+    labelAlign?: {
+        type: StringConstructor;
+        value?: 'left' | 'right' | 'top';
+    };
+    labelWidth?: {
+        type: null;
+        value?: string | number;
+    };
+    requiredMark?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    requiredMarkPosition?: {
+        type: StringConstructor;
+        value?: 'left' | 'right';
+    };
+    resetType?: {
+        type: StringConstructor;
+        value?: 'empty' | 'initial';
+    };
+    rules?: {
+        type: ObjectConstructor;
+        value?: FormRules<FormData>;
+    };
+    scrollToFirstError?: {
+        type: StringConstructor;
+        value?: '' | 'smooth' | 'auto';
+    };
+    showErrorMessage?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    submitWithWarningMessage?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+}
+export interface FormInstanceFunctions<FormData extends Data = Data> {
+    clearValidate: {
+        type: undefined;
+        value?: (fields?: Array<keyof FormData>) => void;
+        required?: boolean;
+    };
+    reset: {
+        type: undefined;
+        value?: (params?: FormResetParams<FormData>) => void;
+        required?: boolean;
+    };
+    setValidateMessage: {
+        type: undefined;
+        value?: (message: FormValidateMessage<FormData>) => void;
+        required?: boolean;
+    };
+    submit: {
+        type: undefined;
+        value?: (params?: {
+            showErrorMessage?: boolean;
+        }) => void;
+        required?: boolean;
+    };
+    validate: {
+        type: undefined;
+        value?: (params?: FormValidateParams) => Promise<FormValidateResult<FormData>>;
+        required?: boolean;
+    };
+}
+export interface FormRule {
+    boolean?: boolean;
+    date?: boolean | IsDateOptions;
+    email?: boolean | IsEmailOptions;
+    enum?: Array<string>;
+    idcard?: boolean;
+    len?: number | boolean;
+    max?: number | boolean;
+    message?: string;
+    min?: number | boolean;
+    number?: boolean;
+    pattern?: RegExp | string;
+    required?: boolean;
+    telnumber?: boolean;
+    trigger?: ValidateTriggerType;
+    type?: 'error' | 'warning';
+    url?: boolean | IsURLOptions;
+    validator?: CustomValidator;
+    whitespace?: boolean;
+}
+export interface FormErrorMessage {
+    boolean?: string;
+    date?: string;
+    enum?: string;
+    idcard?: string;
+    len?: string;
+    max?: string;
+    min?: string;
+    number?: string;
+    pattern?: string;
+    required?: string;
+    telnumber?: string;
+    url?: string;
+    validator?: string;
+    whitespace?: string;
+}
+export declare type FormRules<T extends Data = any> = {
+    [field in keyof T]?: Array<FormRule>;
+};
+export interface FormResetParams<FormData> {
+    type?: 'initial' | 'empty';
+    fields?: Array<keyof FormData>;
+}
+export declare type FormValidateMessage<FormData> = {
+    [field in keyof FormData]: FormItemValidateMessage[];
+};
+export interface FormItemValidateMessage {
+    type: 'warning' | 'error';
+    message: string;
+}
+export interface FormValidateParams {
+    fields?: Array<string>;
+    showErrorMessage?: boolean;
+    trigger?: ValidateTriggerType;
+}
+export declare type ValidateTriggerType = 'blur' | 'change' | 'submit' | 'all';
+export declare type FormValidateResult<T> = boolean | ValidateResultObj<T>;
+export declare type ValidateResultObj<T> = {
+    [key in keyof T]: boolean | ValidateResultList;
+};
+export declare type ValidateResultList = Array<AllValidateResult>;
+export declare type AllValidateResult = CustomValidateObj | ValidateResultType;
+export interface ValidateResultType extends FormRule {
+    result: boolean;
+}
+export declare type Data = {
+    [key: string]: any;
+};
+export interface IsDateOptions {
+    format: string;
+    strictMode: boolean;
+    delimiters: string[];
+}
+export declare type CustomValidator = (val: ValueType, context?: {
+    formData: Data;
+    name: string;
+}) => CustomValidateResolveType | Promise<CustomValidateResolveType>;
+export declare type CustomValidateResolveType = boolean | CustomValidateObj;
+export interface CustomValidateObj {
+    result: boolean;
+    message: string;
+    type?: 'error' | 'warning' | 'success';
+}
+export declare type ValueType = any;
diff --git a/miniprogram_npm/tdesign-miniprogram/form/type.js b/miniprogram_npm/tdesign-miniprogram/form/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/form/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxml b/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxml
index 964a334..77d8e3d 100644
--- a/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxml
@@ -1 +1 @@
-<import src="../common/template/image.wxml"/><import src="../common/template/icon.wxml"/><wxs module="util">module.exports.getImageSize = function(column) { if (column >= 5) return 'small'; if (column == 4) return 'middle'; return 'large'; }</wxs><wxs module="_" src="../common/utils.wxs"/><view class="{{_.cls(classPrefix, [['auto-size', column == 0]])}} class {{prefix}}-class" style="{{_._style([gridItemStyle, style, customStyle])}}" hover-class="{{hover ? classPrefix + '--hover':''}}" hover-stay-time="{{200}}" bindtap="onClick" aria-role="{{ariaRole || 'button'}}" aria-label="{{ariaLabel}}" aria-describedby="{{describedbyID}}"><view class="{{_.cls(classPrefix + '__wrapper', [layout])}}" style="{{gridItemWrapperStyle}}"><view class="{{_.cls(classPrefix + '__content', [align, layout])}} {{prefix}}-class-content" style="{{gridItemContentStyle}}"><slot/><t-badge wx:if="{{image || icon}}" color="{{badgeProps.color || ''}}" content="{{badgeProps.content || ''}}" count="{{badgeProps.count || 0}}" dot="{{badgeProps.dot || false}}" max-count="{{badgeProps.maxCount || 99}}" offset="{{badgeProps.offset || []}}" shape="{{badgeProps.shape || 'circle'}}" show-zero="{{badgeProps.showZero || false}}" size="{{badgeProps.size || 'medium'}}" t-class="{{badgeProps.tClass}}" t-class-content="{{badgeProps.tClassContent}}" t-class-count="{{badgeProps.tClassCount}}"><view class="{{_.cls(classPrefix + '__image', [util.getImageSize(column), ['icon', icon]])}} {{prefix}}-class-image"><block wx:if="{{image && image != 'slot'}}"><template is="image" data="{{ src: image, shape: 'round', mode: 'widthFix', tClass: _.cls(classPrefix + '__image', [util.getImageSize(column)]) + ' ' + prefix + '-class-image', ...imageProps }}"/></block><slot name="image"/><template wx:if="{{iconName || _.isNoEmptyObj(iconData)}}" is="icon" data="{{tClass: classPrefix + '__icon', name: iconName, ...iconData}}"/></view></t-badge><view class="{{_.cls(classPrefix + '__words', [layout])}}" id="{{describedbyID}}" aria-label="{{ ariaLabel || (badgeProps.dot || badgeProps.count ? text + ',' +  description + ',' + _.getBadgeAriaLabel({ ...badgeProps }) : '') }}"><view wx:if="{{text}}" class="{{_.cls(classPrefix + '__text', [util.getImageSize(column), layout])}} {{prefix}}-class-text">{{text}}</view><slot name="text"/><view wx:if="{{description}}" class="{{_.cls(classPrefix + '__description', [util.getImageSize(column), layout])}} {{prefix}}-class-description">{{description}}</view><slot name="description"/></view></view></view></view>
\ No newline at end of file
+<import src="../common/template/image.wxml"/><import src="../common/template/icon.wxml"/><wxs module="util">module.exports.getImageSize = function(column) { if (!column || column === 4) return 'middle'; return column > 4 ? 'small' : 'large'; }</wxs><wxs module="_" src="../common/utils.wxs"/><view class="{{_.cls(classPrefix, [['auto-size', column == 0]])}} class {{prefix}}-class" style="{{_._style([gridItemStyle, style, customStyle])}}" hover-class="{{hover ? classPrefix + '--hover':''}}" hover-stay-time="{{200}}" bindtap="onClick" aria-role="{{ariaRole || 'button'}}" aria-label="{{ariaLabel}}" aria-describedby="{{describedbyID}}"><view class="{{_.cls(classPrefix + '__wrapper', [layout])}}" style="{{gridItemWrapperStyle}}"><view class="{{_.cls(classPrefix + '__content', [align, layout])}} {{prefix}}-class-content" style="{{gridItemContentStyle}}"><slot/><t-badge wx:if="{{image || icon}}" color="{{badgeProps.color || ''}}" content="{{badgeProps.content || ''}}" count="{{badgeProps.count || 0}}" dot="{{badgeProps.dot || false}}" max-count="{{badgeProps.maxCount || 99}}" offset="{{badgeProps.offset || []}}" shape="{{badgeProps.shape || 'circle'}}" show-zero="{{badgeProps.showZero || false}}" size="{{badgeProps.size || 'medium'}}" t-class="{{badgeProps.tClass}}" t-class-content="{{badgeProps.tClassContent}}" t-class-count="{{badgeProps.tClassCount}}"><view class="{{_.cls(classPrefix + '__image', [util.getImageSize(column), ['icon', icon]])}} {{prefix}}-class-image"><block wx:if="{{image && image != 'slot'}}"><template is="image" data="{{ src: image, shape: 'round', mode: 'widthFix', tClass: _.cls(classPrefix + '__image', [util.getImageSize(column)]) + ' ' + prefix + '-class-image', ...imageProps }}"/></block><slot name="image"/><template wx:if="{{iconName || _.isNoEmptyObj(iconData)}}" is="icon" data="{{tClass: classPrefix + '__icon', name: iconName, ...iconData}}"/></view></t-badge><view class="{{_.cls(classPrefix + '__words', [layout])}}" id="{{describedbyID}}" aria-label="{{ ariaLabel || (badgeProps.dot || badgeProps.count ? text + ',' +  description + ',' + _.getBadgeAriaLabel({ ...badgeProps }) : '') }}"><view wx:if="{{text}}" class="{{_.cls(classPrefix + '__text', [util.getImageSize(column), layout])}} {{prefix}}-class-text">{{text}}</view><slot name="text"/><view wx:if="{{description}}" class="{{_.cls(classPrefix + '__description', [util.getImageSize(column), layout])}} {{prefix}}-class-description">{{description}}</view><slot name="description"/></view></view></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxss b/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxss
index a91ce6f..1ba1907 100644
--- a/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/grid-item/grid-item.wxss
@@ -1,7 +1,7 @@
 @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{width:100%;box-sizing:border-box;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;}
@@ -13,10 +13,11 @@
 .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{width:inherit;color:var(--td-grid-item-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));padding-top:var(--td-grid-item-text-padding-top,16rpx);}
+.t-grid-item__text--small{font:var(--td-grid-item-text-small-font,var(--td-font-body-extraSmall,20rpx / 32rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
+.t-grid-item__text--middle{font:var(--td-grid-item-text-middle-font,var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
+.t-grid-item__text--large{font:var(--td-grid-item-text-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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{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:var(--td-grid-item-description-font,var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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_npm/tdesign-miniprogram/guide/guide.d.ts b/miniprogram_npm/tdesign-miniprogram/guide/guide.d.ts
index b94871d..095bb59 100644
--- a/miniprogram_npm/tdesign-miniprogram/guide/guide.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/guide/guide.d.ts
@@ -5,6 +5,7 @@
 }
 export { GuideStep };
 export default class Guide extends SuperComponent {
+    behaviors: string[];
     externalClasses: string[];
     properties: TdGuideProps;
     options: WechatMiniprogram.Component.ComponentOptions;
diff --git a/miniprogram_npm/tdesign-miniprogram/guide/guide.js b/miniprogram_npm/tdesign-miniprogram/guide/guide.js
index c771435..07e0470 100644
--- a/miniprogram_npm/tdesign-miniprogram/guide/guide.js
+++ b/miniprogram_npm/tdesign-miniprogram/guide/guide.js
@@ -1 +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
+import{__awaiter,__decorate}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import props from"./props";import config from"../common/config";import{isFunction,isNumeric}from"../common/validator";import{debounce,getRect,rpx2px,styles,unitConvert,nextTick,systemInfo}from"../common/utils";import usingConfig from"../mixins/using-config";const{prefix:prefix}=config,componentName="guide";let Guide=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[usingConfig({componentName:"guide"})],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:`${prefix}-guide`,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,o,n,a;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),n={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(n),title:null!==(s=c.title)&&void 0!==s?s:"",body:null!==(o=c.body)&&void 0!==o?o:"",buttonProps:this.buttonProps(c,"popover")});const a=yield this.placementOffset(c,n);this.setData({popoverStyle:a})}else this.setData({_steps:this.data.steps,_current:this.data.current,visible:!0,title:null!==(n=c.title)&&void 0!==n?n:"",body:null!==(a=c.body)&&void 0!==a?a:"",buttonProps:this.buttonProps(c,"dialog")})})},placementOffset({placement:t,offset:e},i){var s,o;return __awaiter(this,void 0,void 0,function*(){const{classPrefix:n}=this.data;yield nextTick();const a=yield getRect(this,`.${n}__container`),r=null===(o=(s=this._getPlacement)[t])||void 0===o?void 0:o.call(s,a,i,e);return styles(Object.assign({position:"absolute"},r))})},buttonProps(t,e){var i,s,o,n;const{classPrefix:a,globalConfig:r}=this.data;let p=null!==(i=t.skipButtonProps)&&void 0!==i?i:this.data.skipButtonProps;const l="popover"===e?"extra-small":"medium";p=Object.assign(Object.assign({theme:"light",content:r.skip,size:l},p),{tClass:`${prefix}-class-skip ${a}__button ${(null==p?void 0:p.class)||""}`,type:"skip"});let h=null!==(s=t.nextButtonProps)&&void 0!==s?s:this.data.nextButtonProps;h=Object.assign(Object.assign({theme:"primary",content:r.next,size:l},h),{tClass:`${prefix}-class-next ${a}__button ${(null==h?void 0:h.class)||""}`,type:"next"}),h=Object.assign(Object.assign({},h),{content:this.buttonContent(h)});let c=null!==(o=t.backButtonProps)&&void 0!==o?o:this.data.backButtonProps;c=Object.assign(Object.assign({theme:"light",content:r.back,size:l},c),{tClass:`${prefix}-class-back ${a}__button ${(null==c?void 0:c.class)||""}`,type:"back"});let u=null!==(n=t.finishButtonProps)&&void 0!==n?n:this.data.finishButtonProps;return u=Object.assign(Object.assign({theme:"primary",content:r.finish,size:l},u),{tClass:`${prefix}-class-finish ${a}__button ${(null==u?void 0:u.class)||""}`,type:"finish"}),u=Object.assign(Object.assign({},u),{content:this.buttonContent(u)}),{skipButton:p,nextButton:h,backButton:c,finishButton:u}},renderCounter(){const{steps:t,current:e,counter:i}=this.data,s=t.length,o=e+1,n=isFunction(i)?i({total:s,current:o}):i;return i?n:`(${o}/${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(isNumeric(null==t?void 0:t[0])?`${null==t?void 0:t[0]}rpx`:(null==t?void 0:t[0])||0),i=t=>unitConvert(isNumeric(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),o=t=>parseFloat(t.right),n=t=>parseFloat(t.top),a=t=>parseFloat(t.height),r=t=>parseFloat(t.width);return{center:(o,p,l)=>({top:`${Math.max(a(p)+n(p)+t+i(l),1)}px`,left:`${Math.max(r(p)/2+s(p)-o.width/2+e(l),1)}px`}),bottom:(o,p,l)=>({top:`${Math.max(a(p)+n(p)+t+i(l),1)}px`,left:`${Math.max(r(p)/2+s(p)-o.width/2+e(l),1)}px`}),"bottom-left":(o,r,p)=>({top:`${Math.max(a(r)+n(r)+t+i(p),1)}px`,left:`${Math.max(s(r)+e(p),1)}px`}),"bottom-right":(s,r,p)=>({top:`${Math.max(a(r)+n(r)+t+i(p),1)}px`,right:`${Math.max(o(r)-e(p),1)}px`}),left:(s,p,l)=>({top:`${Math.max(a(p)/2+n(p)-s.height/2+i(l),1)}px`,right:`${Math.max(r(p)+o(p)+t-e(l),1)}px`}),"left-top":(s,a,p)=>({top:`${Math.max(n(a)+i(p),1)}px`,right:`${Math.max(r(a)+o(a)+t-e(p),1)}px`}),"left-bottom":(s,p,l)=>({top:`${Math.max(n(p)+a(p)-s.height-i(l),1)}px`,right:`${Math.max(r(p)+o(p)+t-e(l),1)}px`}),right:(o,p,l)=>({top:`${Math.max(a(p)/2+n(p)-o.height/2+i(l),1)}px`,left:`${Math.max(s(p)+r(p)+t+e(l),1)}px`}),"right-top":(o,a,p)=>({top:`${Math.max(n(a)+i(p),1)}px`,left:`${Math.max(s(a)+r(a)+t+e(p),1)}px`}),"right-bottom":(o,p,l)=>({top:`${Math.max(n(p)+a(p)-o.height-i(l),1)}px`,left:`${Math.max(s(p)+r(p)+t+e(l),1)}px`}),top:(o,a,p)=>({top:`${Math.max(n(a)-o.height-t+i(p),1)}px`,left:`${Math.max(r(a)/2+s(a)-o.width/2+e(p),1)}px`}),"top-left":(o,a,r)=>({top:`${Math.max(n(a)-o.height-t+i(r),1)}px`,left:`${Math.max(s(a)+e(r),1)}px`}),"top-right":(s,a,r)=>({top:`${Math.max(n(a)-s.height-t+i(r),1)}px`,right:`${Math.max(o(a)-e(r),1)}px`})}}}}};Guide=__decorate([wxComponent()],Guide);export default Guide;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/guide/guide.wxss b/miniprogram_npm/tdesign-miniprogram/guide/guide.wxss
index 728eb55..28cb9d9 100644
--- a/miniprogram_npm/tdesign-miniprogram/guide/guide.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/guide/guide.wxss
@@ -3,10 +3,10 @@
 .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__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:var(--td-guide-popover-title-font,var(--td-font-title-medium,600 32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
+.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:var(--td-guide-dialog-title-font,var(--td-font-title-large,600 36rpx / 52rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
+.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:var(--td-guide-popover-body-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
+.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:var(--td-guide-dialog-body-font,var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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));}
diff --git a/miniprogram_npm/tdesign-miniprogram/icon/icon.js b/miniprogram_npm/tdesign-miniprogram/icon/icon.js
index bb773a6..37ea7f3 100644
--- a/miniprogram_npm/tdesign-miniprogram/icon/icon.js
+++ b/miniprogram_npm/tdesign-miniprogram/icon/icon.js
@@ -1 +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
+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=null!==o&&""!==o?addUnit(o):void 0,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_npm/tdesign-miniprogram/icon/icon.wxss b/miniprogram_npm/tdesign-miniprogram/icon/icon.wxss
index 28c40fe..ede2561 100644
--- a/miniprogram_npm/tdesign-miniprogram/icon/icon.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/icon/icon.wxss
@@ -1,2135 +1,2352 @@
-@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;}
+@import '../common/style/index.wxss';@font-face{font-family:t;src:url(https://tdesign.gtimg.com/icon/0.4.1/fonts/t.eot),url(https://tdesign.gtimg.com/icon/0.4.1/fonts/t.eot?#iefix) format('ded-opentype'),url(https://tdesign.gtimg.com/icon/0.4.1/fonts/t.woff) format('woff'),url(https://tdesign.gtimg.com/icon/0.4.1/fonts/t.ttf) format('truetype'),url(https://tdesign.gtimg.com/icon/0.4.1/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
+.t-icon-ability-open:before{content:'\E001';}
+.t-icon-abstract-filled:before{content:'\E002';}
+.t-icon-abstract:before{content:'\E003';}
+.t-icon-accessibility-filled:before{content:'\E004';}
+.t-icon-accessibility:before{content:'\E005';}
+.t-icon-activity-filled:before{content:'\E006';}
+.t-icon-activity:before{content:'\E007';}
+.t-icon-add-and-subtract:before{content:'\E008';}
+.t-icon-add-circle-filled:before{content:'\E009';}
+.t-icon-add-circle:before{content:'\E00A';}
+.t-icon-add-rectangle-filled:before{content:'\E00B';}
+.t-icon-add-rectangle:before{content:'\E00C';}
+.t-icon-add:before{content:'\E00D';}
+.t-icon-address-book-filled:before{content:'\E00E';}
+.t-icon-address-book:before{content:'\E00F';}
+.t-icon-adjustment-filled:before{content:'\E010';}
+.t-icon-adjustment:before{content:'\E011';}
+.t-icon-ai-1-filled:before{content:'\E012';}
+.t-icon-ai-1:before{content:'\E013';}
+.t-icon-ai-article-filled:before{content:'\E014';}
+.t-icon-ai-article:before{content:'\E015';}
+.t-icon-ai-book-open-filled:before{content:'\E016';}
+.t-icon-ai-book-open:before{content:'\E017';}
+.t-icon-ai-chart-bar-filled:before{content:'\E018';}
+.t-icon-ai-chart-bar:before{content:'\E019';}
+.t-icon-ai-coordinate-system-filled:before{content:'\E01A';}
+.t-icon-ai-coordinate-system:before{content:'\E01B';}
+.t-icon-ai-cut:before{content:'\E01C';}
+.t-icon-ai-edit-1-filled:before{content:'\E01D';}
+.t-icon-ai-edit-1:before{content:'\E01E';}
+.t-icon-ai-edit-filled:before{content:'\E01F';}
+.t-icon-ai-edit:before{content:'\E020';}
+.t-icon-ai-education-filled:before{content:'\E021';}
+.t-icon-ai-education:before{content:'\E022';}
+.t-icon-ai-git-branch-filled:before{content:'\E023';}
+.t-icon-ai-git-branch:before{content:'\E024';}
+.t-icon-ai-image-1-filled:before{content:'\E025';}
+.t-icon-ai-image-1:before{content:'\E026';}
+.t-icon-ai-image-filled:before{content:'\E027';}
+.t-icon-ai-image:before{content:'\E028';}
+.t-icon-ai-layout-filled:before{content:'\E029';}
+.t-icon-ai-layout:before{content:'\E02A';}
+.t-icon-ai-music-filled:before{content:'\E02B';}
+.t-icon-ai-music:before{content:'\E02C';}
+.t-icon-ai-screenshot:before{content:'\E02D';}
+.t-icon-ai-search-filled:before{content:'\E02E';}
+.t-icon-ai-search:before{content:'\E02F';}
+.t-icon-ai-terminal-1-filled:before{content:'\E030';}
+.t-icon-ai-terminal-1:before{content:'\E031';}
+.t-icon-ai-terminal-filled:before{content:'\E032';}
+.t-icon-ai-terminal:before{content:'\E033';}
+.t-icon-ai-textformat-italic:before{content:'\E034';}
+.t-icon-ai-tool-filled:before{content:'\E035';}
+.t-icon-ai-tool:before{content:'\E036';}
+.t-icon-ai-video-filled:before{content:'\E037';}
+.t-icon-ai-video:before{content:'\E038';}
+.t-icon-ai:before{content:'\E039';}
+.t-icon-airplay-wave-filled:before{content:'\E03A';}
+.t-icon-airplay-wave:before{content:'\E03B';}
+.t-icon-alarm-add-filled:before{content:'\E03C';}
+.t-icon-alarm-add:before{content:'\E03D';}
+.t-icon-alarm-filled:before{content:'\E03E';}
+.t-icon-alarm-off-filled:before{content:'\E03F';}
+.t-icon-alarm-off:before{content:'\E040';}
+.t-icon-alarm:before{content:'\E041';}
+.t-icon-align-bottom:before{content:'\E042';}
+.t-icon-align-top:before{content:'\E043';}
+.t-icon-align-vertical:before{content:'\E044';}
+.t-icon-alpha:before{content:'\E045';}
+.t-icon-analytics-filled:before{content:'\E046';}
+.t-icon-analytics:before{content:'\E047';}
+.t-icon-anchor:before{content:'\E048';}
+.t-icon-angry-filled:before{content:'\E049';}
+.t-icon-angry:before{content:'\E04A';}
+.t-icon-animation-1-filled:before{content:'\E04B';}
+.t-icon-animation-1:before{content:'\E04C';}
+.t-icon-animation-filled:before{content:'\E04D';}
+.t-icon-animation:before{content:'\E04E';}
+.t-icon-anticlockwise-filled:before{content:'\E04F';}
+.t-icon-anticlockwise:before{content:'\E050';}
+.t-icon-api:before{content:'\E051';}
+.t-icon-app-filled:before{content:'\E052';}
+.t-icon-app:before{content:'\E053';}
+.t-icon-apple-filled:before{content:'\E054';}
+.t-icon-apple:before{content:'\E055';}
+.t-icon-application-filled:before{content:'\E056';}
+.t-icon-application:before{content:'\E057';}
+.t-icon-architecture-hui-style-filled:before{content:'\E058';}
+.t-icon-architecture-hui-style:before{content:'\E059';}
+.t-icon-archway-1-filled:before{content:'\E05A';}
+.t-icon-archway-1:before{content:'\E05B';}
+.t-icon-archway-filled:before{content:'\E05C';}
+.t-icon-archway:before{content:'\E05D';}
+.t-icon-arrow-down-circle-filled:before{content:'\E05E';}
+.t-icon-arrow-down-circle:before{content:'\E05F';}
+.t-icon-arrow-down-rectangle-filled:before{content:'\E060';}
+.t-icon-arrow-down-rectangle:before{content:'\E061';}
+.t-icon-arrow-down:before{content:'\E062';}
+.t-icon-arrow-left-circle-filled:before{content:'\E063';}
+.t-icon-arrow-left-circle:before{content:'\E064';}
+.t-icon-arrow-left-down-circle-filled:before{content:'\E065';}
+.t-icon-arrow-left-down-circle:before{content:'\E066';}
+.t-icon-arrow-left-down:before{content:'\E067';}
+.t-icon-arrow-left-right-1:before{content:'\E068';}
+.t-icon-arrow-left-right-2:before{content:'\E069';}
+.t-icon-arrow-left-right-3:before{content:'\E06A';}
+.t-icon-arrow-left-right-circle-filled:before{content:'\E06B';}
+.t-icon-arrow-left-right-circle:before{content:'\E06C';}
+.t-icon-arrow-left-up-circle-filled:before{content:'\E06D';}
+.t-icon-arrow-left-up-circle:before{content:'\E06E';}
+.t-icon-arrow-left-up:before{content:'\E06F';}
+.t-icon-arrow-left:before{content:'\E070';}
+.t-icon-arrow-right-circle-filled:before{content:'\E071';}
+.t-icon-arrow-right-circle:before{content:'\E072';}
+.t-icon-arrow-right-down-circle-filled:before{content:'\E073';}
+.t-icon-arrow-right-down-circle:before{content:'\E074';}
+.t-icon-arrow-right-down:before{content:'\E075';}
+.t-icon-arrow-right-up-circle-filled:before{content:'\E076';}
+.t-icon-arrow-right-up-circle:before{content:'\E077';}
+.t-icon-arrow-right-up:before{content:'\E078';}
+.t-icon-arrow-right:before{content:'\E079';}
+.t-icon-arrow-triangle-down-filled:before{content:'\E07A';}
+.t-icon-arrow-triangle-down:before{content:'\E07B';}
+.t-icon-arrow-triangle-up-filled:before{content:'\E07C';}
+.t-icon-arrow-triangle-up:before{content:'\E07D';}
+.t-icon-arrow-up-circle-filled:before{content:'\E07E';}
+.t-icon-arrow-up-circle:before{content:'\E07F';}
+.t-icon-arrow-up-down-1:before{content:'\E080';}
+.t-icon-arrow-up-down-2:before{content:'\E081';}
+.t-icon-arrow-up-down-3:before{content:'\E082';}
+.t-icon-arrow-up-down-circle-filled:before{content:'\E083';}
+.t-icon-arrow-up-down-circle:before{content:'\E084';}
+.t-icon-arrow-up:before{content:'\E085';}
+.t-icon-artboard:before{content:'\E086';}
+.t-icon-article-filled:before{content:'\E087';}
+.t-icon-article:before{content:'\E088';}
+.t-icon-assignment-checked-filled:before{content:'\E089';}
+.t-icon-assignment-checked:before{content:'\E08A';}
+.t-icon-assignment-code-filled:before{content:'\E08B';}
+.t-icon-assignment-code:before{content:'\E08C';}
+.t-icon-assignment-error-filled:before{content:'\E08D';}
+.t-icon-assignment-error:before{content:'\E08E';}
+.t-icon-assignment-filled:before{content:'\E08F';}
+.t-icon-assignment-user-filled:before{content:'\E090';}
+.t-icon-assignment-user:before{content:'\E091';}
+.t-icon-assignment:before{content:'\E092';}
+.t-icon-attach:before{content:'\E093';}
+.t-icon-attachment-list:before{content:'\E094';}
+.t-icon-attic-1-filled:before{content:'\E095';}
+.t-icon-attic-1:before{content:'\E096';}
+.t-icon-attic-filled:before{content:'\E097';}
+.t-icon-attic:before{content:'\E098';}
+.t-icon-audio-filled:before{content:'\E099';}
+.t-icon-audio:before{content:'\E09A';}
+.t-icon-automatic-numbering:before{content:'\E09B';}
+.t-icon-automation-filled:before{content:'\E09C';}
+.t-icon-automation:before{content:'\E09D';}
+.t-icon-awkward-filled:before{content:'\E09E';}
+.t-icon-awkward:before{content:'\E09F';}
+.t-icon-backtop-rectangle-filled:before{content:'\E0A0';}
+.t-icon-backtop-rectangle:before{content:'\E0A1';}
+.t-icon-backtop:before{content:'\E0A2';}
+.t-icon-backup-filled:before{content:'\E0A3';}
+.t-icon-backup:before{content:'\E0A4';}
+.t-icon-backward-filled:before{content:'\E0A5';}
+.t-icon-backward:before{content:'\E0A6';}
+.t-icon-bad-laugh-filled:before{content:'\E0A7';}
+.t-icon-bad-laugh:before{content:'\E0A8';}
+.t-icon-bamboo-shoot-filled:before{content:'\E0A9';}
+.t-icon-bamboo-shoot:before{content:'\E0AA';}
+.t-icon-banana-filled:before{content:'\E0AB';}
+.t-icon-banana:before{content:'\E0AC';}
+.t-icon-barbecue-filled:before{content:'\E0AD';}
+.t-icon-barbecue:before{content:'\E0AE';}
+.t-icon-barcode-1:before{content:'\E0AF';}
+.t-icon-barcode:before{content:'\E0B0';}
+.t-icon-base-station:before{content:'\E0B1';}
+.t-icon-battery-add-filled:before{content:'\E0B2';}
+.t-icon-battery-add:before{content:'\E0B3';}
+.t-icon-battery-charging-filled:before{content:'\E0B4';}
+.t-icon-battery-charging:before{content:'\E0B5';}
+.t-icon-battery-filled:before{content:'\E0B6';}
+.t-icon-battery-low-filled:before{content:'\E0B7';}
+.t-icon-battery-low:before{content:'\E0B8';}
+.t-icon-battery:before{content:'\E0B9';}
+.t-icon-bean-filled:before{content:'\E0BA';}
+.t-icon-bean:before{content:'\E0BB';}
+.t-icon-beer-filled:before{content:'\E0BC';}
+.t-icon-beer:before{content:'\E0BD';}
+.t-icon-beta:before{content:'\E0BE';}
+.t-icon-bifurcate-filled:before{content:'\E0BF';}
+.t-icon-bifurcate:before{content:'\E0C0';}
+.t-icon-bill-filled:before{content:'\E0C1';}
+.t-icon-bill:before{content:'\E0C2';}
+.t-icon-bluetooth:before{content:'\E0C3';}
+.t-icon-bone-filled:before{content:'\E0C4';}
+.t-icon-bone:before{content:'\E0C5';}
+.t-icon-book-filled:before{content:'\E0C6';}
+.t-icon-book-open-filled:before{content:'\E0C7';}
+.t-icon-book-open:before{content:'\E0C8';}
+.t-icon-book-unknown-filled:before{content:'\E0C9';}
+.t-icon-book-unknown:before{content:'\E0CA';}
+.t-icon-book:before{content:'\E0CB';}
+.t-icon-bookmark-add-filled:before{content:'\E0CC';}
+.t-icon-bookmark-add:before{content:'\E0CD';}
+.t-icon-bookmark-checked-filled:before{content:'\E0CE';}
+.t-icon-bookmark-checked:before{content:'\E0CF';}
+.t-icon-bookmark-double-filled:before{content:'\E0D0';}
+.t-icon-bookmark-double:before{content:'\E0D1';}
+.t-icon-bookmark-filled:before{content:'\E0D2';}
+.t-icon-bookmark-minus-filled:before{content:'\E0D3';}
+.t-icon-bookmark-minus:before{content:'\E0D4';}
+.t-icon-bookmark:before{content:'\E0D5';}
+.t-icon-braces:before{content:'\E0D6';}
+.t-icon-brackets:before{content:'\E0D7';}
+.t-icon-bread-filled:before{content:'\E0D8';}
+.t-icon-bread:before{content:'\E0D9';}
+.t-icon-bridge-1-filled:before{content:'\E0DA';}
+.t-icon-bridge-1:before{content:'\E0DB';}
+.t-icon-bridge-2-filled:before{content:'\E0DC';}
+.t-icon-bridge-2:before{content:'\E0DD';}
+.t-icon-bridge-3:before{content:'\E0DE';}
+.t-icon-bridge-4:before{content:'\E0DF';}
+.t-icon-bridge-5-filled:before{content:'\E0E0';}
+.t-icon-bridge-5:before{content:'\E0E1';}
+.t-icon-bridge-6-filled:before{content:'\E0E2';}
+.t-icon-bridge-6:before{content:'\E0E3';}
+.t-icon-bridge:before{content:'\E0E4';}
+.t-icon-brightness-1-filled:before{content:'\E0E5';}
+.t-icon-brightness-1:before{content:'\E0E6';}
+.t-icon-brightness-filled:before{content:'\E0E7';}
+.t-icon-brightness:before{content:'\E0E8';}
+.t-icon-broccoli-filled:before{content:'\E0E9';}
+.t-icon-broccoli:before{content:'\E0EA';}
+.t-icon-browse-filled:before{content:'\E0EB';}
+.t-icon-browse-gallery-filled:before{content:'\E0EC';}
+.t-icon-browse-gallery:before{content:'\E0ED';}
+.t-icon-browse-off-filled:before{content:'\E0EE';}
+.t-icon-browse-off:before{content:'\E0EF';}
+.t-icon-browse:before{content:'\E0F0';}
+.t-icon-brush-filled:before{content:'\E0F1';}
+.t-icon-brush:before{content:'\E0F2';}
+.t-icon-bug-filled:before{content:'\E0F3';}
+.t-icon-bug-report-filled:before{content:'\E0F4';}
+.t-icon-bug-report:before{content:'\E0F5';}
+.t-icon-bug:before{content:'\E0F6';}
+.t-icon-building-1-filled:before{content:'\E0F7';}
+.t-icon-building-1:before{content:'\E0F8';}
+.t-icon-building-2-filled:before{content:'\E0F9';}
+.t-icon-building-2:before{content:'\E0FA';}
+.t-icon-building-3-filled:before{content:'\E0FB';}
+.t-icon-building-3:before{content:'\E0FC';}
+.t-icon-building-4-filled:before{content:'\E0FD';}
+.t-icon-building-4:before{content:'\E0FE';}
+.t-icon-building-5-filled:before{content:'\E0FF';}
+.t-icon-building-5:before{content:'\E100';}
+.t-icon-building-filled:before{content:'\E101';}
+.t-icon-building:before{content:'\E102';}
+.t-icon-bulletpoint:before{content:'\E103';}
+.t-icon-button-filled:before{content:'\E104';}
+.t-icon-button:before{content:'\E105';}
+.t-icon-cabbage-filled:before{content:'\E106';}
+.t-icon-cabbage:before{content:'\E107';}
+.t-icon-cake-filled:before{content:'\E108';}
+.t-icon-cake:before{content:'\E109';}
+.t-icon-calculation-1-filled:before{content:'\E10A';}
+.t-icon-calculation-1:before{content:'\E10B';}
+.t-icon-calculation:before{content:'\E10C';}
+.t-icon-calculator-1:before{content:'\E10D';}
+.t-icon-calculator-filled:before{content:'\E10E';}
+.t-icon-calculator:before{content:'\E10F';}
+.t-icon-calendar-1-filled:before{content:'\E110';}
+.t-icon-calendar-1:before{content:'\E111';}
+.t-icon-calendar-2-filled:before{content:'\E112';}
+.t-icon-calendar-2:before{content:'\E113';}
+.t-icon-calendar-3-filled:before{content:'\E114';}
+.t-icon-calendar-3:before{content:'\E115';}
+.t-icon-calendar-edit-filled:before{content:'\E116';}
+.t-icon-calendar-edit:before{content:'\E117';}
+.t-icon-calendar-event-filled:before{content:'\E118';}
+.t-icon-calendar-event:before{content:'\E119';}
+.t-icon-calendar-filled:before{content:'\E11A';}
+.t-icon-calendar:before{content:'\E11B';}
+.t-icon-call-1-filled:before{content:'\E11C';}
+.t-icon-call-1:before{content:'\E11D';}
+.t-icon-call-cancel-filled:before{content:'\E11E';}
+.t-icon-call-cancel:before{content:'\E11F';}
+.t-icon-call-filled:before{content:'\E120';}
+.t-icon-call-forwarded-filled:before{content:'\E121';}
+.t-icon-call-forwarded:before{content:'\E122';}
+.t-icon-call-incoming-filled:before{content:'\E123';}
+.t-icon-call-incoming:before{content:'\E124';}
+.t-icon-call-off-filled:before{content:'\E125';}
+.t-icon-call-off:before{content:'\E126';}
+.t-icon-call:before{content:'\E127';}
+.t-icon-calm-1-filled:before{content:'\E128';}
+.t-icon-calm-1:before{content:'\E129';}
+.t-icon-calm-filled:before{content:'\E12A';}
+.t-icon-calm:before{content:'\E12B';}
+.t-icon-camera-1-filled:before{content:'\E12C';}
+.t-icon-camera-1:before{content:'\E12D';}
+.t-icon-camera-2-filled:before{content:'\E12E';}
+.t-icon-camera-2:before{content:'\E12F';}
+.t-icon-camera-filled:before{content:'\E130';}
+.t-icon-camera-off-filled:before{content:'\E131';}
+.t-icon-camera-off:before{content:'\E132';}
+.t-icon-camera:before{content:'\E133';}
+.t-icon-candy-filled:before{content:'\E134';}
+.t-icon-candy:before{content:'\E135';}
+.t-icon-card-filled:before{content:'\E136';}
+.t-icon-card:before{content:'\E137';}
+.t-icon-cardmembership-filled:before{content:'\E138';}
+.t-icon-cardmembership:before{content:'\E139';}
+.t-icon-caret-down-small:before{content:'\E13A';}
+.t-icon-caret-down:before{content:'\E13B';}
+.t-icon-caret-left-small:before{content:'\E13C';}
+.t-icon-caret-left:before{content:'\E13D';}
+.t-icon-caret-right-small:before{content:'\E13E';}
+.t-icon-caret-right:before{content:'\E13F';}
+.t-icon-caret-up-small:before{content:'\E140';}
+.t-icon-caret-up:before{content:'\E141';}
+.t-icon-cart-add-filled:before{content:'\E142';}
+.t-icon-cart-add:before{content:'\E143';}
+.t-icon-cart-filled:before{content:'\E144';}
+.t-icon-cart:before{content:'\E145';}
+.t-icon-cast-filled:before{content:'\E146';}
+.t-icon-cast:before{content:'\E147';}
+.t-icon-castle-1-filled:before{content:'\E148';}
+.t-icon-castle-1:before{content:'\E149';}
+.t-icon-castle-2-filled:before{content:'\E14A';}
+.t-icon-castle-2:before{content:'\E14B';}
+.t-icon-castle-3-filled:before{content:'\E14C';}
+.t-icon-castle-3:before{content:'\E14D';}
+.t-icon-castle-4-filled:before{content:'\E14E';}
+.t-icon-castle-4:before{content:'\E14F';}
+.t-icon-castle-5-filled:before{content:'\E150';}
+.t-icon-castle-5:before{content:'\E151';}
+.t-icon-castle-6-filled:before{content:'\E152';}
+.t-icon-castle-6:before{content:'\E153';}
+.t-icon-castle-7-filled:before{content:'\E154';}
+.t-icon-castle-7:before{content:'\E155';}
+.t-icon-castle-filled:before{content:'\E156';}
+.t-icon-castle:before{content:'\E157';}
+.t-icon-cat-filled:before{content:'\E158';}
+.t-icon-cat:before{content:'\E159';}
+.t-icon-catalog-1:before{content:'\E15A';}
+.t-icon-catalog-filled:before{content:'\E15B';}
+.t-icon-catalog:before{content:'\E15C';}
+.t-icon-cd-filled:before{content:'\E15D';}
+.t-icon-cd:before{content:'\E15E';}
+.t-icon-celsius:before{content:'\E15F';}
+.t-icon-center-focus-strong-filled:before{content:'\E160';}
+.t-icon-center-focus-strong:before{content:'\E161';}
+.t-icon-centimeter:before{content:'\E162';}
+.t-icon-certificate-1-filled:before{content:'\E163';}
+.t-icon-certificate-1:before{content:'\E164';}
+.t-icon-certificate-filled:before{content:'\E165';}
+.t-icon-certificate:before{content:'\E166';}
+.t-icon-chart-3d-filled:before{content:'\E167';}
+.t-icon-chart-3d:before{content:'\E168';}
+.t-icon-chart-add-filled:before{content:'\E169';}
+.t-icon-chart-add:before{content:'\E16A';}
+.t-icon-chart-analytics:before{content:'\E16B';}
+.t-icon-chart-area-filled:before{content:'\E16C';}
+.t-icon-chart-area-multi-filled:before{content:'\E16D';}
+.t-icon-chart-area-multi:before{content:'\E16E';}
+.t-icon-chart-area:before{content:'\E16F';}
+.t-icon-chart-bar-filled:before{content:'\E170';}
+.t-icon-chart-bar:before{content:'\E171';}
+.t-icon-chart-bubble-filled:before{content:'\E172';}
+.t-icon-chart-bubble:before{content:'\E173';}
+.t-icon-chart-column-filled:before{content:'\E174';}
+.t-icon-chart-column:before{content:'\E175';}
+.t-icon-chart-combo-filled:before{content:'\E176';}
+.t-icon-chart-combo:before{content:'\E177';}
+.t-icon-chart-draw-io-filled:before{content:'\E178';}
+.t-icon-chart-draw-io:before{content:'\E179';}
+.t-icon-chart-filled:before{content:'\E17A';}
+.t-icon-chart-line-board-filled:before{content:'\E17B';}
+.t-icon-chart-line-board:before{content:'\E17C';}
+.t-icon-chart-line-data-1:before{content:'\E17D';}
+.t-icon-chart-line-data:before{content:'\E17E';}
+.t-icon-chart-line-multi:before{content:'\E17F';}
+.t-icon-chart-line:before{content:'\E180';}
+.t-icon-chart-maximum:before{content:'\E181';}
+.t-icon-chart-median:before{content:'\E182';}
+.t-icon-chart-minimum:before{content:'\E183';}
+.t-icon-chart-pie-filled:before{content:'\E184';}
+.t-icon-chart-pie:before{content:'\E185';}
+.t-icon-chart-radar-filled:before{content:'\E186';}
+.t-icon-chart-radar:before{content:'\E187';}
+.t-icon-chart-radial:before{content:'\E188';}
+.t-icon-chart-ring-1-filled:before{content:'\E189';}
+.t-icon-chart-ring-1:before{content:'\E18A';}
+.t-icon-chart-ring-filled:before{content:'\E18B';}
+.t-icon-chart-ring:before{content:'\E18C';}
+.t-icon-chart-scatter:before{content:'\E18D';}
+.t-icon-chart-stacked-filled:before{content:'\E18E';}
+.t-icon-chart-stacked:before{content:'\E18F';}
+.t-icon-chart:before{content:'\E190';}
+.t-icon-chat-add-filled:before{content:'\E191';}
+.t-icon-chat-add:before{content:'\E192';}
+.t-icon-chat-bubble-1-filled:before{content:'\E193';}
+.t-icon-chat-bubble-1:before{content:'\E194';}
+.t-icon-chat-bubble-add-filled:before{content:'\E195';}
+.t-icon-chat-bubble-add:before{content:'\E196';}
+.t-icon-chat-bubble-error-filled:before{content:'\E197';}
+.t-icon-chat-bubble-error:before{content:'\E198';}
+.t-icon-chat-bubble-filled:before{content:'\E199';}
+.t-icon-chat-bubble-help-filled:before{content:'\E19A';}
+.t-icon-chat-bubble-help:before{content:'\E19B';}
+.t-icon-chat-bubble-history-filled:before{content:'\E19C';}
+.t-icon-chat-bubble-history:before{content:'\E19D';}
+.t-icon-chat-bubble-locked-filled:before{content:'\E19E';}
+.t-icon-chat-bubble-locked:before{content:'\E19F';}
+.t-icon-chat-bubble-smile-filled:before{content:'\E1A0';}
+.t-icon-chat-bubble-smile:before{content:'\E1A1';}
+.t-icon-chat-bubble:before{content:'\E1A2';}
+.t-icon-chat-checked-filled:before{content:'\E1A3';}
+.t-icon-chat-checked:before{content:'\E1A4';}
+.t-icon-chat-clear-filled:before{content:'\E1A5';}
+.t-icon-chat-clear:before{content:'\E1A6';}
+.t-icon-chat-double-filled:before{content:'\E1A7';}
+.t-icon-chat-double:before{content:'\E1A8';}
+.t-icon-chat-error-filled:before{content:'\E1A9';}
+.t-icon-chat-error:before{content:'\E1AA';}
+.t-icon-chat-filled:before{content:'\E1AB';}
+.t-icon-chat-heart-filled:before{content:'\E1AC';}
+.t-icon-chat-heart:before{content:'\E1AD';}
+.t-icon-chat-message-filled:before{content:'\E1AE';}
+.t-icon-chat-message:before{content:'\E1AF';}
+.t-icon-chat-off-filled:before{content:'\E1B0';}
+.t-icon-chat-off:before{content:'\E1B1';}
+.t-icon-chat-poll-filled:before{content:'\E1B2';}
+.t-icon-chat-poll:before{content:'\E1B3';}
+.t-icon-chat-setting-filled:before{content:'\E1B4';}
+.t-icon-chat-setting:before{content:'\E1B5';}
+.t-icon-chat:before{content:'\E1B6';}
+.t-icon-check-circle-filled:before{content:'\E1B7';}
+.t-icon-check-circle:before{content:'\E1B8';}
+.t-icon-check-double:before{content:'\E1B9';}
+.t-icon-check-rectangle-filled:before{content:'\E1BA';}
+.t-icon-check-rectangle:before{content:'\E1BB';}
+.t-icon-check:before{content:'\E1BC';}
+.t-icon-cheese-filled:before{content:'\E1BD';}
+.t-icon-cheese:before{content:'\E1BE';}
+.t-icon-cherry-filled:before{content:'\E1BF';}
+.t-icon-cherry:before{content:'\E1C0';}
+.t-icon-chevron-down-circle-filled:before{content:'\E1C1';}
+.t-icon-chevron-down-circle:before{content:'\E1C2';}
+.t-icon-chevron-down-double-s:before{content:'\E1C3';}
+.t-icon-chevron-down-double:before{content:'\E1C4';}
+.t-icon-chevron-down-rectangle-filled:before{content:'\E1C5';}
+.t-icon-chevron-down-rectangle:before{content:'\E1C6';}
+.t-icon-chevron-down-s:before{content:'\E1C7';}
+.t-icon-chevron-down:before{content:'\E1C8';}
+.t-icon-chevron-left-circle-filled:before{content:'\E1C9';}
+.t-icon-chevron-left-circle:before{content:'\E1CA';}
+.t-icon-chevron-left-double-s:before{content:'\E1CB';}
+.t-icon-chevron-left-double:before{content:'\E1CC';}
+.t-icon-chevron-left-rectangle-filled:before{content:'\E1CD';}
+.t-icon-chevron-left-rectangle:before{content:'\E1CE';}
+.t-icon-chevron-left-s:before{content:'\E1CF';}
+.t-icon-chevron-left:before{content:'\E1D0';}
+.t-icon-chevron-right-circle-filled:before{content:'\E1D1';}
+.t-icon-chevron-right-circle:before{content:'\E1D2';}
+.t-icon-chevron-right-double-s:before{content:'\E1D3';}
+.t-icon-chevron-right-double:before{content:'\E1D4';}
+.t-icon-chevron-right-rectangle-filled:before{content:'\E1D5';}
+.t-icon-chevron-right-rectangle:before{content:'\E1D6';}
+.t-icon-chevron-right-s:before{content:'\E1D7';}
+.t-icon-chevron-right:before{content:'\E1D8';}
+.t-icon-chevron-up-circle-filled:before{content:'\E1D9';}
+.t-icon-chevron-up-circle:before{content:'\E1DA';}
+.t-icon-chevron-up-double-s:before{content:'\E1DB';}
+.t-icon-chevron-up-double:before{content:'\E1DC';}
+.t-icon-chevron-up-rectangle-filled:before{content:'\E1DD';}
+.t-icon-chevron-up-rectangle:before{content:'\E1DE';}
+.t-icon-chevron-up-s:before{content:'\E1DF';}
+.t-icon-chevron-up:before{content:'\E1E0';}
+.t-icon-chicken:before{content:'\E1E1';}
+.t-icon-chili-filled:before{content:'\E1E2';}
+.t-icon-chili:before{content:'\E1E3';}
+.t-icon-chimney-1-filled:before{content:'\E1E4';}
+.t-icon-chimney-1:before{content:'\E1E5';}
+.t-icon-chimney-2-filled:before{content:'\E1E6';}
+.t-icon-chimney-2:before{content:'\E1E7';}
+.t-icon-chimney-filled:before{content:'\E1E8';}
+.t-icon-chimney:before{content:'\E1E9';}
+.t-icon-chinese-cabbage-filled:before{content:'\E1EA';}
+.t-icon-chinese-cabbage:before{content:'\E1EB';}
+.t-icon-chinese-rectangle-filled:before{content:'\E1EC';}
+.t-icon-chinese-rectangle:before{content:'\E1ED';}
+.t-icon-church-filled:before{content:'\E1EE';}
+.t-icon-church:before{content:'\E1EF';}
+.t-icon-circle-filled:before{content:'\E1F0';}
+.t-icon-circle:before{content:'\E1F1';}
+.t-icon-city-1-filled:before{content:'\E1F2';}
+.t-icon-city-1:before{content:'\E1F3';}
+.t-icon-city-10-filled:before{content:'\E1F4';}
+.t-icon-city-10:before{content:'\E1F5';}
+.t-icon-city-11-filled:before{content:'\E1F6';}
+.t-icon-city-11:before{content:'\E1F7';}
+.t-icon-city-12-filled:before{content:'\E1F8';}
+.t-icon-city-12:before{content:'\E1F9';}
+.t-icon-city-13-filled:before{content:'\E1FA';}
+.t-icon-city-13:before{content:'\E1FB';}
+.t-icon-city-14-filled:before{content:'\E1FC';}
+.t-icon-city-14:before{content:'\E1FD';}
+.t-icon-city-15-filled:before{content:'\E1FE';}
+.t-icon-city-15:before{content:'\E1FF';}
+.t-icon-city-2-filled:before{content:'\E200';}
+.t-icon-city-2:before{content:'\E201';}
+.t-icon-city-3-filled:before{content:'\E202';}
+.t-icon-city-3:before{content:'\E203';}
+.t-icon-city-4-filled:before{content:'\E204';}
+.t-icon-city-4:before{content:'\E205';}
+.t-icon-city-5-filled:before{content:'\E206';}
+.t-icon-city-5:before{content:'\E207';}
+.t-icon-city-6-filled:before{content:'\E208';}
+.t-icon-city-6:before{content:'\E209';}
+.t-icon-city-7-filled:before{content:'\E20A';}
+.t-icon-city-7:before{content:'\E20B';}
+.t-icon-city-8-filled:before{content:'\E20C';}
+.t-icon-city-8:before{content:'\E20D';}
+.t-icon-city-9-filled:before{content:'\E20E';}
+.t-icon-city-9:before{content:'\E20F';}
+.t-icon-city-ancient-1-filled:before{content:'\E210';}
+.t-icon-city-ancient-1:before{content:'\E211';}
+.t-icon-city-ancient-2-filled:before{content:'\E212';}
+.t-icon-city-ancient-2:before{content:'\E213';}
+.t-icon-city-ancient-filled:before{content:'\E214';}
+.t-icon-city-ancient:before{content:'\E215';}
+.t-icon-city-filled:before{content:'\E216';}
+.t-icon-city:before{content:'\E217';}
+.t-icon-clear-filled:before{content:'\E218';}
+.t-icon-clear-formatting-1-filled:before{content:'\E219';}
+.t-icon-clear-formatting-1:before{content:'\E21A';}
+.t-icon-clear-formatting-filled:before{content:'\E21B';}
+.t-icon-clear-formatting:before{content:'\E21C';}
+.t-icon-clear:before{content:'\E21D';}
+.t-icon-close-circle-filled:before{content:'\E21E';}
+.t-icon-close-circle:before{content:'\E21F';}
+.t-icon-close-octagon-filled:before{content:'\E220';}
+.t-icon-close-octagon:before{content:'\E221';}
+.t-icon-close-rectangle-filled:before{content:'\E222';}
+.t-icon-close-rectangle:before{content:'\E223';}
+.t-icon-close:before{content:'\E224';}
+.t-icon-cloud-download:before{content:'\E225';}
+.t-icon-cloud-filled:before{content:'\E226';}
+.t-icon-cloud-upload:before{content:'\E227';}
+.t-icon-cloud:before{content:'\E228';}
+.t-icon-cloudy-day-filled:before{content:'\E229';}
+.t-icon-cloudy-day:before{content:'\E22A';}
+.t-icon-cloudy-night-filled:before{content:'\E22B';}
+.t-icon-cloudy-night-rain-filled:before{content:'\E22C';}
+.t-icon-cloudy-night-rain:before{content:'\E22D';}
+.t-icon-cloudy-night:before{content:'\E22E';}
+.t-icon-cloudy-rain-filled:before{content:'\E22F';}
+.t-icon-cloudy-rain:before{content:'\E230';}
+.t-icon-cloudy-sunny-filled:before{content:'\E231';}
+.t-icon-cloudy-sunny:before{content:'\E232';}
+.t-icon-code-1:before{content:'\E233';}
+.t-icon-code-off:before{content:'\E234';}
+.t-icon-code:before{content:'\E235';}
+.t-icon-cola-filled:before{content:'\E236';}
+.t-icon-cola:before{content:'\E237';}
+.t-icon-collage-filled:before{content:'\E238';}
+.t-icon-collage:before{content:'\E239';}
+.t-icon-collapsible-block:before{content:'\E23A';}
+.t-icon-collection-1-filled:before{content:'\E23B';}
+.t-icon-collection-1:before{content:'\E23C';}
+.t-icon-collection-filled:before{content:'\E23D';}
+.t-icon-collection:before{content:'\E23E';}
+.t-icon-color-invert-filled:before{content:'\E23F';}
+.t-icon-color-invert:before{content:'\E240';}
+.t-icon-column-layout-filled:before{content:'\E241';}
+.t-icon-column-layout:before{content:'\E242';}
+.t-icon-combination-filled:before{content:'\E243';}
+.t-icon-combination:before{content:'\E244';}
+.t-icon-command:before{content:'\E245';}
+.t-icon-compass-1-filled:before{content:'\E246';}
+.t-icon-compass-1:before{content:'\E247';}
+.t-icon-compass-filled:before{content:'\E248';}
+.t-icon-compass:before{content:'\E249';}
+.t-icon-component-breadcrumb-filled:before{content:'\E24A';}
+.t-icon-component-breadcrumb:before{content:'\E24B';}
+.t-icon-component-checkbox-filled:before{content:'\E24C';}
+.t-icon-component-checkbox:before{content:'\E24D';}
+.t-icon-component-divider-horizontal-filled:before{content:'\E24E';}
+.t-icon-component-divider-horizontal:before{content:'\E24F';}
+.t-icon-component-divider-vertical-filled:before{content:'\E250';}
+.t-icon-component-divider-vertical:before{content:'\E251';}
+.t-icon-component-dropdown-filled:before{content:'\E252';}
+.t-icon-component-dropdown:before{content:'\E253';}
+.t-icon-component-grid-filled:before{content:'\E254';}
+.t-icon-component-grid:before{content:'\E255';}
+.t-icon-component-input-filled:before{content:'\E256';}
+.t-icon-component-input:before{content:'\E257';}
+.t-icon-component-layout-filled:before{content:'\E258';}
+.t-icon-component-layout:before{content:'\E259';}
+.t-icon-component-radio:before{content:'\E25A';}
+.t-icon-component-space-filled:before{content:'\E25B';}
+.t-icon-component-space:before{content:'\E25C';}
+.t-icon-component-steps-1-filled:before{content:'\E25D';}
+.t-icon-component-steps-1:before{content:'\E25E';}
+.t-icon-component-steps-filled:before{content:'\E25F';}
+.t-icon-component-steps:before{content:'\E260';}
+.t-icon-component-stickytool-filled:before{content:'\E261';}
+.t-icon-component-stickytool:before{content:'\E262';}
+.t-icon-component-switch-filled:before{content:'\E263';}
+.t-icon-component-switch:before{content:'\E264';}
+.t-icon-constraint:before{content:'\E265';}
+.t-icon-contrast-1-filled:before{content:'\E266';}
+.t-icon-contrast-1:before{content:'\E267';}
+.t-icon-contrast-filled:before{content:'\E268';}
+.t-icon-contrast:before{content:'\E269';}
+.t-icon-contribute-filled:before{content:'\E26A';}
+.t-icon-contribute:before{content:'\E26B';}
+.t-icon-control-platform-filled:before{content:'\E26C';}
+.t-icon-control-platform:before{content:'\E26D';}
+.t-icon-cooperate-filled:before{content:'\E26E';}
+.t-icon-cooperate:before{content:'\E26F';}
+.t-icon-coordinate-system-filled:before{content:'\E270';}
+.t-icon-coordinate-system:before{content:'\E271';}
+.t-icon-copy-filled:before{content:'\E272';}
+.t-icon-copy:before{content:'\E273';}
+.t-icon-copyright-filled:before{content:'\E274';}
+.t-icon-copyright:before{content:'\E275';}
+.t-icon-corn-filled:before{content:'\E276';}
+.t-icon-corn:before{content:'\E277';}
+.t-icon-correct-filled:before{content:'\E278';}
+.t-icon-correct:before{content:'\E279';}
+.t-icon-coupon-filled:before{content:'\E27A';}
+.t-icon-coupon:before{content:'\E27B';}
+.t-icon-course-filled:before{content:'\E27C';}
+.t-icon-course:before{content:'\E27D';}
+.t-icon-cpu-filled:before{content:'\E27E';}
+.t-icon-cpu:before{content:'\E27F';}
+.t-icon-crack-filled:before{content:'\E280';}
+.t-icon-crack:before{content:'\E281';}
+.t-icon-creditcard-add-filled:before{content:'\E282';}
+.t-icon-creditcard-add:before{content:'\E283';}
+.t-icon-creditcard-filled:before{content:'\E284';}
+.t-icon-creditcard-off-filled:before{content:'\E285';}
+.t-icon-creditcard-off:before{content:'\E286';}
+.t-icon-creditcard:before{content:'\E287';}
+.t-icon-crooked-smile-filled:before{content:'\E288';}
+.t-icon-crooked-smile:before{content:'\E289';}
+.t-icon-cry-and-laugh-filled:before{content:'\E28A';}
+.t-icon-cry-and-laugh:before{content:'\E28B';}
+.t-icon-cry-loudly-filled:before{content:'\E28C';}
+.t-icon-cry-loudly:before{content:'\E28D';}
+.t-icon-css3-filled:before{content:'\E28E';}
+.t-icon-css3:before{content:'\E28F';}
+.t-icon-cucumber:before{content:'\E290';}
+.t-icon-currency-exchange:before{content:'\E291';}
+.t-icon-cursor-filled:before{content:'\E292';}
+.t-icon-cursor:before{content:'\E293';}
+.t-icon-curtain-filled:before{content:'\E294';}
+.t-icon-curtain:before{content:'\E295';}
+.t-icon-curve:before{content:'\E296';}
+.t-icon-cut-1:before{content:'\E297';}
+.t-icon-cut:before{content:'\E298';}
+.t-icon-dam-1-filled:before{content:'\E299';}
+.t-icon-dam-1:before{content:'\E29A';}
+.t-icon-dam-2-filled:before{content:'\E29B';}
+.t-icon-dam-2:before{content:'\E29C';}
+.t-icon-dam-3-filled:before{content:'\E29D';}
+.t-icon-dam-3:before{content:'\E29E';}
+.t-icon-dam-4-filled:before{content:'\E29F';}
+.t-icon-dam-4:before{content:'\E2A0';}
+.t-icon-dam-5-filled:before{content:'\E2A1';}
+.t-icon-dam-5:before{content:'\E2A2';}
+.t-icon-dam-6-filled:before{content:'\E2A3';}
+.t-icon-dam-6:before{content:'\E2A4';}
+.t-icon-dam-7-filled:before{content:'\E2A5';}
+.t-icon-dam-7:before{content:'\E2A6';}
+.t-icon-dam-filled:before{content:'\E2A7';}
+.t-icon-dam:before{content:'\E2A8';}
+.t-icon-dart-board-filled:before{content:'\E2A9';}
+.t-icon-dart-board:before{content:'\E2AA';}
+.t-icon-dashboard-1-filled:before{content:'\E2AB';}
+.t-icon-dashboard-1:before{content:'\E2AC';}
+.t-icon-dashboard-filled:before{content:'\E2AD';}
+.t-icon-dashboard:before{content:'\E2AE';}
+.t-icon-data-base-filled:before{content:'\E2AF';}
+.t-icon-data-base:before{content:'\E2B0';}
+.t-icon-data-checked-filled:before{content:'\E2B1';}
+.t-icon-data-checked:before{content:'\E2B2';}
+.t-icon-data-display:before{content:'\E2B3';}
+.t-icon-data-error-filled:before{content:'\E2B4';}
+.t-icon-data-error:before{content:'\E2B5';}
+.t-icon-data-filled:before{content:'\E2B6';}
+.t-icon-data-search-filled:before{content:'\E2B7';}
+.t-icon-data-search:before{content:'\E2B8';}
+.t-icon-data:before{content:'\E2B9';}
+.t-icon-delete-1-filled:before{content:'\E2BA';}
+.t-icon-delete-1:before{content:'\E2BB';}
+.t-icon-delete-filled:before{content:'\E2BC';}
+.t-icon-delete-time-filled:before{content:'\E2BD';}
+.t-icon-delete-time:before{content:'\E2BE';}
+.t-icon-delete:before{content:'\E2BF';}
+.t-icon-delta-filled:before{content:'\E2C0';}
+.t-icon-delta:before{content:'\E2C1';}
+.t-icon-depressed-filled:before{content:'\E2C2';}
+.t-icon-depressed:before{content:'\E2C3';}
+.t-icon-desktop-1-filled:before{content:'\E2C4';}
+.t-icon-desktop-1:before{content:'\E2C5';}
+.t-icon-desktop-filled:before{content:'\E2C6';}
+.t-icon-desktop:before{content:'\E2C7';}
+.t-icon-despise-filled:before{content:'\E2C8';}
+.t-icon-despise:before{content:'\E2C9';}
+.t-icon-device-filled:before{content:'\E2CA';}
+.t-icon-device:before{content:'\E2CB';}
+.t-icon-dialog-history-filled:before{content:'\E2CC';}
+.t-icon-dialog-history:before{content:'\E2CD';}
+.t-icon-discount-filled:before{content:'\E2CE';}
+.t-icon-discount-list-filled:before{content:'\E2CF';}
+.t-icon-discount-list:before{content:'\E2D0';}
+.t-icon-discount:before{content:'\E2D1';}
+.t-icon-dissatisfaction-filled:before{content:'\E2D2';}
+.t-icon-dissatisfaction:before{content:'\E2D3';}
+.t-icon-divide:before{content:'\E2D4';}
+.t-icon-dividers-1:before{content:'\E2D5';}
+.t-icon-dividers:before{content:'\E2D6';}
+.t-icon-document-location-filled:before{content:'\E2D7';}
+.t-icon-document-location:before{content:'\E2D8';}
+.t-icon-document-popular-filled:before{content:'\E2D9';}
+.t-icon-document-popular:before{content:'\E2DA';}
+.t-icon-document-update-filled:before{content:'\E2DB';}
+.t-icon-document-update:before{content:'\E2DC';}
+.t-icon-doge-filled:before{content:'\E2DD';}
+.t-icon-doge:before{content:'\E2DE';}
+.t-icon-double-storey-filled:before{content:'\E2DF';}
+.t-icon-double-storey:before{content:'\E2E0';}
+.t-icon-download-1:before{content:'\E2E1';}
+.t-icon-download-2-filled:before{content:'\E2E2';}
+.t-icon-download-2:before{content:'\E2E3';}
+.t-icon-download:before{content:'\E2E4';}
+.t-icon-downscale:before{content:'\E2E5';}
+.t-icon-draft-filled:before{content:'\E2E6';}
+.t-icon-draft:before{content:'\E2E7';}
+.t-icon-drag-drop:before{content:'\E2E8';}
+.t-icon-drag-move:before{content:'\E2E9';}
+.t-icon-drink-filled:before{content:'\E2EA';}
+.t-icon-drink:before{content:'\E2EB';}
+.t-icon-drumstick-filled:before{content:'\E2EC';}
+.t-icon-drumstick:before{content:'\E2ED';}
+.t-icon-dv-filled:before{content:'\E2EE';}
+.t-icon-dv:before{content:'\E2EF';}
+.t-icon-dvd-filled:before{content:'\E2F0';}
+.t-icon-dvd:before{content:'\E2F1';}
+.t-icon-earphone-filled:before{content:'\E2F2';}
+.t-icon-earphone:before{content:'\E2F3';}
+.t-icon-earth-filled:before{content:'\E2F4';}
+.t-icon-earth:before{content:'\E2F5';}
+.t-icon-edit-1-filled:before{content:'\E2F6';}
+.t-icon-edit-1:before{content:'\E2F7';}
+.t-icon-edit-2-filled:before{content:'\E2F8';}
+.t-icon-edit-2:before{content:'\E2F9';}
+.t-icon-edit-filled:before{content:'\E2FA';}
+.t-icon-edit-off-filled:before{content:'\E2FB';}
+.t-icon-edit-off:before{content:'\E2FC';}
+.t-icon-edit:before{content:'\E2FD';}
+.t-icon-education-filled:before{content:'\E2FE';}
+.t-icon-education:before{content:'\E2FF';}
+.t-icon-eggplant-filled:before{content:'\E300';}
+.t-icon-eggplant:before{content:'\E301';}
+.t-icon-ellipsis:before{content:'\E302';}
+.t-icon-emo-emotional-filled:before{content:'\E303';}
+.t-icon-emo-emotional:before{content:'\E304';}
+.t-icon-english-rectangle-filled:before{content:'\E305';}
+.t-icon-english-rectangle:before{content:'\E306';}
+.t-icon-enter:before{content:'\E307';}
+.t-icon-equal:before{content:'\E308';}
+.t-icon-error-circle-filled:before{content:'\E309';}
+.t-icon-error-circle:before{content:'\E30A';}
+.t-icon-error-triangle-filled:before{content:'\E30B';}
+.t-icon-error-triangle:before{content:'\E30C';}
+.t-icon-error:before{content:'\E30D';}
+.t-icon-excited-1-filled:before{content:'\E30E';}
+.t-icon-excited-1:before{content:'\E30F';}
+.t-icon-excited-filled:before{content:'\E310';}
+.t-icon-excited:before{content:'\E311';}
+.t-icon-expand-down-filled:before{content:'\E312';}
+.t-icon-expand-down:before{content:'\E313';}
+.t-icon-expand-horizontal:before{content:'\E314';}
+.t-icon-expand-up-filled:before{content:'\E315';}
+.t-icon-expand-up:before{content:'\E316';}
+.t-icon-expand-vertical:before{content:'\E317';}
+.t-icon-explore-filled:before{content:'\E318';}
+.t-icon-explore-off-filled:before{content:'\E319';}
+.t-icon-explore-off:before{content:'\E31A';}
+.t-icon-explore:before{content:'\E31B';}
+.t-icon-export:before{content:'\E31C';}
+.t-icon-exposure-filled:before{content:'\E31D';}
+.t-icon-exposure:before{content:'\E31E';}
+.t-icon-extension-filled:before{content:'\E31F';}
+.t-icon-extension-off-filled:before{content:'\E320';}
+.t-icon-extension-off:before{content:'\E321';}
+.t-icon-extension:before{content:'\E322';}
+.t-icon-face-retouching-filled:before{content:'\E323';}
+.t-icon-face-retouching:before{content:'\E324';}
+.t-icon-fact-check-filled:before{content:'\E325';}
+.t-icon-fact-check:before{content:'\E326';}
+.t-icon-fahrenheit-scale:before{content:'\E327';}
+.t-icon-feel-at-ease-filled:before{content:'\E328';}
+.t-icon-feel-at-ease:before{content:'\E329';}
+.t-icon-ferocious-filled:before{content:'\E32A';}
+.t-icon-ferocious:before{content:'\E32B';}
+.t-icon-ferris-wheel-filled:before{content:'\E32C';}
+.t-icon-ferris-wheel:before{content:'\E32D';}
+.t-icon-file-1-filled:before{content:'\E32E';}
+.t-icon-file-1:before{content:'\E32F';}
+.t-icon-file-add-1-filled:before{content:'\E330';}
+.t-icon-file-add-1:before{content:'\E331';}
+.t-icon-file-add-filled:before{content:'\E332';}
+.t-icon-file-add:before{content:'\E333';}
+.t-icon-file-attachment-filled:before{content:'\E334';}
+.t-icon-file-attachment:before{content:'\E335';}
+.t-icon-file-blocked-filled:before{content:'\E336';}
+.t-icon-file-blocked:before{content:'\E337';}
+.t-icon-file-code-1-filled:before{content:'\E338';}
+.t-icon-file-code-1:before{content:'\E339';}
+.t-icon-file-code-filled:before{content:'\E33A';}
+.t-icon-file-code:before{content:'\E33B';}
+.t-icon-file-copy-filled:before{content:'\E33C';}
+.t-icon-file-copy:before{content:'\E33D';}
+.t-icon-file-csv-filled:before{content:'\E33E';}
+.t-icon-file-csv:before{content:'\E33F';}
+.t-icon-file-download-filled:before{content:'\E340';}
+.t-icon-file-download:before{content:'\E341';}
+.t-icon-file-edit-filled:before{content:'\E342';}
+.t-icon-file-edit:before{content:'\E343';}
+.t-icon-file-excel-filled:before{content:'\E344';}
+.t-icon-file-excel:before{content:'\E345';}
+.t-icon-file-export-filled:before{content:'\E346';}
+.t-icon-file-export:before{content:'\E347';}
+.t-icon-file-filled:before{content:'\E348';}
+.t-icon-file-icon-filled:before{content:'\E349';}
+.t-icon-file-icon:before{content:'\E34A';}
+.t-icon-file-image-filled:before{content:'\E34B';}
+.t-icon-file-image:before{content:'\E34C';}
+.t-icon-file-import-filled:before{content:'\E34D';}
+.t-icon-file-import:before{content:'\E34E';}
+.t-icon-file-json-filled:before{content:'\E34F';}
+.t-icon-file-json:before{content:'\E350';}
+.t-icon-file-locked-filled:before{content:'\E351';}
+.t-icon-file-locked:before{content:'\E352';}
+.t-icon-file-markdown-filled:before{content:'\E353';}
+.t-icon-file-markdown:before{content:'\E354';}
+.t-icon-file-minus-filled:before{content:'\E355';}
+.t-icon-file-minus:before{content:'\E356';}
+.t-icon-file-music-filled:before{content:'\E357';}
+.t-icon-file-music:before{content:'\E358';}
+.t-icon-file-onenote-filled:before{content:'\E359';}
+.t-icon-file-onenote:before{content:'\E35A';}
+.t-icon-file-outlook-filled:before{content:'\E35B';}
+.t-icon-file-outlook:before{content:'\E35C';}
+.t-icon-file-paste-filled:before{content:'\E35D';}
+.t-icon-file-paste:before{content:'\E35E';}
+.t-icon-file-pdf-filled:before{content:'\E35F';}
+.t-icon-file-pdf:before{content:'\E360';}
+.t-icon-file-powerpoint-filled:before{content:'\E361';}
+.t-icon-file-powerpoint:before{content:'\E362';}
+.t-icon-file-restore-filled:before{content:'\E363';}
+.t-icon-file-restore:before{content:'\E364';}
+.t-icon-file-safety-filled:before{content:'\E365';}
+.t-icon-file-safety:before{content:'\E366';}
+.t-icon-file-search-filled:before{content:'\E367';}
+.t-icon-file-search:before{content:'\E368';}
+.t-icon-file-setting-filled:before{content:'\E369';}
+.t-icon-file-setting:before{content:'\E36A';}
+.t-icon-file-teams-filled:before{content:'\E36B';}
+.t-icon-file-teams:before{content:'\E36C';}
+.t-icon-file-transmit-double-filled:before{content:'\E36D';}
+.t-icon-file-transmit-double:before{content:'\E36E';}
+.t-icon-file-transmit-filled:before{content:'\E36F';}
+.t-icon-file-transmit:before{content:'\E370';}
+.t-icon-file-txt-filled:before{content:'\E371';}
+.t-icon-file-txt:before{content:'\E372';}
+.t-icon-file-unknown-filled:before{content:'\E373';}
+.t-icon-file-unknown:before{content:'\E374';}
+.t-icon-file-unlocked-filled:before{content:'\E375';}
+.t-icon-file-unlocked:before{content:'\E376';}
+.t-icon-file-word-filled:before{content:'\E377';}
+.t-icon-file-word:before{content:'\E378';}
+.t-icon-file-yaml-filled:before{content:'\E379';}
+.t-icon-file-yaml:before{content:'\E37A';}
+.t-icon-file-zip-filled:before{content:'\E37B';}
+.t-icon-file-zip:before{content:'\E37C';}
+.t-icon-file:before{content:'\E37D';}
+.t-icon-fill-color-1-filled:before{content:'\E37E';}
+.t-icon-fill-color-1:before{content:'\E37F';}
+.t-icon-fill-color-filled:before{content:'\E380';}
+.t-icon-fill-color:before{content:'\E381';}
+.t-icon-film-1-filled:before{content:'\E382';}
+.t-icon-film-1:before{content:'\E383';}
+.t-icon-film-filled:before{content:'\E384';}
+.t-icon-film:before{content:'\E385';}
+.t-icon-filter-1-filled:before{content:'\E386';}
+.t-icon-filter-1:before{content:'\E387';}
+.t-icon-filter-2-filled:before{content:'\E388';}
+.t-icon-filter-2:before{content:'\E389';}
+.t-icon-filter-3-filled:before{content:'\E38A';}
+.t-icon-filter-3:before{content:'\E38B';}
+.t-icon-filter-clear-filled:before{content:'\E38C';}
+.t-icon-filter-clear:before{content:'\E38D';}
+.t-icon-filter-filled:before{content:'\E38E';}
+.t-icon-filter-off-filled:before{content:'\E38F';}
+.t-icon-filter-off:before{content:'\E390';}
+.t-icon-filter-sort-filled:before{content:'\E391';}
+.t-icon-filter-sort:before{content:'\E392';}
+.t-icon-filter:before{content:'\E393';}
+.t-icon-fingerprint-1:before{content:'\E394';}
+.t-icon-fingerprint-2:before{content:'\E395';}
+.t-icon-fingerprint-3:before{content:'\E396';}
+.t-icon-fingerprint:before{content:'\E397';}
+.t-icon-fish-filled:before{content:'\E398';}
+.t-icon-fish:before{content:'\E399';}
+.t-icon-flag-1-filled:before{content:'\E39A';}
+.t-icon-flag-1:before{content:'\E39B';}
+.t-icon-flag-2-filled:before{content:'\E39C';}
+.t-icon-flag-2:before{content:'\E39D';}
+.t-icon-flag-3-filled:before{content:'\E39E';}
+.t-icon-flag-3:before{content:'\E39F';}
+.t-icon-flag-4-filled:before{content:'\E3A0';}
+.t-icon-flag-4:before{content:'\E3A1';}
+.t-icon-flag-filled:before{content:'\E3A2';}
+.t-icon-flag:before{content:'\E3A3';}
+.t-icon-flashlight-filled:before{content:'\E3A4';}
+.t-icon-flashlight:before{content:'\E3A5';}
+.t-icon-flight-landing-filled:before{content:'\E3A6';}
+.t-icon-flight-landing:before{content:'\E3A7';}
+.t-icon-flight-takeoff-filled:before{content:'\E3A8';}
+.t-icon-flight-takeoff:before{content:'\E3A9';}
+.t-icon-flip-smiling-face-filled:before{content:'\E3AA';}
+.t-icon-flip-smiling-face:before{content:'\E3AB';}
+.t-icon-flip-to-back-filled:before{content:'\E3AC';}
+.t-icon-flip-to-back:before{content:'\E3AD';}
+.t-icon-flip-to-front-filled:before{content:'\E3AE';}
+.t-icon-flip-to-front:before{content:'\E3AF';}
+.t-icon-flowchart-filled:before{content:'\E3B0';}
+.t-icon-flowchart:before{content:'\E3B1';}
+.t-icon-focus-filled:before{content:'\E3B2';}
+.t-icon-focus:before{content:'\E3B3';}
+.t-icon-fog-filled:before{content:'\E3B4';}
+.t-icon-fog-night-filled:before{content:'\E3B5';}
+.t-icon-fog-night:before{content:'\E3B6';}
+.t-icon-fog-sunny-filled:before{content:'\E3B7';}
+.t-icon-fog-sunny:before{content:'\E3B8';}
+.t-icon-fog:before{content:'\E3B9';}
+.t-icon-folder-1-filled:before{content:'\E3BA';}
+.t-icon-folder-1:before{content:'\E3BB';}
+.t-icon-folder-add-1-filled:before{content:'\E3BC';}
+.t-icon-folder-add-1:before{content:'\E3BD';}
+.t-icon-folder-add-filled:before{content:'\E3BE';}
+.t-icon-folder-add:before{content:'\E3BF';}
+.t-icon-folder-blocked-filled:before{content:'\E3C0';}
+.t-icon-folder-blocked:before{content:'\E3C1';}
+.t-icon-folder-details-filled:before{content:'\E3C2';}
+.t-icon-folder-details:before{content:'\E3C3';}
+.t-icon-folder-export-filled:before{content:'\E3C4';}
+.t-icon-folder-export:before{content:'\E3C5';}
+.t-icon-folder-filled:before{content:'\E3C6';}
+.t-icon-folder-import-filled:before{content:'\E3C7';}
+.t-icon-folder-import:before{content:'\E3C8';}
+.t-icon-folder-locked-filled:before{content:'\E3C9';}
+.t-icon-folder-locked:before{content:'\E3CA';}
+.t-icon-folder-minus-filled:before{content:'\E3CB';}
+.t-icon-folder-minus:before{content:'\E3CC';}
+.t-icon-folder-move-filled:before{content:'\E3CD';}
+.t-icon-folder-move:before{content:'\E3CE';}
+.t-icon-folder-off-filled:before{content:'\E3CF';}
+.t-icon-folder-off:before{content:'\E3D0';}
+.t-icon-folder-open-1-filled:before{content:'\E3D1';}
+.t-icon-folder-open-1:before{content:'\E3D2';}
+.t-icon-folder-open-filled:before{content:'\E3D3';}
+.t-icon-folder-open:before{content:'\E3D4';}
+.t-icon-folder-search-filled:before{content:'\E3D5';}
+.t-icon-folder-search:before{content:'\E3D6';}
+.t-icon-folder-setting-filled:before{content:'\E3D7';}
+.t-icon-folder-setting:before{content:'\E3D8';}
+.t-icon-folder-shared-filled:before{content:'\E3D9';}
+.t-icon-folder-shared:before{content:'\E3DA';}
+.t-icon-folder-unlocked-filled:before{content:'\E3DB';}
+.t-icon-folder-unlocked:before{content:'\E3DC';}
+.t-icon-folder-zip-filled:before{content:'\E3DD';}
+.t-icon-folder-zip:before{content:'\E3DE';}
+.t-icon-folder:before{content:'\E3DF';}
+.t-icon-font-background-filled:before{content:'\E3E0';}
+.t-icon-font-background:before{content:'\E3E1';}
+.t-icon-forest-filled:before{content:'\E3E2';}
+.t-icon-forest:before{content:'\E3E3';}
+.t-icon-fork-filled:before{content:'\E3E4';}
+.t-icon-fork:before{content:'\E3E5';}
+.t-icon-form-filled:before{content:'\E3E6';}
+.t-icon-form:before{content:'\E3E7';}
+.t-icon-format-horizontal-align-bottom:before{content:'\E3E8';}
+.t-icon-format-horizontal-align-center:before{content:'\E3E9';}
+.t-icon-format-horizontal-align-top:before{content:'\E3EA';}
+.t-icon-format-painter-filled:before{content:'\E3EB';}
+.t-icon-format-painter:before{content:'\E3EC';}
+.t-icon-format-vertical-align-center:before{content:'\E3ED';}
+.t-icon-format-vertical-align-left:before{content:'\E3EE';}
+.t-icon-format-vertical-align-right:before{content:'\E3EF';}
+.t-icon-formula:before{content:'\E3F0';}
+.t-icon-forum-filled:before{content:'\E3F1';}
+.t-icon-forum:before{content:'\E3F2';}
+.t-icon-forward-filled:before{content:'\E3F3';}
+.t-icon-forward:before{content:'\E3F4';}
+.t-icon-frame-1-filled:before{content:'\E3F5';}
+.t-icon-frame-1:before{content:'\E3F6';}
+.t-icon-frame-filled:before{content:'\E3F7';}
+.t-icon-frame:before{content:'\E3F8';}
+.t-icon-fries-filled:before{content:'\E3F9';}
+.t-icon-fries:before{content:'\E3FA';}
+.t-icon-fullscreen-1:before{content:'\E3FB';}
+.t-icon-fullscreen-2:before{content:'\E3FC';}
+.t-icon-fullscreen-exit-1:before{content:'\E3FD';}
+.t-icon-fullscreen-exit:before{content:'\E3FE';}
+.t-icon-fullscreen:before{content:'\E3FF';}
+.t-icon-function-curve:before{content:'\E400';}
+.t-icon-functions-1:before{content:'\E401';}
+.t-icon-functions:before{content:'\E402';}
+.t-icon-gamepad-1-filled:before{content:'\E403';}
+.t-icon-gamepad-1:before{content:'\E404';}
+.t-icon-gamepad-filled:before{content:'\E405';}
+.t-icon-gamepad:before{content:'\E406';}
+.t-icon-gamma:before{content:'\E407';}
+.t-icon-garlic-filled:before{content:'\E408';}
+.t-icon-garlic:before{content:'\E409';}
+.t-icon-gender-female:before{content:'\E40A';}
+.t-icon-gender-male:before{content:'\E40B';}
+.t-icon-gesture-applause-filled:before{content:'\E40C';}
+.t-icon-gesture-applause:before{content:'\E40D';}
+.t-icon-gesture-click-filled:before{content:'\E40E';}
+.t-icon-gesture-click:before{content:'\E40F';}
+.t-icon-gesture-down-filled:before{content:'\E410';}
+.t-icon-gesture-down:before{content:'\E411';}
+.t-icon-gesture-expansion-filled:before{content:'\E412';}
+.t-icon-gesture-expansion:before{content:'\E413';}
+.t-icon-gesture-left-filled:before{content:'\E414';}
+.t-icon-gesture-left-slip-filled:before{content:'\E415';}
+.t-icon-gesture-left-slip:before{content:'\E416';}
+.t-icon-gesture-left:before{content:'\E417';}
+.t-icon-gesture-open-filled:before{content:'\E418';}
+.t-icon-gesture-open:before{content:'\E419';}
+.t-icon-gesture-pray-filled:before{content:'\E41A';}
+.t-icon-gesture-pray:before{content:'\E41B';}
+.t-icon-gesture-press-filled:before{content:'\E41C';}
+.t-icon-gesture-press:before{content:'\E41D';}
+.t-icon-gesture-ranslation-filled:before{content:'\E41E';}
+.t-icon-gesture-ranslation:before{content:'\E41F';}
+.t-icon-gesture-right-filled:before{content:'\E420';}
+.t-icon-gesture-right-slip-filled:before{content:'\E421';}
+.t-icon-gesture-right-slip:before{content:'\E422';}
+.t-icon-gesture-right:before{content:'\E423';}
+.t-icon-gesture-slide-left-and-right-filled:before{content:'\E424';}
+.t-icon-gesture-slide-left-and-right:before{content:'\E425';}
+.t-icon-gesture-slide-up-filled:before{content:'\E426';}
+.t-icon-gesture-slide-up:before{content:'\E427';}
+.t-icon-gesture-typing-filled:before{content:'\E428';}
+.t-icon-gesture-typing:before{content:'\E429';}
+.t-icon-gesture-up-and-down-filled:before{content:'\E42A';}
+.t-icon-gesture-up-and-down:before{content:'\E42B';}
+.t-icon-gesture-up-filled:before{content:'\E42C';}
+.t-icon-gesture-up:before{content:'\E42D';}
+.t-icon-gesture-wipe-down-filled:before{content:'\E42E';}
+.t-icon-gesture-wipe-down:before{content:'\E42F';}
+.t-icon-gift-filled:before{content:'\E430';}
+.t-icon-gift:before{content:'\E431';}
+.t-icon-giggle-filled:before{content:'\E432';}
+.t-icon-giggle:before{content:'\E433';}
+.t-icon-git-branch-filled:before{content:'\E434';}
+.t-icon-git-branch:before{content:'\E435';}
+.t-icon-git-commit-1-filled:before{content:'\E436';}
+.t-icon-git-commit-1:before{content:'\E437';}
+.t-icon-git-commit-filled:before{content:'\E438';}
+.t-icon-git-commit:before{content:'\E439';}
+.t-icon-git-merge-filled:before{content:'\E43A';}
+.t-icon-git-merge:before{content:'\E43B';}
+.t-icon-git-pull-request-filled:before{content:'\E43C';}
+.t-icon-git-pull-request:before{content:'\E43D';}
+.t-icon-git-repository-commits-filled:before{content:'\E43E';}
+.t-icon-git-repository-commits:before{content:'\E43F';}
+.t-icon-git-repository-filled:before{content:'\E440';}
+.t-icon-git-repository-private-filled:before{content:'\E441';}
+.t-icon-git-repository-private:before{content:'\E442';}
+.t-icon-git-repository:before{content:'\E443';}
+.t-icon-gps-filled:before{content:'\E444';}
+.t-icon-gps:before{content:'\E445';}
+.t-icon-grape-filled:before{content:'\E446';}
+.t-icon-grape:before{content:'\E447';}
+.t-icon-graphviz-filled:before{content:'\E448';}
+.t-icon-graphviz:before{content:'\E449';}
+.t-icon-greater-than-or-equal:before{content:'\E44A';}
+.t-icon-greater-than:before{content:'\E44B';}
+.t-icon-green-onion:before{content:'\E44C';}
+.t-icon-grid-add-filled:before{content:'\E44D';}
+.t-icon-grid-add:before{content:'\E44E';}
+.t-icon-grid-view-filled:before{content:'\E44F';}
+.t-icon-grid-view:before{content:'\E450';}
+.t-icon-guitar-filled:before{content:'\E451';}
+.t-icon-guitar:before{content:'\E452';}
+.t-icon-hamburger-filled:before{content:'\E453';}
+.t-icon-hamburger:before{content:'\E454';}
+.t-icon-happy-filled:before{content:'\E455';}
+.t-icon-happy:before{content:'\E456';}
+.t-icon-hard-disk-storage-filled:before{content:'\E457';}
+.t-icon-hard-disk-storage:before{content:'\E458';}
+.t-icon-hard-drive-filled:before{content:'\E459';}
+.t-icon-hard-drive:before{content:'\E45A';}
+.t-icon-hashtag:before{content:'\E45B';}
+.t-icon-hd-filled:before{content:'\E45C';}
+.t-icon-hd:before{content:'\E45D';}
+.t-icon-heart-filled:before{content:'\E45E';}
+.t-icon-heart:before{content:'\E45F';}
+.t-icon-help-circle-filled:before{content:'\E460';}
+.t-icon-help-circle:before{content:'\E461';}
+.t-icon-help-rectangle-filled:before{content:'\E462';}
+.t-icon-help-rectangle:before{content:'\E463';}
+.t-icon-help:before{content:'\E464';}
+.t-icon-high-level-filled:before{content:'\E465';}
+.t-icon-high-level:before{content:'\E466';}
+.t-icon-highlight-1-filled:before{content:'\E467';}
+.t-icon-highlight-1:before{content:'\E468';}
+.t-icon-highlight:before{content:'\E469';}
+.t-icon-highlighted-block-filled:before{content:'\E46A';}
+.t-icon-highlighted-block:before{content:'\E46B';}
+.t-icon-history-setting:before{content:'\E46C';}
+.t-icon-history:before{content:'\E46D';}
+.t-icon-home-filled:before{content:'\E46E';}
+.t-icon-home:before{content:'\E46F';}
+.t-icon-horizontal-filled:before{content:'\E470';}
+.t-icon-horizontal:before{content:'\E471';}
+.t-icon-hospital-1-filled:before{content:'\E472';}
+.t-icon-hospital-1:before{content:'\E473';}
+.t-icon-hospital-filled:before{content:'\E474';}
+.t-icon-hospital:before{content:'\E475';}
+.t-icon-hotspot-wave-filled:before{content:'\E476';}
+.t-icon-hotspot-wave:before{content:'\E477';}
+.t-icon-hourglass-filled:before{content:'\E478';}
+.t-icon-hourglass:before{content:'\E479';}
+.t-icon-houses-1-filled:before{content:'\E47A';}
+.t-icon-houses-1:before{content:'\E47B';}
+.t-icon-houses-2-filled:before{content:'\E47C';}
+.t-icon-houses-2:before{content:'\E47D';}
+.t-icon-houses-filled:before{content:'\E47E';}
+.t-icon-houses:before{content:'\E47F';}
+.t-icon-html5-filled:before{content:'\E480';}
+.t-icon-html5:before{content:'\E481';}
+.t-icon-https-filled:before{content:'\E482';}
+.t-icon-https:before{content:'\E483';}
+.t-icon-ice-cream-filled:before{content:'\E484';}
+.t-icon-ice-cream:before{content:'\E485';}
+.t-icon-icon-filled:before{content:'\E486';}
+.t-icon-icon:before{content:'\E487';}
+.t-icon-image-1-filled:before{content:'\E488';}
+.t-icon-image-1:before{content:'\E489';}
+.t-icon-image-add-filled:before{content:'\E48A';}
+.t-icon-image-add:before{content:'\E48B';}
+.t-icon-image-carousel-filled:before{content:'\E48C';}
+.t-icon-image-carousel:before{content:'\E48D';}
+.t-icon-image-edit-filled:before{content:'\E48E';}
+.t-icon-image-edit:before{content:'\E48F';}
+.t-icon-image-error-filled:before{content:'\E490';}
+.t-icon-image-error:before{content:'\E491';}
+.t-icon-image-filled:before{content:'\E492';}
+.t-icon-image-off-filled:before{content:'\E493';}
+.t-icon-image-off:before{content:'\E494';}
+.t-icon-image-search-filled:before{content:'\E495';}
+.t-icon-image-search:before{content:'\E496';}
+.t-icon-image:before{content:'\E497';}
+.t-icon-import:before{content:'\E498';}
+.t-icon-indent-left:before{content:'\E499';}
+.t-icon-indent-right:before{content:'\E49A';}
+.t-icon-indicator-filled:before{content:'\E49B';}
+.t-icon-indicator:before{content:'\E49C';}
+.t-icon-info-circle-filled:before{content:'\E49D';}
+.t-icon-info-circle:before{content:'\E49E';}
+.t-icon-ink-filled:before{content:'\E49F';}
+.t-icon-ink:before{content:'\E4A0';}
+.t-icon-install-desktop-filled:before{content:'\E4A1';}
+.t-icon-install-desktop:before{content:'\E4A2';}
+.t-icon-install-filled:before{content:'\E4A3';}
+.t-icon-install-mobile-filled:before{content:'\E4A4';}
+.t-icon-install-mobile:before{content:'\E4A5';}
+.t-icon-install:before{content:'\E4A6';}
+.t-icon-institution-checked-filled:before{content:'\E4A7';}
+.t-icon-institution-checked:before{content:'\E4A8';}
+.t-icon-institution-filled:before{content:'\E4A9';}
+.t-icon-institution:before{content:'\E4AA';}
+.t-icon-internet-filled:before{content:'\E4AB';}
+.t-icon-internet:before{content:'\E4AC';}
+.t-icon-ipod-filled:before{content:'\E4AD';}
+.t-icon-ipod:before{content:'\E4AE';}
+.t-icon-japanese-rectangle-filled:before{content:'\E4AF';}
+.t-icon-japanese-rectangle:before{content:'\E4B0';}
+.t-icon-joyful-filled:before{content:'\E4B1';}
+.t-icon-joyful:before{content:'\E4B2';}
+.t-icon-jump-double:before{content:'\E4B3';}
+.t-icon-jump-off:before{content:'\E4B4';}
+.t-icon-jump:before{content:'\E4B5';}
+.t-icon-key-filled:before{content:'\E4B6';}
+.t-icon-key:before{content:'\E4B7';}
+.t-icon-keyboard-filled:before{content:'\E4B8';}
+.t-icon-keyboard:before{content:'\E4B9';}
+.t-icon-korean-rectangle-filled:before{content:'\E4BA';}
+.t-icon-korean-rectangle:before{content:'\E4BB';}
+.t-icon-laptop-filled:before{content:'\E4BC';}
+.t-icon-laptop:before{content:'\E4BD';}
+.t-icon-layers-filled:before{content:'\E4BE';}
+.t-icon-layers:before{content:'\E4BF';}
+.t-icon-layout-filled:before{content:'\E4C0';}
+.t-icon-layout:before{content:'\E4C1';}
+.t-icon-leaderboard-filled:before{content:'\E4C2';}
+.t-icon-leaderboard:before{content:'\E4C3';}
+.t-icon-lemon-filled:before{content:'\E4C4';}
+.t-icon-lemon-slice-filled:before{content:'\E4C5';}
+.t-icon-lemon-slice:before{content:'\E4C6';}
+.t-icon-lemon:before{content:'\E4C7';}
+.t-icon-less-than-or-equal:before{content:'\E4C8';}
+.t-icon-less-than:before{content:'\E4C9';}
+.t-icon-letters-a:before{content:'\E4CA';}
+.t-icon-letters-b:before{content:'\E4CB';}
+.t-icon-letters-c:before{content:'\E4CC';}
+.t-icon-letters-d:before{content:'\E4CD';}
+.t-icon-letters-e:before{content:'\E4CE';}
+.t-icon-letters-f:before{content:'\E4CF';}
+.t-icon-letters-g:before{content:'\E4D0';}
+.t-icon-letters-h:before{content:'\E4D1';}
+.t-icon-letters-i:before{content:'\E4D2';}
+.t-icon-letters-j:before{content:'\E4D3';}
+.t-icon-letters-k:before{content:'\E4D4';}
+.t-icon-letters-l:before{content:'\E4D5';}
+.t-icon-letters-m:before{content:'\E4D6';}
+.t-icon-letters-n:before{content:'\E4D7';}
+.t-icon-letters-o:before{content:'\E4D8';}
+.t-icon-letters-p:before{content:'\E4D9';}
+.t-icon-letters-q:before{content:'\E4DA';}
+.t-icon-letters-r:before{content:'\E4DB';}
+.t-icon-letters-s:before{content:'\E4DC';}
+.t-icon-letters-t:before{content:'\E4DD';}
+.t-icon-letters-u:before{content:'\E4DE';}
+.t-icon-letters-v:before{content:'\E4DF';}
+.t-icon-letters-w:before{content:'\E4E0';}
+.t-icon-letters-x:before{content:'\E4E1';}
+.t-icon-letters-y:before{content:'\E4E2';}
+.t-icon-letters-z:before{content:'\E4E3';}
+.t-icon-lightbulb-circle-filled:before{content:'\E4E4';}
+.t-icon-lightbulb-circle:before{content:'\E4E5';}
+.t-icon-lightbulb-filled:before{content:'\E4E6';}
+.t-icon-lightbulb:before{content:'\E4E7';}
+.t-icon-lighthouse-1-filled:before{content:'\E4E8';}
+.t-icon-lighthouse-1:before{content:'\E4E9';}
+.t-icon-lighthouse-2-filled:before{content:'\E4EA';}
+.t-icon-lighthouse-2:before{content:'\E4EB';}
+.t-icon-lighthouse-filled:before{content:'\E4EC';}
+.t-icon-lighthouse:before{content:'\E4ED';}
+.t-icon-lighting-circle-filled:before{content:'\E4EE';}
+.t-icon-lighting-circle:before{content:'\E4EF';}
+.t-icon-line-height:before{content:'\E4F0';}
+.t-icon-link-1:before{content:'\E4F1';}
+.t-icon-link-transform:before{content:'\E4F2';}
+.t-icon-link-unlink:before{content:'\E4F3';}
+.t-icon-link:before{content:'\E4F4';}
+.t-icon-liquor-filled:before{content:'\E4F5';}
+.t-icon-liquor:before{content:'\E4F6';}
+.t-icon-list-bug-filled:before{content:'\E4F7';}
+.t-icon-list-bug:before{content:'\E4F8';}
+.t-icon-list-demand:before{content:'\E4F9';}
+.t-icon-list-numbered:before{content:'\E4FA';}
+.t-icon-load:before{content:'\E4FB';}
+.t-icon-loading:before{content:'\E4FC';}
+.t-icon-location-1-filled:before{content:'\E4FD';}
+.t-icon-location-1:before{content:'\E4FE';}
+.t-icon-location-enlargement-filled:before{content:'\E4FF';}
+.t-icon-location-enlargement:before{content:'\E500';}
+.t-icon-location-error-filled:before{content:'\E501';}
+.t-icon-location-error:before{content:'\E502';}
+.t-icon-location-filled:before{content:'\E503';}
+.t-icon-location-parking-place-filled:before{content:'\E504';}
+.t-icon-location-parking-place:before{content:'\E505';}
+.t-icon-location-reduction-filled:before{content:'\E506';}
+.t-icon-location-reduction:before{content:'\E507';}
+.t-icon-location-setting-filled:before{content:'\E508';}
+.t-icon-location-setting:before{content:'\E509';}
+.t-icon-location:before{content:'\E50A';}
+.t-icon-lock-checked-filled:before{content:'\E50B';}
+.t-icon-lock-checked:before{content:'\E50C';}
+.t-icon-lock-off-filled:before{content:'\E50D';}
+.t-icon-lock-off:before{content:'\E50E';}
+.t-icon-lock-on-filled:before{content:'\E50F';}
+.t-icon-lock-on:before{content:'\E510';}
+.t-icon-lock-time-filled:before{content:'\E511';}
+.t-icon-lock-time:before{content:'\E512';}
+.t-icon-login:before{content:'\E513';}
+.t-icon-logo-adobe-illustrate-filled:before{content:'\E514';}
+.t-icon-logo-adobe-illustrate:before{content:'\E515';}
+.t-icon-logo-adobe-lightroom-filled:before{content:'\E516';}
+.t-icon-logo-adobe-lightroom:before{content:'\E517';}
+.t-icon-logo-adobe-photoshop-filled:before{content:'\E518';}
+.t-icon-logo-adobe-photoshop:before{content:'\E519';}
+.t-icon-logo-alipay-filled:before{content:'\E51A';}
+.t-icon-logo-alipay:before{content:'\E51B';}
+.t-icon-logo-android-filled:before{content:'\E51C';}
+.t-icon-logo-android:before{content:'\E51D';}
+.t-icon-logo-apple-filled:before{content:'\E51E';}
+.t-icon-logo-apple:before{content:'\E51F';}
+.t-icon-logo-behance-filled:before{content:'\E520';}
+.t-icon-logo-behance:before{content:'\E521';}
+.t-icon-logo-chrome-filled:before{content:'\E522';}
+.t-icon-logo-chrome:before{content:'\E523';}
+.t-icon-logo-cinema4d-filled:before{content:'\E524';}
+.t-icon-logo-cinema4d:before{content:'\E525';}
+.t-icon-logo-cnb-filled:before{content:'\E526';}
+.t-icon-logo-cnb:before{content:'\E527';}
+.t-icon-logo-codepen:before{content:'\E528';}
+.t-icon-logo-codesandbox:before{content:'\E529';}
+.t-icon-logo-codesign:before{content:'\E52A';}
+.t-icon-logo-dribbble-filled:before{content:'\E52B';}
+.t-icon-logo-dribbble:before{content:'\E52C';}
+.t-icon-logo-facebook-filled:before{content:'\E52D';}
+.t-icon-logo-facebook:before{content:'\E52E';}
+.t-icon-logo-figma-filled:before{content:'\E52F';}
+.t-icon-logo-figma:before{content:'\E530';}
+.t-icon-logo-framer-filled:before{content:'\E531';}
+.t-icon-logo-framer:before{content:'\E532';}
+.t-icon-logo-github-filled:before{content:'\E533';}
+.t-icon-logo-github:before{content:'\E534';}
+.t-icon-logo-gitlab-filled:before{content:'\E535';}
+.t-icon-logo-gitlab:before{content:'\E536';}
+.t-icon-logo-hiflow-filled:before{content:'\E537';}
+.t-icon-logo-hiflow:before{content:'\E538';}
+.t-icon-logo-ie-filled:before{content:'\E539';}
+.t-icon-logo-ie:before{content:'\E53A';}
+.t-icon-logo-instagram-filled:before{content:'\E53B';}
+.t-icon-logo-instagram:before{content:'\E53C';}
+.t-icon-logo-iwiki-filled:before{content:'\E53D';}
+.t-icon-logo-iwiki:before{content:'\E53E';}
+.t-icon-logo-markdown-filled:before{content:'\E53F';}
+.t-icon-logo-markdown:before{content:'\E540';}
+.t-icon-logo-miniprogram-filled:before{content:'\E541';}
+.t-icon-logo-miniprogram:before{content:'\E542';}
+.t-icon-logo-qq-filled:before{content:'\E543';}
+.t-icon-logo-qq:before{content:'\E544';}
+.t-icon-logo-stackblitz-filled:before{content:'\E545';}
+.t-icon-logo-stackblitz:before{content:'\E546';}
+.t-icon-logo-tapd-filled:before{content:'\E547';}
+.t-icon-logo-tapd:before{content:'\E548';}
+.t-icon-logo-tbeacon-filled:before{content:'\E549';}
+.t-icon-logo-tbeacon:before{content:'\E54A';}
+.t-icon-logo-tdesign-filled:before{content:'\E54B';}
+.t-icon-logo-tdesign:before{content:'\E54C';}
+.t-icon-logo-tencentcode:before{content:'\E54D';}
+.t-icon-logo-tencentmeeting-filled:before{content:'\E54E';}
+.t-icon-logo-tencentmeeting:before{content:'\E54F';}
+.t-icon-logo-twitter-filled:before{content:'\E550';}
+.t-icon-logo-twitter:before{content:'\E551';}
+.t-icon-logo-wechat-stroke-filled:before{content:'\E552';}
+.t-icon-logo-wechat-stroke:before{content:'\E553';}
+.t-icon-logo-wechat-workdocs-filled:before{content:'\E554';}
+.t-icon-logo-wechat-workdocs:before{content:'\E555';}
+.t-icon-logo-wechatpay-filled:before{content:'\E556';}
+.t-icon-logo-wechatpay:before{content:'\E557';}
+.t-icon-logo-wecom-filled:before{content:'\E558';}
+.t-icon-logo-wecom:before{content:'\E559';}
+.t-icon-logo-windows-filled:before{content:'\E55A';}
+.t-icon-logo-windows:before{content:'\E55B';}
+.t-icon-logo-xiaomareport-filled:before{content:'\E55C';}
+.t-icon-logo-xiaomareport:before{content:'\E55D';}
+.t-icon-logo-youtube-filled:before{content:'\E55E';}
+.t-icon-logo-youtube:before{content:'\E55F';}
+.t-icon-logout:before{content:'\E560';}
+.t-icon-look-around-filled:before{content:'\E561';}
+.t-icon-look-around:before{content:'\E562';}
+.t-icon-loudspeaker-filled:before{content:'\E563';}
+.t-icon-loudspeaker:before{content:'\E564';}
+.t-icon-mail-filled:before{content:'\E565';}
+.t-icon-mail:before{content:'\E566';}
+.t-icon-map-3d-filled:before{content:'\E567';}
+.t-icon-map-3d:before{content:'\E568';}
+.t-icon-map-add-filled:before{content:'\E569';}
+.t-icon-map-add:before{content:'\E56A';}
+.t-icon-map-aiming-filled:before{content:'\E56B';}
+.t-icon-map-aiming:before{content:'\E56C';}
+.t-icon-map-blocked-filled:before{content:'\E56D';}
+.t-icon-map-blocked:before{content:'\E56E';}
+.t-icon-map-bubble-filled:before{content:'\E56F';}
+.t-icon-map-bubble:before{content:'\E570';}
+.t-icon-map-cancel-filled:before{content:'\E571';}
+.t-icon-map-cancel:before{content:'\E572';}
+.t-icon-map-chat-filled:before{content:'\E573';}
+.t-icon-map-chat:before{content:'\E574';}
+.t-icon-map-checked-filled:before{content:'\E575';}
+.t-icon-map-checked:before{content:'\E576';}
+.t-icon-map-collection-filled:before{content:'\E577';}
+.t-icon-map-collection:before{content:'\E578';}
+.t-icon-map-connection-filled:before{content:'\E579';}
+.t-icon-map-connection:before{content:'\E57A';}
+.t-icon-map-distance-filled:before{content:'\E57B';}
+.t-icon-map-distance:before{content:'\E57C';}
+.t-icon-map-double-filled:before{content:'\E57D';}
+.t-icon-map-double:before{content:'\E57E';}
+.t-icon-map-edit-filled:before{content:'\E57F';}
+.t-icon-map-edit:before{content:'\E580';}
+.t-icon-map-filled:before{content:'\E581';}
+.t-icon-map-grid-filled:before{content:'\E582';}
+.t-icon-map-grid:before{content:'\E583';}
+.t-icon-map-information-1-filled:before{content:'\E584';}
+.t-icon-map-information-1:before{content:'\E585';}
+.t-icon-map-information-2-filled:before{content:'\E586';}
+.t-icon-map-information-2:before{content:'\E587';}
+.t-icon-map-information-filled:before{content:'\E588';}
+.t-icon-map-information:before{content:'\E589';}
+.t-icon-map-location-filled:before{content:'\E58A';}
+.t-icon-map-location:before{content:'\E58B';}
+.t-icon-map-locked-filled:before{content:'\E58C';}
+.t-icon-map-locked:before{content:'\E58D';}
+.t-icon-map-marked-filled:before{content:'\E58E';}
+.t-icon-map-marked:before{content:'\E58F';}
+.t-icon-map-navigation-filled:before{content:'\E590';}
+.t-icon-map-navigation:before{content:'\E591';}
+.t-icon-map-outline-filled:before{content:'\E592';}
+.t-icon-map-outline:before{content:'\E593';}
+.t-icon-map-route-planning-filled:before{content:'\E594';}
+.t-icon-map-route-planning:before{content:'\E595';}
+.t-icon-map-ruler-filled:before{content:'\E596';}
+.t-icon-map-ruler:before{content:'\E597';}
+.t-icon-map-safety-filled:before{content:'\E598';}
+.t-icon-map-safety:before{content:'\E599';}
+.t-icon-map-search-1-filled:before{content:'\E59A';}
+.t-icon-map-search-1:before{content:'\E59B';}
+.t-icon-map-search-filled:before{content:'\E59C';}
+.t-icon-map-search:before{content:'\E59D';}
+.t-icon-map-setting-filled:before{content:'\E59E';}
+.t-icon-map-setting:before{content:'\E59F';}
+.t-icon-map-unlocked-filled:before{content:'\E5A0';}
+.t-icon-map-unlocked:before{content:'\E5A1';}
+.t-icon-map:before{content:'\E5A2';}
+.t-icon-mark-as-unread-filled:before{content:'\E5A3';}
+.t-icon-mark-as-unread:before{content:'\E5A4';}
+.t-icon-markup-filled:before{content:'\E5A5';}
+.t-icon-markup:before{content:'\E5A6';}
+.t-icon-mathematics-filled:before{content:'\E5A7';}
+.t-icon-mathematics:before{content:'\E5A8';}
+.t-icon-measurement-1-filled:before{content:'\E5A9';}
+.t-icon-measurement-1:before{content:'\E5AA';}
+.t-icon-measurement-2-filled:before{content:'\E5AB';}
+.t-icon-measurement-2:before{content:'\E5AC';}
+.t-icon-measurement-filled:before{content:'\E5AD';}
+.t-icon-measurement:before{content:'\E5AE';}
+.t-icon-meat-pepper-filled:before{content:'\E5AF';}
+.t-icon-meat-pepper:before{content:'\E5B0';}
+.t-icon-media-library-filled:before{content:'\E5B1';}
+.t-icon-media-library:before{content:'\E5B2';}
+.t-icon-member-filled:before{content:'\E5B3';}
+.t-icon-member:before{content:'\E5B4';}
+.t-icon-mentioned-filled:before{content:'\E5B5';}
+.t-icon-mentioned:before{content:'\E5B6';}
+.t-icon-menu-application:before{content:'\E5B7';}
+.t-icon-menu-filled:before{content:'\E5B8';}
+.t-icon-menu-fold:before{content:'\E5B9';}
+.t-icon-menu-unfold:before{content:'\E5BA';}
+.t-icon-menu:before{content:'\E5BB';}
+.t-icon-merge-cells-filled:before{content:'\E5BC';}
+.t-icon-merge-cells:before{content:'\E5BD';}
+.t-icon-mermaid-filled:before{content:'\E5BE';}
+.t-icon-mermaid:before{content:'\E5BF';}
+.t-icon-microphone-1-filled:before{content:'\E5C0';}
+.t-icon-microphone-1:before{content:'\E5C1';}
+.t-icon-microphone-2-filled:before{content:'\E5C2';}
+.t-icon-microphone-2:before{content:'\E5C3';}
+.t-icon-microphone-filled:before{content:'\E5C4';}
+.t-icon-microphone:before{content:'\E5C5';}
+.t-icon-milk-filled:before{content:'\E5C6';}
+.t-icon-milk:before{content:'\E5C7';}
+.t-icon-mind-map-filled:before{content:'\E5C8';}
+.t-icon-mind-map:before{content:'\E5C9';}
+.t-icon-minus-circle-filled:before{content:'\E5CA';}
+.t-icon-minus-circle:before{content:'\E5CB';}
+.t-icon-minus-rectangle-filled:before{content:'\E5CC';}
+.t-icon-minus-rectangle:before{content:'\E5CD';}
+.t-icon-minus:before{content:'\E5CE';}
+.t-icon-mirror-filled:before{content:'\E5CF';}
+.t-icon-mirror:before{content:'\E5D0';}
+.t-icon-mobile-blocked-filled:before{content:'\E5D1';}
+.t-icon-mobile-blocked:before{content:'\E5D2';}
+.t-icon-mobile-filled:before{content:'\E5D3';}
+.t-icon-mobile-list-filled:before{content:'\E5D4';}
+.t-icon-mobile-list:before{content:'\E5D5';}
+.t-icon-mobile-navigation-filled:before{content:'\E5D6';}
+.t-icon-mobile-navigation:before{content:'\E5D7';}
+.t-icon-mobile-shortcut-filled:before{content:'\E5D8';}
+.t-icon-mobile-shortcut:before{content:'\E5D9';}
+.t-icon-mobile-vibrate-filled:before{content:'\E5DA';}
+.t-icon-mobile-vibrate:before{content:'\E5DB';}
+.t-icon-mobile:before{content:'\E5DC';}
+.t-icon-mode-dark-filled:before{content:'\E5DD';}
+.t-icon-mode-dark:before{content:'\E5DE';}
+.t-icon-mode-embedding-filled:before{content:'\E5DF';}
+.t-icon-mode-embedding:before{content:'\E5E0';}
+.t-icon-mode-light-filled:before{content:'\E5E1';}
+.t-icon-mode-light:before{content:'\E5E2';}
+.t-icon-mode-preview-filled:before{content:'\E5E3';}
+.t-icon-mode-preview:before{content:'\E5E4';}
+.t-icon-mode-text-filled:before{content:'\E5E5';}
+.t-icon-mode-text:before{content:'\E5E6';}
+.t-icon-module-filled:before{content:'\E5E7';}
+.t-icon-module:before{content:'\E5E8';}
+.t-icon-money-filled:before{content:'\E5E9';}
+.t-icon-money:before{content:'\E5EA';}
+.t-icon-monument-filled:before{content:'\E5EB';}
+.t-icon-monument:before{content:'\E5EC';}
+.t-icon-moon-fall-filled:before{content:'\E5ED';}
+.t-icon-moon-fall:before{content:'\E5EE';}
+.t-icon-moon-filled:before{content:'\E5EF';}
+.t-icon-moon-rising-filled:before{content:'\E5F0';}
+.t-icon-moon-rising:before{content:'\E5F1';}
+.t-icon-moon:before{content:'\E5F2';}
+.t-icon-more:before{content:'\E5F3';}
+.t-icon-mosaic-filled:before{content:'\E5F4';}
+.t-icon-mosaic:before{content:'\E5F5';}
+.t-icon-mosque-1-filled:before{content:'\E5F6';}
+.t-icon-mosque-1:before{content:'\E5F7';}
+.t-icon-mosque-filled:before{content:'\E5F8';}
+.t-icon-mosque:before{content:'\E5F9';}
+.t-icon-mouse-filled:before{content:'\E5FA';}
+.t-icon-mouse:before{content:'\E5FB';}
+.t-icon-move-1:before{content:'\E5FC';}
+.t-icon-move:before{content:'\E5FD';}
+.t-icon-movie-clapper-filled:before{content:'\E5FE';}
+.t-icon-movie-clapper:before{content:'\E5FF';}
+.t-icon-multiply:before{content:'\E600';}
+.t-icon-museum-1-filled:before{content:'\E601';}
+.t-icon-museum-1:before{content:'\E602';}
+.t-icon-museum-2-filled:before{content:'\E603';}
+.t-icon-museum-2:before{content:'\E604';}
+.t-icon-museum-filled:before{content:'\E605';}
+.t-icon-museum:before{content:'\E606';}
+.t-icon-mushroom-1-filled:before{content:'\E607';}
+.t-icon-mushroom-1:before{content:'\E608';}
+.t-icon-mushroom-filled:before{content:'\E609';}
+.t-icon-mushroom:before{content:'\E60A';}
+.t-icon-music-1-filled:before{content:'\E60B';}
+.t-icon-music-1:before{content:'\E60C';}
+.t-icon-music-2-filled:before{content:'\E60D';}
+.t-icon-music-2:before{content:'\E60E';}
+.t-icon-music-filled:before{content:'\E60F';}
+.t-icon-music-rectangle-add-filled:before{content:'\E610';}
+.t-icon-music-rectangle-add:before{content:'\E611';}
+.t-icon-music:before{content:'\E612';}
+.t-icon-navigation-arrow-filled:before{content:'\E613';}
+.t-icon-navigation-arrow:before{content:'\E614';}
+.t-icon-next-filled:before{content:'\E615';}
+.t-icon-next:before{content:'\E616';}
+.t-icon-no-expression-filled:before{content:'\E617';}
+.t-icon-no-expression:before{content:'\E618';}
+.t-icon-no-result-filled:before{content:'\E619';}
+.t-icon-no-result:before{content:'\E61A';}
+.t-icon-noodle-filled:before{content:'\E61B';}
+.t-icon-noodle:before{content:'\E61C';}
+.t-icon-notification-add-filled:before{content:'\E61D';}
+.t-icon-notification-add:before{content:'\E61E';}
+.t-icon-notification-circle-filled:before{content:'\E61F';}
+.t-icon-notification-circle:before{content:'\E620';}
+.t-icon-notification-error-filled:before{content:'\E621';}
+.t-icon-notification-error:before{content:'\E622';}
+.t-icon-notification-filled:before{content:'\E623';}
+.t-icon-notification:before{content:'\E624';}
+.t-icon-numbers-0-1:before{content:'\E625';}
+.t-icon-numbers-0:before{content:'\E626';}
+.t-icon-numbers-1-1:before{content:'\E627';}
+.t-icon-numbers-1:before{content:'\E628';}
+.t-icon-numbers-2-1:before{content:'\E629';}
+.t-icon-numbers-2:before{content:'\E62A';}
+.t-icon-numbers-3-1:before{content:'\E62B';}
+.t-icon-numbers-3:before{content:'\E62C';}
+.t-icon-numbers-4-1:before{content:'\E62D';}
+.t-icon-numbers-4:before{content:'\E62E';}
+.t-icon-numbers-5-1:before{content:'\E62F';}
+.t-icon-numbers-5:before{content:'\E630';}
+.t-icon-numbers-6-1:before{content:'\E631';}
+.t-icon-numbers-6:before{content:'\E632';}
+.t-icon-numbers-7-1:before{content:'\E633';}
+.t-icon-numbers-7:before{content:'\E634';}
+.t-icon-numbers-8-1:before{content:'\E635';}
+.t-icon-numbers-8:before{content:'\E636';}
+.t-icon-numbers-9-1:before{content:'\E637';}
+.t-icon-numbers-9:before{content:'\E638';}
+.t-icon-numbers-circle-1-filled:before{content:'\E639';}
+.t-icon-numbers-circle-1:before{content:'\E63A';}
+.t-icon-numbers-circle-2-filled:before{content:'\E63B';}
+.t-icon-numbers-circle-2:before{content:'\E63C';}
+.t-icon-numbers-circle-3-filled:before{content:'\E63D';}
+.t-icon-numbers-circle-3:before{content:'\E63E';}
+.t-icon-numbers-circle-4-filled:before{content:'\E63F';}
+.t-icon-numbers-circle-4:before{content:'\E640';}
+.t-icon-nut-filled:before{content:'\E641';}
+.t-icon-nut:before{content:'\E642';}
+.t-icon-object-storage:before{content:'\E643';}
+.t-icon-open-mouth-filled:before{content:'\E644';}
+.t-icon-open-mouth:before{content:'\E645';}
+.t-icon-opera-filled:before{content:'\E646';}
+.t-icon-opera:before{content:'\E647';}
+.t-icon-order-adjustment-column:before{content:'\E648';}
+.t-icon-order-ascending:before{content:'\E649';}
+.t-icon-order-descending:before{content:'\E64A';}
+.t-icon-order-list:before{content:'\E64B';}
+.t-icon-order:before{content:'\E64C';}
+.t-icon-outbox-filled:before{content:'\E64D';}
+.t-icon-outbox:before{content:'\E64E';}
+.t-icon-page-first:before{content:'\E64F';}
+.t-icon-page-head-filled:before{content:'\E650';}
+.t-icon-page-head:before{content:'\E651';}
+.t-icon-page-included-filled:before{content:'\E652';}
+.t-icon-page-included:before{content:'\E653';}
+.t-icon-page-last:before{content:'\E654';}
+.t-icon-page-tab-filled:before{content:'\E655';}
+.t-icon-page-tab:before{content:'\E656';}
+.t-icon-palace-1-filled:before{content:'\E657';}
+.t-icon-palace-1:before{content:'\E658';}
+.t-icon-palace-2-filled:before{content:'\E659';}
+.t-icon-palace-2:before{content:'\E65A';}
+.t-icon-palace-3-filled:before{content:'\E65B';}
+.t-icon-palace-3:before{content:'\E65C';}
+.t-icon-palace-4-filled:before{content:'\E65D';}
+.t-icon-palace-4:before{content:'\E65E';}
+.t-icon-palace-filled:before{content:'\E65F';}
+.t-icon-palace:before{content:'\E660';}
+.t-icon-palette-1-filled:before{content:'\E661';}
+.t-icon-palette-1:before{content:'\E662';}
+.t-icon-palette-filled:before{content:'\E663';}
+.t-icon-palette:before{content:'\E664';}
+.t-icon-panorama-horizontal-filled:before{content:'\E665';}
+.t-icon-panorama-horizontal:before{content:'\E666';}
+.t-icon-panorama-vertical-filled:before{content:'\E667';}
+.t-icon-panorama-vertical:before{content:'\E668';}
+.t-icon-pantone-filled:before{content:'\E669';}
+.t-icon-pantone:before{content:'\E66A';}
+.t-icon-parabola:before{content:'\E66B';}
+.t-icon-parentheses:before{content:'\E66C';}
+.t-icon-paste-filled:before{content:'\E66D';}
+.t-icon-paste:before{content:'\E66E';}
+.t-icon-patio-filled:before{content:'\E66F';}
+.t-icon-patio:before{content:'\E670';}
+.t-icon-pause-circle-filled:before{content:'\E671';}
+.t-icon-pause-circle-stroke-filled:before{content:'\E672';}
+.t-icon-pause-circle-stroke:before{content:'\E673';}
+.t-icon-pause-circle:before{content:'\E674';}
+.t-icon-pause:before{content:'\E675';}
+.t-icon-pea-filled:before{content:'\E676';}
+.t-icon-pea:before{content:'\E677';}
+.t-icon-peach-filled:before{content:'\E678';}
+.t-icon-peach:before{content:'\E679';}
+.t-icon-pear-filled:before{content:'\E67A';}
+.t-icon-pear:before{content:'\E67B';}
+.t-icon-pearl-of-the-orient-filled:before{content:'\E67C';}
+.t-icon-pearl-of-the-orient:before{content:'\E67D';}
+.t-icon-pen-ball-filled:before{content:'\E67E';}
+.t-icon-pen-ball:before{content:'\E67F';}
+.t-icon-pen-brush-filled:before{content:'\E680';}
+.t-icon-pen-brush:before{content:'\E681';}
+.t-icon-pen-filled:before{content:'\E682';}
+.t-icon-pen-fluorescence-filled:before{content:'\E683';}
+.t-icon-pen-fluorescence:before{content:'\E684';}
+.t-icon-pen-mark-filled:before{content:'\E685';}
+.t-icon-pen-mark:before{content:'\E686';}
+.t-icon-pen-quill-filled:before{content:'\E687';}
+.t-icon-pen-quill:before{content:'\E688';}
+.t-icon-pen:before{content:'\E689';}
+.t-icon-pending-filled:before{content:'\E68A';}
+.t-icon-pending:before{content:'\E68B';}
+.t-icon-percent:before{content:'\E68C';}
+.t-icon-personal-information-filled:before{content:'\E68D';}
+.t-icon-personal-information:before{content:'\E68E';}
+.t-icon-phone-locked-filled:before{content:'\E68F';}
+.t-icon-phone-locked:before{content:'\E690';}
+.t-icon-phone-search-filled:before{content:'\E691';}
+.t-icon-phone-search:before{content:'\E692';}
+.t-icon-pi:before{content:'\E693';}
+.t-icon-piano-filled:before{content:'\E694';}
+.t-icon-piano:before{content:'\E695';}
+.t-icon-pin-filled:before{content:'\E696';}
+.t-icon-pin:before{content:'\E697';}
+.t-icon-placeholder-filled:before{content:'\E698';}
+.t-icon-placeholder:before{content:'\E699';}
+.t-icon-plantuml-filled:before{content:'\E69A';}
+.t-icon-plantuml:before{content:'\E69B';}
+.t-icon-play-chart-filled:before{content:'\E69C';}
+.t-icon-play-chart:before{content:'\E69D';}
+.t-icon-play-circle-filled:before{content:'\E69E';}
+.t-icon-play-circle-stroke-add-filled:before{content:'\E69F';}
+.t-icon-play-circle-stroke-add:before{content:'\E6A0';}
+.t-icon-play-circle-stroke-filled:before{content:'\E6A1';}
+.t-icon-play-circle-stroke:before{content:'\E6A2';}
+.t-icon-play-circle:before{content:'\E6A3';}
+.t-icon-play-demo-filled:before{content:'\E6A4';}
+.t-icon-play-demo:before{content:'\E6A5';}
+.t-icon-play-rectangle-filled:before{content:'\E6A6';}
+.t-icon-play-rectangle:before{content:'\E6A7';}
+.t-icon-play:before{content:'\E6A8';}
+.t-icon-plus:before{content:'\E6A9';}
+.t-icon-popsicle-filled:before{content:'\E6AA';}
+.t-icon-popsicle:before{content:'\E6AB';}
+.t-icon-portrait-filled:before{content:'\E6AC';}
+.t-icon-portrait:before{content:'\E6AD';}
+.t-icon-pout-filled:before{content:'\E6AE';}
+.t-icon-pout:before{content:'\E6AF';}
+.t-icon-poweroff:before{content:'\E6B0';}
+.t-icon-precise-monitor:before{content:'\E6B1';}
+.t-icon-previous-filled:before{content:'\E6B2';}
+.t-icon-previous:before{content:'\E6B3';}
+.t-icon-print-filled:before{content:'\E6B4';}
+.t-icon-print:before{content:'\E6B5';}
+.t-icon-pumpkin-filled:before{content:'\E6B6';}
+.t-icon-pumpkin:before{content:'\E6B7';}
+.t-icon-pyramid-filled:before{content:'\E6B8';}
+.t-icon-pyramid-maya-filled:before{content:'\E6B9';}
+.t-icon-pyramid-maya:before{content:'\E6BA';}
+.t-icon-pyramid:before{content:'\E6BB';}
+.t-icon-qrcode:before{content:'\E6BC';}
+.t-icon-quadratic:before{content:'\E6BD';}
+.t-icon-questionnaire-double-filled:before{content:'\E6BE';}
+.t-icon-questionnaire-double:before{content:'\E6BF';}
+.t-icon-questionnaire-filled:before{content:'\E6C0';}
+.t-icon-questionnaire:before{content:'\E6C1';}
+.t-icon-queue-filled:before{content:'\E6C2';}
+.t-icon-queue:before{content:'\E6C3';}
+.t-icon-quote-filled:before{content:'\E6C4';}
+.t-icon-quote:before{content:'\E6C5';}
+.t-icon-radar:before{content:'\E6C6';}
+.t-icon-radio-1-filled:before{content:'\E6C7';}
+.t-icon-radio-1:before{content:'\E6C8';}
+.t-icon-radio-2-filled:before{content:'\E6C9';}
+.t-icon-radio-2:before{content:'\E6CA';}
+.t-icon-radish-filled:before{content:'\E6CB';}
+.t-icon-radish:before{content:'\E6CC';}
+.t-icon-rain-heavy:before{content:'\E6CD';}
+.t-icon-rain-light-filled:before{content:'\E6CE';}
+.t-icon-rain-light:before{content:'\E6CF';}
+.t-icon-rain-medium:before{content:'\E6D0';}
+.t-icon-rainbow:before{content:'\E6D1';}
+.t-icon-rectangle-filled:before{content:'\E6D2';}
+.t-icon-rectangle:before{content:'\E6D3';}
+.t-icon-refresh:before{content:'\E6D4';}
+.t-icon-relation:before{content:'\E6D5';}
+.t-icon-relativity-filled:before{content:'\E6D6';}
+.t-icon-relativity:before{content:'\E6D7';}
+.t-icon-remote-wave-filled:before{content:'\E6D8';}
+.t-icon-remote-wave:before{content:'\E6D9';}
+.t-icon-remove:before{content:'\E6DA';}
+.t-icon-rename-filled:before{content:'\E6DB';}
+.t-icon-rename:before{content:'\E6DC';}
+.t-icon-replay-filled:before{content:'\E6DD';}
+.t-icon-replay:before{content:'\E6DE';}
+.t-icon-rice-ball-filled:before{content:'\E6DF';}
+.t-icon-rice-ball:before{content:'\E6E0';}
+.t-icon-rice-filled:before{content:'\E6E1';}
+.t-icon-rice:before{content:'\E6E2';}
+.t-icon-roast-filled:before{content:'\E6E3';}
+.t-icon-roast:before{content:'\E6E4';}
+.t-icon-robot-1-filled:before{content:'\E6E5';}
+.t-icon-robot-1:before{content:'\E6E6';}
+.t-icon-robot-2-filled:before{content:'\E6E7';}
+.t-icon-robot-2:before{content:'\E6E8';}
+.t-icon-robot-filled:before{content:'\E6E9';}
+.t-icon-robot:before{content:'\E6EA';}
+.t-icon-rocket-filled:before{content:'\E6EB';}
+.t-icon-rocket:before{content:'\E6EC';}
+.t-icon-rollback:before{content:'\E6ED';}
+.t-icon-rollfront:before{content:'\E6EE';}
+.t-icon-root-list-filled:before{content:'\E6EF';}
+.t-icon-root-list:before{content:'\E6F0';}
+.t-icon-rotate-locked-filled:before{content:'\E6F1';}
+.t-icon-rotate-locked:before{content:'\E6F2';}
+.t-icon-rotate:before{content:'\E6F3';}
+.t-icon-rotation:before{content:'\E6F4';}
+.t-icon-round-filled:before{content:'\E6F5';}
+.t-icon-round:before{content:'\E6F6';}
+.t-icon-router-wave-filled:before{content:'\E6F7';}
+.t-icon-router-wave:before{content:'\E6F8';}
+.t-icon-rss:before{content:'\E6F9';}
+.t-icon-ruler-filled:before{content:'\E6FA';}
+.t-icon-ruler:before{content:'\E6FB';}
+.t-icon-sailing-hotel-filled:before{content:'\E6FC';}
+.t-icon-sailing-hotel:before{content:'\E6FD';}
+.t-icon-sandwich-filled:before{content:'\E6FE';}
+.t-icon-sandwich:before{content:'\E6FF';}
+.t-icon-saturation-filled:before{content:'\E700';}
+.t-icon-saturation:before{content:'\E701';}
+.t-icon-sausage-filled:before{content:'\E702';}
+.t-icon-sausage:before{content:'\E703';}
+.t-icon-save-filled:before{content:'\E704';}
+.t-icon-save:before{content:'\E705';}
+.t-icon-saving-pot-filled:before{content:'\E706';}
+.t-icon-saving-pot:before{content:'\E707';}
+.t-icon-scan:before{content:'\E708';}
+.t-icon-screen-4k-filled:before{content:'\E709';}
+.t-icon-screen-4k:before{content:'\E70A';}
+.t-icon-screen-mirroring-filled:before{content:'\E70B';}
+.t-icon-screen-mirroring:before{content:'\E70C';}
+.t-icon-screencast-filled:before{content:'\E70D';}
+.t-icon-screencast:before{content:'\E70E';}
+.t-icon-screenshot:before{content:'\E70F';}
+.t-icon-scroll-bar-filled:before{content:'\E710';}
+.t-icon-scroll-bar:before{content:'\E711';}
+.t-icon-sd-card-1-filled:before{content:'\E712';}
+.t-icon-sd-card-1:before{content:'\E713';}
+.t-icon-sd-card-filled:before{content:'\E714';}
+.t-icon-sd-card:before{content:'\E715';}
+.t-icon-seal-filled:before{content:'\E716';}
+.t-icon-seal:before{content:'\E717';}
+.t-icon-search-error-filled:before{content:'\E718';}
+.t-icon-search-error:before{content:'\E719';}
+.t-icon-search-filled:before{content:'\E71A';}
+.t-icon-search:before{content:'\E71B';}
+.t-icon-secured-filled:before{content:'\E71C';}
+.t-icon-secured:before{content:'\E71D';}
+.t-icon-send-cancel-filled:before{content:'\E71E';}
+.t-icon-send-cancel:before{content:'\E71F';}
+.t-icon-send-filled:before{content:'\E720';}
+.t-icon-send:before{content:'\E721';}
+.t-icon-sensors-1:before{content:'\E722';}
+.t-icon-sensors-2:before{content:'\E723';}
+.t-icon-sensors-off:before{content:'\E724';}
+.t-icon-sensors:before{content:'\E725';}
+.t-icon-sequence-filled:before{content:'\E726';}
+.t-icon-sequence:before{content:'\E727';}
+.t-icon-serenity-filled:before{content:'\E728';}
+.t-icon-serenity:before{content:'\E729';}
+.t-icon-server-filled:before{content:'\E72A';}
+.t-icon-server:before{content:'\E72B';}
+.t-icon-service-filled:before{content:'\E72C';}
+.t-icon-service:before{content:'\E72D';}
+.t-icon-setting-1-filled:before{content:'\E72E';}
+.t-icon-setting-1:before{content:'\E72F';}
+.t-icon-setting-filled:before{content:'\E730';}
+.t-icon-setting:before{content:'\E731';}
+.t-icon-share-1-filled:before{content:'\E732';}
+.t-icon-share-1:before{content:'\E733';}
+.t-icon-share-filled:before{content:'\E734';}
+.t-icon-share:before{content:'\E735';}
+.t-icon-sharpness-filled:before{content:'\E736';}
+.t-icon-sharpness:before{content:'\E737';}
+.t-icon-shield-error-filled:before{content:'\E738';}
+.t-icon-shield-error:before{content:'\E739';}
+.t-icon-shimen-filled:before{content:'\E73A';}
+.t-icon-shimen:before{content:'\E73B';}
+.t-icon-shop-1-filled:before{content:'\E73C';}
+.t-icon-shop-1:before{content:'\E73D';}
+.t-icon-shop-2-filled:before{content:'\E73E';}
+.t-icon-shop-2:before{content:'\E73F';}
+.t-icon-shop-3-filled:before{content:'\E740';}
+.t-icon-shop-3:before{content:'\E741';}
+.t-icon-shop-4-filled:before{content:'\E742';}
+.t-icon-shop-4:before{content:'\E743';}
+.t-icon-shop-5-filled:before{content:'\E744';}
+.t-icon-shop-5:before{content:'\E745';}
+.t-icon-shop-filled:before{content:'\E746';}
+.t-icon-shop:before{content:'\E747';}
+.t-icon-shortcut:before{content:'\E748';}
+.t-icon-shrimp-filled:before{content:'\E749';}
+.t-icon-shrimp:before{content:'\E74A';}
+.t-icon-shrink-horizontal:before{content:'\E74B';}
+.t-icon-shrink-vertical:before{content:'\E74C';}
+.t-icon-shutter-filled:before{content:'\E74D';}
+.t-icon-shutter:before{content:'\E74E';}
+.t-icon-shutup-filled:before{content:'\E74F';}
+.t-icon-shutup:before{content:'\E750';}
+.t-icon-sim-card-1-filled:before{content:'\E751';}
+.t-icon-sim-card-1:before{content:'\E752';}
+.t-icon-sim-card-2-filled:before{content:'\E753';}
+.t-icon-sim-card-2:before{content:'\E754';}
+.t-icon-sim-card-filled:before{content:'\E755';}
+.t-icon-sim-card:before{content:'\E756';}
+.t-icon-sinister-smile-filled:before{content:'\E757';}
+.t-icon-sinister-smile:before{content:'\E758';}
+.t-icon-sip-filled:before{content:'\E759';}
+.t-icon-sip:before{content:'\E75A';}
+.t-icon-sitemap-filled:before{content:'\E75B';}
+.t-icon-sitemap:before{content:'\E75C';}
+.t-icon-size-change:before{content:'\E75D';}
+.t-icon-slash:before{content:'\E75E';}
+.t-icon-sleep-filled:before{content:'\E75F';}
+.t-icon-sleep:before{content:'\E760';}
+.t-icon-slice-filled:before{content:'\E761';}
+.t-icon-slice:before{content:'\E762';}
+.t-icon-slideshow-filled:before{content:'\E763';}
+.t-icon-slideshow:before{content:'\E764';}
+.t-icon-smile-filled:before{content:'\E765';}
+.t-icon-smile:before{content:'\E766';}
+.t-icon-sneer-filled:before{content:'\E767';}
+.t-icon-sneer:before{content:'\E768';}
+.t-icon-snowflake:before{content:'\E769';}
+.t-icon-sonic:before{content:'\E76A';}
+.t-icon-sound-down-filled:before{content:'\E76B';}
+.t-icon-sound-down:before{content:'\E76C';}
+.t-icon-sound-filled:before{content:'\E76D';}
+.t-icon-sound-high-filled:before{content:'\E76E';}
+.t-icon-sound-high:before{content:'\E76F';}
+.t-icon-sound-low-filled:before{content:'\E770';}
+.t-icon-sound-low:before{content:'\E771';}
+.t-icon-sound-mute-1-filled:before{content:'\E772';}
+.t-icon-sound-mute-1:before{content:'\E773';}
+.t-icon-sound-mute-filled:before{content:'\E774';}
+.t-icon-sound-mute:before{content:'\E775';}
+.t-icon-sound-up-filled:before{content:'\E776';}
+.t-icon-sound-up:before{content:'\E777';}
+.t-icon-sound:before{content:'\E778';}
+.t-icon-space:before{content:'\E779';}
+.t-icon-speechless-1-filled:before{content:'\E77A';}
+.t-icon-speechless-1:before{content:'\E77B';}
+.t-icon-speechless-filled:before{content:'\E77C';}
+.t-icon-speechless:before{content:'\E77D';}
+.t-icon-star-filled:before{content:'\E77E';}
+.t-icon-star:before{content:'\E77F';}
+.t-icon-statue-of-jesus-filled:before{content:'\E780';}
+.t-icon-statue-of-jesus:before{content:'\E781';}
+.t-icon-sticky-note-filled:before{content:'\E782';}
+.t-icon-sticky-note:before{content:'\E783';}
+.t-icon-stop-circle-filled:before{content:'\E784';}
+.t-icon-stop-circle-stroke-filled:before{content:'\E785';}
+.t-icon-stop-circle-stroke:before{content:'\E786';}
+.t-icon-stop-circle:before{content:'\E787';}
+.t-icon-stop:before{content:'\E788';}
+.t-icon-store-filled:before{content:'\E789';}
+.t-icon-store:before{content:'\E78A';}
+.t-icon-street-road-1-filled:before{content:'\E78B';}
+.t-icon-street-road-1:before{content:'\E78C';}
+.t-icon-street-road-filled:before{content:'\E78D';}
+.t-icon-street-road:before{content:'\E78E';}
+.t-icon-subscript:before{content:'\E78F';}
+.t-icon-subtitle-filled:before{content:'\E790';}
+.t-icon-subtitle:before{content:'\E791';}
+.t-icon-subway-line-filled:before{content:'\E792';}
+.t-icon-subway-line:before{content:'\E793';}
+.t-icon-sum:before{content:'\E794';}
+.t-icon-summary:before{content:'\E795';}
+.t-icon-sun-fall-filled:before{content:'\E796';}
+.t-icon-sun-fall:before{content:'\E797';}
+.t-icon-sun-rising-filled:before{content:'\E798';}
+.t-icon-sun-rising:before{content:'\E799';}
+.t-icon-sunny-filled:before{content:'\E79A';}
+.t-icon-sunny:before{content:'\E79B';}
+.t-icon-superscript:before{content:'\E79C';}
+.t-icon-support-filled:before{content:'\E79D';}
+.t-icon-support:before{content:'\E79E';}
+.t-icon-surprised-1-filled:before{content:'\E79F';}
+.t-icon-surprised-1:before{content:'\E7A0';}
+.t-icon-surprised-filled:before{content:'\E7A1';}
+.t-icon-surprised:before{content:'\E7A2';}
+.t-icon-swap-left:before{content:'\E7A3';}
+.t-icon-swap-right:before{content:'\E7A4';}
+.t-icon-swap:before{content:'\E7A5';}
+.t-icon-swear-1-filled:before{content:'\E7A6';}
+.t-icon-swear-1:before{content:'\E7A7';}
+.t-icon-swear-2-filled:before{content:'\E7A8';}
+.t-icon-swear-2:before{content:'\E7A9';}
+.t-icon-system-2:before{content:'\E7AA';}
+.t-icon-system-3-filled:before{content:'\E7AB';}
+.t-icon-system-3:before{content:'\E7AC';}
+.t-icon-system-application-filled:before{content:'\E7AD';}
+.t-icon-system-application:before{content:'\E7AE';}
+.t-icon-system-blocked-filled:before{content:'\E7AF';}
+.t-icon-system-blocked:before{content:'\E7B0';}
+.t-icon-system-code-filled:before{content:'\E7B1';}
+.t-icon-system-code:before{content:'\E7B2';}
+.t-icon-system-components-filled:before{content:'\E7B3';}
+.t-icon-system-components:before{content:'\E7B4';}
+.t-icon-system-coordinate-filled:before{content:'\E7B5';}
+.t-icon-system-coordinate:before{content:'\E7B6';}
+.t-icon-system-device-filled:before{content:'\E7B7';}
+.t-icon-system-device:before{content:'\E7B8';}
+.t-icon-system-interface-filled:before{content:'\E7B9';}
+.t-icon-system-interface:before{content:'\E7BA';}
+.t-icon-system-location-filled:before{content:'\E7BB';}
+.t-icon-system-location:before{content:'\E7BC';}
+.t-icon-system-locked-filled:before{content:'\E7BD';}
+.t-icon-system-locked:before{content:'\E7BE';}
+.t-icon-system-log-filled:before{content:'\E7BF';}
+.t-icon-system-log:before{content:'\E7C0';}
+.t-icon-system-marked-filled:before{content:'\E7C1';}
+.t-icon-system-marked:before{content:'\E7C2';}
+.t-icon-system-messages-filled:before{content:'\E7C3';}
+.t-icon-system-messages:before{content:'\E7C4';}
+.t-icon-system-regulation-filled:before{content:'\E7C5';}
+.t-icon-system-regulation:before{content:'\E7C6';}
+.t-icon-system-search-filled:before{content:'\E7C7';}
+.t-icon-system-search:before{content:'\E7C8';}
+.t-icon-system-setting-filled:before{content:'\E7C9';}
+.t-icon-system-setting:before{content:'\E7CA';}
+.t-icon-system-storage-filled:before{content:'\E7CB';}
+.t-icon-system-storage:before{content:'\E7CC';}
+.t-icon-system-sum:before{content:'\E7CD';}
+.t-icon-system-unlocked-filled:before{content:'\E7CE';}
+.t-icon-system-unlocked:before{content:'\E7CF';}
+.t-icon-tab-filled:before{content:'\E7D0';}
+.t-icon-tab:before{content:'\E7D1';}
+.t-icon-table-1-filled:before{content:'\E7D2';}
+.t-icon-table-1:before{content:'\E7D3';}
+.t-icon-table-2-filled:before{content:'\E7D4';}
+.t-icon-table-2:before{content:'\E7D5';}
+.t-icon-table-add-filled:before{content:'\E7D6';}
+.t-icon-table-add:before{content:'\E7D7';}
+.t-icon-table-filled:before{content:'\E7D8';}
+.t-icon-table-split-filled:before{content:'\E7D9';}
+.t-icon-table-split:before{content:'\E7DA';}
+.t-icon-table:before{content:'\E7DB';}
+.t-icon-tag-filled:before{content:'\E7DC';}
+.t-icon-tag-state-filled:before{content:'\E7DD';}
+.t-icon-tag-state:before{content:'\E7DE';}
+.t-icon-tag:before{content:'\E7DF';}
+.t-icon-tangerinr-filled:before{content:'\E7E0';}
+.t-icon-tangerinr:before{content:'\E7E1';}
+.t-icon-tape-filled:before{content:'\E7E2';}
+.t-icon-tape:before{content:'\E7E3';}
+.t-icon-task-1-filled:before{content:'\E7E4';}
+.t-icon-task-1:before{content:'\E7E5';}
+.t-icon-task-add-1:before{content:'\E7E6';}
+.t-icon-task-add-filled:before{content:'\E7E7';}
+.t-icon-task-add:before{content:'\E7E8';}
+.t-icon-task-checked-1:before{content:'\E7E9';}
+.t-icon-task-checked-filled:before{content:'\E7EA';}
+.t-icon-task-checked:before{content:'\E7EB';}
+.t-icon-task-double-filled:before{content:'\E7EC';}
+.t-icon-task-double:before{content:'\E7ED';}
+.t-icon-task-error-filled:before{content:'\E7EE';}
+.t-icon-task-error:before{content:'\E7EF';}
+.t-icon-task-filled:before{content:'\E7F0';}
+.t-icon-task-location-filled:before{content:'\E7F1';}
+.t-icon-task-location:before{content:'\E7F2';}
+.t-icon-task-marked-filled:before{content:'\E7F3';}
+.t-icon-task-marked:before{content:'\E7F4';}
+.t-icon-task-setting-filled:before{content:'\E7F5';}
+.t-icon-task-setting:before{content:'\E7F6';}
+.t-icon-task-time-filled:before{content:'\E7F7';}
+.t-icon-task-time:before{content:'\E7F8';}
+.t-icon-task-visible-filled:before{content:'\E7F9';}
+.t-icon-task-visible:before{content:'\E7FA';}
+.t-icon-task:before{content:'\E7FB';}
+.t-icon-tea-filled:before{content:'\E7FC';}
+.t-icon-tea:before{content:'\E7FD';}
+.t-icon-teahouse-filled:before{content:'\E7FE';}
+.t-icon-teahouse:before{content:'\E7FF';}
+.t-icon-template-filled:before{content:'\E800';}
+.t-icon-template:before{content:'\E801';}
+.t-icon-temple-filled:before{content:'\E802';}
+.t-icon-temple:before{content:'\E803';}
+.t-icon-terminal-rectangle-1-filled:before{content:'\E804';}
+.t-icon-terminal-rectangle-1:before{content:'\E805';}
+.t-icon-terminal-rectangle-filled:before{content:'\E806';}
+.t-icon-terminal-rectangle:before{content:'\E807';}
+.t-icon-terminal-window-filled:before{content:'\E808';}
+.t-icon-terminal-window:before{content:'\E809';}
+.t-icon-terminal:before{content:'\E80A';}
+.t-icon-text-drawing-filled:before{content:'\E80B';}
+.t-icon-text-drawing:before{content:'\E80C';}
+.t-icon-text-style:before{content:'\E80D';}
+.t-icon-text:before{content:'\E80E';}
+.t-icon-textbox-filled:before{content:'\E80F';}
+.t-icon-textbox:before{content:'\E810';}
+.t-icon-textformat-bold:before{content:'\E811';}
+.t-icon-textformat-color:before{content:'\E812';}
+.t-icon-textformat-italic:before{content:'\E813';}
+.t-icon-textformat-longer:before{content:'\E814';}
+.t-icon-textformat-shorter:before{content:'\E815';}
+.t-icon-textformat-strikethrough:before{content:'\E816';}
+.t-icon-textformat-underline:before{content:'\E817';}
+.t-icon-textformat-wrap:before{content:'\E818';}
+.t-icon-theaters-filled:before{content:'\E819';}
+.t-icon-theaters:before{content:'\E81A';}
+.t-icon-thumb-down-1-filled:before{content:'\E81B';}
+.t-icon-thumb-down-1:before{content:'\E81C';}
+.t-icon-thumb-down-2-filled:before{content:'\E81D';}
+.t-icon-thumb-down-2:before{content:'\E81E';}
+.t-icon-thumb-down-filled:before{content:'\E81F';}
+.t-icon-thumb-down:before{content:'\E820';}
+.t-icon-thumb-up-1-filled:before{content:'\E821';}
+.t-icon-thumb-up-1:before{content:'\E822';}
+.t-icon-thumb-up-2-filled:before{content:'\E823';}
+.t-icon-thumb-up-2:before{content:'\E824';}
+.t-icon-thumb-up-filled:before{content:'\E825';}
+.t-icon-thumb-up:before{content:'\E826';}
+.t-icon-thunder:before{content:'\E827';}
+.t-icon-thunderstorm-night-filled:before{content:'\E828';}
+.t-icon-thunderstorm-night:before{content:'\E829';}
+.t-icon-thunderstorm-sunny-filled:before{content:'\E82A';}
+.t-icon-thunderstorm-sunny:before{content:'\E82B';}
+.t-icon-thunderstorm:before{content:'\E82C';}
+.t-icon-ticket-filled:before{content:'\E82D';}
+.t-icon-ticket:before{content:'\E82E';}
+.t-icon-time-filled:before{content:'\E82F';}
+.t-icon-time:before{content:'\E830';}
+.t-icon-tips-double-filled:before{content:'\E831';}
+.t-icon-tips-double:before{content:'\E832';}
+.t-icon-tips-filled:before{content:'\E833';}
+.t-icon-tips:before{content:'\E834';}
+.t-icon-tomato-filled:before{content:'\E835';}
+.t-icon-tomato:before{content:'\E836';}
+.t-icon-tools-circle-filled:before{content:'\E837';}
+.t-icon-tools-circle:before{content:'\E838';}
+.t-icon-tools-filled:before{content:'\E839';}
+.t-icon-tools:before{content:'\E83A';}
+.t-icon-tornado:before{content:'\E83B';}
+.t-icon-tower-1-filled:before{content:'\E83C';}
+.t-icon-tower-1:before{content:'\E83D';}
+.t-icon-tower-2-filled:before{content:'\E83E';}
+.t-icon-tower-2:before{content:'\E83F';}
+.t-icon-tower-3-filled:before{content:'\E840';}
+.t-icon-tower-3:before{content:'\E841';}
+.t-icon-tower-clock-filled:before{content:'\E842';}
+.t-icon-tower-clock:before{content:'\E843';}
+.t-icon-tower-filled:before{content:'\E844';}
+.t-icon-tower:before{content:'\E845';}
+.t-icon-town-filled:before{content:'\E846';}
+.t-icon-town:before{content:'\E847';}
+.t-icon-traffic-events-filled:before{content:'\E848';}
+.t-icon-traffic-events:before{content:'\E849';}
+.t-icon-traffic-filled:before{content:'\E84A';}
+.t-icon-traffic:before{content:'\E84B';}
+.t-icon-transform-1-filled:before{content:'\E84C';}
+.t-icon-transform-1:before{content:'\E84D';}
+.t-icon-transform-2:before{content:'\E84E';}
+.t-icon-transform-3:before{content:'\E84F';}
+.t-icon-transform-filled:before{content:'\E850';}
+.t-icon-transform:before{content:'\E851';}
+.t-icon-translate-1:before{content:'\E852';}
+.t-icon-translate:before{content:'\E853';}
+.t-icon-tree-catalog-filled:before{content:'\E854';}
+.t-icon-tree-catalog:before{content:'\E855';}
+.t-icon-tree-list:before{content:'\E856';}
+.t-icon-tree-round-dot-filled:before{content:'\E857';}
+.t-icon-tree-round-dot-vertical-filled:before{content:'\E858';}
+.t-icon-tree-round-dot-vertical:before{content:'\E859';}
+.t-icon-tree-round-dot:before{content:'\E85A';}
+.t-icon-tree-square-dot-filled:before{content:'\E85B';}
+.t-icon-tree-square-dot-vertical-filled:before{content:'\E85C';}
+.t-icon-tree-square-dot-vertical:before{content:'\E85D';}
+.t-icon-tree-square-dot:before{content:'\E85E';}
+.t-icon-trending-down:before{content:'\E85F';}
+.t-icon-trending-up:before{content:'\E860';}
+.t-icon-tv-1-filled:before{content:'\E861';}
+.t-icon-tv-1:before{content:'\E862';}
+.t-icon-tv-2-filled:before{content:'\E863';}
+.t-icon-tv-2:before{content:'\E864';}
+.t-icon-tv-filled:before{content:'\E865';}
+.t-icon-tv:before{content:'\E866';}
+.t-icon-typography-filled:before{content:'\E867';}
+.t-icon-typography:before{content:'\E868';}
+.t-icon-uncomfortable-1-filled:before{content:'\E869';}
+.t-icon-uncomfortable-1:before{content:'\E86A';}
+.t-icon-uncomfortable-2-filled:before{content:'\E86B';}
+.t-icon-uncomfortable-2:before{content:'\E86C';}
+.t-icon-uncomfortable-filled:before{content:'\E86D';}
+.t-icon-uncomfortable:before{content:'\E86E';}
+.t-icon-undertake-delivery-filled:before{content:'\E86F';}
+.t-icon-undertake-delivery:before{content:'\E870';}
+.t-icon-undertake-environment-protection-filled:before{content:'\E871';}
+.t-icon-undertake-environment-protection:before{content:'\E872';}
+.t-icon-undertake-filled:before{content:'\E873';}
+.t-icon-undertake-hold-up-filled:before{content:'\E874';}
+.t-icon-undertake-hold-up:before{content:'\E875';}
+.t-icon-undertake-transaction-filled:before{content:'\E876';}
+.t-icon-undertake-transaction:before{content:'\E877';}
+.t-icon-undertake:before{content:'\E878';}
+.t-icon-unfold-less:before{content:'\E879';}
+.t-icon-unfold-more:before{content:'\E87A';}
+.t-icon-unhappy-1-filled:before{content:'\E87B';}
+.t-icon-unhappy-1:before{content:'\E87C';}
+.t-icon-unhappy-filled:before{content:'\E87D';}
+.t-icon-unhappy:before{content:'\E87E';}
+.t-icon-uninstall-filled:before{content:'\E87F';}
+.t-icon-uninstall:before{content:'\E880';}
+.t-icon-upload-1:before{content:'\E881';}
+.t-icon-upload:before{content:'\E882';}
+.t-icon-upscale:before{content:'\E883';}
+.t-icon-usb-filled:before{content:'\E884';}
+.t-icon-usb:before{content:'\E885';}
+.t-icon-user-1-filled:before{content:'\E886';}
+.t-icon-user-1:before{content:'\E887';}
+.t-icon-user-add-filled:before{content:'\E888';}
+.t-icon-user-add:before{content:'\E889';}
+.t-icon-user-arrow-down-filled:before{content:'\E88A';}
+.t-icon-user-arrow-down:before{content:'\E88B';}
+.t-icon-user-arrow-left-filled:before{content:'\E88C';}
+.t-icon-user-arrow-left:before{content:'\E88D';}
+.t-icon-user-arrow-right-filled:before{content:'\E88E';}
+.t-icon-user-arrow-right:before{content:'\E88F';}
+.t-icon-user-arrow-up-filled:before{content:'\E890';}
+.t-icon-user-arrow-up:before{content:'\E891';}
+.t-icon-user-avatar-filled:before{content:'\E892';}
+.t-icon-user-avatar:before{content:'\E893';}
+.t-icon-user-blocked-filled:before{content:'\E894';}
+.t-icon-user-blocked:before{content:'\E895';}
+.t-icon-user-business-filled:before{content:'\E896';}
+.t-icon-user-business:before{content:'\E897';}
+.t-icon-user-checked-1-filled:before{content:'\E898';}
+.t-icon-user-checked-1:before{content:'\E899';}
+.t-icon-user-checked-filled:before{content:'\E89A';}
+.t-icon-user-checked:before{content:'\E89B';}
+.t-icon-user-circle-filled:before{content:'\E89C';}
+.t-icon-user-circle:before{content:'\E89D';}
+.t-icon-user-clear-filled:before{content:'\E89E';}
+.t-icon-user-clear:before{content:'\E89F';}
+.t-icon-user-error-1-filled:before{content:'\E8A0';}
+.t-icon-user-error-1:before{content:'\E8A1';}
+.t-icon-user-filled:before{content:'\E8A2';}
+.t-icon-user-invisible-filled:before{content:'\E8A3';}
+.t-icon-user-invisible:before{content:'\E8A4';}
+.t-icon-user-list-filled:before{content:'\E8A5';}
+.t-icon-user-list:before{content:'\E8A6';}
+.t-icon-user-locked-filled:before{content:'\E8A7';}
+.t-icon-user-locked:before{content:'\E8A8';}
+.t-icon-user-marked-filled:before{content:'\E8A9';}
+.t-icon-user-marked:before{content:'\E8AA';}
+.t-icon-user-password-filled:before{content:'\E8AB';}
+.t-icon-user-password:before{content:'\E8AC';}
+.t-icon-user-safety-filled:before{content:'\E8AD';}
+.t-icon-user-safety:before{content:'\E8AE';}
+.t-icon-user-search-filled:before{content:'\E8AF';}
+.t-icon-user-search:before{content:'\E8B0';}
+.t-icon-user-setting-filled:before{content:'\E8B1';}
+.t-icon-user-setting:before{content:'\E8B2';}
+.t-icon-user-talk-1-filled:before{content:'\E8B3';}
+.t-icon-user-talk-1:before{content:'\E8B4';}
+.t-icon-user-talk-filled:before{content:'\E8B5';}
+.t-icon-user-talk-off-1-filled:before{content:'\E8B6';}
+.t-icon-user-talk-off-1:before{content:'\E8B7';}
+.t-icon-user-talk:before{content:'\E8B8';}
+.t-icon-user-time-filled:before{content:'\E8B9';}
+.t-icon-user-time:before{content:'\E8BA';}
+.t-icon-user-transmit-filled:before{content:'\E8BB';}
+.t-icon-user-transmit:before{content:'\E8BC';}
+.t-icon-user-unknown-filled:before{content:'\E8BD';}
+.t-icon-user-unknown:before{content:'\E8BE';}
+.t-icon-user-unlocked-filled:before{content:'\E8BF';}
+.t-icon-user-unlocked:before{content:'\E8C0';}
+.t-icon-user-vip-filled:before{content:'\E8C1';}
+.t-icon-user-vip:before{content:'\E8C2';}
+.t-icon-user-visible-filled:before{content:'\E8C3';}
+.t-icon-user-visible:before{content:'\E8C4';}
+.t-icon-user:before{content:'\E8C5';}
+.t-icon-usercase-filled:before{content:'\E8C6';}
+.t-icon-usercase-link-filled:before{content:'\E8C7';}
+.t-icon-usercase-link:before{content:'\E8C8';}
+.t-icon-usercase:before{content:'\E8C9';}
+.t-icon-usergroup-add-filled:before{content:'\E8CA';}
+.t-icon-usergroup-add:before{content:'\E8CB';}
+.t-icon-usergroup-circle-filled:before{content:'\E8CC';}
+.t-icon-usergroup-circle:before{content:'\E8CD';}
+.t-icon-usergroup-clear-filled:before{content:'\E8CE';}
+.t-icon-usergroup-clear:before{content:'\E8CF';}
+.t-icon-usergroup-filled:before{content:'\E8D0';}
+.t-icon-usergroup:before{content:'\E8D1';}
+.t-icon-vehicle-filled:before{content:'\E8D2';}
+.t-icon-vehicle:before{content:'\E8D3';}
+.t-icon-verified-filled:before{content:'\E8D4';}
+.t-icon-verified:before{content:'\E8D5';}
+.t-icon-verify-filled:before{content:'\E8D6';}
+.t-icon-verify:before{content:'\E8D7';}
+.t-icon-vertical-filled:before{content:'\E8D8';}
+.t-icon-vertical:before{content:'\E8D9';}
+.t-icon-video-camera-1-filled:before{content:'\E8DA';}
+.t-icon-video-camera-1:before{content:'\E8DB';}
+.t-icon-video-camera-2-filled:before{content:'\E8DC';}
+.t-icon-video-camera-2:before{content:'\E8DD';}
+.t-icon-video-camera-dollar-filled:before{content:'\E8DE';}
+.t-icon-video-camera-dollar:before{content:'\E8DF';}
+.t-icon-video-camera-filled:before{content:'\E8E0';}
+.t-icon-video-camera-minus-filled:before{content:'\E8E1';}
+.t-icon-video-camera-minus:before{content:'\E8E2';}
+.t-icon-video-camera-music-filled:before{content:'\E8E3';}
+.t-icon-video-camera-music:before{content:'\E8E4';}
+.t-icon-video-camera-off-filled:before{content:'\E8E5';}
+.t-icon-video-camera-off:before{content:'\E8E6';}
+.t-icon-video-camera:before{content:'\E8E7';}
+.t-icon-video-filled:before{content:'\E8E8';}
+.t-icon-video-library-filled:before{content:'\E8E9';}
+.t-icon-video-library:before{content:'\E8EA';}
+.t-icon-video:before{content:'\E8EB';}
+.t-icon-view-agenda-filled:before{content:'\E8EC';}
+.t-icon-view-agenda:before{content:'\E8ED';}
+.t-icon-view-column:before{content:'\E8EE';}
+.t-icon-view-gantt-filled:before{content:'\E8EF';}
+.t-icon-view-gantt:before{content:'\E8F0';}
+.t-icon-view-image-filled:before{content:'\E8F1';}
+.t-icon-view-image:before{content:'\E8F2';}
+.t-icon-view-in-ar-filled:before{content:'\E8F3';}
+.t-icon-view-in-ar:before{content:'\E8F4';}
+.t-icon-view-list:before{content:'\E8F5';}
+.t-icon-view-module-filled:before{content:'\E8F6';}
+.t-icon-view-module:before{content:'\E8F7';}
+.t-icon-view-organization-filled:before{content:'\E8F8';}
+.t-icon-view-organization:before{content:'\E8F9';}
+.t-icon-visual-recognition-filled:before{content:'\E8FA';}
+.t-icon-visual-recognition:before{content:'\E8FB';}
+.t-icon-wallet-filled:before{content:'\E8FC';}
+.t-icon-wallet:before{content:'\E8FD';}
+.t-icon-watch-filled:before{content:'\E8FE';}
+.t-icon-watch:before{content:'\E8FF';}
+.t-icon-watermelon-filled:before{content:'\E900';}
+.t-icon-watermelon:before{content:'\E901';}
+.t-icon-wave-bye-filled:before{content:'\E902';}
+.t-icon-wave-bye:before{content:'\E903';}
+.t-icon-wave-left-filled:before{content:'\E904';}
+.t-icon-wave-left:before{content:'\E905';}
+.t-icon-wave-right-filled:before{content:'\E906';}
+.t-icon-wave-right:before{content:'\E907';}
+.t-icon-wealth-1-filled:before{content:'\E908';}
+.t-icon-wealth-1:before{content:'\E909';}
+.t-icon-wealth-filled:before{content:'\E90A';}
+.t-icon-wealth:before{content:'\E90B';}
+.t-icon-web-filled:before{content:'\E90C';}
+.t-icon-web:before{content:'\E90D';}
+.t-icon-widget-filled:before{content:'\E90E';}
+.t-icon-widget:before{content:'\E90F';}
+.t-icon-wifi-1-filled:before{content:'\E910';}
+.t-icon-wifi-1:before{content:'\E911';}
+.t-icon-wifi-no-filled:before{content:'\E912';}
+.t-icon-wifi-no:before{content:'\E913';}
+.t-icon-wifi-off-1-filled:before{content:'\E914';}
+.t-icon-wifi-off-1:before{content:'\E915';}
+.t-icon-wifi-off:before{content:'\E916';}
+.t-icon-wifi:before{content:'\E917';}
+.t-icon-window-1-filled:before{content:'\E918';}
+.t-icon-window-1:before{content:'\E919';}
+.t-icon-window-filled:before{content:'\E91A';}
+.t-icon-window:before{content:'\E91B';}
+.t-icon-windy-rain:before{content:'\E91C';}
+.t-icon-windy:before{content:'\E91D';}
+.t-icon-wink-filled:before{content:'\E91E';}
+.t-icon-wink:before{content:'\E91F';}
+.t-icon-work-filled:before{content:'\E920';}
+.t-icon-work-history-filled:before{content:'\E921';}
+.t-icon-work-history:before{content:'\E922';}
+.t-icon-work-off-filled:before{content:'\E923';}
+.t-icon-work-off:before{content:'\E924';}
+.t-icon-work:before{content:'\E925';}
+.t-icon-wry-smile-filled:before{content:'\E926';}
+.t-icon-wry-smile:before{content:'\E927';}
+.t-icon-zoom-in-filled:before{content:'\E928';}
+.t-icon-zoom-in:before{content:'\E929';}
+.t-icon-zoom-out-filled:before{content:'\E92A';}
+.t-icon-zoom-out:before{content:'\E92B';}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.d.ts b/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.d.ts
index d5766e9..589d389 100644
--- a/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.d.ts
@@ -14,6 +14,10 @@
             type: null;
             value?: string | boolean | object;
         };
+        imageProps?: {
+            type: ObjectConstructor;
+            value?: import("../image/type").TdImageProps;
+        };
         images?: {
             type: ArrayConstructor;
             value?: string[];
diff --git a/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.wxml b/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.wxml
index 7f57b71..a92422a 100644
--- a/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/image-viewer/image-viewer.wxml
@@ -1 +1 @@
-<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><wxs src="./image-viewer.wxs" module="utils"/><view wx:if="{{visible}}" id="{{classPrefix}}" class="{{classPrefix}} class {{prefix}}-class" style="{{_._style([style, customStyle, '--td-image-viewer-top: ' + maskTop + 'px'])}}" aria-modal="{{true}}" aria-role="dialog" aria-label="鍥剧墖鏌ョ湅鍣�" catchtouchmove="true"><view class="{{classPrefix}}__mask" data-source="overlay" bind:tap="onClose" style="{{_._style([backgroundColor && '--td-image-viewer-mask-bg-color: ' + backgroundColor])}}" aria-role="button" aria-label="鍏抽棴"/><block wx:if="{{images && images.length}}"><view class="{{classPrefix}}__content"><swiper class="swiper" style="{{swiperStyle[currentSwiperIndex].style}}" autoplay="{{false}}" current="{{currentSwiperIndex}}" bindchange="onSwiperChange" bindtap="onClose" tabindex="0"><swiper-item wx:for="{{images}}" wx:key="index" class="{{classPrefix}}__preview-image"><t-image wx:if="{{!lazy || utils.shouldLoadImage(index, currentSwiperIndex, loadedImageIndexes) }}" t-class="t-image--external" style="{{imagesStyle[index].style || ''}}" mode="aspectFit" src="{{item}}" data-index="{{index}}" class="{{classPrefix}}__image" bindload="onImageLoadSuccess"></t-image></swiper-item></swiper></view><view class="{{classPrefix}}__nav"><view class="{{classPrefix}}__nav-close" catch:tap="onClose" aria-role="button" aria-label="鍏抽棴"><slot name="close-btn"/><template wx:if="{{_closeBtn}}" is="icon" data="{{ ..._closeBtn }}"/></view><view wx:if="{{showIndex}}" class="{{classPrefix}}__nav-index">{{currentSwiperIndex + 1}}/{{images.length}}</view><view class="{{classPrefix}}__nav-delete" bind:tap="onDelete" aria-role="button" aria-label="鍒犻櫎"><slot name="delete-btn"/><template is="icon" data="{{ ..._deleteBtn }}"/></view></view></block></view>
\ No newline at end of file
+<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><wxs src="./image-viewer.wxs" module="utils"/><view wx:if="{{visible}}" id="{{classPrefix}}" class="{{classPrefix}} class {{prefix}}-class" style="{{_._style([style, customStyle, '--td-image-viewer-top: ' + maskTop + 'px'])}}" aria-modal="{{true}}" aria-role="dialog" aria-label="鍥剧墖鏌ョ湅鍣�" catchtouchmove="true"><view class="{{classPrefix}}__mask" data-source="overlay" bind:tap="onClose" style="{{_._style([backgroundColor && '--td-image-viewer-mask-bg-color: ' + backgroundColor])}}" aria-role="button" aria-label="鍏抽棴"/><block wx:if="{{images && images.length}}"><view class="{{classPrefix}}__content"><swiper class="swiper" style="{{swiperStyle[currentSwiperIndex].style}}" autoplay="{{false}}" current="{{currentSwiperIndex}}" bindchange="onSwiperChange" bindtap="onClose" tabindex="0"><swiper-item wx:for="{{images}}" wx:key="index" class="{{classPrefix}}__preview-image"><t-image wx:if="{{!lazy || utils.shouldLoadImage(index, currentSwiperIndex, loadedImageIndexes) }}" t-class="{{prefix}}-image--external" class="{{classPrefix}}__image" style="{{imagesStyle[index].style || ''}}" data-index="{{index}}" src="{{item}}" mode="{{imageProps && imageProps.mode || 'aspectFit'}}" lazy="{{imageProps && imageProps.lazy || false}}" loading="{{imageProps && imageProps.loading || 'default'}}" shape="{{imageProps && imageProps.shape || 'square'}}" webp="{{imageProps && imageProps.webp || false}}" show-menu-by-longpress="{{imageProps && imageProps.showMenuByLongpress || false}}" bindload="onImageLoadSuccess"></t-image></swiper-item></swiper></view><view class="{{classPrefix}}__nav"><view class="{{classPrefix}}__nav-close" catch:tap="onClose" aria-role="button" aria-label="鍏抽棴"><slot name="close-btn"/><template wx:if="{{_closeBtn}}" is="icon" data="{{ ..._closeBtn }}"/></view><view wx:if="{{showIndex}}" class="{{classPrefix}}__nav-index">{{currentSwiperIndex + 1}}/{{images.length}}</view><view class="{{classPrefix}}__nav-delete" bind:tap="onDelete" aria-role="button" aria-label="鍒犻櫎"><slot name="delete-btn"/><template is="icon" data="{{ ..._deleteBtn }}"/></view></view></block></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/image-viewer/props.js b/miniprogram_npm/tdesign-miniprogram/image-viewer/props.js
index 0b63044..ed6bdec 100644
--- a/miniprogram_npm/tdesign-miniprogram/image-viewer/props.js
+++ b/miniprogram_npm/tdesign-miniprogram/image-viewer/props.js
@@ -1 +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
+const props={backgroundColor:{type:String,value:""},closeBtn:{type:null,value:!1},deleteBtn:{type:null,value:!1},imageProps:{type:Object},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_npm/tdesign-miniprogram/image-viewer/type.d.ts b/miniprogram_npm/tdesign-miniprogram/image-viewer/type.d.ts
index 8a5da94..5ee9a41 100644
--- a/miniprogram_npm/tdesign-miniprogram/image-viewer/type.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/image-viewer/type.d.ts
@@ -1,3 +1,4 @@
+import { ImageProps } from '../image/index';
 export interface TdImageViewerProps {
     backgroundColor?: {
         type: StringConstructor;
@@ -11,6 +12,10 @@
         type: null;
         value?: string | boolean | object;
     };
+    imageProps?: {
+        type: ObjectConstructor;
+        value?: ImageProps;
+    };
     images?: {
         type: ArrayConstructor;
         value?: Array<string>;
diff --git a/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.wxss b/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.wxss
index 27a58a0..f548ed6 100644
--- a/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/indexes-anchor/indexes-anchor.wxss
@@ -1,4 +1,4 @@
-@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);}
+@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:var(--td-indexes-anchor-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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)));}
diff --git a/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxss b/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxss
index 9702302..1d5b4a3 100644
--- a/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/indexes/indexes.wxss
@@ -1,6 +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{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:var(--td-indexes-sidebar-font,var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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
+.t-indexes__sidebar-tips{display:flex;align-items:center;justify-content:center;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);font:var(--td-indexes-sidebar-tips-font,var(--td-font-title-extraLarge,600 40rpx / 56rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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_npm/tdesign-miniprogram/input/input.wxss b/miniprogram_npm/tdesign-miniprogram/input/input.wxss
index 01c8b2e..89b0511 100644
--- a/miniprogram_npm/tdesign-miniprogram/input/input.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/input/input.wxss
@@ -6,13 +6,13 @@
 .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__label:not(:empty){min-width:var(--td-input-label-min-width,2em);max-width:var(--td-input-label-max-width,5em);font:var(--td-input-label-text-font,var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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 .t-input__content{display:flex;width:100%;align-items:center;font:var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
 .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))));}
@@ -24,9 +24,9 @@
 .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{color:var(--td-input-placeholder-text-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));font:var(--td-input-placeholder-text-font,var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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__tips{font:var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));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)));}
diff --git a/miniprogram_npm/tdesign-miniprogram/link/link.wxss b/miniprogram_npm/tdesign-miniprogram/link/link.wxss
index f4e632b..97e77a3 100644
--- a/miniprogram_npm/tdesign-miniprogram/link/link.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/link/link.wxss
@@ -1,8 +1,8 @@
-@import '../common/style/index.wxss';.t-link--small .t-link__content{font-size:24rpx;line-height:40rpx;}
+@import '../common/style/index.wxss';.t-link--small .t-link__content{font:var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
 .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__content{font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
 .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__content{font:var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
 .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)));}
diff --git a/miniprogram_npm/tdesign-miniprogram/loading/loading.wxss b/miniprogram_npm/tdesign-miniprogram/loading/loading.wxss
index 8fd1b5f..aa62388 100644
--- a/miniprogram_npm/tdesign-miniprogram/loading/loading.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/loading/loading.wxss
@@ -1,4 +1,4 @@
-@import '../common/style/index.wxss';.t-loading{display:inline-flex;align-items:center;justify-content:center;font-size:24rpx;}
+@import '../common/style/index.wxss';.t-loading{display:inline-flex;align-items:center;justify-content:center;}
 .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;}
@@ -8,7 +8,7 @@
 .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{color:var(--td-loading-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font:var(--td-loading-text-font,var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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;}
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/ar_KW.d.ts b/miniprogram_npm/tdesign-miniprogram/locale/ar_KW.d.ts
new file mode 100644
index 0000000..7d3edcd
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/ar_KW.d.ts
@@ -0,0 +1,129 @@
+import 'dayjs/locale/ar';
+declare const _default: {
+    actionSheet: {
+        cancel: string;
+    };
+    calendar: {
+        confirm: string;
+        title: string;
+        weekdays: string[];
+        monthTitle: string;
+        months: string[];
+    };
+    cascader: {
+        title: string;
+        placeholder: string;
+    };
+    dropdownMenu: {
+        reset: string;
+        confirm: string;
+    };
+    dateTimePicker: {
+        dayjsLocale: string;
+        title: string;
+        cancel: string;
+        confirm: string;
+        format: string;
+        months: string[];
+        yearLabel: string;
+        monthLabel: string;
+        dateLabel: string;
+        hourLabel: string;
+        minuteLabel: string;
+        secondLabel: string;
+    };
+    form: {
+        errorMessage: {
+            date: string;
+            url: string;
+            whitespace: string;
+            required: string;
+            max: string;
+            min: string;
+            len: string;
+            enum: string;
+            idcard: string;
+            telnumber: string;
+            pattern: string;
+            validator: string;
+            boolean: string;
+            number: string;
+        };
+    };
+    picker: {
+        cancel: string;
+        confirm: string;
+    };
+    pullDownRefresh: {
+        loadingTexts: string[];
+    };
+    rate: {
+        texts: string[];
+        valueText: string;
+        noValueText: string;
+    };
+    tabBar: {
+        newsAriaLabel: string;
+        moreNewsAriaLabel: string;
+        haveMoreNewsAriaLabel: string;
+        haveNewsAriaLabel: string;
+    };
+    table: {
+        empty: string;
+    };
+    list: {
+        loading: string;
+        loadingMoreText: string;
+        pulling: string;
+        loosing: string;
+        success: string;
+    };
+    upload: {
+        progress: {
+            uploadingText: string;
+            waitingText: string;
+            failText: string;
+            successText: string;
+        };
+    };
+    guide: {
+        next: string;
+        skip: string;
+        finish: string;
+        back: string;
+    };
+    qrcode: {
+        expiredText: string;
+        refreshText: string;
+        scannedText: string;
+    };
+    attachments: {
+        status: {
+            pending: string;
+            fail: string;
+        };
+    };
+    chatActionbar: {
+        actionBar: {
+            replay: string;
+            copy: string;
+            good: string;
+            bad: string;
+            share: string;
+            quote: string;
+        };
+    };
+    chatSender: {
+        placeholder: string;
+        sendText: string;
+        stopText: string;
+    };
+    chatThinking: {
+        status: {
+            pending: string;
+            complete: string;
+            stop: string;
+        };
+    };
+};
+export default _default;
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/ar_KW.js b/miniprogram_npm/tdesign-miniprogram/locale/ar_KW.js
new file mode 100644
index 0000000..19250c4
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/ar_KW.js
@@ -0,0 +1 @@
+import"dayjs/locale/ar";export default{actionSheet:{cancel:"丕賱廿賱睾丕亍"},calendar:{confirm:"兀賰丿",title:"丕賳鬲賯賽 丕賱鬲丕乇賷禺",weekdays:["賷賵賲 丕賱兀丨丿","丕賱丕孬賳賷賳","丕賱孬賱丕孬丕亍","丕賱兀乇亘毓丕亍","丕賱禺賲賷爻","丕賱噩賲毓丞","丕賱爻亘鬲"],monthTitle:"{卮賴乇 賵丕丨丿} {爻賳丞 賵丕丨丿丞}",months:["賷賳丕賷乇","賮亘乇丕賷乇","賲丕乇爻","兀亘乇賷賱","賲丕賷賵","賷賵賳賷賵","賷賵賱賷賵","兀睾爻胤爻","爻亘鬲賲亘乇","兀賰鬲賵亘乇","賳賵賮賲亘乇","丿賷爻賲亘乇"]},cascader:{title:"丕賱毓賳賵丕賳",placeholder:"丕禺鬲乇 丕賱禺賷丕乇丕鬲"},dropdownMenu:{reset:"廿毓丕丿丞 丕賱囟亘胤",confirm:"兀賰丿"},dateTimePicker:{dayjsLocale:"ar",title:"丕賳鬲賯賽 丕賱鬲丕乇賷禺",cancel:"丕賱廿賱睾丕亍",confirm:"兀賰丿",format:"DD-MM-YYYY",months:["賷賳丕賷乇","賮亘乇丕賷乇","賲丕乇爻","兀亘乇賷賱","賲丕賷賵","賷賵賳賷賵","賷賵賱賷賵","兀睾爻胤爻","爻亘鬲賲亘乇","兀賰鬲賵亘乇","賳賵賮賲亘乇","丿賷爻賲亘乇"],yearLabel:"爻賳丞",monthLabel:"丕賱卮賴乇",dateLabel:"丕賱鬲丕乇賷禺",hourLabel:"丕賱爻丕毓丞",minuteLabel:"丿賯賷賯丞",secondLabel:"孬丕賳賷丕"},form:{errorMessage:{date:"丕賱乇噩丕亍 廿丿禺丕賱 ${name} 丕賱氐丨賷丨",url:"丕賱乇噩丕亍 廿丿禺丕賱 ${name} 丕賱氐丨賷丨",whitespace:"賱丕 賷賲賰賳 兀賳 賷賰賵賳 ${name} 賮丕乇睾賸丕",required:"賲胤賱賵亘 ${name}",max:"賷賲賰賳 兀賳 賷丨鬲賵賷 ${name} 毓賱賶 賲丕 賷氐賱 廿賱賶 ${validate} 丨乇賮賸丕",min:"賱丕 賷賲賰賳 兀賳 賷賰賵賳 ${name} 兀賯賱 賲賳 ${validate} 丨乇賮賸丕",len:"賷噩亘 兀賳 賷鬲賰賵賳 ${name} 賲賳 兀丨乇賮 ${validate} 亘丕賱囟亘胤",enum:"${name} 賷噩亘 兀賳 賷賰賵賳 賵丕丨丿賸丕 賲賳 ${validate} ",idcard:"丕賱乇噩丕亍 廿丿禺丕賱 ${name} 丕賱氐丨賷丨",telnumber:"丕賱乇噩丕亍 廿丿禺丕賱 ${name} 丕賱氐丨賷丨",pattern:"丕賱乇噩丕亍 廿丿禺丕賱 ${name} 丕賱氐丨賷丨",validator:"${name} 睾賷乇 氐丕賱丨",boolean:"${name} 賱賷爻 賲賳胤賯賷賸丕",number:"賷噩亘 兀賳 賷賰賵賳 ${name} 乇賯賲賸丕"}},picker:{cancel:"丕賱廿賱睾丕亍",confirm:"兀賰丿"},pullDownRefresh:{loadingTexts:["丕爻丨亘 賱賱鬲丨丿賷孬","賲乇鬲禺賷丞 賱賱鬲噩丿賷丿","賲賳毓卮","丕賰鬲賲賱 丕賱鬲丨丿賷孬"]},rate:{texts:["爻賷亍","賲禺賷亘","毓丕丿賷","噩賷丿","賲賲鬲丕夭"],valueText:"{丕賱賯賷賲丞} 賳鬲賷噩丞",noValueText:"賱丕 鬲賵噩丿 賳賯丕胤"},tabBar:{newsAriaLabel:"賴賳丕賰 兀禺亘丕乇 噩丿賷丿丞",moreNewsAriaLabel:"賴賳丕賰 丕賱賰孬賷乇 賲賳 丕賱兀禺亘丕乇 丕賱爻賷卅丞",haveMoreNewsAriaLabel:"賴賳丕賰 { 賯賷賲丞 }+ 兀禺亘丕乇",haveNewsAriaLabel:"賴賳丕賰 { 賯賷賲丞 } 兀禺亘丕乇"},table:{empty:"丕賱亘賷丕賳丕鬲 丕賱賮丕乇睾丞"},list:{loading:"丕賱鬲丨賲賷賱...",loadingMoreText:"丕賳賯乇 賱鬲丨賲賷賱 丕賱賲夭賷丿",pulling:"丕爻丨亘 賱賱鬲丨丿賷孬...",loosing:"賲乇鬲禺賷丞 賱賱鬲噩丿賷丿...",success:"鬲賲 丕賱鬲丨丿賷孬 亘賳噩丕丨"},upload:{progress:{uploadingText:"噩丕乇賺 丕賱鬲丨賲賷賱...",waitingText:"丕賱丕賳鬲馗丕乇",failText:"賮卮賱",successText:"丕賱賳噩丕丨"}},guide:{next:"丕賱鬲丕賱賷",skip:"鬲禺胤賷",finish:"兀賳賴賷",back:"丕賱毓賵丿丞"},qrcode:{expiredText:"賲賳鬲賴賷 丕賱氐賱丕丨賷丞",refreshText:"賷賳毓卮",scannedText:"鬲賲 賲爻丨賴丕 囟賵卅賷賸丕"},attachments:{status:{pending:"噩丕乇賺 丕賱鬲丨賲賷賱...",fail:"賮卮賱 丕賱鬲丨賲賷賱"}},chatActionbar:{actionBar:{replay:"鬲丨丿賷孬",copy:"賳爻禺",good:"廿毓噩丕亘",bad:"毓丿賲 廿毓噩丕亘",share:"賲卮丕乇賰丞",quote:"丕賯鬲亘丕爻"}},chatSender:{placeholder:"丕賱乇噩丕亍 廿丿禺丕賱 丕賱乇爻丕賱丞...",sendText:"廿乇爻丕賱",stopText:"廿賷賯丕賮"},chatThinking:{status:{pending:"噩丕乇賷 丕賱鬲賮賰賷乇...",complete:"鬲賲 丕賱丕賳鬲賴丕亍 賲賳 丕賱鬲賮賰賷乇",stop:"鬲賲 廿賷賯丕賮 丕賱鬲賮賰賷乇"}}};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/en_US.d.ts b/miniprogram_npm/tdesign-miniprogram/locale/en_US.d.ts
new file mode 100644
index 0000000..b7a9f08
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/en_US.d.ts
@@ -0,0 +1,131 @@
+import 'dayjs/locale/en';
+declare const _default: {
+    actionSheet: {
+        cancel: string;
+    };
+    calendar: {
+        confirm: string;
+        title: string;
+        weekdays: string[];
+        monthTitle: string;
+        months: string[];
+    };
+    cascader: {
+        title: string;
+        placeholder: string;
+    };
+    dropdownMenu: {
+        reset: string;
+        confirm: string;
+    };
+    dateTimePicker: {
+        dayjsLocale: string;
+        title: string;
+        cancel: string;
+        confirm: string;
+        format: string;
+        months: string[];
+        yearLabel: string;
+        monthLabel: string;
+        dateLabel: string;
+        hourLabel: string;
+        minuteLabel: string;
+        secondLabel: string;
+    };
+    form: {
+        errorMessage: {
+            date: string;
+            url: string;
+            required: string;
+            whitespace: string;
+            max: string;
+            min: string;
+            len: string;
+            enum: string;
+            idcard: string;
+            telnumber: string;
+            pattern: string;
+            validator: string;
+            boolean: string;
+            number: string;
+        };
+        colonText: string;
+    };
+    picker: {
+        cancel: string;
+        confirm: string;
+    };
+    pullDownRefresh: {
+        loadingTexts: string[];
+    };
+    rate: {
+        texts: string[];
+        valueText: string;
+        noValueText: string;
+    };
+    tabBar: {
+        newsAriaLabel: string;
+        moreNewsAriaLabel: string;
+        haveMoreNewsAriaLabel: string;
+        haveNewsAriaLabel: string;
+    };
+    table: {
+        empty: string;
+    };
+    list: {
+        loading: string;
+        loadingMoreText: string;
+        pulling: string;
+        loosing: string;
+        success: string;
+    };
+    upload: {
+        progress: {
+            uploadingText: string;
+            waitingText: string;
+            failText: string;
+            successText: string;
+            reloadText: string;
+        };
+    };
+    guide: {
+        next: string;
+        skip: string;
+        finish: string;
+        back: string;
+    };
+    qrcode: {
+        expiredText: string;
+        refreshText: string;
+        scannedText: string;
+    };
+    attachments: {
+        status: {
+            pending: string;
+            fail: string;
+        };
+    };
+    chatActionbar: {
+        actionBar: {
+            replay: string;
+            copy: string;
+            good: string;
+            bad: string;
+            share: string;
+            quote: string;
+        };
+    };
+    chatSender: {
+        placeholder: string;
+        sendText: string;
+        stopText: string;
+    };
+    chatThinking: {
+        status: {
+            pending: string;
+            complete: string;
+            stop: string;
+        };
+    };
+};
+export default _default;
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/en_US.js b/miniprogram_npm/tdesign-miniprogram/locale/en_US.js
new file mode 100644
index 0000000..6b88795
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/en_US.js
@@ -0,0 +1 @@
+import"dayjs/locale/en";export default{actionSheet:{cancel:"Cancel"},calendar:{confirm:"Confirm",title:"Select Date",weekdays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],monthTitle:"{month} {year}",months:["January","February","March","April","May","June","July","August","September","October","November","December"]},cascader:{title:"Title",placeholder:"Select options"},dropdownMenu:{reset:"Reset",confirm:"Confirm"},dateTimePicker:{dayjsLocale:"en",title:"Select Date",cancel:"Cancel",confirm:"Confirm",format:"YYYY-MM-DD",months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],yearLabel:"",monthLabel:"",dateLabel:"",hourLabel:"",minuteLabel:"",secondLabel:""},form:{errorMessage:{date:"${name} is invalid",url:"${name} is invalid",required:"${name} is required",whitespace:"${name} cannot be empty",max:"${name} cannot be longer than ${validate} characters",min:"${name} must be at least ${validate} characters",len:"${name} must be exactly ${validate} characters",enum:"${name} must be one of ${validate}",idcard:"${name} is invalid",telnumber:"${name} is invalid",pattern:"${name} is invalid",validator:"${name} is invalid",boolean:"${name} is not a boolean",number:"${name} must be a number"},colonText:":"},picker:{cancel:"Cancel",confirm:"Confirm"},pullDownRefresh:{loadingTexts:["Pull to refresh","Loose to refresh","Refreshing ","Refresh completed"]},rate:{texts:["Poor","Fair","Average","Good","Excellent"],valueText:"{value} score",noValueText:"No score"},tabBar:{newsAriaLabel:"There is new news",moreNewsAriaLabel:"There is a lot of news",haveMoreNewsAriaLabel:"There are {value}+ news",haveNewsAriaLabel:"There are {value} news"},table:{empty:"Empty Data"},list:{loading:"Loading...",loadingMoreText:"Click to load more",pulling:"Pull to refresh...",loosing:"Loose to refresh...",success:"Refresh successful"},upload:{progress:{uploadingText:"Uploading...",waitingText:"Waiting",failText:"Failed",successText:"Success",reloadText:"Reload"}},guide:{next:"Next",skip:"Skip",finish:"Finish",back:"Back"},qrcode:{expiredText:"expired",refreshText:"refresh",scannedText:"scanned"},attachments:{status:{pending:"uploading...",fail:"upload failed"}},chatActionbar:{actionBar:{replay:"refresh",copy:"copy",good:"good",bad:"bad",share:"share",quote:"quote"}},chatSender:{placeholder:"please enter message...",sendText:"send",stopText:"stop"},chatThinking:{status:{pending:"thinking...",complete:"thinking process completed",stop:"thinking has stopped"}}};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/it_IT.d.ts b/miniprogram_npm/tdesign-miniprogram/locale/it_IT.d.ts
new file mode 100644
index 0000000..11e1dfa
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/it_IT.d.ts
@@ -0,0 +1,130 @@
+import 'dayjs/locale/it';
+declare const _default: {
+    actionSheet: {
+        cancel: string;
+    };
+    calendar: {
+        confirm: string;
+        title: string;
+        weekdays: string[];
+        monthTitle: string;
+        months: string[];
+    };
+    cascader: {
+        title: string;
+        placeholder: string;
+    };
+    dropdownMenu: {
+        reset: string;
+        confirm: string;
+    };
+    dateTimePicker: {
+        dayjsLocale: string;
+        title: string;
+        cancel: string;
+        confirm: string;
+        format: string;
+        months: string[];
+        yearLabel: string;
+        monthLabel: string;
+        dateLabel: string;
+        hourLabel: string;
+        minuteLabel: string;
+        secondLabel: string;
+    };
+    form: {
+        errorMessage: {
+            date: string;
+            url: string;
+            whitespace: string;
+            required: string;
+            max: string;
+            min: string;
+            len: string;
+            enum: string;
+            idcard: string;
+            telnumber: string;
+            pattern: string;
+            validator: string;
+            boolean: string;
+            number: string;
+        };
+        colonText: string;
+    };
+    picker: {
+        cancel: string;
+        confirm: string;
+    };
+    pullDownRefresh: {
+        loadingTexts: string[];
+    };
+    rate: {
+        texts: string[];
+        valueText: string;
+        noValueText: string;
+    };
+    tabBar: {
+        newsAriaLabel: string;
+        moreNewsAriaLabel: string;
+        haveMoreNewsAriaLabel: string;
+        haveNewsAriaLabel: string;
+    };
+    table: {
+        empty: string;
+    };
+    list: {
+        loading: string;
+        loadingMoreText: string;
+        pulling: string;
+        loosing: string;
+        success: string;
+    };
+    upload: {
+        progress: {
+            uploadingText: string;
+            waitingText: string;
+            failText: string;
+            successText: string;
+        };
+    };
+    guide: {
+        next: string;
+        skip: string;
+        finish: string;
+        back: string;
+    };
+    qrcode: {
+        expiredText: string;
+        refreshText: string;
+        scannedText: string;
+    };
+    attachments: {
+        status: {
+            pending: string;
+            fail: string;
+        };
+    };
+    chatActionbar: {
+        actionBar: {
+            replay: string;
+            copy: string;
+            good: string;
+            bad: string;
+            share: string;
+            quote: string;
+        };
+    };
+    chatSender: {
+        placeholder: string;
+        sendText: string;
+        stopText: string;
+    };
+    chatThinking: {
+        status: {
+            pending: string;
+            complete: string;
+            stop: string;
+        };
+    };
+};
+export default _default;
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/it_IT.js b/miniprogram_npm/tdesign-miniprogram/locale/it_IT.js
new file mode 100644
index 0000000..9293809
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/it_IT.js
@@ -0,0 +1 @@
+import"dayjs/locale/it";export default{actionSheet:{cancel:"Annulla"},calendar:{confirm:"Conferma",title:"Seleziona Data",weekdays:["Domenica","Luned矛","Marted矛","Mercoled矛","Gioved矛","Venerd矛","Sabato"],monthTitle:"{mese} {anno}",months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"]},cascader:{title:"Titolo",placeholder:"Seleziona opzioni"},dropdownMenu:{reset:"Reimposta",confirm:"Conferma"},dateTimePicker:{dayjsLocale:"it",title:"Seleziona Data",cancel:"Annulla",confirm:"Conferma",format:"DD-MM-YYYY",months:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],yearLabel:"Anno",monthLabel:"Mese",dateLabel:"Data",hourLabel:"Ora",minuteLabel:"Minuto",secondLabel:"Secondo"},form:{errorMessage:{date:"Inserisci la ${name} corretta",url:"Inserisci la ${name} corretta",whitespace:"Il ${name} non pu貌 essere vuoto",required:"${name} obbligatorio",max:"La lunghezza dei caratteri di ${name} non pu貌 superare i ${validate} caratteri",min:"La lunghezza dei caratteri di ${name} non pu貌 essere inferiore a ${validate} caratteri",len:"La lunghezza dei caratteri di ${name} deve essere ${validate}",enum:"${name} pu貌 essere solo ${validate}, ecc.",idcard:"Inserisci la ${name} corretta",telnumber:"Inserisci la ${name} corretta",pattern:"Inserisci la ${name} corretta",validator:"${name} non conforme ai requisiti",boolean:"Il tipo di dati di ${name} deve essere booleano",number:"${name} deve essere un numero"},colonText:":"},picker:{cancel:"Annulla",confirm:"Conferma"},pullDownRefresh:{loadingTexts:["Tirare per aggiornare","Libera da aggiornare","Rinfrescante","Aggiornamento completato"]},rate:{texts:["Pessimo","Scarso","Normale","Buono","Eccellente"],valueText:"{valore} punteggio",noValueText:"Nessun punteggio"},tabBar:{newsAriaLabel:"Ci sono nuove notizie",moreNewsAriaLabel:"Ci sono molte notizie",haveMoreNewsAriaLabel:"Ci sono {valore}+ notizie",haveNewsAriaLabel:"Ci sono {valore} notizie"},table:{empty:"Dati Vuoti"},list:{loading:"Caricamento...",loadingMoreText:"Fai clic per caricare di pi霉",pulling:"Estrai per aggiornare...",loosing:"Libera da aggiornare...",success:"Aggiorna riuscito"},upload:{progress:{uploadingText:"Invio...",waitingText:"Attesa",failText:"Fallito",successText:"Successo"}},guide:{next:"Successivo",skip:"Salta",finish:"Finisci",back:"Indietro"},qrcode:{expiredText:"scaduto",refreshText:"aggiornare",scannedText:"scansionato"},attachments:{status:{pending:"Caricamento...",fail:"Caricamento non riuscito"}},chatActionbar:{actionBar:{replay:"Aggiorna",copy:"Copia",good:"Mi piace",bad:"Non mi piace",share:"Condividi",quote:"Cita"}},chatSender:{placeholder:"Inserisci il messaggio...",sendText:"Invia",stopText:"Ferma"},chatThinking:{status:{pending:"Pensando...",complete:"Pensiero completato",stop:"Pensiero interrotto"}}};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/ja_JP.d.ts b/miniprogram_npm/tdesign-miniprogram/locale/ja_JP.d.ts
new file mode 100644
index 0000000..c77bc25
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/ja_JP.d.ts
@@ -0,0 +1,130 @@
+import 'dayjs/locale/ja';
+declare const _default: {
+    actionSheet: {
+        cancel: string;
+    };
+    calendar: {
+        confirm: string;
+        title: string;
+        weekdays: string[];
+        monthTitle: string;
+        months: string[];
+    };
+    cascader: {
+        title: string;
+        placeholder: string;
+    };
+    dropdownMenu: {
+        reset: string;
+        confirm: string;
+    };
+    dateTimePicker: {
+        dayjsLocale: string;
+        title: string;
+        cancel: string;
+        confirm: string;
+        format: string;
+        months: string[];
+        yearLabel: string;
+        monthLabel: string;
+        dateLabel: string;
+        hourLabel: string;
+        minuteLabel: string;
+        secondLabel: string;
+    };
+    form: {
+        errorMessage: {
+            date: string;
+            url: string;
+            required: string;
+            whitespace: string;
+            max: string;
+            min: string;
+            len: string;
+            enum: string;
+            idcard: string;
+            telnumber: string;
+            pattern: string;
+            validator: string;
+            boolean: string;
+            number: string;
+        };
+        colonText: string;
+    };
+    picker: {
+        cancel: string;
+        confirm: string;
+    };
+    pullDownRefresh: {
+        loadingTexts: string[];
+    };
+    rate: {
+        texts: string[];
+        valueText: string;
+        noValueText: string;
+    };
+    tabBar: {
+        newsAriaLabel: string;
+        moreNewsAriaLabel: string;
+        haveMoreNewsAriaLabel: string;
+        haveNewsAriaLabel: string;
+    };
+    table: {
+        empty: string;
+    };
+    list: {
+        loading: string;
+        loadingMoreText: string;
+        pulling: string;
+        loosing: string;
+        success: string;
+    };
+    upload: {
+        progress: {
+            uploadingText: string;
+            waitingText: string;
+            failText: string;
+            successText: string;
+        };
+    };
+    guide: {
+        next: string;
+        skip: string;
+        finish: string;
+        back: string;
+    };
+    qrcode: {
+        expiredText: string;
+        refreshText: string;
+        scannedText: string;
+    };
+    attachments: {
+        status: {
+            pending: string;
+            fail: string;
+        };
+    };
+    chatActionbar: {
+        actionBar: {
+            replay: string;
+            copy: string;
+            good: string;
+            bad: string;
+            share: string;
+            quote: string;
+        };
+    };
+    chatSender: {
+        placeholder: string;
+        sendText: string;
+        stopText: string;
+    };
+    chatThinking: {
+        status: {
+            pending: string;
+            complete: string;
+            stop: string;
+        };
+    };
+};
+export default _default;
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/ja_JP.js b/miniprogram_npm/tdesign-miniprogram/locale/ja_JP.js
new file mode 100644
index 0000000..5e0da32
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/ja_JP.js
@@ -0,0 +1 @@
+import"dayjs/locale/ja";export default{actionSheet:{cancel:"銈儯銉炽偦銉�"},calendar:{confirm:"纰鸿獚",title:"鏃ヤ粯銇伕鎶�",weekdays:["鏃�","鏈�","鐏�","姘�","鏈�","閲�","鍦�"],monthTitle:"{month} {year}",months:["1鏈�","2鏈�","3鏈�","4鏈�","5鏈�","6鏈�","7鏈�","8鏈�","9鏈�","10鏈�","11鏈�","12鏈�"]},cascader:{title:"銈裤偆銉堛儷",placeholder:"銈儣銈枫儳銉炽倰閬告姙"},dropdownMenu:{reset:"銉偦銉冦儓",confirm:"纰鸿獚"},dateTimePicker:{dayjsLocale:"ja",title:"鏃ヤ粯銈掗伕鎶�",cancel:"銈儯銉炽偦銉�",confirm:"纰鸿獚",format:"YYYY-MM-DD",months:["1 鏈�","2 鏈�","3 鏈�","4 鏈�","5 鏈�","6 鏈�","7 鏈�","8 鏈�","9 鏈�","10 鏈�","11 鏈�","12 鏈�"],yearLabel:"骞�",monthLabel:"鏈�",dateLabel:"鏃�",hourLabel:"鏅�",minuteLabel:"鍒�",secondLabel:"绉�"},form:{errorMessage:{date:"姝c仐銇忓叆鍔涖仐銇︺亸銇犮仌銇�${name}",url:"姝c仐銇忓叆鍔涖仐銇︺亸銇犮仌銇�${name}",required:"${name}蹇呴爤闋呯洰",whitespace:"${name}銈掔┖銇仚銈嬨亾銇ㄣ伅銇с亶銇俱仜銈�",max:"${name}鏂囧瓧鏁板埗闄� ${validate} 鏂囧瓧锛屼竴涓簩鏂�",min:"${name}銈掍笅鍥炪倠鏂囧瓧鏁般伅浣跨敤銇с亶銇俱仜銈� ${validate} 鏂囧瓧锛屼竴涓簩鏂�",len:"${name}鏂囧瓧銇暦銇曘伅銆佸繀銇� ${validate}",enum:"${name}銇с仐銇嬨亗銈娿亪銇俱仜銈�${validate}绛�",idcard:"姝c仐銇忓叆鍔涖仐銇︺亸銇犮仌銇�${name}",telnumber:"姝c仐銇忓叆鍔涖仐銇︺亸銇犮仌銇�${name}",pattern:"姝c仐銇忓叆鍔涖仐銇︺亸銇犮仌銇�${name}",validator:"${name}瑕佷欢銈掓簚銇熴仐銇︺亜銇亜",boolean:"${name}銉囥兗銈垮瀷銇� Boolean 鍨嬨仹銇傘倠銇撱仺",number:"${name}銉囥偢銈裤儷銇с亗銈嬨亾銇�"},colonText:":"},picker:{cancel:"銈儯銉炽偦銉�",confirm:"纰鸿獚"},pullDownRefresh:{loadingTexts:["鏇存柊銇紩銇e嫉銇c仸銇忋仩銇曘亜","绶┿倎銇︽洿鏂颁腑","鏇存柊涓��","鏇存柊銇屽畬浜嗐仐銇俱仐銇�"]},rate:{texts:["鎮亜","涓嶆簚","鏅��","鑹亜","鏈�楂�"],valueText:"{value} 鐐�",noValueText:"銈广偝銈€仾銇�"},tabBar:{newsAriaLabel:"鏂般仐銇勩儖銉ャ兗銈广亴銇傘倞銇俱仚",moreNewsAriaLabel:"銇熴亸銇曘倱銇儖銉ャ兗銈广亴銇傘倞銇俱仚",haveMoreNewsAriaLabel:"{value}+ 浠躲伄銉嬨儱銉笺偣銇屻亗銈娿伨銇�",haveNewsAriaLabel:"{value} 浠躲伄銉嬨儱銉笺偣銇屻亗銈娿伨銇�"},table:{empty:"銉囥兗銈裤亴銇傘倞銇俱仜銈�"},list:{loading:"瑾伩杈笺伩涓��",loadingMoreText:"銈傘仯銇ㄨ銈嬨伀銇偗銉儍銈仐銇︺亸銇犮仌銇�",pulling:"鏇存柊銇紩銇e嫉銇c仸銇忋仩銇曘亜鈥�",loosing:"绶┿倎銇︽洿鏂颁腑鈥�",success:"鏇存柊銇屾垚鍔熴仐銇俱仐銇�"},upload:{progress:{uploadingText:"銈€儍銉椼儹銉笺儔涓��",waitingText:"寰呮涓�",failText:"澶辨晽銇椼伨銇椼仧",successText:"鎴愬姛銇椼伨銇椼仧"}},guide:{next:"娆°伕",skip:"銈广偔銉冦儣",finish:"瀹屼簡",back:"鎴汇倠"},qrcode:{expiredText:"鏈熼檺鍒囥倢",refreshText:"銉儠銉儍銈枫儱",scannedText:"銈广偔銉c兂銇曘倢銇�"},attachments:{status:{pending:"銈€儍銉椼儹銉笺儔涓�...",fail:"銈€儍銉椼儹銉笺儔澶辨晽"}},chatActionbar:{actionBar:{replay:"鏇存柊",copy:"銈炽償銉�",good:"銇勩亜銇�",bad:"浣庤渚�",share:"鍏辨湁",quote:"寮曠敤"}},chatSender:{placeholder:"銉°儍銈汇兗銈搞倰鍏ュ姏銇椼仸銇忋仩銇曘亜...",sendText:"閫佷俊",stopText:"鍋滄"},chatThinking:{status:{pending:"鎬濊�冧腑...",complete:"鎬濊�冨畬浜�",stop:"鎬濊�冦倰鍋滄"}}};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/ko_KR.d.ts b/miniprogram_npm/tdesign-miniprogram/locale/ko_KR.d.ts
new file mode 100644
index 0000000..7134016
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/ko_KR.d.ts
@@ -0,0 +1,130 @@
+import 'dayjs/locale/ko';
+declare const _default: {
+    actionSheet: {
+        cancel: string;
+    };
+    calendar: {
+        confirm: string;
+        title: string;
+        weekdays: string[];
+        monthTitle: string;
+        months: string[];
+    };
+    cascader: {
+        title: string;
+        placeholder: string;
+    };
+    dropdownMenu: {
+        reset: string;
+        confirm: string;
+    };
+    dateTimePicker: {
+        dayjsLocale: string;
+        title: string;
+        cancel: string;
+        confirm: string;
+        format: string;
+        months: string[];
+        yearLabel: string;
+        monthLabel: string;
+        dateLabel: string;
+        hourLabel: string;
+        minuteLabel: string;
+        secondLabel: string;
+    };
+    form: {
+        errorMessage: {
+            date: string;
+            url: string;
+            required: string;
+            whitespace: string;
+            max: string;
+            min: string;
+            len: string;
+            enum: string;
+            idcard: string;
+            telnumber: string;
+            pattern: string;
+            validator: string;
+            boolean: string;
+            number: string;
+        };
+        colonText: string;
+    };
+    picker: {
+        cancel: string;
+        confirm: string;
+    };
+    pullDownRefresh: {
+        loadingTexts: string[];
+    };
+    rate: {
+        texts: string[];
+        valueText: string;
+        noValueText: string;
+    };
+    tabBar: {
+        newsAriaLabel: string;
+        moreNewsAriaLabel: string;
+        haveMoreNewsAriaLabel: string;
+        haveNewsAriaLabel: string;
+    };
+    table: {
+        empty: string;
+    };
+    list: {
+        loading: string;
+        loadingMoreText: string;
+        pulling: string;
+        loosing: string;
+        success: string;
+    };
+    upload: {
+        progress: {
+            uploadingText: string;
+            waitingText: string;
+            failText: string;
+            successText: string;
+        };
+    };
+    guide: {
+        next: string;
+        skip: string;
+        finish: string;
+        back: string;
+    };
+    qrcode: {
+        expiredText: string;
+        refreshText: string;
+        scannedText: string;
+    };
+    attachments: {
+        status: {
+            pending: string;
+            fail: string;
+        };
+    };
+    chatActionbar: {
+        actionBar: {
+            replay: string;
+            copy: string;
+            good: string;
+            bad: string;
+            share: string;
+            quote: string;
+        };
+    };
+    chatSender: {
+        placeholder: string;
+        sendText: string;
+        stopText: string;
+    };
+    chatThinking: {
+        status: {
+            pending: string;
+            complete: string;
+            stop: string;
+        };
+    };
+};
+export default _default;
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/ko_KR.js b/miniprogram_npm/tdesign-miniprogram/locale/ko_KR.js
new file mode 100644
index 0000000..f9e7357
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/ko_KR.js
@@ -0,0 +1 @@
+import"dayjs/locale/ko";export default{actionSheet:{cancel:"旆唽"},calendar:{confirm:"頇曥澑",title:"雮犾 靹犿儩",weekdays:["鞚�","鞗�","頇�","靾�","氇�","旮�","韱�"],monthTitle:"{month} {year}",months:["1鞗�","2鞗�","3鞗�","4鞗�","5鞗�","6鞗�","7鞗�","8鞗�","9鞗�","10鞗�","11鞗�","12鞗�"]},cascader:{title:"鞝滊",placeholder:"鞓奠厴 靹犿儩"},dropdownMenu:{reset:"齑堦赴頇�",confirm:"頇曥澑"},dateTimePicker:{dayjsLocale:"ko",title:"雮犾 靹犿儩",cancel:"旆唽",confirm:"頇曥澑",format:"YYYY-MM-DD",months:["1 鞗�","2 鞗�","3 鞗�","4 鞗�","5 鞗�","6 鞗�","7 鞗�","8 鞗�","9 鞗�","10 鞗�","11 鞗�","12 鞗�"],yearLabel:"雲�",monthLabel:"鞗�",dateLabel:"鞚�",hourLabel:"鞁�",minuteLabel:"攵�",secondLabel:"齑�"},form:{errorMessage:{date:"鞝曧檿頃� 雮挫毄鞚� 鞛呺牓頃挫<靹胳殧${name}",url:"鞝曧檿頃� 雮挫毄鞚� 鞛呺牓頃挫<靹胳殧${name}",required:"${name}頃勳垬鞚�",whitespace:"${name}鞚� 牍勳柎 鞛堨潉 靾� 鞐嗢姷雼堧嫟",max:"${name}氍胳瀽 旮胳澊電� 齑堦臣頃� 靾� 鞐嗢姷雼堧嫟 ${validate} 旌愲Ν韯帮紝頃滌瀽電� 霊� 旮�鞛愳檧 臧欕嫟",min:"${name}氍胳瀽 旮胳澊電� 雼れ潓氤措嫟 鞛戩潉 靾� 鞐嗢姷雼堧嫟 ${validate} 旌愲Ν韯帮紝頃滌瀽電� 霊� 旮�鞛愳檧 臧欕嫟",len:"${name}氍胳瀽 旮胳澊電� 雼れ潓瓿� 臧欖晞鞎� 頃╇媹雼�. ${validate}",enum:"${name}毵� 霅� 靾� 鞛堨姷雼堧嫟${validate}攴鸽Μ瓿� 雿�",idcard:"鞝曧檿頃� 雮挫毄鞚� 鞛呺牓頃挫<靹胳殧${name}",telnumber:"鞝曧檿頃� 雮挫毄鞚� 鞛呺牓頃挫<靹胳殧${name}",pattern:"鞝曧檿頃� 雮挫毄鞚� 鞛呺牓頃挫<靹胳殧${name}",validator:"${name}牍勳靾�",boolean:"${name}雿办澊韯� 鞙犿槙鞚� 攵�鞖胳澊鞏挫暭 頃╇媹雼�",number:"${name}靾瀽鞐暭 頃╇媹雼�"},colonText:":"},picker:{cancel:"旆唽",confirm:"頇曥澑"},pullDownRefresh:{loadingTexts:["靸堧瓿犾龚鞚� 雼龟波欤检劯鞖�","電愳姩頃橁矊 頃橃棳 靸堧 瓿犾龚","靸堧瓿犾龚 欷�...","靸堧瓿犾龚 鞕勲"]},rate:{texts:["雮橃仺","鞁る","氤错喌","毵岇”","斓滉碃"],valueText:"{value}鞝�",noValueText:"鞝愳垬 鞐嗢潓"},tabBar:{newsAriaLabel:"靸� 雺挫姢臧� 鞛堨姷雼堧嫟",moreNewsAriaLabel:"毵庫潃 雺挫姢臧� 鞛堨姷雼堧嫟",haveMoreNewsAriaLabel:"{value}+瓯挫潣 雺挫姢臧� 鞛堨姷雼堧嫟",haveNewsAriaLabel:"{value}瓯挫潣 雺挫姢臧� 鞛堨姷雼堧嫟"},table:{empty:"牍� 雿办澊韯�"},list:{loading:"搿滊敥 欷�...",loadingMoreText:"雿� 毵庫潃 瓴冹潉 氤挫嫓霠る┐ 韥措Ν頃橃劯鞖�",pulling:"靸堧瓿犾龚鞚� 雼龟波欤检劯鞖�...",loosing:"電愳姩頃橁矊 頃橃棳 靸堧 瓿犾龚...",success:"靸堧瓿犾龚 靹标车"},upload:{progress:{uploadingText:"鞐呺霌� 欷�...",waitingText:"雽�旮� 欷�",failText:"鞁ろ尐頄堨姷雼堧嫟",successText:"靹标车頄堨姷雼堧嫟"}},guide:{next:"雼れ潓",skip:"瓯措剤霙瓣赴",finish:"鞕勲",back:"霋る"},qrcode:{expiredText:"毵岆霅�",refreshText:"靸堧 瓿犾箻雼�",scannedText:"鞀れ簲霅�"},attachments:{status:{pending:"鞐呺霌� 欷�...",fail:"鞐呺霌� 鞁ろ尐"}},chatActionbar:{actionBar:{replay:"靸堧瓿犾龚",copy:"氤奠偓",good:"膦嬱晞鞖�",bad:"鞁柎鞖�",share:"瓿奠湢",quote:"鞚胳毄"}},chatSender:{placeholder:"氅旍嫓歆�毳� 鞛呺牓頃橃劯鞖�...",sendText:"氤措偞旮�",stopText:"欷戩"},chatThinking:{status:{pending:"靸濌皝 欷�...",complete:"靸濌皝 鞕勲",stop:"靸濌皝 欷戩"}}};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/ru_RU.d.ts b/miniprogram_npm/tdesign-miniprogram/locale/ru_RU.d.ts
new file mode 100644
index 0000000..8e0f765
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/ru_RU.d.ts
@@ -0,0 +1,130 @@
+import 'dayjs/locale/ru';
+declare const _default: {
+    actionSheet: {
+        cancel: string;
+    };
+    calendar: {
+        confirm: string;
+        title: string;
+        weekdays: string[];
+        monthTitle: string;
+        months: string[];
+    };
+    cascader: {
+        title: string;
+        placeholder: string;
+    };
+    dropdownMenu: {
+        reset: string;
+        confirm: string;
+    };
+    dateTimePicker: {
+        dayjsLocale: string;
+        title: string;
+        cancel: string;
+        confirm: string;
+        format: string;
+        months: string[];
+        yearLabel: string;
+        monthLabel: string;
+        dateLabel: string;
+        hourLabel: string;
+        minuteLabel: string;
+        secondLabel: string;
+    };
+    form: {
+        errorMessage: {
+            date: string;
+            url: string;
+            whitespace: string;
+            required: string;
+            max: string;
+            min: string;
+            len: string;
+            enum: string;
+            idcard: string;
+            telnumber: string;
+            pattern: string;
+            validator: string;
+            boolean: string;
+            number: string;
+        };
+        colonText: string;
+    };
+    picker: {
+        cancel: string;
+        confirm: string;
+    };
+    pullDownRefresh: {
+        loadingTexts: string[];
+    };
+    rate: {
+        texts: string[];
+        valueText: string;
+        noValueText: string;
+    };
+    tabBar: {
+        newsAriaLabel: string;
+        moreNewsAriaLabel: string;
+        haveMoreNewsAriaLabel: string;
+        haveNewsAriaLabel: string;
+    };
+    table: {
+        empty: string;
+    };
+    list: {
+        loading: string;
+        loadingMoreText: string;
+        pulling: string;
+        loosing: string;
+        success: string;
+    };
+    upload: {
+        progress: {
+            uploadingText: string;
+            waitingText: string;
+            failText: string;
+            successText: string;
+        };
+    };
+    guide: {
+        next: string;
+        skip: string;
+        finish: string;
+        back: string;
+    };
+    qrcode: {
+        expiredText: string;
+        refreshText: string;
+        scannedText: string;
+    };
+    attachments: {
+        status: {
+            pending: string;
+            fail: string;
+        };
+    };
+    chatActionbar: {
+        actionBar: {
+            replay: string;
+            copy: string;
+            good: string;
+            bad: string;
+            share: string;
+            quote: string;
+        };
+    };
+    chatSender: {
+        placeholder: string;
+        sendText: string;
+        stopText: string;
+    };
+    chatThinking: {
+        status: {
+            pending: string;
+            complete: string;
+            stop: string;
+        };
+    };
+};
+export default _default;
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/ru_RU.js b/miniprogram_npm/tdesign-miniprogram/locale/ru_RU.js
new file mode 100644
index 0000000..ca332fc
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/ru_RU.js
@@ -0,0 +1 @@
+import"dayjs/locale/ru";export default{actionSheet:{cancel:"袨褌屑械薪邪"},calendar:{confirm:"袩芯写褌胁械褉写懈褌褜",title:"袙褘斜械褉懈褌械 写邪褌褍",weekdays:["袙褋","袩薪","袙褌","小褉","效褌","袩褌","小斜"],monthTitle:"{month} {year}",months:["携薪胁邪褉褜","肖械胁褉邪谢褜","袦邪褉褌","袗锌褉械谢褜","袦邪泄","袠褞薪褜","袠褞谢褜","袗胁谐褍褋褌","小械薪褌褟斜褉褜","袨泻褌褟斜褉褜","袧芯褟斜褉褜","袛械泻邪斜褉褜"]},cascader:{title:"袧邪蟹胁邪薪懈械",placeholder:"袙褘斜械褉懈褌械 芯锌褑懈褞"},dropdownMenu:{reset:"小斜褉芯褋",confirm:"袩芯写褌胁械褉写懈褌褜"},dateTimePicker:{dayjsLocale:"ru",title:"袙褘斜械褉懈褌械 胁褉械屑褟",cancel:"袨褌屑械薪邪",confirm:"袩芯写褌胁械褉写懈褌褜",format:"DD.MM.YYYY",months:["携薪胁邪褉褜","肖械胁褉邪谢褜","袦邪褉褌","袗锌褉械谢褜","袦邪泄","袠褞薪褜","袠褞谢褜","袗胁谐褍褋褌","小械薪褌褟斜褉褜","袨泻褌褟斜褉褜","袧芯褟斜褉褜","袛械泻邪斜褉褜"],yearLabel:"袚芯写",monthLabel:"袦械褋褟褑",dateLabel:"袛械薪褜",hourLabel:"效邪褋",minuteLabel:"袦懈薪褍褌邪",secondLabel:"小械泻褍薪写邪"},form:{errorMessage:{date:"袙胁械写懈褌械 锌褉邪胁懈谢褜薪褘泄 ${name}",url:"袙胁械写懈褌械 锌褉邪胁懈谢褜薪褘泄 ${name}",whitespace:"${name} 薪械 屑芯卸械褌 斜褘褌褜 锌褍褋褌褘屑",required:"${name} 芯斜褟蟹邪褌械谢褜薪芯 写谢褟 蟹邪锌芯谢薪械薪懈褟",max:"袛谢懈薪邪 褋懈屑胁芯谢芯胁 ${name} 薪械 写芯谢卸薪邪 锌褉械胁褘褕邪褌褜 ${validate} 褋懈屑胁芯谢芯胁",min:"袛谢懈薪邪 褋懈屑胁芯谢芯胁 ${name} 薪械 写芯谢卸薪邪 斜褘褌褜 屑械薪褜褕械 ${validate} 褋懈屑胁芯谢芯胁",len:"袛谢懈薪邪 褋懈屑胁芯谢芯胁 ${name} 写芯谢卸薪邪 斜褘褌褜 ${validate}",enum:"${name} 屑芯卸械褌 斜褘褌褜 褌芯谢褜泻芯 ${validate} 懈 褌.写.",idcard:"袙胁械写懈褌械 锌褉邪胁懈谢褜薪褘泄 ${name}",telnumber:"袙胁械写懈褌械 锌褉邪胁懈谢褜薪褘泄 ${name}",pattern:"袙胁械写懈褌械 锌褉邪胁懈谢褜薪褘泄 ${name}",validator:"${name} 薪械 褋芯芯褌胁械褌褋褌胁褍械褌 褌褉械斜芯胁邪薪懈褟屑",boolean:"孝懈锌 写邪薪薪褘褏 ${name} 写芯谢卸械薪 斜褘褌褜 斜褍谢械胁褘屑",number:"${name} 写芯谢卸薪芯 斜褘褌褜 褔懈褋谢芯屑"},colonText:":"},picker:{cancel:"袨褌屑械薪邪",confirm:"袩芯写褌胁械褉写懈褌褜"},pullDownRefresh:{loadingTexts:["袩芯褌褟薪懈褌械 胁薪懈蟹 写谢褟 芯斜薪芯胁谢械薪懈褟","袨褌锌褍褋褌懈褌械 写谢褟 芯斜薪芯胁谢械薪懈褟","袨斜薪芯胁谢械薪懈械...","袨斜薪芯胁谢械薪懈械 蟹邪胁械褉褕械薪芯"]},rate:{texts:["袩谢芯褏芯","袨斜懈写薪芯","袧芯褉屑邪谢褜薪芯","啸芯褉芯褕芯","袨褌谢懈褔薪芯"],valueText:"{value} 斜邪谢谢芯胁",noValueText:"袘械蟹 芯褑械薪泻懈"},tabBar:{newsAriaLabel:"袝褋褌褜 薪芯胁褘械 褋芯芯斜褖械薪懈褟",moreNewsAriaLabel:"袝褋褌褜 屑薪芯谐芯 薪芯胁褘褏 褋芯芯斜褖械薪懈泄",haveMoreNewsAriaLabel:"袝褋褌褜 {value}+ 褋芯芯斜褖械薪懈泄",haveNewsAriaLabel:"袝褋褌褜 {value} 褋芯芯斜褖械薪懈泄"},table:{empty:"袧械褌 写邪薪薪褘褏"},list:{loading:"袟邪谐褉褍蟹泻邪...",loadingMoreText:"袧邪卸屑懈褌械, 褔褌芯斜褘 蟹邪谐褉褍蟹懈褌褜 斜芯谢褜褕械",pulling:"袩芯褌褟薪懈褌械, 褔褌芯斜褘 芯斜薪芯胁懈褌褜...",loosing:"袨褌锌褍褋褌懈褌械, 褔褌芯斜褘 芯斜薪芯胁懈褌褜...",success:"校褋锌械褕薪芯 芯斜薪芯胁谢械薪芯"},upload:{progress:{uploadingText:"袟邪谐褉褍蟹泻邪...",waitingText:"袨卸懈写邪薪懈械 蟹邪谐褉褍蟹泻懈",failText:"袨褕懈斜泻邪 蟹邪谐褉褍蟹泻懈",successText:"袟邪谐褉褍蟹泻邪 蟹邪胁械褉褕械薪邪"}},guide:{next:"袛邪谢械械",skip:"袩褉芯锌褍褋褌懈褌褜",finish:"袚芯褌芯胁芯",back:"袧邪蟹邪写"},qrcode:{expiredText:"懈褋褌械泻褕懈泄",refreshText:"芯斜薪芯胁懈褌褜",scannedText:"褋泻邪薪懈褉芯胁邪薪薪褘泄"},attachments:{status:{pending:"袟邪谐褉褍蟹泻邪...",fail:"袨褕懈斜泻邪 蟹邪谐褉褍蟹泻懈"}},chatActionbar:{actionBar:{replay:"袨斜薪芯胁懈褌褜",copy:"袣芯锌懈褉芯胁邪褌褜",good:"袧褉邪胁懈褌褋褟",bad:"袧械 薪褉邪胁懈褌褋褟",share:"袩芯写械谢懈褌褜褋褟",quote:"笑懈褌懈褉芯胁邪褌褜"}},chatSender:{placeholder:"袙胁械写懈褌械 褋芯芯斜褖械薪懈械...",sendText:"袨褌锌褉邪胁懈褌褜",stopText:"袨褋褌邪薪芯胁懈褌褜"},chatThinking:{status:{pending:"袛褍屑邪褞...",complete:"袟邪胁械褉褕懈谢 褉邪蟹屑褘褕谢械薪懈褟",stop:"袪邪蟹屑褘褕谢械薪懈褟 芯褋褌邪薪芯胁谢械薪褘"}}};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/zh_CN.d.ts b/miniprogram_npm/tdesign-miniprogram/locale/zh_CN.d.ts
new file mode 100644
index 0000000..4a437c9
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/zh_CN.d.ts
@@ -0,0 +1,131 @@
+import 'dayjs/locale/zh-cn';
+declare const _default: {
+    actionSheet: {
+        cancel: string;
+    };
+    calendar: {
+        title: string;
+        confirm: string;
+        weekdays: string[];
+        monthTitle: string;
+        months: string[];
+    };
+    cascader: {
+        title: string;
+        placeholder: string;
+    };
+    dropdownMenu: {
+        reset: string;
+        confirm: string;
+    };
+    dateTimePicker: {
+        dayjsLocale: string;
+        title: string;
+        cancel: string;
+        confirm: string;
+        format: string;
+        months: string[];
+        yearLabel: string;
+        monthLabel: string;
+        dateLabel: string;
+        hourLabel: string;
+        minuteLabel: string;
+        secondLabel: string;
+    };
+    form: {
+        errorMessage: {
+            date: string;
+            url: string;
+            required: string;
+            whitespace: string;
+            max: string;
+            min: string;
+            len: string;
+            enum: string;
+            idcard: string;
+            telnumber: string;
+            pattern: string;
+            validator: string;
+            boolean: string;
+            number: string;
+        };
+        colonText: string;
+    };
+    picker: {
+        cancel: string;
+        confirm: string;
+    };
+    pullDownRefresh: {
+        loadingTexts: string[];
+    };
+    rate: {
+        texts: string[];
+        valueText: string;
+        noValueText: string;
+    };
+    tabBar: {
+        newsAriaLabel: string;
+        moreNewsAriaLabel: string;
+        haveMoreNewsAriaLabel: string;
+        haveNewsAriaLabel: string;
+    };
+    table: {
+        empty: string;
+    };
+    list: {
+        loading: string;
+        loadingMoreText: string;
+        pulling: string;
+        loosing: string;
+        success: string;
+    };
+    upload: {
+        progress: {
+            uploadingText: string;
+            waitingText: string;
+            failText: string;
+            successText: string;
+            reloadText: string;
+        };
+    };
+    guide: {
+        next: string;
+        skip: string;
+        finish: string;
+        back: string;
+    };
+    qrcode: {
+        expiredText: string;
+        refreshText: string;
+        scannedText: string;
+    };
+    attachments: {
+        status: {
+            pending: string;
+            fail: string;
+        };
+    };
+    chatActionbar: {
+        actionBar: {
+            replay: string;
+            copy: string;
+            good: string;
+            bad: string;
+            share: string;
+            quote: string;
+        };
+    };
+    chatSender: {
+        placeholder: string;
+        sendText: string;
+        stopText: string;
+    };
+    chatThinking: {
+        status: {
+            pending: string;
+            complete: string;
+            stop: string;
+        };
+    };
+};
+export default _default;
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/zh_CN.js b/miniprogram_npm/tdesign-miniprogram/locale/zh_CN.js
new file mode 100644
index 0000000..de94828
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/zh_CN.js
@@ -0,0 +1 @@
+import"dayjs/locale/zh-cn";export default{actionSheet:{cancel:"鍙栨秷"},calendar:{title:"璇烽�夋嫨鏃ユ湡",confirm:"纭",weekdays:["鏃�","涓�","浜�","涓�","鍥�","浜�","鍏�"],monthTitle:"{year} 骞� {month}",months:["1 鏈�","2 鏈�","3 鏈�","4 鏈�","5 鏈�","6 鏈�","7 鏈�","8 鏈�","9 鏈�","10 鏈�","11 鏈�","12 鏈�"]},cascader:{title:"鏍囬",placeholder:"閫夋嫨閫夐」"},dropdownMenu:{reset:"閲嶇疆",confirm:"纭畾"},dateTimePicker:{dayjsLocale:"zh-cn",title:"閫夋嫨鏃堕棿",cancel:"鍙栨秷",confirm:"纭畾",format:"YYYY-MM-DD",months:["1 鏈�","2 鏈�","3 鏈�","4 鏈�","5 鏈�","6 鏈�","7 鏈�","8 鏈�","9 鏈�","10 鏈�","11 鏈�","12 鏈�"],yearLabel:"骞�",monthLabel:"鏈�",dateLabel:"鏃�",hourLabel:"鏃�",minuteLabel:"鍒�",secondLabel:"绉�"},form:{errorMessage:{date:"璇疯緭鍏ユ纭殑${name}",url:"璇疯緭鍏ユ纭殑${name}",required:"${name}蹇呭~",whitespace:"${name}涓嶈兘涓虹┖",max:"${name}瀛楃闀垮害涓嶈兘瓒呰繃 ${validate} 涓瓧绗︼紝涓�涓腑鏂囩瓑浜庝袱涓瓧绗�",min:"${name}瀛楃闀垮害涓嶈兘灏戜簬 ${validate} 涓瓧绗︼紝涓�涓腑鏂囩瓑浜庝袱涓瓧绗�",len:"${name}瀛楃闀垮害蹇呴』鏄� ${validate}",enum:"${name}鍙兘鏄�${validate}绛�",idcard:"璇疯緭鍏ユ纭殑${name}",telnumber:"璇疯緭鍏ユ纭殑${name}",pattern:"璇疯緭鍏ユ纭殑${name}",validator:"${name}涓嶇鍚堣姹�",boolean:"${name}鏁版嵁绫诲瀷蹇呴』鏄竷灏旂被鍨�",number:"${name}蹇呴』鏄暟瀛�"},colonText:"锛�"},picker:{cancel:"鍙栨秷",confirm:"纭"},pullDownRefresh:{loadingTexts:["涓嬫媺鍒锋柊","鏉炬墜鍒锋柊","姝e湪鍒锋柊","鍒锋柊瀹屾垚"]},rate:{texts:["鏋佸樊","澶辨湜","涓�鑸�","婊℃剰","鎯婂枩"],valueText:"{value} 鍒�",noValueText:"鏈瘎鍒�"},tabBar:{newsAriaLabel:"鏈夋柊鐨勬秷鎭�",moreNewsAriaLabel:"鏈夊緢澶氭秷鎭�",haveMoreNewsAriaLabel:"鏈� {value}+ 鏉℃秷鎭�",haveNewsAriaLabel:"鏈� {value} 鏉℃秷鎭�"},table:{empty:"鏆傛棤鏁版嵁"},list:{loading:"鍔犺浇涓�...",loadingMoreText:"鐐瑰嚮鍔犺浇鏇村",pulling:"涓嬫媺鍗冲彲鍒锋柊...",loosing:"閲婃斁鍗冲彲鍒锋柊...",success:"鍒锋柊鎴愬姛"},upload:{progress:{uploadingText:"涓婁紶涓�...",waitingText:"寰呬笂浼�",failText:"涓婁紶澶辫触",successText:"涓婁紶鎴愬姛",reloadText:"閲嶆柊涓婁紶"}},guide:{next:"涓嬩竴姝�",skip:"璺宠繃",finish:"瀹屾垚",back:"杩斿洖"},qrcode:{expiredText:"浜岀淮鐮佽繃鏈�",refreshText:"鐐瑰嚮鍒锋柊",scannedText:"宸叉壂鎻�"},attachments:{status:{pending:"涓婁紶涓�...",fail:"涓婁紶澶辫触"}},chatActionbar:{actionBar:{replay:"鍒锋柊",copy:"澶嶅埗",good:"鐐硅禐",bad:"鐐硅俯",share:"鍒嗕韩",quote:"寮曠敤"}},chatSender:{placeholder:"璇疯緭鍏ユ秷鎭�...",sendText:"鍙戦��",stopText:"鍋滄"},chatThinking:{status:{pending:"姝e湪鎬濊�冧腑...",complete:"宸插畬鎴愭�濊��",stop:"宸插仠姝㈡�濊��"}}};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/zh_TW.d.ts b/miniprogram_npm/tdesign-miniprogram/locale/zh_TW.d.ts
new file mode 100644
index 0000000..c34f7fa
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/zh_TW.d.ts
@@ -0,0 +1,130 @@
+import 'dayjs/locale/zh-tw';
+declare const _default: {
+    actionSheet: {
+        cancel: string;
+    };
+    calendar: {
+        title: string;
+        confirm: string;
+        weekdays: string[];
+        monthTitle: string;
+        months: string[];
+    };
+    cascader: {
+        title: string;
+        placeholder: string;
+    };
+    dropdownMenu: {
+        reset: string;
+        confirm: string;
+    };
+    dateTimePicker: {
+        dayjsLocale: string;
+        title: string;
+        cancel: string;
+        confirm: string;
+        format: string;
+        months: string[];
+        yearLabel: string;
+        monthLabel: string;
+        dateLabel: string;
+        hourLabel: string;
+        minuteLabel: string;
+        secondLabel: string;
+    };
+    form: {
+        errorMessage: {
+            date: string;
+            url: string;
+            whitespace: string;
+            required: string;
+            max: string;
+            min: string;
+            len: string;
+            enum: string;
+            idcard: string;
+            telnumber: string;
+            pattern: string;
+            validator: string;
+            boolean: string;
+            number: string;
+        };
+        colonText: string;
+    };
+    picker: {
+        cancel: string;
+        confirm: string;
+    };
+    pullDownRefresh: {
+        loadingTexts: string[];
+    };
+    rate: {
+        texts: string[];
+        valueText: string;
+        noValueText: string;
+    };
+    tabBar: {
+        newsAriaLabel: string;
+        moreNewsAriaLabel: string;
+        haveMoreNewsAriaLabel: string;
+        haveNewsAriaLabel: string;
+    };
+    table: {
+        empty: string;
+    };
+    list: {
+        loading: string;
+        loadingMoreText: string;
+        pulling: string;
+        loosing: string;
+        success: string;
+    };
+    upload: {
+        progress: {
+            uploadingText: string;
+            waitingText: string;
+            failText: string;
+            successText: string;
+        };
+    };
+    guide: {
+        next: string;
+        skip: string;
+        finish: string;
+        back: string;
+    };
+    qrcode: {
+        expiredText: string;
+        refreshText: string;
+        scannedText: string;
+    };
+    attachments: {
+        status: {
+            pending: string;
+            fail: string;
+        };
+    };
+    chatActionbar: {
+        actionBar: {
+            replay: string;
+            copy: string;
+            good: string;
+            bad: string;
+            share: string;
+            quote: string;
+        };
+    };
+    chatSender: {
+        placeholder: string;
+        sendText: string;
+        stopText: string;
+    };
+    chatThinking: {
+        status: {
+            pending: string;
+            complete: string;
+            stop: string;
+        };
+    };
+};
+export default _default;
diff --git a/miniprogram_npm/tdesign-miniprogram/locale/zh_TW.js b/miniprogram_npm/tdesign-miniprogram/locale/zh_TW.js
new file mode 100644
index 0000000..1dcb674
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/locale/zh_TW.js
@@ -0,0 +1 @@
+import"dayjs/locale/zh-tw";export default{actionSheet:{cancel:"鍙栨秷"},calendar:{title:"璜嬮伕鎿囨棩鏈�",confirm:"纰鸿獚",weekdays:["鏃�","涓�","浜�","涓�","鍥�","浜�","鍏�"],monthTitle:"{year} 骞� {month}",months:["1 鏈�","2 鏈�","3 鏈�","4 鏈�","5 鏈�","6 鏈�","7 鏈�","8 鏈�","9 鏈�","10 鏈�","11 鏈�","12 鏈�"]},cascader:{title:"妯欓",placeholder:"閬告搰閬搁爡"},dropdownMenu:{reset:"閲嶇疆",confirm:"纰哄畾"},dateTimePicker:{dayjsLocale:"zh-tw",title:"閬告搰鏅傞枔",cancel:"鍙栨秷",confirm:"纰哄畾",format:"YYYY-MM-DD",months:["1鏈�","2鏈�","3鏈�","4鏈�","5鏈�","6鏈�","7鏈�","8鏈�","9鏈�","10鏈�","11鏈�","12鏈�"],yearLabel:"骞�",monthLabel:"鏈�",dateLabel:"鏃�",hourLabel:"鏅�",minuteLabel:"鍒�",secondLabel:"绉�"},form:{errorMessage:{date:"璜嬭几鍏ユ纰虹殑${name}",url:"璜嬭几鍏ユ纰虹殑${name}",whitespace:"${name}涓嶈兘鐐虹┖",required:"${name}蹇呭~",max:"${name}瀛楃闀峰害涓嶈兘瓒呴亷 ${validate} 鍊嬪瓧绗︼紝涓�鍊嬩腑鏂囩瓑鏂煎叐鍊嬪瓧绗�",min:"${name}瀛楃闀峰害涓嶈兘灏戞柤 ${validate} 鍊嬪瓧绗︼紝涓�鍊嬩腑鏂囩瓑鏂煎叐鍊嬪瓧绗�",len:"${name}瀛楃闀峰害蹇呴爤鏄� ${validate}",enum:"${name}鍙兘鏄�${validate}绛�",idcard:"璜嬭几鍏ユ纰虹殑${name}",telnumber:"璜嬭几鍏ユ纰虹殑${name}",pattern:"璜嬭几鍏ユ纰虹殑${name}",validator:"${name}涓嶇鍚堣姹�",boolean:"${name}鏁告摎椤炲瀷蹇呴爤鏄竷鏋楅鍨�",number:"${name}蹇呴爤鏄暩瀛�"},colonText:"锛�"},picker:{cancel:"鍙栨秷",confirm:"纰鸿獚"},pullDownRefresh:{loadingTexts:["涓嬫媺鍒锋柊","楝嗘墜鍒锋柊","姝e湪鍒锋柊","鍒锋柊瀹屾垚"]},rate:{texts:["妤靛樊","澶辨湜","涓�鑸�","婊挎剰","椹氬枩"],valueText:"{value} 鍒�",noValueText:"鏈鍒�"},tabBar:{newsAriaLabel:"鏈夋柊娑堟伅",moreNewsAriaLabel:"鏈夊緢澶氭秷鎭�",haveMoreNewsAriaLabel:"鏈� {value}+ 姊濇秷鎭�",haveNewsAriaLabel:"鏈� {value} 姊濇秷鎭�"},table:{empty:"鏆劇鏁告摎"},list:{loading:"鍔犺級涓�...",loadingMoreText:"榛炴搳鍔犺級鏇村",pulling:"涓嬫媺鍗冲彲鍒锋柊...",loosing:"閲嬫斁鍗冲彲鍒锋柊...",success:"鍒锋柊鎴愬姛"},upload:{progress:{uploadingText:"涓婂偝涓�...",waitingText:"寰呬笂鍌�",failText:"涓婂偝澶辨晽",successText:"涓婂偝鎴愬姛"}},guide:{next:"涓嬩竴姝�",skip:"璺抽亷",finish:"瀹屾垚",back:"杩斿洖"},qrcode:{expiredText:"浜岀董纰奸亷鏈�",refreshText:"榛炴搳鍒锋柊",scannedText:"宸叉巸鎻�"},attachments:{status:{pending:"涓婂偝涓�...",fail:"涓婂偝澶辨晽"}},chatActionbar:{actionBar:{replay:"鍒锋柊",copy:"瑜囪=",good:"榛炶畾",bad:"榛炶俯",share:"鍒嗕韩",quote:"寮曠敤"}},chatSender:{placeholder:"璜嬭几鍏ユ秷鎭�...",sendText:"鐧奸��",stopText:"鍋滄"},chatThinking:{status:{pending:"姝e湪鎬濊�冧腑...",complete:"宸插畬鎴愭�濊��",stop:"宸插仠姝㈡�濊��"}}};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/message-item/index.d.ts b/miniprogram_npm/tdesign-miniprogram/message-item/index.d.ts
index 82441ea..ad0c205 100644
--- a/miniprogram_npm/tdesign-miniprogram/message-item/index.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/message-item/index.d.ts
@@ -1,9 +1,8 @@
 /// <reference types="miniprogram-api-typings" />
 /// <reference types="miniprogram-api-typings" />
-/// <reference types="miniprogram-api-typings" />
 import { MessageProps } from '../message/message.interface';
 declare type Context = WechatMiniprogram.Page.TrivialInstance | WechatMiniprogram.Component.TrivialInstance;
-interface MessageActionOptionsType extends Optional<MessageProps> {
+interface MessageActionOptionsType extends Partial<MessageProps> {
     context?: Context;
     selector?: string;
 }
diff --git a/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxss b/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxss
index 44c8ca9..986cd2c 100644
--- a/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/message-item/message-item.wxss
@@ -1,5 +1,5 @@
 @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{display:inline-block;color:var(--td-message-content-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
 .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)));}
diff --git a/miniprogram_npm/tdesign-miniprogram/message/index.d.ts b/miniprogram_npm/tdesign-miniprogram/message/index.d.ts
index a8cf1e3..8667569 100644
--- a/miniprogram_npm/tdesign-miniprogram/message/index.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/message/index.d.ts
@@ -1,9 +1,8 @@
 /// <reference types="miniprogram-api-typings" />
 /// <reference types="miniprogram-api-typings" />
-/// <reference types="miniprogram-api-typings" />
 import { MessageProps } from './message.interface';
 declare type Context = WechatMiniprogram.Page.TrivialInstance | WechatMiniprogram.Component.TrivialInstance;
-interface MessageActionOptionsType extends Optional<MessageProps> {
+interface MessageActionOptionsType extends Partial<MessageProps> {
     context?: Context;
     selector?: string;
 }
diff --git a/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/ar.js b/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/ar.js
new file mode 100644
index 0000000..f668880
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/ar.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_locale_ar=t(e.dayjs)}(this,function(e){"use strict";var t=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(e),n="賷賳丕賷乇_賮亘乇丕賷乇_賲丕乇爻_兀亘乇賷賱_賲丕賷賵_賷賵賳賷賵_賷賵賱賷賵_兀睾爻胤爻_爻亘鬲賲亘乇_兀賰鬲賵亘乇_賳賵賮賲亘乇_丿賷爻賲亘乇".split("_"),r={1:"佟",2:"佗",3:"伲",4:"伽",5:"佶",6:"佴",7:"侑",8:"侉",9:"侃",0:"贍"},d={"佟":"1","佗":"2","伲":"3","伽":"4","佶":"5","佴":"6","侑":"7","侉":"8","侃":"9","贍":"0"},_=/[佟佗伲伽佶佴侑侉侃贍]/g,o=/貙/g,i=/\d/g,a=/,/g,s={name:"ar",weekdays:"丕賱兀丨丿_丕賱廿孬賳賷賳_丕賱孬賱丕孬丕亍_丕賱兀乇亘毓丕亍_丕賱禺賲賷爻_丕賱噩賲毓丞_丕賱爻亘鬲".split("_"),weekdaysShort:"兀丨丿_廿孬賳賷賳_孬賱丕孬丕亍_兀乇亘毓丕亍_禺賲賷爻_噩賲毓丞_爻亘鬲".split("_"),weekdaysMin:"丨_賳_孬_乇_禺_噩_爻".split("_"),months:n,monthsShort:n,weekStart:6,meridiem:function(e){return e>12?"賲":"氐"},relativeTime:{future:"亘毓丿 %s",past:"賲賳匕 %s",s:"孬丕賳賷丞 賵丕丨丿丞",m:"丿賯賷賯丞 賵丕丨丿丞",mm:"%d 丿賯丕卅賯",h:"爻丕毓丞 賵丕丨丿丞",hh:"%d 爻丕毓丕鬲",d:"賷賵賲 賵丕丨丿",dd:"%d 兀賷丕賲",M:"卮賴乇 賵丕丨丿",MM:"%d 兀卮賴乇",y:"毓丕賲 賵丕丨丿",yy:"%d 兀毓賵丕賲"},preparse:function(e){return e.replace(_,function(e){return d[e]}).replace(o,",")},postformat:function(e){return e.replace(i,function(e){return r[e]}).replace(a,"貙")},ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/鈥廙/鈥廦YYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"}};return t.default.locale(s,null,!0),s});
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/it.js b/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/it.js
new file mode 100644
index 0000000..37ef4b6
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/dayjs/locale/it.js
@@ -0,0 +1 @@
+!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_locale_it=o(e.dayjs)}(this,function(e){"use strict";var o=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(e),t={name:"it",weekdays:"domenica_luned矛_marted矛_mercoled矛_gioved矛_venerd矛_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),weekStart:1,monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"tra %s",past:"%s fa",s:"qualche secondo",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinal:function(e){return e+"潞"}};return o.default.locale(t,null,!0),t});
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/marked/index.js b/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/marked/index.js
new file mode 100644
index 0000000..2107b85
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/miniprogram_npm/marked/index.js
@@ -0,0 +1 @@
+function L(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var T=L();function G(e){T=e}var E={exec:()=>null};function d(e,t=""){let n="string"==typeof e?e:e.source,r={replace:(e,t)=>{let s="string"==typeof t?t:t.source;return s=s.replace(m.caret,"$1"),n=n.replace(e,s),r},getRegex:()=>new RegExp(n,t)};return r}var be=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),m={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[\t ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i")},Re=/^(?:[ \t]*(?:\n|$))+/,Te=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Oe=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,I=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,we=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,F=/(?:[*+-]|\d{1,9}[.)])/,ie=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,oe=d(ie).replace(/bull/g,F).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),ye=d(ie).replace(/bull/g,F).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),j=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Pe=/^[^\n]+/,Q=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Se=d(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Q).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),$e=d(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,F).getRegex(),v="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",U=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,_e=d("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",U).replace("tag",v).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ae=d(j).replace("hr",I).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",v).getRegex(),Le=d(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ae).getRegex(),K={blockquote:Le,code:Te,def:Se,fences:Oe,heading:we,hr:I,html:_e,lheading:oe,list:$e,newline:Re,paragraph:ae,table:E,text:Pe},re=d("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",I).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",v).getRegex(),Me={...K,lheading:ye,table:re,paragraph:d(j).replace("hr",I).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",re).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",v).getRegex()},ze={...K,html:d("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",U).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:E,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:d(j).replace("hr",I).replace("heading"," *#{1,6} *[^\n]").replace("lheading",oe).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Ae=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Ee=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,le=/^( {2,}|\\)\n(?!\s*$)/,Ie=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,D=/[\p{P}\p{S}]/u,W=/[\s\p{P}\p{S}]/u,ue=/[^\s\p{P}\p{S}]/u,Ce=d(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,W).getRegex(),pe=/(?!~)[\p{P}\p{S}]/u,Be=/(?!~)[\s\p{P}\p{S}]/u,qe=/(?:[^\s\p{P}\p{S}]|~)/u,ve=d(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",be?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),ce=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,De=d(ce,"u").replace(/punct/g,D).getRegex(),He=d(ce,"u").replace(/punct/g,pe).getRegex(),he="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Ze=d(he,"gu").replace(/notPunctSpace/g,ue).replace(/punctSpace/g,W).replace(/punct/g,D).getRegex(),Ge=d(he,"gu").replace(/notPunctSpace/g,qe).replace(/punctSpace/g,Be).replace(/punct/g,pe).getRegex(),Ne=d("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,ue).replace(/punctSpace/g,W).replace(/punct/g,D).getRegex(),Fe=d(/\\(punct)/,"gu").replace(/punct/g,D).getRegex(),je=d(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Qe=d(U).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ue=d("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Qe).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),q=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,Ke=d(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",q).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),de=d(/^!?\[(label)\]\[(ref)\]/).replace("label",q).replace("ref",Q).getRegex(),ke=d(/^!?\[(ref)\](?:\[\])?/).replace("ref",Q).getRegex(),We=d("reflink|nolink(?!\\()","g").replace("reflink",de).replace("nolink",ke).getRegex(),se=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,X={_backpedal:E,anyPunctuation:Fe,autolink:je,blockSkip:ve,br:le,code:Ee,del:E,emStrongLDelim:De,emStrongRDelimAst:Ze,emStrongRDelimUnd:Ne,escape:Ae,link:Ke,nolink:ke,punctuation:Ce,reflink:de,reflinkSearch:We,tag:Ue,text:Ie,url:E},Xe={...X,link:d(/^!?\[(label)\]\((.*?)\)/).replace("label",q).getRegex(),reflink:d(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",q).getRegex()},N={...X,emStrongRDelimAst:Ge,emStrongLDelim:He,url:d(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",se).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:d(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",se).getRegex()},Je={...N,br:d(le).replace("{2,}","*").getRegex(),text:d(N.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},C={normal:K,gfm:Me,pedantic:ze},M={normal:X,gfm:N,breaks:Je,pedantic:Xe},Ve={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ge=e=>Ve[e];function w(e,t){if(t){if(m.escapeTest.test(e))return e.replace(m.escapeReplace,ge)}else if(m.escapeTestNoEncode.test(e))return e.replace(m.escapeReplaceNoEncode,ge);return e}function J(e){try{e=encodeURI(e).replace(m.percentDecode,"%")}catch{return null}return e}function V(e,t){let n=e.replace(m.findPipe,(e,t,n)=>{let r=!1,s=t;for(;--s>=0&&"\\"===n[s];)r=!r;return r?"|":" |"}).split(m.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;r<n.length;r++)n[r]=n[r].trim().replace(m.slashPipe,"|");return n}function z(e,t,n){let r=e.length;if(0===r)return"";let s=0;for(;s<r;){let l=e.charAt(r-s-1);if(l!==t||n){if(l===t||!n)break;s++}else s++}return e.slice(0,r-s)}function fe(e,t){if(-1===e.indexOf(t[1]))return-1;let n=0;for(let r=0;r<e.length;r++)if("\\"===e[r])r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function me(e,t,n,r,s){let l=t.href,i=t.title||null,a=e[1].replace(s.other.outputLinkReplace,"$1");r.state.inLink=!0;let o={type:"!"===e[0].charAt(0)?"image":"link",raw:n,href:l,title:i,text:a,tokens:r.inlineTokens(a)};return r.state.inLink=!1,o}function Ye(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(null===r)return t;let s=r[1];return t.split("\n").map(e=>{let t=e.match(n.other.beginningSpace);if(null===t)return e;let[r]=t;return r.length>=s.length?e.slice(s.length):e}).join("\n")}var y=class{options;rules;lexer;constructor(e){this.options=e||T}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:z(e,"\n")}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=Ye(e,t[3]||"",this.rules);return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=z(e,"#");(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:z(t[0],"\n")}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=z(t[0],"\n").split("\n"),n="",r="",s=[];for(;e.length>0;){let t,l=!1,i=[];for(t=0;t<e.length;t++)if(this.rules.other.blockquoteStart.test(e[t]))i.push(e[t]),l=!0;else{if(l)break;i.push(e[t])}e=e.slice(t);let a=i.join("\n"),o=a.replace(this.rules.other.blockquoteSetextReplace,"\n    $1").replace(this.rules.other.blockquoteSetextReplace2,"");n=n?`${n}\n${a}`:a,r=r?`${r}\n${o}`:o;let c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(o,s,!0),this.lexer.state.top=c,0===e.length)break;let h=s.at(-1);if("code"===h?.type)break;if("blockquote"===h?.type){let t=h,l=t.raw+"\n"+e.join("\n"),i=this.blockquote(l);s[s.length-1]=i,n=n.substring(0,n.length-t.raw.length)+i.raw,r=r.substring(0,r.length-t.text.length)+i.text;break}if("list"===h?.type){let t=h,l=t.raw+"\n"+e.join("\n"),i=this.list(l);s[s.length-1]=i,n=n.substring(0,n.length-h.raw.length)+i.raw,r=r.substring(0,r.length-t.raw.length)+i.raw,e=l.substring(s.at(-1).raw.length).split("\n");continue}}return{type:"blockquote",raw:n,tokens:s,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,s={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");let l=this.rules.other.listItemRegex(n),i=!1;for(;e;){let n=!1,r="",a="";if(!(t=l.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let o=t[2].split("\n",1)[0].replace(this.rules.other.listReplaceTabs,e=>" ".repeat(3*e.length)),c=e.split("\n",1)[0],h=!o.trim(),p=0;if(this.options.pedantic?(p=2,a=o.trimStart()):h?p=t[1].length+1:(p=t[2].search(this.rules.other.nonSpaceChar),p=p>4?1:p,a=o.slice(p),p+=t[1].length),h&&this.rules.other.blankLine.test(c)&&(r+=c+"\n",e=e.substring(c.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(p),n=this.rules.other.hrRegex(p),s=this.rules.other.fencesBeginRegex(p),l=this.rules.other.headingBeginRegex(p),i=this.rules.other.htmlBeginRegex(p);for(;e;){let u,g=e.split("\n",1)[0];if(c=g,this.options.pedantic?(c=c.replace(this.rules.other.listReplaceNesting,"  "),u=c):u=c.replace(this.rules.other.tabCharGlobal,"    "),s.test(c)||l.test(c)||i.test(c)||t.test(c)||n.test(c))break;if(u.search(this.rules.other.nonSpaceChar)>=p||!c.trim())a+="\n"+u.slice(p);else{if(h||o.replace(this.rules.other.tabCharGlobal,"    ").search(this.rules.other.nonSpaceChar)>=4||s.test(o)||l.test(o)||n.test(o))break;a+="\n"+c}!h&&!c.trim()&&(h=!0),r+=g+"\n",e=e.substring(g.length+1),o=u.slice(p)}}s.loose||(i?s.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(i=!0));let u,g=null;this.options.gfm&&(g=this.rules.other.listIsTask.exec(a),g&&(u="[ ] "!==g[0],a=a.replace(this.rules.other.listReplaceTask,""))),s.items.push({type:"list_item",raw:r,task:!!g,checked:u,loose:!1,text:a,tokens:[]}),s.raw+=r}let a=s.items.at(-1);if(!a)return;a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd(),s.raw=s.raw.trimEnd();for(let e=0;e<s.items.length;e++)if(this.lexer.state.top=!1,s.items[e].tokens=this.lexer.blockTokens(s.items[e].text,[]),!s.loose){let t=s.items[e].tokens.filter(e=>"space"===e.type),n=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw));s.loose=n}if(s.loose)for(let e=0;e<s.items.length;e++)s.items[e].loose=!0;return s}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=V(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),s=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split("\n"):[],l={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?l.align.push("right"):this.rules.other.tableAlignCenter.test(e)?l.align.push("center"):this.rules.other.tableAlignLeft.test(e)?l.align.push("left"):l.align.push(null);for(let e=0;e<n.length;e++)l.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:l.align[e]});for(let e of s)l.rows.push(V(e,l.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:l.align[t]})));return l}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=z(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{let e=fe(t[2],"()");if(-2===e)return;if(e>-1){let n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),me(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:r&&r.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return me(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||r[3]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!r[1]&&!r[2]||!n||this.rules.inline.punctuation.exec(n))){let n,s,l=[...r[0]].length-1,i=l,a=0,o="*"===r[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(o.lastIndex=0,t=t.slice(-1*e.length+l);null!=(r=o.exec(t));){if(n=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!n)continue;if(s=[...n].length,r[3]||r[4]){i+=s;continue}if((r[5]||r[6])&&l%3&&!((l+s)%3)){a+=s;continue}if(i-=s,i>0)continue;s=Math.min(s,s+i+a);let t=[...r[0]][0].length,o=e.slice(0,l+r.index+t+s);if(Math.min(l,s)%2){let e=o.slice(1,-1);return{type:"em",raw:o,text:e,tokens:this.lexer.inlineTokens(e)}}let c=o.slice(2,-2);return{type:"strong",raw:o,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return"@"===t[2]?(e=t[1],n="mailto:"+e):(e=t[1],n=e),{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if("@"===t[2])e=t[0],n="mailto:"+e;else{let r;do{r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??""}while(r!==t[0]);e=t[0],n="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:e}}}},x=class e{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||T,this.options.tokenizer=this.options.tokenizer||new y,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:m,block:C.normal,inline:M.normal};this.options.pedantic?(t.block=C.pedantic,t.inline=M.pedantic):this.options.gfm&&(t.block=C.gfm,this.options.breaks?t.inline=M.breaks:t.inline=M.gfm),this.tokenizer.rules=t}static get rules(){return{block:C,inline:M}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(m.carriageReturn,"\n"),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){for(this.options.pedantic&&(e=e.replace(m.tabCharGlobal,"    ").replace(m.spaceLine,""));e;){let r;if(this.options.extensions?.block?.some(n=>!!(r=n.call({lexer:this},e,t))&&(e=e.substring(r.raw.length),t.push(r),!0)))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let n=t.at(-1);1===r.raw.length&&void 0!==n?n.raw+="\n":t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let n=t.at(-1);"paragraph"===n?.type||"text"===n?.type?(n.raw+=(n.raw.endsWith("\n")?"":"\n")+r.raw,n.text+="\n"+r.text,this.inlineQueue.at(-1).src=n.text):t.push(r);continue}if(r=this.tokenizer.fences(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.heading(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.hr(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.blockquote(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.list(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.html(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length);let n=t.at(-1);"paragraph"===n?.type||"text"===n?.type?(n.raw+=(n.raw.endsWith("\n")?"":"\n")+r.raw,n.text+="\n"+r.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title},t.push(r));continue}if(r=this.tokenizer.table(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.lheading(e)){e=e.substring(r.raw.length),t.push(r);continue}let s=e;if(this.options.extensions?.startBlock){let t,n=1/0,r=e.slice(1);this.options.extensions.startBlock.forEach(e=>{t=e.call({lexer:this},r),"number"==typeof t&&t>=0&&(n=Math.min(n,t))}),n<1/0&&n>=0&&(s=e.substring(0,n+1))}if(this.state.top&&(r=this.tokenizer.paragraph(s))){let l=t.at(-1);n&&"paragraph"===l?.type?(l.raw+=(l.raw.endsWith("\n")?"":"\n")+r.raw,l.text+="\n"+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):t.push(r),n=s.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let n=t.at(-1);"text"===n?.type?(n.raw+=(n.raw.endsWith("\n")?"":"\n")+r.raw,n.text+="\n"+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(r);continue}if(e){let t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n,r=e,s=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(s=this.tokenizer.rules.inline.reflinkSearch.exec(r));)e.includes(s[0].slice(s[0].lastIndexOf("[")+1,-1))&&(r=r.slice(0,s.index)+"["+"a".repeat(s[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(s=this.tokenizer.rules.inline.anyPunctuation.exec(r));)r=r.slice(0,s.index)+"++"+r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!=(s=this.tokenizer.rules.inline.blockSkip.exec(r));)n=s[2]?s[2].length:0,r=r.slice(0,s.index+n)+"["+"a".repeat(s[0].length-n-2)+"]"+r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);r=this.options.hooks?.emStrongMask?.call({lexer:this},r)??r;let l=!1,i="";for(;e;){let n;if(l||(i=""),l=!1,this.options.extensions?.inline?.some(r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))continue;if(n=this.tokenizer.escape(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.tag(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.link(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(n.raw.length);let r=t.at(-1);"text"===n.type&&"text"===r?.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);continue}if(n=this.tokenizer.emStrong(e,r,i)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.codespan(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.br(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.del(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.autolink(e)){e=e.substring(n.raw.length),t.push(n);continue}if(!this.state.inLink&&(n=this.tokenizer.url(e))){e=e.substring(n.raw.length),t.push(n);continue}let s=e;if(this.options.extensions?.startInline){let t,n=1/0,r=e.slice(1);this.options.extensions.startInline.forEach(e=>{t=e.call({lexer:this},r),"number"==typeof t&&t>=0&&(n=Math.min(n,t))}),n<1/0&&n>=0&&(s=e.substring(0,n+1))}if(n=this.tokenizer.inlineText(s)){e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(i=n.raw.slice(-1)),l=!0;let r=t.at(-1);"text"===r?.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);continue}if(e){let t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return t}},P=class{options;parser;constructor(e){this.options=e||T}space(e){return""}code({text:e,lang:t,escaped:n}){let r=(t||"").match(m.notSpaceStart)?.[0],s=e.replace(m.endingNewline,"")+"\n";return r?'<pre><code class="language-'+w(r)+'">'+(n?s:w(s,!0))+"</code></pre>\n":"<pre><code>"+(n?s:w(s,!0))+"</code></pre>\n"}blockquote({tokens:e}){return`<blockquote>\n${this.parser.parse(e)}</blockquote>\n`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>\n`}hr(e){return"<hr>\n"}list(e){let t=e.ordered,n=e.start,r="";for(let t=0;t<e.items.length;t++){let n=e.items[t];r+=this.listitem(n)}let s=t?"ol":"ul";return"<"+s+(t&&1!==n?' start="'+n+'"':"")+">\n"+r+"</"+s+">\n"}listitem(e){let t="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?"paragraph"===e.tokens[0]?.type?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&"text"===e.tokens[0].tokens[0].type&&(e.tokens[0].tokens[0].text=n+" "+w(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" ",escaped:!0}):t+=n+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`<li>${t}</li>\n`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>\n`}table(e){let t="",n="";for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r="";for(let t=0;t<e.rows.length;t++){let s=e.rows[t];n="";for(let e=0;e<s.length;e++)n+=this.tablecell(s[e]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),"<table>\n<thead>\n"+t+"</thead>\n"+r+"</table>\n"}tablerow({text:e}){return`<tr>\n${e}</tr>\n`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>\n`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${w(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),s=J(e);if(null===s)return r;let l='<a href="'+(e=s)+'"';return t&&(l+=' title="'+w(t)+'"'),l+=">"+r+"</a>",l}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let s=J(e);if(null===s)return w(n);let l=`<img src="${e=s}" alt="${n}"`;return t&&(l+=` title="${w(t)}"`),l+=">",l}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:w(e.text)}},$=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},b=class e{options;renderer;textRenderer;constructor(e){this.options=e||T,this.options.renderer=this.options.renderer||new P,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new $}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e,t=!0){let n="";for(let r=0;r<e.length;r++){let s=e[r];if(this.options.extensions?.renderers?.[s.type]){let e=s,t=this.options.extensions.renderers[e.type].call({parser:this},e);if(!1!==t||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(e.type)){n+=t||"";continue}}let l=s;switch(l.type){case"space":n+=this.renderer.space(l);continue;case"hr":n+=this.renderer.hr(l);continue;case"heading":n+=this.renderer.heading(l);continue;case"code":n+=this.renderer.code(l);continue;case"table":n+=this.renderer.table(l);continue;case"blockquote":n+=this.renderer.blockquote(l);continue;case"list":n+=this.renderer.list(l);continue;case"html":n+=this.renderer.html(l);continue;case"def":n+=this.renderer.def(l);continue;case"paragraph":n+=this.renderer.paragraph(l);continue;case"text":{let s=l,i=this.renderer.text(s);for(;r+1<e.length&&"text"===e[r+1].type;)s=e[++r],i+="\n"+this.renderer.text(s);n+=t?this.renderer.paragraph({type:"paragraph",raw:i,text:i,tokens:[{type:"text",raw:i,text:i,escaped:!0}]}):i;continue}default:{let e='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw new Error(e)}}}return n}parseInline(e,t=this.renderer){let n="";for(let r=0;r<e.length;r++){let s=e[r];if(this.options.extensions?.renderers?.[s.type]){let e=this.options.extensions.renderers[s.type].call({parser:this},s);if(!1!==e||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(s.type)){n+=e||"";continue}}let l=s;switch(l.type){case"escape":case"text":n+=t.text(l);break;case"html":n+=t.html(l);break;case"link":n+=t.link(l);break;case"image":n+=t.image(l);break;case"strong":n+=t.strong(l);break;case"em":n+=t.em(l);break;case"codespan":n+=t.codespan(l);break;case"br":n+=t.br(l);break;case"del":n+=t.del(l);break;default:{let e='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw new Error(e)}}}return n}},S=class{options;block;constructor(e){this.options=e||T}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){return this.block?x.lex:x.lexInline}provideParser(){return this.block?b.parse:b.parseInline}},B=class{defaults=L();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=b;Renderer=P;TextRenderer=$;Lexer=x;Tokenizer=y;Hooks=S;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case"table":{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case"list":{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let s=e[r].flat(1/0);n=n.concat(this.walkTokens(s,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw new Error("extension name required");if("renderer"in e){let n=t.renderers[e.name];t.renderers[e.name]=n?function(...t){let r=e.renderer.apply(this,t);return!1===r&&(r=n.apply(this,t)),r}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new P(this.defaults);for(let n in e.renderer){if(!(n in t))throw new Error(`renderer '${n}' does not exist`);if(["options","parser"].includes(n))continue;let r=n,s=e.renderer[r],l=t[r];t[r]=(...e)=>{let n=s.apply(t,e);return!1===n&&(n=l.apply(t,e)),n||""}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new y(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw new Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;let r=n,s=e.tokenizer[r],l=t[r];t[r]=(...e)=>{let n=s.apply(t,e);return!1===n&&(n=l.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new S;for(let n in e.hooks){if(!(n in t))throw new Error(`hook '${n}' does not exist`);if(["options","block"].includes(n))continue;let r=n,s=e.hooks[r],l=t[r];S.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async&&S.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await s.call(t,e);return l.call(t,n)})();let r=s.call(t,e);return l.call(t,r)}:t[r]=(...e)=>{if(this.defaults.async)return(async()=>{let n=await s.apply(t,e);return!1===n&&(n=await l.apply(t,e)),n})();let n=s.apply(t,e);return!1===n&&(n=l.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return x.lex(e,t??this.defaults)}parser(e,t){return b.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},s={...this.defaults,...r},l=this.onError(!!s.silent,!!s.async);if(!0===this.defaults.async&&!1===r.async)return l(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||null===t)return l(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof t)return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=e),s.async)return(async()=>{let n=s.hooks?await s.hooks.preprocess(t):t,r=await(s.hooks?await s.hooks.provideLexer():e?x.lex:x.lexInline)(n,s),l=s.hooks?await s.hooks.processAllTokens(r):r;s.walkTokens&&await Promise.all(this.walkTokens(l,s.walkTokens));let i=await(s.hooks?await s.hooks.provideParser():e?b.parse:b.parseInline)(l,s);return s.hooks?await s.hooks.postprocess(i):i})().catch(l);try{s.hooks&&(t=s.hooks.preprocess(t));let n=(s.hooks?s.hooks.provideLexer():e?x.lex:x.lexInline)(t,s);s.hooks&&(n=s.hooks.processAllTokens(n)),s.walkTokens&&this.walkTokens(n,s.walkTokens);let r=(s.hooks?s.hooks.provideParser():e?b.parse:b.parseInline)(n,s);return s.hooks&&(r=s.hooks.postprocess(r)),r}catch(e){return l(e)}}}onError(e,t){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){let e="<p>An error occurred:</p><pre>"+w(n.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}},_=new B;function k(e,t){return _.parse(e,t)}k.options=k.setOptions=function(e){return _.setOptions(e),k.defaults=_.defaults,G(k.defaults),k},k.getDefaults=L,k.defaults=T,k.use=function(...e){return _.use(...e),k.defaults=_.defaults,G(k.defaults),k},k.walkTokens=function(e,t){return _.walkTokens(e,t)},k.parseInline=_.parseInline,k.Parser=b,k.parser=b.parse,k.Renderer=P,k.TextRenderer=$,k.Lexer=x,k.lexer=x.lex,k.Tokenizer=y,k.Hooks=S,k.parse=k;var Zt=k.options,Gt=k.setOptions,Nt=k.use,Ft=k.walkTokens,jt=k.parseInline,Qt=k,Ut=b.parse,Kt=x.lex;export{S as Hooks,x as Lexer,B as Marked,b as Parser,P as Renderer,$ as TextRenderer,y as Tokenizer,T as defaults,L as getDefaults,Kt as lexer,k as marked,Zt as options,Qt as parse,jt as parseInline,Ut as parser,Gt as setOptions,Nt as use,Ft as walkTokens};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/mixins/using-config.d.ts b/miniprogram_npm/tdesign-miniprogram/mixins/using-config.d.ts
new file mode 100644
index 0000000..830302a
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/mixins/using-config.d.ts
@@ -0,0 +1,5 @@
+export interface UsingConfigBehaviorOptions {
+    componentName: string;
+    localeTextPropName?: string;
+}
+export default function usingConfig(options: UsingConfigBehaviorOptions): string;
diff --git a/miniprogram_npm/tdesign-miniprogram/mixins/using-config.js b/miniprogram_npm/tdesign-miniprogram/mixins/using-config.js
new file mode 100644
index 0000000..f4f12fd
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/mixins/using-config.js
@@ -0,0 +1 @@
+import{getComponentLocale,useConfig}from"../config-provider/use-config";import{toCamel}from"../common/utils";import defaultLocale from"../locale/zh_CN";export default function usingConfig(o){const{componentName:e,localeTextPropName:t}=o,a=toCamel(e);return Behavior({data:{globalConfig:{}},lifetimes:{attached(){var o;null===(o=this.updateLocale)||void 0===o||o.call(this);const e=useConfig(a);this._unsubscribeLocale=e.subscribeLocale(this,()=>{var o;null===(o=this.updateLocale)||void 0===o||o.call(this)})},detached(){const o=this._unsubscribeLocale;o&&(o(),this._unsubscribeLocale=null)}},methods:{updateLocale(){const o=defaultLocale[a]||{},e=getComponentLocale(this,a,o,t);this.setData({globalConfig:e})}}})}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/navbar/navbar.js b/miniprogram_npm/tdesign-miniprogram/navbar/navbar.js
index bf3b0a9..2fc3689 100644
--- a/miniprogram_npm/tdesign-miniprogram/navbar/navbar.js
+++ b/miniprogram_npm/tdesign-miniprogram/navbar/navbar.js
@@ -1 +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.length&&(i+="..."),this.setData({showTitle:i})}},this.data={prefix:prefix,classPrefix:name,boxStyle:"",showTitle:"",hideLeft:!1,hideCenter:!1,_menuRect:null,_leftRect:null,_boxStyle:{}},this.methods={initStyle(){this.getMenuRect();const{_menuRect:t,_leftRect:e}=this.data;if(!t||!e||!systemInfo)return;const i={"--td-navbar-padding-top":`${systemInfo.statusBarHeight}px`,"--td-navbar-right":systemInfo.windowWidth-t.left+"px","--td-navbar-left-max-width":`${t.left}px`,"--td-navbar-capsule-height":`${t.height}px`,"--td-navbar-capsule-width":`${t.width}px`,"--td-navbar-height":`${2*(t.top-systemInfo.statusBarHeight)+t.height}px`};this.calcCenterStyle(e,t,i)},calcCenterStyle(t,e,i){const n=Math.max(t.right,systemInfo.windowWidth-e.left),s=Object.assign(Object.assign({},i),{"--td-navbar-center-left":`${n}px`,"--td-navbar-center-width":`${Math.max(e.left-n,0)}px`}),a=Object.entries(s).map(([t,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
+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.length&&(i+="..."),this.setData({showTitle:i})}},this.data={prefix:prefix,classPrefix:name,boxStyle:"",showTitle:"",hideLeft:!1,hideCenter:!1,_menuRect:null,_leftRect:null,_boxStyle:{}},this.methods={initStyle(){this.getMenuRect();const{_menuRect:t,_leftRect:e}=this.data;if(!t||!e||!systemInfo)return;const i={"--td-navbar-padding-top":`${systemInfo.statusBarHeight}px`,"--td-navbar-right":systemInfo.windowWidth-t.left+"px","--td-navbar-left-max-width":`${t.left}px`,"--td-navbar-capsule-height":`${t.height}px`,"--td-navbar-capsule-width":`${t.width}px`,"--td-navbar-height":`${2*(t.top-systemInfo.statusBarHeight)+t.height}px`};this.calcCenterStyle(e,t,i)},calcCenterStyle(t,e,i){const n=Math.max(t.right,systemInfo.windowWidth-e.left),s=Object.assign(Object.assign({},i),{"z-index":this.properties.zIndex,"--td-navbar-center-left":`${n}px`,"--td-navbar-center-width":`${Math.max(e.left-n,0)}px`}),a=Object.entries(s).map(([t,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_npm/tdesign-miniprogram/navbar/navbar.wxml b/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxml
index ddb1cb1..c3ef8e8 100644
--- a/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><view class="{{_.cls(classPrefix, [['fixed', fixed]])}} {{visibleClass}} class {{prefix}}-class" style="{{_._style([boxStyle, style, customStyle])}}"><view wx:if="{{fixed}}" class="{{classPrefix}}__placeholder {{prefix}}-class-placeholder"/><view class="{{classPrefix}}__content {{prefix}}-class-content"><view class="{{classPrefix}}__left {{hideLeft ? classPrefix + '__left--hide' : ''}} {{prefix}}-class-left"><view wx:if="{{leftArrow}}" class="{{classPrefix}}__btn" bind:tap="goBack" aria-role="button" aria-label="杩斿洖"><t-icon name="chevron-left" class="{{classPrefix}}__left-arrow"/></view><slot name="left"/><view class="{{classPrefix}}__capsule {{prefix}}-class-capsule"><slot name="capsule"/></view></view><view class="{{classPrefix}}__center {{hideCenter ? classPrefix + '__center--hide' : ''}} {{prefix}}-class-center"><slot name="title"/><text wx:if="{{title}}" class="{{classPrefix}}__center-title {{prefix}}-class-title">{{showTitle}}</text></view></view></view>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><view class="{{_.cls(classPrefix, [['fixed', fixed]])}} {{visibleClass}} class {{prefix}}-class" style="{{_._style([boxStyle, style, customStyle])}}"><view wx:if="{{fixed && placeholder}}" class="{{classPrefix}}__placeholder {{prefix}}-class-placeholder"/><view class="{{classPrefix}}__content {{prefix}}-class-content"><view class="{{classPrefix}}__left {{hideLeft ? classPrefix + '__left--hide' : ''}} {{prefix}}-class-left"><view wx:if="{{leftArrow}}" class="{{classPrefix}}__btn" bind:tap="goBack" aria-role="button" aria-label="杩斿洖"><t-icon name="chevron-left" class="{{classPrefix}}__left-arrow"/></view><slot name="left"/><view class="{{classPrefix}}__capsule {{prefix}}-class-capsule"><slot name="capsule"/></view></view><view class="{{classPrefix}}__center {{hideCenter ? classPrefix + '__center--hide' : ''}} {{prefix}}-class-center"><slot name="title"/><text wx:if="{{title}}" class="{{classPrefix}}__center-title {{prefix}}-class-title">{{showTitle}}</text></view></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxss b/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxss
index 7282913..f0ecd44 100644
--- a/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/navbar/navbar.wxss
@@ -1,17 +1,125 @@
-@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
+@import '../common/style/index.wxss';
+
+.t-navbar {
+  position: relative;
+}
+
+.t-navbar--fixed .t-navbar__content {
+  position: fixed;
+  top: 0;
+  left: 0;
+}
+
+.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;
+  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;
+  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 {
+  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);
+  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: var(--td-navbar-title-font, var(--td-font-title-large, 600 36rpx / 52rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular)));
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+}
+
+.t-navbar__center--hide {
+  opacity: 0;
+}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/navbar/props.js b/miniprogram_npm/tdesign-miniprogram/navbar/props.js
index ed824a0..dd5e8d3 100644
--- a/miniprogram_npm/tdesign-miniprogram/navbar/props.js
+++ b/miniprogram_npm/tdesign-miniprogram/navbar/props.js
@@ -1 +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
+const props={animation:{type:Boolean,value:!0},delta:{type:Number,value:1},fixed:{type:Boolean,value:!0},leftArrow:{type:Boolean,value:!1},placeholder:{type:Boolean,value:!1},safeAreaInsetTop:{type:Boolean,value:!0},title:{type:String},titleMaxLength:{type:Number},visible:{type:Boolean,value:!0},zIndex:{type:Number,value:1}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/navbar/type.d.ts b/miniprogram_npm/tdesign-miniprogram/navbar/type.d.ts
index f0c9ab3..f260160 100644
--- a/miniprogram_npm/tdesign-miniprogram/navbar/type.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/navbar/type.d.ts
@@ -15,6 +15,10 @@
         type: BooleanConstructor;
         value?: boolean;
     };
+    placeholder?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
     safeAreaInsetTop?: {
         type: BooleanConstructor;
         value?: boolean;
@@ -31,4 +35,8 @@
         type: BooleanConstructor;
         value?: boolean;
     };
+    zIndex?: {
+        type: NumberConstructor;
+        value?: number;
+    };
 }
diff --git a/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.wxss b/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.wxss
index d5f44c1..0110065 100644
--- a/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/notice-bar/notice-bar.wxss
@@ -1,5 +1,5 @@
-@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))));}
+@import '../common/style/index.wxss';.t-notice-bar{display:flex;align-items:flex-start;padding:26rpx 32rpx;}
+.t-notice-bar__content-wrap{flex:1;overflow-x:hidden;font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));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;}
diff --git a/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.d.ts b/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.d.ts
index 893ac12..97821d9 100644
--- a/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.d.ts
@@ -4,9 +4,22 @@
     relations: RelationsOptions;
     options: ComponentsOptionsType;
     externalClasses: string[];
-    properties: import("./type").TdPickerItemProps;
+    properties: {
+        useSlots: {
+            type: BooleanConstructor;
+            value: boolean;
+        };
+        format?: {
+            type: undefined;
+            value?: (option: PickerItemOption, columnIndex: number) => PickerItemOption;
+        };
+        options?: {
+            type: ArrayConstructor;
+            value?: PickerItemOption[];
+        };
+    };
     observers: {
-        'options, pickerKeys'(): void;
+        'options, keys'(): void;
     };
     data: {
         prefix: string;
@@ -16,11 +29,7 @@
         value: string;
         curIndex: number;
         columnIndex: number;
-        pickerKeys: {
-            value: string;
-            label: string;
-            icon: string;
-        };
+        keys: {};
         formatOptions: PickerItemOption[];
         enableVirtualScroll: boolean;
         visibleOptions: any[];
diff --git a/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.js b/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.js
index 59718f6..9254a27 100644
--- a/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.js
+++ b/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.js
@@ -1 +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
+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_BASE=300,ANIMATION_DURATION_MAX=600,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"}},this.options={multipleSlots:!0},this.externalClasses=[`${prefix}-class`],this.properties=Object.assign(Object.assign({},props),{useSlots:{type:Boolean,value:!0}}),this.observers={"options, keys"(){this.update()}},this.data={prefix:prefix,classPrefix:name,offset:0,duration:0,value:"",curIndex:0,columnIndex:0,keys:{},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._animationTimer=null},detached(){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}=this.data,n=t.touches[0].clientY-e,s=range(i+n,-(this.getCount()-1)*a,0);this.setData({offset:s})},onTouchEnd(t){const{offset:e,itemHeight:i,enableVirtualScroll:a,formatOptions:n}=this.data,{startTime:s}=this;if(e===this.StartOffset)return;let o=0;const r=t.changedTouches[0].clientY-this.StartY,l=Date.now()-s;l<300&&Math.abs(r)>15&&(o=momentum(r,l));const d=range(e+o,-this.getCount()*i,0),h=range(Math.round(-d/i),0,this.getCount()-1),u=-h*i,m=Math.abs(u-e)/i,c=Math.min(600,300+30*m),p=Math.abs(o)>3*i?VIRTUAL_SCROLL_CONFIG.FAST_SCROLL_BUFFER:VIRTUAL_SCROLL_CONFIG.BUFFER_COUNT;this._animationTimer&&(clearInterval(this._animationTimer),this._animationTimer=null);const f={offset:u,duration:c,curIndex:h};if(a){const t=Math.floor(Math.abs(e)/i),a=h,s=Math.min(t,a),o=Math.max(t,a),r=Math.max(0,s-p),l=Math.min(n.length,o+this.data.visibleItemCount+p);f.visibleOptions=n.slice(r,l),f.virtualStartIndex=r,f.virtualOffsetY=r*i}this.setData(f,()=>{if(a){const t=this.computeVirtualRange(u,n.length,i,!1);this.setData({visibleOptions:n.slice(t.startIndex,t.endIndex),virtualStartIndex:t.startIndex,virtualOffsetY:t.startIndex*i})}}),h!==this._selectedIndex&&this.updateSelected(h,!0)},formatOption:(t,e,i)=>"function"!=typeof i?t:t.map(t=>i(t,e)),updateSelected(t,e){var i,a,n;const{columnIndex:s,keys: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===(n=this.$parent)||void 0===n||n.triggerColumnChange({index:t,column:s}))},update(){var t;const{options:e,value:i,keys:a,format:n,columnIndex:s,itemHeight:o,visibleItemCount:r}=this.data,l=this.formatOption(e,s,n),d=l.length,h=d>=VIRTUAL_SCROLL_CONFIG.ENABLE_THRESHOLD;let u=-1;if(d>500){u=null!==(t=new Map(l.map((t,e)=>[t[null==a?void 0:a.value],e])).get(i))&&void 0!==t?t:-1}else u=l.findIndex(t=>t[null==a?void 0:a.value]===i);const m=u>0?u:0,c={formatOptions:l,offset:-m*o,curIndex:m,enableVirtualScroll:h,totalHeight:d*o,wrapperPaddingY:(r-1)/2*o};if(h){const t=this.computeVirtualRange(-m*o,d,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(m,!1)})},computeVirtualRange(t,e,i,a=!1){const n=Math.abs(t),{BUFFER_COUNT:s,FAST_SCROLL_BUFFER:o}=VIRTUAL_SCROLL_CONFIG,{visibleItemCount:r}=this.data,l=a?o:s,d=Math.floor(n/i);return{startIndex:Math.max(0,d-l),endIndex:Math.min(e,d+r+l)}},updateVisibleOptions(t,e=!1){const{formatOptions:i,itemHeight:a,enableVirtualScroll:n}=this.data;if(!n)return;const s=void 0!==t?t:this.data.offset,o=this.computeVirtualRange(s,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:n,keys:s}=this.data,o=Math.max(0,Math.min(Math.round(-i/a),this.getCount()-1));return{index:o,value:null===(t=n[o])||void 0===t?void 0:t[null==s?void 0:s.value],label:null===(e=n[o])||void 0===e?void 0:e[null==s?void 0:s.label]}}}}};PickerItem=__decorate([wxComponent()],PickerItem);export default PickerItem;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.wxml b/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.wxml
index ff276c2..4f9178f 100644
--- a/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/picker-item/picker-item.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle, 'height:' + itemHeight * visibleItemCount + 'px'])}}" class="{{_.cls(classPrefix + '__group', [])}} class {{prefix}}-class" bind:touchstart="onTouchStart" catch:touchmove="onTouchMove" bind:touchend="onTouchEnd" bind:touchcancel="onTouchEnd"><view class="{{classPrefix}}__wrapper" style="transition: transform {{ duration }}ms cubic-bezier(0.215, 0.61, 0.355, 1); transform: translate3d(0, {{ offset }}px, 0); padding: {{ wrapperPaddingY }}px 0"><view wx:if="{{enableVirtualScroll}}" style="height: {{totalHeight}}px; position: relative;"><view style="position: absolute; top: {{virtualOffsetY}}px; left: 0; right: 0;"><view class="{{_.cls(classPrefix + '__item', [['active', curIndex == (virtualStartIndex + index)]])}}" style="height: {{itemHeight}}px" wx:for="{{visibleOptions}}" wx:key="value" wx:for-item="option" data-index="{{ virtualStartIndex + index }}" bind:tap="onClickItem"><t-icon wx:if="{{option[pickerKeys.icon]}}" class="{{classPrefix}}__item-icon" name="{{option[pickerKeys.icon]}}"/><text class="{{classPrefix}}__item-label">{{option[pickerKeys.label]}}</text><slot name="label-suffix--{{virtualStartIndex + index}}"></slot></view></view></view><block wx:else><view class="{{_.cls(classPrefix + '__item', [['active', curIndex == index]])}}" style="height: {{itemHeight}}px" wx:for="{{visibleOptions}}" wx:key="value" wx:for-item="option" data-index="{{ index }}" bind:tap="onClickItem"><t-icon wx:if="{{option[pickerKeys.icon]}}" class="{{classPrefix}}__item-icon" name="{{option[pickerKeys.icon]}}"/><text class="{{classPrefix}}__item-label">{{option[pickerKeys.label]}}</text><slot name="label-suffix--{{index}}"></slot></view></block></view></view>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle, 'height:' + itemHeight * visibleItemCount + 'px'])}}" class="{{_.cls(classPrefix + '__group', [])}} class {{prefix}}-class" bind:touchstart="onTouchStart" catch:touchmove="onTouchMove" bind:touchend="onTouchEnd" bind:touchcancel="onTouchEnd"><view class="{{classPrefix}}__wrapper" style="transition: transform {{ duration }}ms cubic-bezier(0.215, 0.61, 0.355, 1); transform: translate3d(0, {{ offset }}px, 0); padding: {{ wrapperPaddingY }}px 0"><view wx:if="{{enableVirtualScroll}}" style="height: {{totalHeight}}px; position: relative;"><view style="position: absolute; top: {{virtualOffsetY}}px; left: 0; right: 0;"><view class="{{_.cls(classPrefix + '__item', [['active', curIndex == (virtualStartIndex + index)]])}}" style="height: {{itemHeight}}px" wx:for="{{visibleOptions}}" wx:key="value" wx:for-item="option" data-index="{{ virtualStartIndex + index }}" bind:tap="onClickItem"><t-icon wx:if="{{option[keys.icon]}}" class="{{classPrefix}}__item-icon" name="{{option[keys.icon]}}"/><text class="{{classPrefix}}__item-label">{{option[keys.label]}}</text><slot wx:if="{{useSlots}}" name="label-suffix--{{virtualStartIndex + index}}"></slot></view></view></view><block wx:else><view class="{{_.cls(classPrefix + '__item', [['active', curIndex == index]])}}" style="height: {{itemHeight}}px" wx:for="{{visibleOptions}}" wx:key="value" wx:for-item="option" data-index="{{ index }}" bind:tap="onClickItem"><t-icon wx:if="{{option[keys.icon]}}" class="{{classPrefix}}__item-icon" name="{{option[keys.icon]}}"/><text class="{{classPrefix}}__item-label">{{option[keys.label]}}</text><slot wx:if="{{useSlots}}" name="label-suffix--{{index}}"></slot></view></block></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/picker/picker.js b/miniprogram_npm/tdesign-miniprogram/picker/picker.js
index ed8ce8c..75c14a4 100644
--- a/miniprogram_npm/tdesign-miniprogram/picker/picker.js
+++ b/miniprogram_npm/tdesign-miniprogram/picker/picker.js
@@ -1 +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
+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 usingConfig from"../mixins/using-config";const{prefix:prefix}=config,componentName="picker",DEFAULT_KEYS={value:"value",label:"label",icon:"icon"};let Picker=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[useCustomNavbar,usingConfig({componentName:"picker"})],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,i){const{usePopup:t}=this.properties;t&&!i||(this.updateChildren(),this.updateIndicatorPosition())},"itemHeight, visibleItemCount"(){this.updateIndicatorPosition()}},this.data={prefix:prefix,classPrefix:`${prefix}-picker`,defaultPopUpProps:{},defaultPopUpzIndex:11500,indicatorTop:72},this.methods={updateChildren(){const{value:e,defaultValue:i,itemHeight:t,visibleItemCount:s,keys:o}=this.properties;this.$children.forEach((n,r)=>{var l,a;n.setData({value:null!==(a=null!==(l=null==e?void 0:e[r])&&void 0!==l?l:null==i?void 0:i[r])&&void 0!==a?a:"",columnIndex:r,itemHeight:t,visibleItemCount:s,keys:Object.assign(Object.assign({},DEFAULT_KEYS),o||{})}),n.update()})},getSelectedValue(){return[this.$children.map(e=>e._selectedValue),this.$children.map(e=>e._selectedLabel)]},getColumnIndexes(){return this.$children.map((e,i)=>({column:i,index:e._selectedIndex}))},onConfirm(){const e=[],i=[],t=[];this.$children.forEach((s,o)=>{const n=s.getCurrentSelected();e.push(n.value),i.push(n.label),t.push({column:o,index:n.index})}),this.close("confirm-btn"),this.triggerEvent("confirm",{value:e,label:i,columns:t}),JSON.stringify(this.data.value)!==JSON.stringify(e)&&this.triggerEvent("change",{value:e,label:i,columns:t})},triggerColumnChange({column:e,index:i}){const[t,s]=this.getSelectedValue();this.triggerEvent("pick",{value:t,label:s,column:e,index:i})},onCancel(){this.close("cancel-btn"),this.triggerEvent("cancel")},onPopupChange(e){const{visible:i}=e.detail;this.close("overlay"),this.triggerEvent("visible-change",{visible:i})},close(e){this.data.autoClose&&this.setData({visible:!1}),this.triggerEvent("close",{trigger:e})},updateIndicatorPosition(){const{itemHeight:e,visibleItemCount:i}=this.properties,t=(i-1)/2*e;this.setData({indicatorTop:t})}}}ready(){this.$children.map((e,i)=>e.columnIndex=i),this.updateIndicatorPosition()}};Picker=__decorate([wxComponent()],Picker);export default Picker;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/picker/picker.wxml b/miniprogram_npm/tdesign-miniprogram/picker/picker.wxml
index 7f79f57..7156c44 100644
--- a/miniprogram_npm/tdesign-miniprogram/picker/picker.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/picker/picker.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><t-popup wx:if="{{usePopup}}" class="class" close-on-overlay-click="{{autoClose}}" visible="{{visible}}" placement="bottom" using-custom-navbar="{{usingCustomNavbar || popupProps.usingCustomNavbar}}" z-index="{{ popupProps.zIndex || defaultPopUpzIndex }}" overlay-props="{{ popupProps.overlayProps || defaultPopUpProps }}" bind:visible-change="onPopupChange"><include src="./template.wxml"/></t-popup><block wx:else><include src="./template.wxml"/></block>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><wxs src="./picker.wxs" module="_this"/><t-popup wx:if="{{usePopup}}" class="class" close-on-overlay-click="{{autoClose}}" visible="{{visible}}" placement="bottom" show-overlay="{{_this.isShowOverlay(popupProps.showOverlay, true)}}" using-custom-navbar="{{usingCustomNavbar || popupProps.usingCustomNavbar}}" z-index="{{ popupProps.zIndex || defaultPopUpzIndex }}" overlay-props="{{ popupProps.overlayProps || defaultPopUpProps }}" bind:visible-change="onPopupChange"><include src="./template.wxml"/></t-popup><block wx:else><include src="./template.wxml"/></block>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/picker/picker.wxs b/miniprogram_npm/tdesign-miniprogram/picker/picker.wxs
new file mode 100644
index 0000000..c3d5f26
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/picker/picker.wxs
@@ -0,0 +1,9 @@
+var utils = require('../common/utils.wxs');
+
+function isShowOverlay(value, defaultValue) {
+  return utils.isBoolean(value) ? value : defaultValue;
+}
+
+module.exports = {
+  isShowOverlay: isShowOverlay,
+};
diff --git a/miniprogram_npm/tdesign-miniprogram/picker/picker.wxss b/miniprogram_npm/tdesign-miniprogram/picker/picker.wxss
index bbd7b84..582a111 100644
--- a/miniprogram_npm/tdesign-miniprogram/picker/picker.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/picker/picker.wxss
@@ -1,7 +1,7 @@
 @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__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))));font:var(--td-picker-title-font,var(--td-font-title-large,600 36rpx / 52rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
+.t-picker__cancel,.t-picker__confirm{display:flex;align-items:center;justify-content:center;user-select:none;font:var(--td-picker-button-font,var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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;}
diff --git a/miniprogram_npm/tdesign-miniprogram/picker/template.wxml b/miniprogram_npm/tdesign-miniprogram/picker/template.wxml
index e835dea..620ad89 100644
--- a/miniprogram_npm/tdesign-miniprogram/picker/template.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/picker/template.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><view slot="content" style="{{_._style([style, customStyle])}}" class="{{classPrefix}} {{prefix}}-class"><view class="{{classPrefix}}__toolbar" wx:if="{{header}}"><view class="{{classPrefix}}__cancel {{prefix}}-class-cancel" wx:if="{{cancelBtn}}" bindtap="onCancel">{{cancelBtn}}</view><view class="{{classPrefix}}__title {{prefix}}-class-title">{{title}}</view><view class="{{classPrefix}}__confirm {{prefix}}-class-confirm" wx:if="{{confirmBtn}}" bindtap="onConfirm">{{confirmBtn}}</view></view><slot name="header"/><slot name="content"/><view class="{{_.cls(classPrefix + '__main', [])}}"><slot/><view class="{{classPrefix}}__mask {{classPrefix}}__mask--top"/><view class="{{classPrefix}}__mask {{classPrefix}}__mask--bottom"/><view class="{{classPrefix}}__indicator" style="height: {{itemHeight}}px; top: {{indicatorTop}}px"></view></view><slot name="footer"/></view>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><view slot="content" style="{{_._style([style, customStyle])}}" class="{{classPrefix}} {{prefix}}-class"><view class="{{classPrefix}}__toolbar" wx:if="{{header}}"><view class="{{classPrefix}}__cancel {{prefix}}-class-cancel" wx:if="{{cancelBtn}}" bindtap="onCancel">{{globalConfig.cancel}}</view><view class="{{classPrefix}}__title {{prefix}}-class-title">{{title}}</view><view class="{{classPrefix}}__confirm {{prefix}}-class-confirm" wx:if="{{confirmBtn}}" bindtap="onConfirm">{{globalConfig.confirm}}</view></view><slot name="header"/><slot name="content"/><view class="{{_.cls(classPrefix + '__main', [])}}"><slot/><view class="{{classPrefix}}__mask {{classPrefix}}__mask--top"/><view class="{{classPrefix}}__mask {{classPrefix}}__mask--bottom"/><view class="{{classPrefix}}__indicator" style="height: {{itemHeight}}px; top: {{indicatorTop}}px"></view></view><slot name="footer"/></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/popover/index.d.ts b/miniprogram_npm/tdesign-miniprogram/popover/index.d.ts
new file mode 100644
index 0000000..07c7860
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/popover/index.d.ts
@@ -0,0 +1,3 @@
+export * from './props';
+export * from './type';
+export * from './popover';
diff --git a/miniprogram_npm/tdesign-miniprogram/popover/index.js b/miniprogram_npm/tdesign-miniprogram/popover/index.js
new file mode 100644
index 0000000..1d16d58
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/popover/index.js
@@ -0,0 +1 @@
+export*from"./props";export*from"./type";export*from"./popover";
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/popover/popover.d.ts b/miniprogram_npm/tdesign-miniprogram/popover/popover.d.ts
new file mode 100644
index 0000000..3c4dd44
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/popover/popover.d.ts
@@ -0,0 +1,50 @@
+import { TdPopoverProps } from './type';
+import { SuperComponent } from '../common/src/index';
+export interface PopoverProps extends TdPopoverProps {
+}
+export default class Popover extends SuperComponent {
+    behaviors: string[];
+    externalClasses: string[];
+    options: {
+        multipleSlots: boolean;
+    };
+    properties: TdPopoverProps;
+    data: {
+        prefix: string;
+        classPrefix: string;
+        _placement: string;
+        contentStyle: string;
+        arrowStyle: string;
+    };
+    controlledProps: {
+        key: string;
+        event: string;
+    }[];
+    observers: {
+        visible(val: boolean): void;
+        'placement, realVisible'(v: boolean): void;
+    };
+    methods: {
+        onScroll(): void;
+        updateVisible(visible: boolean): void;
+        onOverlayTap(): void;
+        getToward(placement: string): {
+            isHorizontal: string;
+            isVertical: string;
+            isBase: string;
+            isEnd: boolean;
+        };
+        calcArrowStyle(placement: string, contentDom: any, popoverDom: any): string;
+        calcContentPosition(placement: string, triggerRect: any, contentRect: any): {
+            top: number;
+            left: number;
+        };
+        alignCrossAxis(start: number, triggerSize: number, contentSize: number, align: 'start' | 'end' | 'center'): number;
+        calcPlacement(isFixed: boolean, placement: string, triggerRect: any, contentRect: any): Promise<{
+            placement: string;
+            top: number;
+            left: number;
+        }>;
+        computePosition(): Promise<void>;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/popover/popover.js b/miniprogram_npm/tdesign-miniprogram/popover/popover.js
new file mode 100644
index 0000000..8885926
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/popover/popover.js
@@ -0,0 +1 @@
+import{__awaiter,__decorate,__rest}from"tslib";import{getWindowInfo}from"../common/wechat";import{SuperComponent,wxComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{debounce}from"../common/utils";import transition from"../mixins/transition";import pageScrollMixin from"../mixins/page-scroll";delete props.visible;const{prefix:prefix}=config,name=`${prefix}-popover`;let Popover=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[transition(),pageScrollMixin()],this.externalClasses=[`${prefix}-class`,`${prefix}-class-content`,`${prefix}-class-trigger`],this.options={multipleSlots:!0},this.properties=props,this.data={prefix:prefix,classPrefix:name,_placement:"top",contentStyle:"",arrowStyle:""},this.controlledProps=[{key:"visible",event:"visible-change"}],this.observers={visible(t){null!=t&&this.updateVisible(t)},"placement, realVisible"(t){t&&this.computePosition()}},this.methods={onScroll(){this.data.realVisible&&debounce(()=>this.computePosition(),100)},updateVisible(t){t!==this.data.visible&&this.setData({visible:t},()=>{this._trigger("visible-change",{visible:t})})},onOverlayTap(){this.properties.closeOnClickOutside&&this.updateVisible(!1)},getToward(t){const e=["top","bottom"],i=["left","right"];return{isHorizontal:e.find(e=>t.includes(e)),isVertical:i.find(e=>t.includes(e)),isBase:[...e,...i].find(e=>e===t),isEnd:t.includes("end")}},calcArrowStyle(t,e,i){const{isHorizontal:o,isVertical:s,isBase:r,isEnd:n}=this.getToward(t);if(r)return"";const{width:l,left:a}=e,{width:c,height:p}=i,{windowWidth:h}=getWindowInfo();if(o){const t=n?Math.min(l+a,c):Math.min(h-a,c);return n?`left:${t-28}px;`:`right:${t-28}px;`}if(s){const t=p-28;return n?`top:${t}px;`:`bottom:${t}px;top:unset;`}return""},calcContentPosition(t,e,i){let o=0,s=0;const r=t.startsWith("top"),n=t.startsWith("bottom"),l=t.startsWith("left"),a=t.startsWith("right");r?o=e.top-i.height:n?o=e.top+e.height:l?s=e.left-i.width:a?s=e.left+e.width:o=e.top-i.height;const c=t.includes("start"),p=t.includes("end");let h;return h=c?"start":p?"end":"center",(r||n)&&(s=this.alignCrossAxis(e.left,e.width,i.width,h)),(l||a)&&(o=this.alignCrossAxis(e.top,e.height,i.height,h)),{top:o,left:s}},alignCrossAxis:(t,e,i,o)=>"start"===o?t:"end"===o?t+e-i:t+e/2-i/2,calcPlacement(t,e,i,o){return new Promise(s=>{const r=this.selectOwnerComponent().createSelectorQuery();r.select(`.${name}-wrapper--fixed`).boundingClientRect(),r.exec(r=>{const[n]=r;n&&t&&(i=n);const{isHorizontal:l,isVertical:a}=this.getToward(e),{width:c,height:p}=o,{left:h,top:m,right:d,bottom:f}=i;let g=!0;const{windowWidth:u,windowHeight:w}=getWindowInfo();let x=e;l?e.startsWith("top")?g=m-p>=0:e.startsWith("bottom")&&(g=f+p<=w):a&&(e.startsWith("left")?g=h-c>=0:e.startsWith("right")&&(g=d+c<=u)),g||(l?x=e.startsWith("top")?e.replace("top","bottom"):e.replace("bottom","top"):a&&(x=e.startsWith("left")?e.replace("left","right"):e.replace("right","left")));const b=this.calcContentPosition(x,i,o);s(Object.assign({placement:x},b))})})},computePosition(){return __awaiter(this,void 0,void 0,function*(){const{placement:t}=this.data,e=t.replace(/-(left|top)$/,"-start").replace(/-(right|bottom)$/,"-end");this.setData({_placement:e});const i=this.createSelectorQuery();i.select(`#${name}-wrapper`).boundingClientRect(),i.select(`#${name}-content`).boundingClientRect(),i.selectViewport().scrollOffset(),i.exec(t=>__awaiter(this,void 0,void 0,function*(){const[i,o,s]=t;if(!i||!o)return;const r=this.properties.fixed,n=yield this.calcPlacement(r,e,i,o),{placement:l}=n,a=__rest(n,["placement"]);this.setData({_placement:l});const{scrollTop:c=0,scrollLeft:p=0}=s||{},h=r?a.top:a.top+c,m=r?a.left:a.left+p,d=`top:${Math.max(h,0)}px;left:${Math.max(m,0)}px;`,f=this.calcArrowStyle(e,i,o);this.setData({contentStyle:d,arrowStyle:f})}))})}}}};Popover=__decorate([wxComponent()],Popover);export default Popover;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/popover/popover.json b/miniprogram_npm/tdesign-miniprogram/popover/popover.json
new file mode 100644
index 0000000..707b666
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/popover/popover.json
@@ -0,0 +1 @@
+{"component":true,"styleIsolation":"apply-shared","usingComponents":{"t-overlay":"../overlay/overlay"}}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/popover/popover.wxml b/miniprogram_npm/tdesign-miniprogram/popover/popover.wxml
new file mode 100644
index 0000000..be5cb55
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/popover/popover.wxml
@@ -0,0 +1 @@
+<view id="{{classPrefix}}-wrapper" class="{{classPrefix}}__wrapper"><slot/></view><t-overlay id="popover-overlay" wx:if="{{realVisible && closeOnClickOutside}}" visible="{{true}}" z-index="11000" duration="0" background-color="rgba(0,0,0,0)" bind:tap="onOverlayTap"/><view wx:if="{{realVisible}}" id="{{classPrefix}}-content" style="{{style}} {{contentStyle}} {{customStyle}}" class="{{class}} {{classPrefix}} {{transitionClass}} {{prefix}}-class {{classPrefix}}--placement-{{_placement}} {{fixed ? classPrefix + '--fixed' : ''}}"><view class="{{classPrefix}}__content {{classPrefix}}--{{theme}} {{prefix}}-class-content {{showArrow ? classPrefix + '__content--arrow' : ''}}"><slot name="content"/><view wx:if="{{content}}">{{content}}</view><view wx:if="{{showArrow}}" class="{{classPrefix}}__arrow" style="{{arrowStyle}}"></view></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/popover/popover.wxss b/miniprogram_npm/tdesign-miniprogram/popover/popover.wxss
new file mode 100644
index 0000000..8aa1b42
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/popover/popover.wxss
@@ -0,0 +1,63 @@
+@import '../common/style/index.wxss';.t-popover__wrapper{display:inline-block;}
+.t-popover{position:absolute;z-index:11500;overflow:visible;transition:.2s ease-in-out all;}
+.t-popover--fixed{position:fixed;}
+.t-popover__content{position:relative;padding:var(--td-popover-padding,24rpx);border-radius:12rpx;box-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));font-size:var(--td-font-size-m,32rpx);line-height:48rpx;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;word-break:break-all;}
+.t-popover__arrow{position:absolute;width:0;height:0;border-style:solid;border-color:transparent;border-width:16rpx;}
+.t-popover .t-popover--dark{color:var(--td-popover-dark-color,var(--td-text-color-anti,var(--td-font-white-1,#fff)));background:var(--td-popover-dark-bg-color,var(--td-font-gray-1,rgba(0,0,0,.9)));}
+.t-popover .t-popover--dark .t-popover__arrow{color:var(--td-popover-dark-bg-color,var(--td-font-gray-1,rgba(0,0,0,.9)));}
+.t-popover .t-popover--light{color:var(--td-popover-light-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));background:var(--td-popover-light-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-popover .t-popover--light .t-popover__arrow{color:var(--td-popover-light-bg-color,var(--td-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-popover .t-popover--brand{color:var(--td-popover-brand-color,var(--td-primary-color-7,#0052d9));background:var(--td-popover-brand-bg-color,var(--td-primary-color-1,#f2f3ff));}
+.t-popover .t-popover--brand .t-popover__arrow{color:var(--td-popover-brand-bg-color,var(--td-primary-color-1,#f2f3ff));}
+.t-popover .t-popover--success{color:var(--td-popover-success-color,var(--td-success-color-5,#2ba471));background:var(--td-popover-success-bg-color,var(--td-success-color-1,#e3f9e9));}
+.t-popover .t-popover--success .t-popover__arrow{color:var(--td-popover-success-bg-color,var(--td-success-color-1,#e3f9e9));}
+.t-popover .t-popover--warning{color:var(--td-popover-warning-color,var(--td-warning-color-5,#e37318));background:var(--td-popover-warning-bg-color,var(--td-warning-color-1,#fff1e9));}
+.t-popover .t-popover--warning .t-popover__arrow{color:var(--td-popover-warning-bg-color,var(--td-warning-color-1,#fff1e9));}
+.t-popover .t-popover--error{color:var(--td-popover-error-color,var(--td-error-color-6,#d54941));background:var(--td-popover-error-bg-color,var(--td-error-color-1,#fff0ed));}
+.t-popover .t-popover--error .t-popover__arrow{color:var(--td-popover-error-bg-color,var(--td-error-color-1,#fff0ed));}
+.t-popover.t-fade-enter-to{opacity:1;visibility:visible;}
+.t-popover.t-fade-enter,.t-popover.t-fade-leave-to{opacity:0;visibility:hidden;}
+.t-popover.t-popover--placement-top .t-popover__content,.t-popover.t-popover--placement-top-end .t-popover__content,.t-popover.t-popover--placement-top-start .t-popover__content{margin-bottom:16rpx;}
+.t-popover.t-popover--placement-top .t-popover__content--arrow,.t-popover.t-popover--placement-top-end .t-popover__content--arrow,.t-popover.t-popover--placement-top-start .t-popover__content--arrow{margin-bottom:24rpx;}
+.t-popover.t-popover--placement-bottom .t-popover__content,.t-popover.t-popover--placement-bottom-end .t-popover__content,.t-popover.t-popover--placement-bottom-start .t-popover__content{margin-top:16rpx;}
+.t-popover.t-popover--placement-bottom .t-popover__content--arrow,.t-popover.t-popover--placement-bottom-end .t-popover__content--arrow,.t-popover.t-popover--placement-bottom-start .t-popover__content--arrow{margin-top:24rpx;}
+.t-popover.t-popover--placement-left .t-popover__content,.t-popover.t-popover--placement-left-end .t-popover__content,.t-popover.t-popover--placement-left-start .t-popover__content{margin-right:16rpx;}
+.t-popover.t-popover--placement-left .t-popover__content--arrow,.t-popover.t-popover--placement-left-end .t-popover__content--arrow,.t-popover.t-popover--placement-left-start .t-popover__content--arrow{margin-right:24rpx;}
+.t-popover.t-popover--placement-right .t-popover__content,.t-popover.t-popover--placement-right-end .t-popover__content,.t-popover.t-popover--placement-right-start .t-popover__content{margin-left:16rpx;}
+.t-popover.t-popover--placement-right .t-popover__content--arrow,.t-popover.t-popover--placement-right-end .t-popover__content--arrow,.t-popover.t-popover--placement-right-start .t-popover__content--arrow{margin-left:24rpx;}
+.t-popover.t-popover--placement-top .t-popover__arrow,.t-popover.t-popover--placement-top-end .t-popover__arrow,.t-popover.t-popover--placement-top-start .t-popover__arrow{bottom:0;border-top-color:currentColor;border-bottom-width:0;margin-bottom:calc(16rpx * -1);}
+.t-popover.t-popover--placement-top{transform-origin:50% 100%;}
+.t-popover.t-popover--placement-top .t-popover__arrow{left:50%;transform:translateX(-50%);}
+.t-popover.t-popover--placement-top-start{transform-origin:0 100%;}
+.t-popover.t-popover--placement-top-start .t-popover__arrow{left:var(--td-popover-padding,24rpx);}
+.t-popover.t-popover--placement-top-end{transform-origin:100% 100%;}
+.t-popover.t-popover--placement-top-end .t-popover__arrow{right:var(--td-popover-padding,24rpx);}
+.t-popover.t-popover--placement-bottom .t-popover__arrow,.t-popover.t-popover--placement-bottom-end .t-popover__arrow,.t-popover.t-popover--placement-bottom-start .t-popover__arrow{top:0;border-top-width:0;border-bottom-color:currentColor;margin-top:calc(16rpx * -1);}
+.t-popover.t-popover--placement-bottom{transform-origin:50% 0;}
+.t-popover.t-popover--placement-bottom .t-popover__arrow{left:50%;transform:translateX(-50%);}
+.t-popover.t-popover--placement-bottom-start{transform-origin:0 0;}
+.t-popover.t-popover--placement-bottom-start .t-popover__arrow{left:var(--td-popover-padding,24rpx);}
+.t-popover.t-popover--placement-bottom-end{transform-origin:100% 0;}
+.t-popover.t-popover--placement-bottom-end .t-popover__arrow{right:var(--td-popover-padding,24rpx);}
+.t-popover.t-popover--placement-left .t-popover__arrow,.t-popover.t-popover--placement-left-end .t-popover__arrow,.t-popover.t-popover--placement-left-start .t-popover__arrow{right:0;border-right-width:0;border-left-color:currentColor;margin-right:calc(16rpx * -1);}
+.t-popover.t-popover--placement-left{transform-origin:100% 50%;}
+.t-popover.t-popover--placement-left .t-popover__arrow{top:50%;transform:translateY(-50%);}
+.t-popover.t-popover--placement-left-start{transform-origin:100% 0;}
+.t-popover.t-popover--placement-left-start .t-popover__arrow{top:var(--td-popover-padding,24rpx);}
+.t-popover.t-popover--placement-left-end{transform-origin:100% 100%;}
+.t-popover.t-popover--placement-left-end .t-popover__arrow{bottom:var(--td-popover-padding,24rpx);}
+.t-popover.t-popover--placement-right .t-popover__arrow,.t-popover.t-popover--placement-right-end .t-popover__arrow,.t-popover.t-popover--placement-right-start .t-popover__arrow{left:0;border-right-color:currentColor;border-left-width:0;margin-left:calc(16rpx * -1);}
+.t-popover.t-popover--placement-right{transform-origin:0 50%;}
+.t-popover.t-popover--placement-right .t-popover__arrow{top:50%;transform:translateY(-50%);}
+.t-popover.t-popover--placement-right-start{transform-origin:0 0;}
+.t-popover.t-popover--placement-right-start .t-popover__arrow{top:var(--td-popover-padding,24rpx);}
+.t-popover.t-popover--placement-right-end{transform-origin:0 100%;}
+.t-popover.t-popover--placement-right-end .t-popover__arrow{bottom:var(--td-popover-padding,24rpx);}
+.content-placement-top .t-popover.t-popover--placement-top .t-popover__content,.content-placement-top .t-popover.t-popover--placement-top-end .t-popover__content,.content-placement-top .t-popover.t-popover--placement-top-start .t-popover__content{margin-bottom:16rpx;}
+.content-placement-top .t-popover.t-popover--placement-top .t-popover__content--arrow,.content-placement-top .t-popover.t-popover--placement-top-end .t-popover__content--arrow,.content-placement-top .t-popover.t-popover--placement-top-start .t-popover__content--arrow{margin-bottom:24rpx;}
+.content-placement-bottom .t-popover.t-popover--placement-bottom .t-popover__content,.content-placement-bottom .t-popover.t-popover--placement-bottom-end .t-popover__content,.content-placement-bottom .t-popover.t-popover--placement-bottom-start .t-popover__content{margin-top:16rpx;}
+.content-placement-bottom .t-popover.t-popover--placement-bottom .t-popover__content--arrow,.content-placement-bottom .t-popover.t-popover--placement-bottom-end .t-popover__content--arrow,.content-placement-bottom .t-popover.t-popover--placement-bottom-start .t-popover__content--arrow{margin-top:24rpx;}
+.content-placement-left .t-popover.t-popover--placement-left .t-popover__content,.content-placement-left .t-popover.t-popover--placement-left-end .t-popover__content,.content-placement-left .t-popover.t-popover--placement-left-start .t-popover__content{margin-right:16rpx;}
+.content-placement-left .t-popover.t-popover--placement-left .t-popover__content--arrow,.content-placement-left .t-popover.t-popover--placement-left-end .t-popover__content--arrow,.content-placement-left .t-popover.t-popover--placement-left-start .t-popover__content--arrow{margin-right:24rpx;}
+.content-placement-right .t-popover.t-popover--placement-right .t-popover__content,.content-placement-right .t-popover.t-popover--placement-right-end .t-popover__content,.content-placement-right .t-popover.t-popover--placement-right-start .t-popover__content{margin-left:16rpx;}
+.content-placement-right .t-popover.t-popover--placement-right .t-popover__content--arrow,.content-placement-right .t-popover.t-popover--placement-right-end .t-popover__content--arrow,.content-placement-right .t-popover.t-popover--placement-right-start .t-popover__content--arrow{margin-left:24rpx;}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/popover/props.d.ts b/miniprogram_npm/tdesign-miniprogram/popover/props.d.ts
new file mode 100644
index 0000000..74dfef8
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/popover/props.d.ts
@@ -0,0 +1,3 @@
+import { TdPopoverProps } from './type';
+declare const props: TdPopoverProps;
+export default props;
diff --git a/miniprogram_npm/tdesign-miniprogram/popover/props.js b/miniprogram_npm/tdesign-miniprogram/popover/props.js
new file mode 100644
index 0000000..4a40d1e
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/popover/props.js
@@ -0,0 +1 @@
+const props={closeOnClickOutside:{type:Boolean,value:!0},content:{type:String},fixed:{type:Boolean,value:!1},placement:{type:String,value:"top"},showArrow:{type:Boolean,value:!0},theme:{type:String,value:"dark"},visible:{type:Boolean,value:null},defaultVisible:{type:Boolean}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/popover/type.d.ts b/miniprogram_npm/tdesign-miniprogram/popover/type.d.ts
new file mode 100644
index 0000000..093c8f4
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/popover/type.d.ts
@@ -0,0 +1,34 @@
+export interface TdPopoverProps {
+    closeOnClickOutside?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    content?: {
+        type: StringConstructor;
+        value?: string;
+    };
+    fixed?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    placement?: {
+        type: StringConstructor;
+        value?: 'top' | 'left' | 'right' | 'bottom' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom';
+    };
+    showArrow?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    theme?: {
+        type: StringConstructor;
+        value?: 'dark' | 'light' | 'brand' | 'success' | 'warning' | 'error';
+    };
+    visible?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+    defaultVisible?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
+}
diff --git a/miniprogram_npm/tdesign-miniprogram/popover/type.js b/miniprogram_npm/tdesign-miniprogram/popover/type.js
new file mode 100644
index 0000000..17bca46
--- /dev/null
+++ b/miniprogram_npm/tdesign-miniprogram/popover/type.js
@@ -0,0 +1 @@
+export{};
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/popup/popup.wxml b/miniprogram_npm/tdesign-miniprogram/popup/popup.wxml
index 97fc8d2..cc40be9 100644
--- a/miniprogram_npm/tdesign-miniprogram/popup/popup.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/popup/popup.wxml
@@ -1 +1 @@
-<wxs src="./popup.wxs" module="popup"/><wxs src="../common/utils.wxs" module="_"/><view wx:if="{{realVisible}}" style="{{_._style([popup.getPopupStyles(zIndex, distanceTop, placement), style, customStyle])}}" class="{{_.cls(classPrefix, [placement])}} {{transitionClass}} class {{prefix}}-class" bind:transitionend="onTransitionEnd"><view data-prevention="{{preventScrollThrough || (overlayProps ? !!overlayProps.preventScrollThrough : false)}}" bind:touchmove="{{popup.onContentTouchMove}}" class="{{classPrefix}}__content {{prefix}}-class-content"><slot name="content"/><slot/><view class="{{classPrefix}}__close" bind:tap="handleClose"><t-icon name="close" wx:if="{{closeBtn}}" size="64rpx"/><slot name="close-btn" class="{{classPrefix}}-slot"/></view></view></view><t-overlay id="popup-overlay" wx:if="{{showOverlay}}" visible="{{visible}}" usingCustomNavbar="{{usingCustomNavbar}}" z-index="{{overlayProps && overlayProps.zIndex || 11000}}" duration="{{overlayProps && overlayProps.duration || 300}}" background-color="{{overlayProps && overlayProps.backgroundColor || ''}}" prevent-scroll-through="{{preventScrollThrough || (overlayProps ? !!overlayProps.preventScrollThrough : false)}}" bind:tap="handleOverlayClick" custom-style="{{overlayProps && overlayProps.style || ''}}"/>
\ No newline at end of file
+<wxs src="./popup.wxs" module="popup"/><wxs src="../common/utils.wxs" module="_"/><view wx:if="{{realVisible}}" style="{{_._style([popup.getPopupStyles(zIndex, distanceTop, placement, duration), style, customStyle])}}" class="{{_.cls(classPrefix, [placement])}} {{transitionClass}} class {{prefix}}-class" bind:transitionend="onTransitionEnd"><view data-prevention="{{preventScrollThrough || (overlayProps ? !!overlayProps.preventScrollThrough : false)}}" bind:touchmove="{{popup.onContentTouchMove}}" class="{{classPrefix}}__content {{prefix}}-class-content"><slot name="content"/><slot/><view class="{{classPrefix}}__close" bind:tap="handleClose"><t-icon name="close" wx:if="{{closeBtn}}" size="64rpx"/><slot name="close-btn" class="{{classPrefix}}-slot"/></view></view></view><t-overlay id="popup-overlay" wx:if="{{showOverlay}}" visible="{{visible}}" usingCustomNavbar="{{usingCustomNavbar}}" z-index="{{overlayProps && overlayProps.zIndex || 11000}}" duration="{{overlayProps && overlayProps.duration || duration || 300}}" background-color="{{overlayProps && overlayProps.backgroundColor || ''}}" prevent-scroll-through="{{preventScrollThrough || (overlayProps ? !!overlayProps.preventScrollThrough : false)}}" bind:tap="handleOverlayClick" custom-style="{{overlayProps && overlayProps.style || ''}}"/>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/popup/popup.wxs b/miniprogram_npm/tdesign-miniprogram/popup/popup.wxs
index 2f4a01f..d83e258 100644
--- a/miniprogram_npm/tdesign-miniprogram/popup/popup.wxs
+++ b/miniprogram_npm/tdesign-miniprogram/popup/popup.wxs
@@ -1,8 +1,11 @@
-function getPopupStyles(zIndex, distanceTop, placement) {
+function getPopupStyles(zIndex, distanceTop, placement, duration) {
   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;';
   }
+  if (duration) {
+    zIndexStyle = zIndexStyle + '--td-popup-transition:all ' + duration + 'ms ease;';
+  }
   return zIndexStyle;
 }
 
diff --git a/miniprogram_npm/tdesign-miniprogram/progress/progress.wxml b/miniprogram_npm/tdesign-miniprogram/progress/progress.wxml
index 14bf5d5..aec4e30 100644
--- a/miniprogram_npm/tdesign-miniprogram/progress/progress.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/progress/progress.wxml
@@ -1,50 +1 @@
-<import src="../common/template/icon.wxml" />
-<wxs src="../common/utils.wxs" module="_" />
-<wxs src="./progress.wxs" module="_this" />
-<view style="{{_._style([style, customStyle])}}" class="{{classPrefix}} class">
-  <view wx:if="{{theme === _this.PRO_THEME.LINE}}"
-    class="{{classPrefix }}--thin {{classPrefix}}--status--{{status || computedStatus}} {{prefix}}-class">
-    <view aria-role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="{{computedProgress}}"
-      aria-label="{{ ariaLabel || (isIOS ? _this.getIOSAriaLabel(status) : _this.getAndroidAriaLabel(status))  }}"
-      aria-live="polite" class="{{classPrefix }}__bar"
-      style="height: {{heightBar}}px;border-radius: {{heightBar}}px;background-color: {{bgColorBar}}">
-      <view class="{{classPrefix }}__inner {{prefix}}-class-bar"
-        style="background: {{colorBar}}; width: {{computedProgress + '%'}}"></view>
-    </view>
-    <view wx:if="{{label}}" class="{{classPrefix}}__info {{prefix}}-class-label" aria-hidden="{{ true }}"><template
-        wx:if="{{_.includes(_this.STATUS, status)}}" is="icon"
-        data="{{tClass: classPrefix + '__icon', size:'44rpx', name: _this.LINE_STATUS_ICON[status]}}"></template><text
-        wx:else>{{ _.isString(label)? label: computedProgress + '%' }}</text></view>
-    <slot name="label" />
-  </view>
-  <view aria-role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="{{computedProgress}}"
-    aria-label="{{ ariaLabel || (isIOS ? _this.getIOSAriaLabel(status) : _this.getAndroidAriaLabel(status))  }}"
-    aria-live="polite" wx:if="{{theme === _this.PRO_THEME.PLUMP}}"
-    class="{{classPrefix}}__bar {{classPrefix}}--plump {{computedProgress > 10 ? classPrefix + '--over-ten': classPrefix + '--under-ten'}} {{classPrefix}}--status--{{status || computedStatus}} {{prefix}}-class"
-    style="height: {{heightBar}}px;border-radius: {{heightBar}}px;background-color: {{bgColorBar}}">
-    <view class="{{classPrefix}}__inner {{prefix}}-class-bar"
-      style="background: {{colorBar}}; width: {{computedProgress}}%">
-      <view wx:if="{{label && computedProgress > 10}}" class="{{classPrefix }}__info {{prefix}}-class-label">
-        <text>{{ _.isString(label)? label: computedProgress + '%' }}</text></view>
-      <slot wx:if="{{computedProgress > 10}}" name="label" />
-    </view>
-    <view wx:if="{{label && computedProgress <= 10}}" class="{{ classPrefix }}__info {{prefix}}-class-label"
-      aria-hidden="{{ true }}"><text>{{ _.isString(label)? label: computedProgress + '%' }}</text></view>
-    <slot wx:if="{{computedProgress <= 10}}" name="label" />
-  </view>
-  <view wx:if="{{theme === _this.PRO_THEME.CIRCLE}}"
-    class="{{classPrefix}}--status--{{status || computedStatus}} {{prefix}}-class">
-    <view aria-role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="{{computedProgress}}"
-      aria-label="{{ ariaLabel || (isIOS ? _this.getIOSAriaLabel(status) : _this.getAndroidAriaLabel(status))  }}"
-      aria-live="polite" class="{{_.cls(classPrefix + '__canvas--circle', [[size, true]])}}"
-      style="{{_this.getCircleStyle(size, heightBar)}}; background-image: conic-gradient(from var(--td-progress-circle-from), {{colorCircle || _this.STATUS_COLOR[status] || 'var(--td-progress-inner-bg-color)'}} {{computedProgress}}%, {{bgColorBar || 'var(--td-progress-track-bg-color)'}} 0%);">
-      <view class="{{classPrefix}}__canvas--inner {{prefix}}-class-bar">
-        <view wx:if="{{label}}" class="{{classPrefix}}__info {{prefix}}-class-label" aria-hidden="{{ true }}"><template
-            wx:if="{{_.includes(_this.STATUS, status)}}" is="icon"
-            data="{{tClass: classPrefix + '__icon', size:'96rpx', name: _this.CIRCLE_STATUS_ICON[status]}}"></template><text
-            wx:else>{{ _.isString(label)? label: computedProgress + '%' }}</text></view>
-        <slot name="label" />
-      </view>
-    </view>
-  </view>
-</view>
\ No newline at end of file
+<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><wxs src="./progress.wxs" module="_this"/><view style="{{_._style([style, customStyle])}}" class="{{classPrefix}} class"><view wx:if="{{theme === _this.PRO_THEME.LINE}}" class="{{classPrefix }}--thin {{classPrefix}}--status--{{status || computedStatus}} {{prefix}}-class"><view aria-role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="{{computedProgress}}" aria-label="{{ ariaLabel || (isIOS ? _this.getIOSAriaLabel(status) : _this.getAndroidAriaLabel(status))  }}" aria-live="polite" class="{{classPrefix }}__bar" style="height: {{heightBar}}px;border-radius: {{heightBar}}px;background-color: {{bgColorBar}}"><view class="{{classPrefix }}__inner {{prefix}}-class-bar" style="background: {{colorBar}}; width: {{computedProgress + '%'}}"></view></view><view wx:if="{{label}}" class="{{classPrefix}}__info {{prefix}}-class-label" aria-hidden="{{ true }}"><template wx:if="{{_.includes(_this.STATUS, status)}}" is="icon" data="{{tClass: classPrefix + '__icon', size:'44rpx', name: _this.LINE_STATUS_ICON[status]}}"></template><text wx:else>{{ _.isString(label)? label: computedProgress + '%' }}</text></view><slot name="label"/></view><view aria-role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="{{computedProgress}}" aria-label="{{ ariaLabel || (isIOS ? _this.getIOSAriaLabel(status) : _this.getAndroidAriaLabel(status))  }}" aria-live="polite" wx:if="{{theme === _this.PRO_THEME.PLUMP}}" class="{{classPrefix}}__bar {{classPrefix}}--plump {{computedProgress > 10 ? classPrefix + '--over-ten': classPrefix + '--under-ten'}} {{classPrefix}}--status--{{status || computedStatus}} {{prefix}}-class" style="height: {{heightBar}}px;border-radius: {{heightBar}}px;background-color: {{bgColorBar}}"><view class="{{classPrefix}}__inner {{prefix}}-class-bar" style="background: {{colorBar}}; width: {{computedProgress}}%"><view wx:if="{{label && computedProgress > 10}}" class="{{classPrefix }}__info {{prefix}}-class-label"><text>{{ _.isString(label)? label: computedProgress + '%' }}</text></view><slot wx:if="{{computedProgress > 10}}" name="label"/></view><view wx:if="{{label && computedProgress <= 10}}" class="{{ classPrefix }}__info {{prefix}}-class-label" aria-hidden="{{ true }}"><text>{{ _.isString(label)? label: computedProgress + '%' }}</text></view><slot wx:if="{{computedProgress <= 10}}" name="label"/></view><view wx:if="{{theme === _this.PRO_THEME.CIRCLE}}" class="{{classPrefix}}--status--{{status || computedStatus}} {{prefix}}-class"><view aria-role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="{{computedProgress}}" aria-label="{{ ariaLabel || (isIOS ? _this.getIOSAriaLabel(status) : _this.getAndroidAriaLabel(status))  }}" aria-live="polite" class="{{_.cls(classPrefix + '__canvas--circle', [size])}}" style="{{_this.getCircleStyle(size, heightBar)}}; background-image: conic-gradient(from var(--td-progress-circle-from), {{colorCircle || _this.STATUS_COLOR[status] || 'var(--td-progress-inner-bg-color)'}} {{computedProgress}}%, {{bgColorBar || 'var(--td-progress-track-bg-color)'}} 0%);"><view class="{{classPrefix}}__canvas--inner {{prefix}}-class-bar"><view wx:if="{{label}}" class="{{classPrefix}}__info {{prefix}}-class-label" aria-hidden="{{ true }}"><template wx:if="{{_.includes(_this.STATUS, status)}}" is="icon" data="{{tClass: classPrefix + '__icon', size:'96rpx', name: _this.CIRCLE_STATUS_ICON[status]}}"></template><text wx:else>{{ _.isString(label)? label: computedProgress + '%' }}</text></view><slot name="label"/></view></view></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/progress/progress.wxss b/miniprogram_npm/tdesign-miniprogram/progress/progress.wxss
index 14b8f6b..874f3a9 100644
--- a/miniprogram_npm/tdesign-miniprogram/progress/progress.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/progress/progress.wxss
@@ -5,14 +5,14 @@
 .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--plump .t-progress__info{font:var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
 .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__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-bg-color-container,var(--td-font-white-1,#fff)));}
+.t-progress__canvas--circle .t-progress__info{margin:0;padding:0;font:var(--td-progress-circle-label-font,var(--td-font-title-extraLarge,600 40rpx / 56rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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-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));}
diff --git a/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.d.ts b/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.d.ts
index badc23e..ccc6495 100644
--- a/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.d.ts
@@ -39,9 +39,11 @@
         barHeight(val: any): void;
         maxBarHeight(v: any): void;
         loadingBarHeight(v: any): void;
+        globalConfig(): void;
     };
     methods: {
         updateDistanceTop(): void;
+        updateLoadingTexts(): void;
         resetTimer(): void;
         onScrollToBottom(): void;
         onScrollToTop(): void;
diff --git a/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.js b/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.js
index c158544..66836de 100644
--- a/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.js
+++ b/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.js
@@ -1 +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=["涓嬫媺鍒锋柊","鏉炬墜鍒锋柊","姝e湪鍒锋柊","鍒锋柊瀹屾垚"];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
+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";import usingConfig from"../mixins/using-config";const{prefix:prefix}=config,componentName="pull-down-refresh";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",usingConfig({componentName:componentName})]:[usingConfig({componentName:componentName})],this.options={multipleSlots:!0,pureDataPattern:/^_/},this.relations={"../back-top/back-top":{type:"descendant"}},this.properties=props,this.data={prefix:prefix,classPrefix:`${prefix}-${componentName}`,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,{maxBarHeight:e,loadingBarHeight:s}=this.properties;this.setData({_maxBarHeight:unitConvert(e),_loadingBarHeight:unitConvert(s)}),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)})},globalConfig(){this.updateLoadingTexts()}},this.methods={updateDistanceTop(){const{classPrefix:t}=this.data,e=t=>{this.setData({distanceTop:t})};getRect(this,`.${t}`).then(s=>{s.top?e(s.top):getObserver(this,`.${t}`).then(t=>{t.intersectionRatio>0&&e(t.boundingClientRect.top)})})},updateLoadingTexts(){const{loadingTexts:t}=this.properties,{globalConfig:e}=this.data,s=Array.isArray(t)&&t.length>=4;this.setData({realLoadingTexts:s?t:e.loadingTexts})},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_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.wxml b/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.wxml
index 39dd5df..50bb31a 100644
--- a/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/pull-down-refresh/pull-down-refresh.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><scroll-view style="{{_._style([style, customStyle, 'max-height: calc(100vh - ' + distanceTop + 'px)'])}}" class="{{classPrefix}} class {{prefix}}-class" type="list" scroll-top="{{scrollTop}}" scroll-y enable-back-to-top="{{enableBackToTop}}" enable-passive="{{enablePassive}}" lower-threshold="{{lowerThreshold}}" upper-threshold="{{upperThreshold}}" scroll-into-view="{{scrollIntoView}}" show-scrollbar="{{showScrollbar}}" enhanced scroll-with-animation bounces="{{false}}" bind:touchstart="onTouchStart" bind:touchmove="onTouchMove" bind:touchend="onTouchEnd" bind:scroll="onScroll" binddragstart="onDragStart" binddragging="onDragging" binddragend="onDragEnd" bindscrolltoupper="onScrollToTop" bindscrolltolower="onScrollToBottom" throttle="{{false}}"><slot name="header"/><view class="{{classPrefix}}__track {{classPrefix + '__track--' + (loosing ? 'loosing' : '')}}" style="{{barHeight > 0 ? 'transform: translate3d(0, ' + barHeight + 'px, 0);' : ''}}"><view class="{{classPrefix}}__tips {{classPrefix + '__tips--' + (loosing ? 'loosing' : '')}}" style="height: {{tipsHeight}}px" aria-live="polite"><t-loading wx:if="{{refreshStatus === 2}}" delay="{{loadingProps.delay || 0}}" duration="{{loadingProps.duration || 800}}" indicator="{{loadingProps.indicator || true}}" layout="{{loadingProps.layout || 'horizontal'}}" loading="{{loadingProps.loading || true}}" pause="{{loadingProps.pause || false}}" progress="{{loadingProps.progress || 0}}" reverse="{{loadingProps.reverse || false}}" size="{{loadingProps.size || '50rpx'}}" text="{{loadingProps.text || loadingTexts[refreshStatus]}}" theme="{{loadingProps.theme || 'circular'}}" t-class="{{prefix}}-class-loading" t-class-indicator="{{prefix}}-class-indicator"/><view wx:elif="{{refreshStatus >= 0}}" class="{{classPrefix}}__text {{prefix}}-class-text">{{loadingTexts[refreshStatus]}}</view></view><slot/></view></scroll-view>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><scroll-view style="{{_._style([style, customStyle, 'max-height: calc(100vh - ' + distanceTop + 'px)'])}}" class="{{classPrefix}} class {{prefix}}-class" type="list" scroll-top="{{scrollTop}}" scroll-y enable-back-to-top="{{enableBackToTop}}" enable-passive="{{enablePassive}}" lower-threshold="{{lowerThreshold}}" upper-threshold="{{upperThreshold}}" scroll-into-view="{{scrollIntoView}}" show-scrollbar="{{showScrollbar}}" enhanced scroll-with-animation bounces="{{false}}" bind:touchstart="onTouchStart" bind:touchmove="onTouchMove" bind:touchend="onTouchEnd" bind:scroll="onScroll" binddragstart="onDragStart" binddragging="onDragging" binddragend="onDragEnd" bindscrolltoupper="onScrollToTop" bindscrolltolower="onScrollToBottom" throttle="{{false}}"><slot name="header"/><view class="{{classPrefix}}__track {{classPrefix + '__track--' + (loosing ? 'loosing' : '')}}" style="{{barHeight > 0 ? 'transform: translate3d(0, ' + barHeight + 'px, 0);' : ''}}"><view class="{{classPrefix}}__tips {{classPrefix + '__tips--' + (loosing ? 'loosing' : '')}}" style="height: {{tipsHeight}}px" aria-live="polite"><t-loading wx:if="{{refreshStatus === 2}}" delay="{{loadingProps.delay || 0}}" duration="{{loadingProps.duration || 800}}" indicator="{{loadingProps.indicator || true}}" layout="{{loadingProps.layout || 'horizontal'}}" loading="{{loadingProps.loading || true}}" pause="{{loadingProps.pause || false}}" progress="{{loadingProps.progress || 0}}" reverse="{{loadingProps.reverse || false}}" size="{{loadingProps.size || '50rpx'}}" text="{{loadingProps.text || realLoadingTexts[refreshStatus]}}" theme="{{loadingProps.theme || 'circular'}}" t-class="{{prefix}}-class-loading" t-class-indicator="{{prefix}}-class-indicator"/><view wx:elif="{{refreshStatus >= 0}}" class="{{classPrefix}}__text {{prefix}}-class-text">{{realLoadingTexts[refreshStatus]}}</view></view><slot/></view></scroll-view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.js b/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.js
index 94567ca..465d67a 100644
--- a/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.js
+++ b/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-canvas/qrcode-canvas.js
@@ -1 +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
+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*(){this.createSelectorQuery().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:s,bgColor:n,color:c,includeMargin:d,marginSize:h}=this.properties,u=this.getSizeProp(l);try{const l=useQRCode({value:o,level:s,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=n,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=>{this.createSelectorQuery().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_npm/tdesign-miniprogram/qrcode/components/qrcode-status/props.d.ts b/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/props.d.ts
index fcbf4d0..53e8e41 100644
--- a/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/props.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/props.d.ts
@@ -1,7 +1,7 @@
 declare const _default: {
     status: {
         type: StringConstructor;
-        value: "loading" | "active" | "expired" | "scanned";
+        value: "loading" | "expired" | "scanned" | "active";
     };
     locale: {
         type: ObjectConstructor;
diff --git a/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.d.ts b/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.d.ts
index ef2d19a..d3e2987 100644
--- a/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.d.ts
@@ -10,7 +10,7 @@
         };
         status: {
             type: StringConstructor;
-            value: "loading" | "active" | "expired" | "scanned";
+            value: "loading" | "expired" | "scanned" | "active";
         };
         locale: {
             type: ObjectConstructor;
diff --git a/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.wxss b/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.wxss
index 5a62826..924f4e9 100644
--- a/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/qrcode/components/qrcode-status/qrcode-status.wxss
@@ -1,5 +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-expired__button:hover{color:var(--td-brand-color-active,var(--td-primary-color-8,#003cab));}
 .t-scanned{display:flex;column-gap:8px;align-items:center;}
-.t-scanned__icon{color:var(--td-success-color);}
\ No newline at end of file
+.t-scanned__icon{color:var(--td-success-color,var(--td-success-color-5,#2ba471));}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.d.ts b/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.d.ts
index 75a6751..d617fdc 100644
--- a/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.d.ts
@@ -1,22 +1,14 @@
 import { SuperComponent } from '../common/src/index';
 export default class QRCode extends SuperComponent {
+    behaviors: string[];
     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;
@@ -72,6 +64,7 @@
         status: (newVal: string) => void;
     };
     methods: {
+        init(): void;
         handleDrawCompleted(): void;
         handleDrawError(err: any): void;
         handleRefresh(): void;
diff --git a/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.js b/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.js
index 12ee3ad..e7d6ad4 100644
--- a/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.js
+++ b/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.js
@@ -1 +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
+import{__awaiter,__decorate}from"tslib";import props from"./props";import config from"../common/config";import{SuperComponent,wxComponent}from"../common/src/index";import usingConfig from"../mixins/using-config";const{prefix:prefix}=config,componentName="qrcode";let QRCode=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[usingConfig({componentName:"qrcode"})],this.externalClasses=[`${prefix}-class`,`${prefix}-class-canvas`],this.options={multipleSlots:!0},this.properties=Object.assign(Object.assign({},props),{statusRender:{type:Boolean,value:!1}}),this.data={prefix:prefix,showMask:!1,classPrefix:`${prefix}-qrcode`,canvasReady:!1},this.lifetimes={ready(){return __awaiter(this,void 0,void 0,function*(){const e=this.selectComponent("#qrcodeCanvas"),s=yield e.getCanvasNode();this.setData({canvasNode:s})})},attached(){this.setData({showMask:"active"!==this.properties.status})}},this.observers={status:function(e){this.setData({showMask:"active"!==e})}},this.methods={init(){const e=this.selectComponent("#qrcodeCanvas");e&&e.initCanvas()},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_npm/tdesign-miniprogram/qrcode/qrcode.wxml b/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxml
index 680e96a..a5b6028 100644
--- a/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle])}} width:{{size}}px; height: {{size}}px; background-color: {{bgColor}};" class="{{classPrefix}} {{borderless ? prefix+'-'+'borderless' : ''}} class {{prefix}}-class"><qrcode-canvas id="qrcodeCanvas" class="{{prefix}}-class-canvas" size="{{size}}" value="{{value}}" level="{{level}}" color="{{color}}" bg-color="{{bgColor}}" icon="{{icon}}" icon-size="{{iconSize}}" bind:drawError="handleDrawError" bind:drawCompleted="handleDrawCompleted"></qrcode-canvas><block wx:if="{{showMask && canvasReady}}"><view class="{{prefix}}-mask"><qrcode-status status="{{status}}" bind:refresh="handleRefresh" status-render="{{statusRender}}"><slot name="statusRender" slot="statusRender"></slot></qrcode-status></view></block></view>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle])}} width:{{size}}px; height: {{size}}px; background-color: {{bgColor}};" class="{{classPrefix}} {{borderless ? prefix+'-'+'borderless' : ''}} class {{prefix}}-class"><qrcode-canvas id="qrcodeCanvas" class="{{prefix}}-class-canvas" size="{{size}}" value="{{value}}" level="{{level}}" color="{{color}}" bg-color="{{bgColor}}" icon="{{icon}}" icon-size="{{iconSize}}" bind:drawError="handleDrawError" bind:drawCompleted="handleDrawCompleted"></qrcode-canvas><block wx:if="{{showMask && canvasReady}}"><view class="{{prefix}}-mask"><qrcode-status status="{{status}}" bind:refresh="handleRefresh" status-render="{{statusRender}}" locale="{{globalConfig}}"><slot name="statusRender" slot="statusRender"></slot></qrcode-status></view></block></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxss b/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxss
index 4fc4ec7..45d495f 100644
--- a/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/qrcode/qrcode.wxss
@@ -1,3 +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));}
+@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:24rpx;border-radius:12rpx;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
+.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)));background-color:var(--td-mask-background,rgba(255,255,255,.96));text-align:center;border-radius:12rpx;font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/radio/radio.wxss b/miniprogram_npm/tdesign-miniprogram/radio/radio.wxss
index bd9adae..4798808 100644
--- a/miniprogram_npm/tdesign-miniprogram/radio/radio.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/radio/radio.wxss
@@ -1,5 +1,5 @@
 @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{position:relative;display:inline-flex;vertical-align:middle;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;}
@@ -23,10 +23,10 @@
 .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{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))));font:var(--td-radio-font,var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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{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:var(--td-radio-content-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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;}
diff --git a/miniprogram_npm/tdesign-miniprogram/rate/rate.d.ts b/miniprogram_npm/tdesign-miniprogram/rate/rate.d.ts
index e6070ab..88700ef 100644
--- a/miniprogram_npm/tdesign-miniprogram/rate/rate.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/rate/rate.d.ts
@@ -1,5 +1,6 @@
 import { SuperComponent } from '../common/src/index';
 export default class Rate extends SuperComponent {
+    behaviors: string[];
     externalClasses: string[];
     properties: import("./type").TdRateProps;
     controlledProps: {
@@ -9,7 +10,6 @@
     data: {
         prefix: string;
         classPrefix: string;
-        defaultTexts: string[];
         tipsVisible: boolean;
         tipsLeft: number;
         actionType: string;
diff --git a/miniprogram_npm/tdesign-miniprogram/rate/rate.js b/miniprogram_npm/tdesign-miniprogram/rate/rate.js
index 12ad7e3..74e88f2 100644
--- a/miniprogram_npm/tdesign-miniprogram/rate/rate.js
+++ b/miniprogram_npm/tdesign-miniprogram/rate/rate.js
@@ -1 +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
+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";import usingConfig from"../mixins/using-config";const{prefix:prefix}=config,componentName="rate";let Rate=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[usingConfig({componentName:"rate"})],this.externalClasses=[`${prefix}-class`,`${prefix}-class-icon`,`${prefix}-class-text`],this.properties=props,this.controlledProps=[{key:"value",event:"change"}],this.data={prefix:prefix,classPrefix:`${prefix}-rate`,tipsVisible:!1,tipsLeft:0,actionType:"",scaleIndex:-1,isVisibleToScreenReader:!1},this.methods={onTouch(e,t){const{classPrefix:i}=this.data,{count:s,allowHalf:o,gap:n,value:a,size:r}=this.properties,[c]=e.changedTouches,p=unitConvert(n);getRect(this,`.${i}__wrapper`).then(e=>{const{width:i,left:h}=e,l=(i-(s-1)*p)/s,m=(c.pageX-h+p)/(l+p),u=m%1,d=m-u;let f=u<=.5&&o?d+.5:d+1;f>s?f=s:f<0&&(f=0);const x=Math.ceil(f-1)*(unitConvert(n)+unitConvert(r))+.5*unitConvert(r);this.setData({tipsVisible:!0,actionType:t,scaleIndex:Math.ceil(f),tipsLeft:Math.max(x,0)}),f!==a&&this._trigger("change",{value:f}),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_npm/tdesign-miniprogram/rate/rate.wxml b/miniprogram_npm/tdesign-miniprogram/rate/rate.wxml
index 0dbd117..4ef5b38 100644
--- a/miniprogram_npm/tdesign-miniprogram/rate/rate.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/rate/rate.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><wxs src="./rate.wxs" module="utils"/><view class="{{classPrefix}} class" style="{{_._style([style, customStyle])}}"><view class="{{classPrefix}}__wrapper {{prefix}}-class" style="font-size:{{ utils.regSize(size) }}" bind:touchstart="{{ !disabled ? 'onTouchStart' : '' }}" bind:touchmove="{{ !disabled ? 'onTouchMove' : '' }}" bind:tap="onTap" bind:touchend="{{ !disabled ? 'onTouchEnd' : ''}}" bind:touchcancel="{{ !disabled ? 'onTouchEnd' : ''}}" aria-role="slider" aria-valuemax="{{count}}" aria-valuemin="{{0}}" aria-valuenow="{{value}}" aria-valuetext="{{utils.getText(texts,value,defaultTexts)}}"><t-icon wx:for="{{ count }}" wx:key="*this" class="{{classPrefix }}__icon {{utils.getIconClass(classPrefix + '__icon', defaultValue, value, index, allowHalf, disabled, scaleIndex)}}" style="margin-right: {{ count - index > 1 ? _.addUnit(gap) : 0 }}; {{utils.getColor(color)}}" t-class="{{prefix}}-class-icon" name="{{utils.getIconName(defaultValue, value, index, icon)}}" size="{{ size }}" prefix="{{iconPrefix}}"/></view><text wx:if="{{showText}}" class="{{_.cls(classPrefix + '__text', [['active', value > 0]])}} {{prefix}}-class-text" aria-hidden="{{true}}">{{utils.getText(texts,value,defaultTexts)}}</text><text wx:if="{{isVisibleToScreenReader}}" class="{{_.cls(classPrefix + '__text', [['active', value > 0], ['sr-only', isVisibleToScreenReader]])}} {{prefix}}-class-text" aria-role="alert" aria-live="assertive">{{value+'鏄�'}} {{utils.getText(texts,value,defaultTexts)}}</text><view wx:if="{{tipsVisible && placement}}" class="{{_.cls(classPrefix + '__tips', [placement])}}" style="left: {{tipsLeft}}px" aria-hidden="{{true}}"><block wx:if="{{actionType == 'tap'}}"><view wx:if="{{allowHalf}}" class="{{_.cls(classPrefix + '__tips-item', [['active', utils.ceil(value) - 0.5 == value]])}}" bind:tap="onSelect" data-value="{{utils.ceil(value) - 0.5}}"><t-icon class="{{classPrefix }}__icon {{classPrefix }}__icon--selected-half" name="{{utils.getIconName(defaultValue, value, index, icon)}}" size="{{ size }}" style="{{utils.getColor(color)}}"/><view class="{{classPrefix}}__tips-text">{{utils.ceil(value) - 0.5}}</view></view><view class="{{_.cls(classPrefix + '__tips-item', [['active', utils.ceil(value) == value]])}}" bind:tap="onSelect" data-value="{{utils.ceil(value)}}"><t-icon class="{{_.cls(classPrefix + '__icon', ['selected'])}}" name="{{utils.getIconName(defaultValue, 0, 0, icon)}}" size="{{ size }}" style="{{utils.getColor(color)}}"/><view class="{{classPrefix}}__tips-text">{{utils.ceil(value)}}</view></view></block><view wx:else class="{{_.cls(classPrefix + '__tips-item', [['active', utils.ceil(value) == value && actionType == 'tap']])}}" bind:tap="onSelect" data-value="{{utils.ceil(value)}}"><t-icon class="{{_.cls(classPrefix + '__icon', [['selected', utils.ceil(value) == value], ['selected-half', utils.ceil(value) != value]]) }}" name="{{utils.getIconName(defaultValue, 0, 0, icon)}}" size="{{ size }}" style="{{utils.getColor(color)}}"/><view class="{{classPrefix}}__tips-text">{{value}}</view></view></view></view>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><wxs src="./rate.wxs" module="utils"/><view class="{{classPrefix}} class" style="{{_._style([style, customStyle])}}"><view class="{{classPrefix}}__wrapper {{prefix}}-class" style="font-size:{{ utils.regSize(size) }}" bind:touchstart="{{ !disabled ? 'onTouchStart' : '' }}" bind:touchmove="{{ !disabled ? 'onTouchMove' : '' }}" bind:tap="onTap" bind:touchend="{{ !disabled ? 'onTouchEnd' : ''}}" bind:touchcancel="{{ !disabled ? 'onTouchEnd' : ''}}" aria-role="slider" aria-valuemax="{{count}}" aria-valuemin="{{0}}" aria-valuenow="{{value}}" aria-valuetext="{{utils.getText(texts,value,globalConfig)}}"><t-icon wx:for="{{ count }}" wx:key="*this" class="{{classPrefix }}__icon {{utils.getIconClass(classPrefix + '__icon', defaultValue, value, index, allowHalf, disabled, scaleIndex)}}" style="margin-right: {{ count - index > 1 ? _.addUnit(gap) : 0 }}; {{utils.getColor(color)}}" t-class="{{prefix}}-class-icon" name="{{utils.getIconName(defaultValue, value, index, icon)}}" size="{{ size }}" prefix="{{iconPrefix}}"/></view><text wx:if="{{showText}}" class="{{_.cls(classPrefix + '__text', [['active', value > 0]])}} {{prefix}}-class-text" aria-hidden="{{true}}">{{utils.getText(texts,value,globalConfig)}}</text><text wx:if="{{isVisibleToScreenReader}}" class="{{_.cls(classPrefix + '__text', [['active', value > 0], ['sr-only', isVisibleToScreenReader]])}} {{prefix}}-class-text" aria-role="alert" aria-live="assertive">{{value+'鏄�'}} {{utils.getText(texts,value,globalConfig)}}</text><view wx:if="{{tipsVisible && placement}}" class="{{_.cls(classPrefix + '__tips', [placement])}}" style="left: {{tipsLeft}}px" aria-hidden="{{true}}"><block wx:if="{{actionType == 'tap'}}"><view wx:if="{{allowHalf}}" class="{{_.cls(classPrefix + '__tips-item', [['active', utils.ceil(value) - 0.5 == value]])}}" bind:tap="onSelect" data-value="{{utils.ceil(value) - 0.5}}"><t-icon class="{{classPrefix }}__icon {{classPrefix }}__icon--selected-half" name="{{utils.getIconName(defaultValue, value, index, icon)}}" size="{{ size }}" style="{{utils.getColor(color)}}"/><view class="{{classPrefix}}__tips-text">{{utils.ceil(value) - 0.5}}</view></view><view class="{{_.cls(classPrefix + '__tips-item', [['active', utils.ceil(value) == value]])}}" bind:tap="onSelect" data-value="{{utils.ceil(value)}}"><t-icon class="{{_.cls(classPrefix + '__icon', ['selected'])}}" name="{{utils.getIconName(defaultValue, 0, 0, icon)}}" size="{{ size }}" style="{{utils.getColor(color)}}"/><view class="{{classPrefix}}__tips-text">{{utils.ceil(value)}}</view></view></block><view wx:else class="{{_.cls(classPrefix + '__tips-item', [['active', utils.ceil(value) == value && actionType == 'tap']])}}" bind:tap="onSelect" data-value="{{utils.ceil(value)}}"><t-icon class="{{_.cls(classPrefix + '__icon', [['selected', utils.ceil(value) == value], ['selected-half', utils.ceil(value) != value]]) }}" name="{{utils.getIconName(defaultValue, 0, 0, icon)}}" size="{{ size }}" style="{{utils.getColor(color)}}"/><view class="{{classPrefix}}__tips-text">{{value}}</view></view></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/rate/rate.wxs b/miniprogram_npm/tdesign-miniprogram/rate/rate.wxs
index 8387b10..ba1f272 100644
--- a/miniprogram_npm/tdesign-miniprogram/rate/rate.wxs
+++ b/miniprogram_npm/tdesign-miniprogram/rate/rate.wxs
@@ -1,10 +1,10 @@
 module.exports = {
-  getText: function (texts, val, defaultTexts) {
+  getText: function (texts, val, globalConfig) {
     if (!texts.length) {
-      texts = defaultTexts;
+      texts = globalConfig.texts || [];
     }
     var curVal = Math.floor(val - 1);
-    return texts[curVal] || '鏈瘎鍒�';
+    return texts[curVal] || globalConfig.noValueText;
   },
 
   getIconName: function (defaultValue, value, index, icon) {
diff --git a/miniprogram_npm/tdesign-miniprogram/rate/rate.wxss b/miniprogram_npm/tdesign-miniprogram/rate/rate.wxss
index f391fc2..62e537f 100644
--- a/miniprogram_npm/tdesign-miniprogram/rate/rate.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/rate/rate.wxss
@@ -12,4 +12,4 @@
 .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
+.t-rate__tips-text{text-align:center;font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/result/result.wxss b/miniprogram_npm/tdesign-miniprogram/result/result.wxss
index 6996101..d7db991 100644
--- a/miniprogram_npm/tdesign-miniprogram/result/result.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/result/result.wxss
@@ -1,8 +1,8 @@
 @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__title{font:var(--td-result-title-font,var(--td-font-title-extraLarge,600 40rpx / 56rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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__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:var(--td-result-description-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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)));}
diff --git a/miniprogram_npm/tdesign-miniprogram/search/props.js b/miniprogram_npm/tdesign-miniprogram/search/props.js
index 372e8a7..4ce7f9a 100644
--- a/miniprogram_npm/tdesign-miniprogram/search/props.js
+++ b/miniprogram_npm/tdesign-miniprogram/search/props.js
@@ -1 +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
+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},cursorColor:{type:String,value:"#0052d9"},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_npm/tdesign-miniprogram/search/search.d.ts b/miniprogram_npm/tdesign-miniprogram/search/search.d.ts
index bb16745..7ecfda4 100644
--- a/miniprogram_npm/tdesign-miniprogram/search/search.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/search/search.d.ts
@@ -12,8 +12,8 @@
     data: {
         classPrefix: string;
         prefix: string;
-        isShowResultList: boolean;
         isSelected: boolean;
+        isSearching: boolean;
         showClearIcon: boolean;
     };
     updateClearIconVisible(value?: boolean): void;
@@ -23,5 +23,5 @@
     handleClear(): void;
     onConfirm(e: any): void;
     onActionClick(): void;
-    onSelectResultItem(e: any): void;
+    onSelectOption(e: any): void;
 }
diff --git a/miniprogram_npm/tdesign-miniprogram/search/search.js b/miniprogram_npm/tdesign-miniprogram/search/search.js
index a65b718..49082c7 100644
--- a/miniprogram_npm/tdesign-miniprogram/search/search.js
+++ b/miniprogram_npm/tdesign-miniprogram/search/search.js
@@ -1 +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
+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({isSelected:!1})},"clearTrigger, clearable, disabled, readonly"(){this.updateClearIconVisible()}},this.data={classPrefix:name,prefix:prefix,isSelected:!1,isSearching:!1,showClearIcon:!0}}updateClearIconVisible(e=!1){const{clearTrigger:t,disabled:r,readonly:i}=this.properties;r||i?this.setData({showClearIcon:!1}):this.setData({showClearIcon:e||"always"===String(t)})}onInput(e){let{value:t}=e.detail;const{maxcharacter:r}=this.properties;if(r&&"number"==typeof r&&r>0){const{characters:e}=getCharacterLength("maxcharacter",t,r);t=e}this.setData({value:t}),this.triggerEvent("change",{value:t,trigger:"input-change"})}onFocus(e){const{value:t}=e.detail;this.setData({isSearching:!0}),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:"",isSearching:!1}),this.triggerEvent("clear",{value:""}),this.triggerEvent("change",{value:"",trigger:"clear"})}onConfirm(e){const{value:t}=e.detail;this.triggerEvent("submit",{value:t})}onActionClick(){this.setData({isSearching:!1}),this.triggerEvent("action-click")}onSelectOption(e){const{index:t}=e.currentTarget.dataset,r=this.properties.resultList[t];this.setData({value:r,isSelected:!0}),this.triggerEvent("change",{value:r,trigger:"option-click"})}};Search=__decorate([wxComponent()],Search);export default Search;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/search/search.wxml b/miniprogram_npm/tdesign-miniprogram/search/search.wxml
index 5118c56..0bcebec 100644
--- a/miniprogram_npm/tdesign-miniprogram/search/search.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/search/search.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><wxs src="./search.wxs" module="_this"></wxs><view style="{{_._style([style, customStyle])}}" class="class {{classPrefix}} {{prefix}}-class"><view class="{{classPrefix}}__input-box {{prefix}}-{{focus ? 'is-focused' : 'not-focused'}} {{classPrefix}}__input-box--{{center ? 'center' : ''}} {{classPrefix}}__input-box--{{shape}} {{prefix}}-class-input-container"><t-icon wx:if="{{leftIcon}}" name="{{leftIcon}}" class="{{prefix}}-icon {{prefix}}-class-left" aria-hidden="{{true}}"/><slot wx:else name="left-icon"/><input type="{{type}}" name="input" maxlength="{{maxlength}}" disabled="{{disabled || readonly}}" class="{{prefix}}-input__keyword {{prefix}}-class-input {{ disabled ? prefix + '-input--disabled' : ''}}" focus="{{focus}}" value="{{value}}" confirm-type="{{confirmType}}" confirm-hold="{{confirmHold}}" cursor="{{cursor}}" adjust-position="{{adjustPosition}}" always-embed="{{alwaysEmbed}}" selection-start="{{selectionStart}}" selection-end="{{selectionEnd}}" hold-keyboard="{{holdKeyboard}}" cursor-spacing="{{cursorSpacing}}" placeholder="{{placeholder}}" placeholder-style="{{placeholderStyle}}" placeholder-class="{{placeholderClass}} {{classPrefix}}__placeholder {{classPrefix}}__placeholder--{{center ? 'center': 'normal'}}" bind:input="onInput" bind:focus="onFocus" bind:blur="onBlur" bind:confirm="onConfirm"/><view wx:if="{{value !=='' && clearable && showClearIcon}}" class="{{classPrefix}}__clear hotspot-expanded {{prefix}}-class-clear" catch:tap="handleClear" aria-role="button" aria-label="娓呴櫎"><t-icon name="close-circle-filled" size="inherit" color="inherit"/></view></view><view wx:if="{{action}}" class="{{classPrefix}}__search-action {{prefix}}-class-action" catch:tap="onActionClick" aria-role="button">{{action}}</view><slot wx:else name="action"/></view><view wx:if="{{isShowResultList && !isSelected}}" class="{{classPrefix}}__result-list" aria-role="listbox"><t-cell wx:for="{{resultList}}" wx:key="index" data-index="{{index}}" class="{{classPrefix}}__result-item" hover bind:tap="onSelectResultItem" aria-role="option"><rich-text slot="title" nodes="{{_this.highLight(item, value)}}"></rich-text></t-cell></view>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><wxs src="./search.wxs" module="_this"></wxs><view style="{{_._style([style, customStyle])}}" class="class {{classPrefix}} {{prefix}}-class"><view class="{{classPrefix}}__input-box {{prefix}}-{{focus ? 'is-focused' : 'not-focused'}} {{classPrefix}}__input-box--{{center ? 'center' : ''}} {{classPrefix}}__input-box--{{shape}} {{prefix}}-class-input-container"><t-icon wx:if="{{leftIcon}}" name="{{leftIcon}}" class="{{prefix}}-icon {{prefix}}-class-left" aria-hidden="{{true}}"/><slot wx:else name="left-icon"/><input type="{{type}}" name="input" maxlength="{{maxlength}}" disabled="{{disabled || readonly}}" class="{{prefix}}-input__keyword {{prefix}}-class-input {{ disabled ? prefix + '-input--disabled' : ''}}" focus="{{focus}}" value="{{value}}" confirm-type="{{confirmType}}" confirm-hold="{{confirmHold}}" cursor="{{cursor}}" adjust-position="{{adjustPosition}}" always-embed="{{alwaysEmbed}}" selection-start="{{selectionStart}}" selection-end="{{selectionEnd}}" hold-keyboard="{{holdKeyboard}}" cursor-spacing="{{cursorSpacing}}" cursor-color="{{cursorColor}}" placeholder="{{placeholder}}" placeholder-style="{{placeholderStyle}}" placeholder-class="{{placeholderClass}} {{classPrefix}}__placeholder {{classPrefix}}__placeholder--{{center ? 'center': 'normal'}}" bind:input="onInput" bind:focus="onFocus" bind:blur="onBlur" bind:confirm="onConfirm"/><view wx:if="{{value !=='' && clearable && showClearIcon}}" class="{{classPrefix}}__clear hotspot-expanded {{prefix}}-class-clear" catch:touchstart="handleClear" aria-role="button" aria-label="娓呴櫎"><t-icon name="close-circle-filled" size="inherit" color="inherit"/></view></view><view wx:if="{{action}}" class="{{classPrefix}}__search-action {{prefix}}-class-action" catch:tap="onActionClick" aria-role="button">{{action}}</view><slot wx:else name="action"/></view><view wx:if="{{isSearching && resultList.length > 0 && !isSelected}}" class="{{classPrefix}}__result-list" aria-role="listbox"><t-cell wx:for="{{resultList}}" wx:key="index" data-index="{{index}}" class="{{classPrefix}}__result-item" hover bind:tap="onSelectOption" aria-role="option"><rich-text slot="title" nodes="{{_this.highLight(item, value)}}"></rich-text></t-cell></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/search/search.wxss b/miniprogram_npm/tdesign-miniprogram/search/search.wxss
index 5b69177..927ed76 100644
--- a/miniprogram_npm/tdesign-miniprogram/search/search.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/search/search.wxss
@@ -5,13 +5,14 @@
 .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__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:var(--td-search-font,var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));padding-left:10rpx;min-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__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-size,48rpx);}
+.t-search__clear{position:relative;margin-left:10px;font-size:var(--td-search-clear-icon-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:var(--td-search-font,var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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{max-height:560rpx;overflow-y:auto;-webkit-overflow-scrolling:touch;}
 .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_npm/tdesign-miniprogram/search/type.d.ts b/miniprogram_npm/tdesign-miniprogram/search/type.d.ts
index c7f2370..7b589d0 100644
--- a/miniprogram_npm/tdesign-miniprogram/search/type.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/search/type.d.ts
@@ -36,6 +36,10 @@
         value?: number;
         required?: boolean;
     };
+    cursorColor?: {
+        type: StringConstructor;
+        value?: string;
+    };
     cursorSpacing?: {
         type: NumberConstructor;
         value?: number;
diff --git a/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxml b/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxml
index c69a84a..69298e0 100644
--- a/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxml
@@ -1 +1 @@
-<import src="../common/template/badge"/><import src="../common/template/icon"/><wxs src="../common/utils.wxs" module="_"/><view id="{{tId}}" class="{{_.cls(classPrefix, [['active', active], ['disabled', disabled]])}} class {{prefix}}-class" style="{{_._style([style, customStyle])}}" bind:tap="handleClick" aria-role="button" aria-label="{{ active ? '宸查�変腑锛�' + label : label}}" aria-label="{{ ariaLabel || (badgeProps.dot || badgeProps.count ? (active ? '宸查�変腑锛�' + label + _.getBadgeAriaLabel({ ...badgeProps }) : label + _.getBadgeAriaLabel({ ...badgeProps })) : '') }}" aria-disabled="{{disabled}}"><block wx:if="{{active}}"><view class="{{classPrefix}}__line"></view><view class="{{classPrefix}}__prefix"></view><view class="{{classPrefix}}__suffix"></view></block><template wx:if="{{_icon}}" is="icon" data="{{ tClass: classPrefix + '__icon', ..._icon }}"/><block wx:if="{{badgeProps}}"><template is="badge" data="{{ ...badgeProps, content: label }}"/></block><block wx:else>{{label}}</block><slot/></view>
\ No newline at end of file
+<import src="../common/template/badge"/><import src="../common/template/icon"/><wxs src="../common/utils.wxs" module="_"/><view id="{{tId}}" class="{{_.cls(classPrefix, [['active', active], ['disabled', disabled]])}} class {{prefix}}-class" style="{{_._style([style, customStyle])}}" bind:tap="handleClick" aria-role="button" aria-label="{{ active ? '宸查�変腑锛�' + label : label}}" aria-label="{{ ariaLabel || (badgeProps.dot || badgeProps.count ? (active ? '宸查�変腑锛�' + label + _.getBadgeAriaLabel({ ...badgeProps }) : label + _.getBadgeAriaLabel({ ...badgeProps })) : '') }}" aria-disabled="{{disabled}}"><block wx:if="{{active}}"><view class="{{classPrefix}}__line"></view><view wx:if="{{!isFirstChild}}" class="{{classPrefix}}__prefix"></view><view wx:if="{{!isLastChild}}" class="{{classPrefix}}__suffix"></view></block><template wx:if="{{_icon}}" is="icon" data="{{ tClass: classPrefix + '__icon', ..._icon }}"/><block wx:if="{{badgeProps}}"><template is="badge" data="{{ ...badgeProps, content: label }}"/></block><block wx:else>{{label}}</block><slot/></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxss b/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxss
index a70d937..973c2c6 100644
--- a/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/side-bar-item/side-bar-item.wxss
@@ -1,4 +1,4 @@
-@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);}
+@import '../common/style/index.wxss';.t-side-bar-item{display:flex;align-items:center;position:relative;padding:32rpx;font:var(--td-side-bar-font,var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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;}
 .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;}
diff --git a/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.js b/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.js
index 6eabe00..03e23d3 100644
--- a/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.js
+++ b/miniprogram_npm/tdesign-miniprogram/side-bar/side-bar.js
@@ -1 +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
+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`;let SideBar=class extends SuperComponent{constructor(){super(...arguments),this.externalClasses=[`${prefix}-class`],this.children=[],this.relations={"../side-bar-item/side-bar-item":{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){const i=this.$children;i.forEach((r,t)=>{r.updateActive(e),r.setData({isFirstChild:0===t,isLastChild:t===i.length-1})})}},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_npm/tdesign-miniprogram/skeleton/skeleton.js b/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.js
index fdcd2b2..a9ae0ca 100644
--- a/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.js
+++ b/miniprogram_npm/tdesign-miniprogram/skeleton/skeleton.js
@@ -1 +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
+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{isInteger,isNumeric}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,i=[];t.length?i.push(...t):i.push(...ThemeMap[e||"text"]);const s=i.map(e=>{if(isInteger(e)&&e>=0)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:s})},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(i=>{if(i in e){const s=isNumeric(e[i])?`${e[i]}px`:e[i];"size"===i?[t.width,t.height]=[s,s]:t[i]=s}}),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_npm/tdesign-miniprogram/slider/slider.js b/miniprogram_npm/tdesign-miniprogram/slider/slider.js
index 09a30b7..ba1e822 100644
--- a/miniprogram_npm/tdesign-miniprogram/slider/slider.js
+++ b/miniprogram_npm/tdesign-miniprogram/slider/slider.js
@@ -1 +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=c<Math.abs(g-h+u);let p=0;if("capsule"===i?(p=Number(l),a&&(p*=2),p+=6):a&&(p=Number(l)),m){const e=h-r-p,t=this.convertPosToValue(e,0);this.triggerValue([this.stepValue(t),this.data._value[1]])}else{let e=-(h-s);a&&(e+=p/2);const t=this.convertPosToValue(e,1);this.triggerValue([this.data._value[0],this.stepValue(t)])}})}onTouchStart(e){this.triggerEvent("dragstart",{e:e});const[t]=e.changedTouches;"rightDot"===e.currentTarget.id?this.data.identifier[1]=t.identifier:this.data.identifier[0]=t.identifier}onTouchMoveLeft(e){const{disabled:t,theme:i,vertical:a}=this.properties,{initialLeft:r,_value:s,blockSize:n}=this.data;if(t)return;const l=e.changedTouches.find(e=>e.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
+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){const t=trimValue(e,this.properties);JSON.stringify(this.preval)!==JSON.stringify(t)&&(this.preval=t,this._trigger("change",{value:t}))}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);void 0!==this.preval&&(this.preval=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=c<Math.abs(g-h+u);let p=0;if("capsule"===i?(p=Number(l),a&&(p*=2),p+=6):a&&(p=Number(l)),m){const e=h-r-p,t=this.convertPosToValue(e,0);this.triggerValue([this.stepValue(t),this.data._value[1]])}else{let e=-(h-s);a&&(e+=p/2);const t=this.convertPosToValue(e,1);this.triggerValue([this.data._value[0],this.stepValue(t)])}})}onTouchStart(e){this.triggerEvent("dragstart",{e:e});const[t]=e.changedTouches;"rightDot"===e.currentTarget.id?this.data.identifier[1]=t.identifier:this.data.identifier[0]=t.identifier}onTouchMoveLeft(e){const{disabled:t,theme:i,vertical:a}=this.properties,{initialLeft:r,_value:s,blockSize:n}=this.data;if(t)return;const l=e.changedTouches.find(e=>e.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_npm/tdesign-miniprogram/slider/slider.wxss b/miniprogram_npm/tdesign-miniprogram/slider/slider.wxss
index 23067f0..5a95460 100644
--- a/miniprogram_npm/tdesign-miniprogram/slider/slider.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/slider/slider.wxss
@@ -1,4 +1,4 @@
-@import '../common/style/index.wxss';.t-slider{width:100%;font-size:14px;display:flex;align-items:center;}
+@import '../common/style/index.wxss';.t-slider{width:100%;font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));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;}
@@ -8,7 +8,7 @@
 .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{position:relative;left:50%;transform:translateX(-50%);top:-52rpx;text-align:center;width:96rpx;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;}
diff --git a/miniprogram_npm/tdesign-miniprogram/step-item/step-item.wxss b/miniprogram_npm/tdesign-miniprogram/step-item/step-item.wxss
index 3f8ac92..66f83bb 100644
--- a/miniprogram_npm/tdesign-miniprogram/step-item/step-item.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/step-item/step-item.wxss
@@ -19,18 +19,18 @@
 .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__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:var(--td-step-item-circle-text-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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{position:relative;font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
 .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{color:var(--td-step-item-description-color,var(--td-text-color-placeholder,var(--td-font-gray-3,rgba(0,0,0,.4))));font:var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
 .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;}
diff --git a/miniprogram_npm/tdesign-miniprogram/stepper/stepper.d.ts b/miniprogram_npm/tdesign-miniprogram/stepper/stepper.d.ts
index 964eed8..0efb89b 100644
--- a/miniprogram_npm/tdesign-miniprogram/stepper/stepper.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/stepper/stepper.d.ts
@@ -65,7 +65,7 @@
     methods: {
         isDisabled(type: any): boolean;
         getLen(num: number): number;
-        add(a: number, b: number): number;
+        add(a: number, b: number): string | number;
         format(value: any): string;
         setValue(value: any): void;
         minusValue(): boolean;
diff --git a/miniprogram_npm/tdesign-miniprogram/stepper/stepper.js b/miniprogram_npm/tdesign-miniprogram/stepper/stepper.js
index 9da02c4..898f2ab 100644
--- a/miniprogram_npm/tdesign-miniprogram/stepper/stepper.js
+++ b/miniprogram_npm/tdesign-miniprogram/stepper/stepper.js
@@ -1 +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
+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:r,disabled:s}=this.properties,{currentValue:i}=this.data;return!!s||("minus"===e&&i<=t||"plus"===e&&i>=r)},getLen(e){const t=e.toString();return-1===t.indexOf(".")?0:t.split(".")[1].length},add(e,t){const r=Math.max(this.getLen(e),this.getLen(t)),s=Math.pow(10,r),i=Math.round(e*s+t*s)/s;return r>0?i.toFixed(r):i},format(e){const{min:t,max:r,step:s}=this.properties,i=Math.max(this.getLen(s),this.getLen(String(e)));return Math.max(Math.min(r,e,Number.MAX_SAFE_INTEGER),t,Number.MIN_SAFE_INTEGER).toFixed(i)},setValue(e){const t=this.format(e),r=Number(t);this.updateCurrentValue(t),this.preValue!==r&&(this.preValue=r,this._trigger("change",{value:r}))},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,""),r=t.indexOf(".");return this.properties.integer&&-1!==r?t.split(".")[0]:this.properties.integer||-1===r||r===t.lastIndexOf(".")?t:t.split(".",2).join(".")},updateCurrentValue(e){const t=Number(e);this.setData({currentValue:String(t)===String(e)?t:e})},handleFocus(e){const{value:t}=e.detail;this.triggerEvent("focus",{value:t})},handleInput(e){const{value:t}=e.detail;if(""===t)return;const r=this.filterIllegalChar(t),s=this.format(r);this.updateCurrentValue(this.data.integer?s:r),(this.data.integer||/\.\d*[1-9]/.test(r))&&this.setValue(r)},handleBlur(e){const{value:t}=e.detail,r=this.filterIllegalChar(t),s=this.format(r);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_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxss b/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxss
index 5698bf7..51d2b9a 100644
--- a/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/swipe-cell/swipe-cell.wxss
@@ -4,4 +4,4 @@
 .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
+.t-swipe-cell__icon+.t-swipe-cell__text:not(:empty){margin-left:var(--td-spacer,16rpx);font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.wxss b/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.wxss
index 8eb8745..724b078 100644
--- a/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/swiper-nav/swiper-nav.wxss
@@ -13,7 +13,7 @@
 .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__fraction{padding:0 16rpx;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:var(--td-swiper-nav-fraction-font,var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));}
 .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;}
diff --git a/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxml b/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxml
index 6c9715d..68340cf 100644
--- a/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxml
@@ -1 +1 @@
-<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle])}}" class="{{_.cls(classPrefix, [['split', split], ['text-only', !icon], ['crowded', crowded], shape])}} class {{prefix}}-class"><view class="{{_.cls(classPrefix + '__content', [['checked', isChecked], theme])}}" hover-class="{{classPrefix}}__content--active" hover-stay-time="{{200}}" bindtap="toggle" aria-selected="{{(!hasChildren || !isSpread) && isChecked ? true : false}}" aria-expanded="{{hasChildren && isSpread ? true : ''}}" aria-role="{{hasChildren ? 'button' : 'tab'}}" aria-label="{{ ariaLabel || (badgeProps.dot || badgeProps.count ? _.getBadgeAriaLabel({ ...badgeProps }) : '') }}"><view class="{{classPrefix}}__icon" style="height: {{iconOnly ? 24 : 20}}px" aria-hidden="{{ badgeProps.dot || badgeProps.count }}"><t-badge wx:if="{{badgeProps.dot || badgeProps.count}}" count="{{badgeProps.count || 0}}" max-count="{{badgeProps.maxCount || 99}}" dot="{{badgeProps.dot || false}}" content="{{badgeProps.content || ''}}" size="{{badgeProps.size || 'medium'}}" visible="{{badgeProps.visible}}" offset="{{badgeProps.offset || [0,0]}}" t-class-count="{{prefix + '-badge-class'}}"><template is="icon" data="{{ size: iconOnly ? 24 : 20, ..._icon }}"/></t-badge><template wx:elif="{{!!icon}}" is="icon" data="{{ ariaHidden: !iconOnly, size: iconOnly ? 24 : 20, ..._icon }}"/><slot name="icon"/></view><view class="{{_.cls(classPrefix + '__text', [['small', !!icon]])}}"><t-icon wx:if="{{hasChildren}}" name="view-list" size="32rpx" t-class="{{classPrefix}}__icon-menu"/><slot/></view></view><view class="{{classPrefix}}__spread" wx:if="{{hasChildren && isSpread}}"><view class="{{classPrefix}}__spread-item" hover-class="{{classPrefix}}__spread-item--active" hover-stay-time="{{200}}" wx:for="{{subTabBar}}" wx:for-item="child" wx:for-index="index" wx:key="value" bind:tap="selectChild" data-value="{{child.value || index}}" aria-role="tab"><view class="{{classPrefix}}__spread-item-split" wx:if="{{index !== 0}}"/><view class="{{classPrefix}}__spread-item-text" data-value="{{child.value || index}}">{{ child.label }}</view></view></view></view>
\ No newline at end of file
+<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle])}}" class="{{_.cls(classPrefix, [['split', split], ['crowded', crowded], shape])}} class {{prefix}}-class"><view class="{{_.cls(classPrefix + '__content', [['checked', isChecked], theme])}}" hover-class="{{classPrefix}}__content--active" hover-stay-time="{{200}}" bindtap="toggle" aria-selected="{{(!hasChildren || !isSpread) && isChecked ? true : false}}" aria-expanded="{{hasChildren && isSpread ? true : ''}}" aria-role="{{hasChildren ? 'button' : 'tab'}}" aria-label="{{ ariaLabel || (badgeProps.dot || badgeProps.count ? _.getBadgeAriaLabel({ ...badgeProps }) : '') }}"><view class="{{classPrefix}}__icon" style="height: {{iconOnly ? 24 : 20}}px" aria-hidden="{{ badgeProps.dot || badgeProps.count }}"><t-badge wx:if="{{badgeProps.dot || badgeProps.count}}" count="{{badgeProps.count || 0}}" max-count="{{badgeProps.maxCount || 99}}" dot="{{badgeProps.dot || false}}" content="{{badgeProps.content || ''}}" size="{{badgeProps.size || 'medium'}}" visible="{{badgeProps.visible}}" offset="{{badgeProps.offset || [0,0]}}" t-class-count="{{prefix + '-badge-class'}}"><template is="icon" data="{{ size: iconOnly ? 24 : 20, ..._icon }}"/></t-badge><template wx:elif="{{!!icon}}" is="icon" data="{{ ariaHidden: !iconOnly, size: iconOnly ? 24 : 20, ..._icon }}"/><slot name="icon"/></view><view class="{{_.cls(classPrefix + '__text', [['small', !!icon]])}}"><t-icon wx:if="{{hasChildren}}" name="view-list" size="32rpx" t-class="{{classPrefix}}__icon-menu"/><slot/></view></view><view class="{{classPrefix}}__spread" wx:if="{{hasChildren && isSpread}}"><view class="{{classPrefix}}__spread-item" hover-class="{{classPrefix}}__spread-item--active" hover-stay-time="{{200}}" wx:for="{{subTabBar}}" wx:for-item="child" wx:for-index="index" wx:key="value" bind:tap="selectChild" data-value="{{child.value || index}}" aria-role="tab"><view class="{{classPrefix}}__spread-item-split" wx:if="{{index !== 0}}"/><view class="{{classPrefix}}__spread-item-text" data-value="{{child.value || index}}">{{ child.label }}</view></view></view></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxss b/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxss
index 2786739..6869105 100644
--- a/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/tab-bar-item/tab-bar-item.wxss
@@ -1,17 +1,16 @@
 @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--checked .t-tab-bar-item__icon,.t-tab-bar-item__content--checked .t-tab-bar-item__text{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__text{display:flex;align-items:center;font:var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
+.t-tab-bar-item__text--small{font:var(--td-font-body-extraSmall,20rpx / 32rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
 .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);}
diff --git a/miniprogram_npm/tdesign-miniprogram/tab-bar/props.js b/miniprogram_npm/tdesign-miniprogram/tab-bar/props.js
index 0a883f5..ab00ffc 100644
--- a/miniprogram_npm/tdesign-miniprogram/tab-bar/props.js
+++ b/miniprogram_npm/tdesign-miniprogram/tab-bar/props.js
@@ -1 +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
+const props={bordered:{type:Boolean,value:!0},fixed:{type:Boolean,value:!0},placeholder:{type:Boolean,value:!1},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},zIndex:{type:Number,value:1}};export default props;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.d.ts b/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.d.ts
index 13e2da6..f357e4e 100644
--- a/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.d.ts
@@ -6,6 +6,7 @@
     data: {
         prefix: string;
         classPrefix: string;
+        placeholderHeight: number;
     };
     properties: import("./type").TdTabBarProps;
     controlledProps: {
@@ -14,11 +15,13 @@
     }[];
     observers: {
         value(): void;
+        'fixed, placeholder'(): void;
     };
     lifetimes: {
         ready(): void;
     };
     methods: {
+        setPlaceholderHeight(): void;
         showChildren(): void;
         updateChildren(): void;
         updateValue(value: any): void;
diff --git a/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.js b/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.js
index 4985b5b..59a5fef 100644
--- a/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.js
+++ b/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.js
@@ -1 +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
+import{__decorate}from"tslib";import{wxComponent,SuperComponent}from"../common/src/index";import config from"../common/config";import props from"./props";import{getRect}from"../common/utils";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,placeholderHeight:56},this.properties=props,this.controlledProps=[{key:"value",event:"change"}],this.observers={value(){this.updateChildren()},"fixed, placeholder"(){this.setPlaceholderHeight()}},this.lifetimes={ready(){this.showChildren()}},this.methods={setPlaceholderHeight(){this.properties.fixed&&this.properties.placeholder&&wx.nextTick(()=>{getRect(this,`.${classPrefix}`).then(e=>{this.setData({placeholderHeight:e.height})})})},showChildren(){const{value:e}=this.data;this.$children.forEach(t=>{t.setData({crowded:this.$children.length>3}),t.properties.value===e&&t.showSpread()})},updateChildren(){const{value:e}=this.data;this.$children.forEach(t=>{t.checkActive(e)})},updateValue(e){this._trigger("change",{value:e})},changeOtherSpread(e){this.$children.forEach(t=>{t.properties.value!==e&&t.closeSpread()})},initName(){return this.backupValue+=1}}}};Tabbar=__decorate([wxComponent()],Tabbar);export default Tabbar;
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxml b/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxml
index 0f9e9c0..ee18503 100644
--- a/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><view style="{{_._style([style, customStyle])}}" class="{{_.cls(classPrefix, [['border', bordered], ['fixed', fixed], ['safe', safeAreaInsetBottom], shape])}} class {{prefix}}-class" aria-role="tablist"><slot/></view>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><view wx:if="{{fixed && placeholder}}" class="{{classPrefix}}__placeholder" style="height: {{ placeholderHeight }}px;"/><view style="{{_._style(['z-index: ' + zIndex, style, customStyle])}}" class="{{_.cls(classPrefix, [['border', bordered], ['fixed', fixed], ['safe', safeAreaInsetBottom], shape])}} class {{prefix}}-class" aria-role="tablist"><slot/></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxss b/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxss
index 2833f31..2d750f5 100644
--- a/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/tab-bar/tab-bar.wxss
@@ -1,4 +1,4 @@
-@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;}
+@import '../common/style/index.wxss';.t-tab-bar{display:flex;flex-wrap:nowrap;align-items:center;position:relative;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);}
diff --git a/miniprogram_npm/tdesign-miniprogram/tab-bar/type.d.ts b/miniprogram_npm/tdesign-miniprogram/tab-bar/type.d.ts
index 58ec2d5..ddda67c 100644
--- a/miniprogram_npm/tdesign-miniprogram/tab-bar/type.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/tab-bar/type.d.ts
@@ -7,6 +7,10 @@
         type: BooleanConstructor;
         value?: boolean;
     };
+    placeholder?: {
+        type: BooleanConstructor;
+        value?: boolean;
+    };
     safeAreaInsetBottom?: {
         type: BooleanConstructor;
         value?: boolean;
@@ -31,4 +35,8 @@
         type: null;
         value?: string | number | Array<string | number>;
     };
+    zIndex?: {
+        type: NumberConstructor;
+        value?: number;
+    };
 }
diff --git a/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.wxml b/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.wxml
index d8acb0b..2b95c7d 100644
--- a/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/tab-panel/tab-panel.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><view wx:if="{{!lazy || hasActivated}}" class="class {{prefix}}-class {{classPrefix}} {{active ? classPrefix + '--active': classPrefix + '--inactive'}}" style="{{_._style([style, customStyle, (hide ? 'display: none' : '')])}}" id="{{id}}" aria-role="tabpanel"><view wx:if="{{panel}}">{{panel}}</view><slot/><slot name="panel"/></view>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><view wx:if="{{!lazy || hasActivated}}" class="class {{prefix}}-class {{classPrefix}} {{active ? classPrefix + '--active': classPrefix + '--inactive'}}" style="{{_._style([style, customStyle, (hide ? 'display: none;' : '')])}}" id="{{id}}" aria-role="tabpanel"><view wx:if="{{panel}}">{{panel}}</view><slot/><slot name="panel"/></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/tabs/tabs.js b/miniprogram_npm/tdesign-miniprogram/tabs/tabs.js
index 4e3429e..072376a 100644
--- a/miniprogram_npm/tdesign-miniprogram/tabs/tabs.js
+++ b/miniprogram_npm/tdesign-miniprogram/tabs/tabs.js
@@ -1 +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=>{s<e&&(r+=t.width,s+=1),n+=t.width}),this.containerWidth){const t=this.calcScrollOffset(this.containerWidth,i.left,i.width,this.data.scrollLeft),e=n-this.containerWidth;this.setData({offset:Math.min(Math.max(t,0),e)})}else this._hasObserved||(this._hasObserved=!0,getObserver(this,`.${name}`).then(()=>this.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<r;t+=e){const e=i+t;if(!(e>=0&&e<r&&s[e]))return i;if(!s[e].disabled)return e}return-1}}}initChildId(){this.children.forEach((t,e)=>{t.setId(`${this.data.tabID}_panel_${e}`)})}};Tabs=__decorate([wxComponent()],Tabs);export default Tabs;
\ No newline at end of file
+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),this.data.animation&&s<=t&&!i.data.hasActivated&&i.setData({hasActivated:!0}),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,a=0;if(t.forEach(t=>{s<e&&(r+=t.width,s+=1),a+=t.width}),this.containerWidth){const t=this.calcScrollOffset(this.containerWidth,i.left,i.width,this.data.scrollLeft),e=a-this.containerWidth;this.setData({offset:Math.min(Math.max(t,0),e)})}else this._hasObserved||(this._hasObserved=!0,getObserver(this,`.${name}`).then(()=>this.setTrack()));const n=yield this.getTrackSize();"line"===this.data.theme&&(r+=(i.width-n)/2);const h=void 0===this.previousIndex;(h||this.previousIndex!==e)&&(this.previousIndex=e,this.setData({trackOption:{lineWidth:n,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<r;t+=e){const e=i+t;if(!(e>=0&&e<r&&s[e]))return i;if(!s[e].disabled)return e}return-1}}}initChildId(){this.children.forEach((t,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_npm/tdesign-miniprogram/tabs/tabs.wxss b/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxss
index b0211c1..6f1b95b 100644
--- a/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/tabs/tabs.wxss
@@ -1,4 +1,4 @@
-@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;}
+@import '../common/style/index.wxss';.t-tabs{position:relative;font:var(--td-tab-font,var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular)));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);}
@@ -22,7 +22,8 @@
 .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{--td-badge-content-text-font:var(--td-tab-font, var(--td-font-body-medium, 28rpx / 44rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular)));}
+.t-tabs__badge--active{--td-badge-content-text-font:var(--td-font-mark-medium, 600 28rpx / 44rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular));--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;}
diff --git a/miniprogram_npm/tdesign-miniprogram/tag/tag.js b/miniprogram_npm/tdesign-miniprogram/tag/tag.js
index 086df92..3c37f34 100644
--- a/miniprogram_npm/tdesign-miniprogram/tag/tag.js
+++ b/miniprogram_npm/tdesign-miniprogram/tag/tag.js
@@ -1 +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
+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{isNumeric}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=isNumeric(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_npm/tdesign-miniprogram/tag/tag.wxss b/miniprogram_npm/tdesign-miniprogram/tag/tag.wxss
index 9a3274b..bf113ab 100644
--- a/miniprogram_npm/tdesign-miniprogram/tag/tag.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/tag/tag.wxss
@@ -1,47 +1,256 @@
-@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
+@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);
+  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 {
+  padding: var(--td-tag-small-padding, 2rpx 10rpx);
+  font: var(--td-tag-small-font, var(--td-font-body-extraSmall, 20rpx / 32rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular)));
+}
+
+.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 {
+  padding: var(--td-tag-medium-padding, 2rpx 14rpx);
+  font: var(--td-tag-medium-font, var(--td-font-body-small, 24rpx / 40rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular)));
+}
+
+.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 {
+  padding: var(--td-tag-large-padding, 4rpx 14rpx);
+  font: var(--td-tag-large-font, var(--td-font-body-medium, 28rpx / 44rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular)));
+}
+
+.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 {
+  padding: var(--td-tag-extra-large-padding, 16rpx 30rpx);
+  font: var(--td-tag-extra-large-font, var(--td-font-body-medium, 28rpx / 44rpx var(--td-font-family, PingFang SC, Microsoft YaHei, Arial Regular)));
+}
+
+.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_npm/tdesign-miniprogram/textarea/textarea.wxss b/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxss
index f3d23b2..02bbf6f 100644
--- a/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/textarea/textarea.wxss
@@ -1,9 +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__label:not(:empty){font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));color:var(--td-textarea-label-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));flex-shrink:0;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__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:var(--td-font-body-large,32rpx / 48rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));color:var(--td-textarea-text-color,var(--td-text-color-primary,var(--td-font-gray-1,rgba(0,0,0,.9))));}
+.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:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
+.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:var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));text-align:right;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_npm/tdesign-miniprogram/toast/toast.js b/miniprogram_npm/tdesign-miniprogram/toast/toast.js
index 4393c86..5548b8e 100644
--- a/miniprogram_npm/tdesign-miniprogram/toast/toast.js
+++ b/miniprogram_npm/tdesign-miniprogram/toast/toast.js
@@ -1 +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
+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,close:null},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_npm/tdesign-miniprogram/toast/toast.wxml b/miniprogram_npm/tdesign-miniprogram/toast/toast.wxml
index c1ec2cd..14e8917 100644
--- a/miniprogram_npm/tdesign-miniprogram/toast/toast.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/toast/toast.wxml
@@ -1 +1 @@
-<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><view wx:if="{{realVisible}}" class="{{_.cls(classPrefix, [direction, theme, ['with-text', message]])}} class {{prefix}}-class {{transitionClass}}" style="{{_._style([ 'top:' + (placement === 'top' ? '25%' : placement === 'bottom' ? '75%': '45%'), style, customStyle])}}" bind:transitionend="onTransitionEnd" catch:touchstart="loop"><view class="{{classPrefix}}__content {{classPrefix}}__content--{{direction}}"><t-loading wx:if="{{isLoading}}" theme="circular" size="{{direction === 'row' ? '48rpx' : '64rpx'}}" loading inherit-color layout="vertical"/><template wx:elif="{{_icon}}" is="icon" data="{{ ariaHidden: true, tClass: classPrefix + '__icon ' + classPrefix + '__icon--' + direction, ..._icon }}"/><slot name="icon"/><view aria-role="alert" class="{{classPrefix}}__text {{classPrefix}}__text--{{direction}}">{{message}}</view><slot name="message"/></view></view><t-overlay style="{{ overlayProps && overlayProps.style || ''}}" visible="{{realVisible && (showOverlay || preventScrollThrough)}}" z-index="{{overlayProps && overlayProps.zIndex || 11000}}" duration="{{overlayProps && overlayProps.duration || 300}}" usingCustomNavbar="{{overlayProps && overlayProps.usingCustomNavbar || usingCustomNavbar}}" backgroundColor="{{!showOverlay && preventScrollThrough ? 'transparent' : overlayProps && overlayProps.backgroundColor || ''}}" preventScrollThrough="{{preventScrollThrough || overlayProps && overlayProps.preventScrollThrough}}"/>
\ No newline at end of file
+<import src="../common/template/icon.wxml"/><wxs src="../common/utils.wxs" module="_"/><view wx:if="{{realVisible}}" class="{{_.cls(classPrefix, [direction, theme, ['with-text', message]])}} class {{prefix}}-class {{transitionClass}}" style="{{_._style([ 'top:' + (placement === 'top' ? '25%' : placement === 'bottom' ? '75%': '45%'), style, customStyle])}}" bind:transitionend="onTransitionEnd" catch:touchstart="loop"><view class="{{classPrefix}}__content {{classPrefix}}__content--{{direction}}"><t-loading wx:if="{{isLoading}}" theme="circular" size="{{direction === 'row' ? '48rpx' : '64rpx'}}" loading inherit-color layout="vertical"/><template wx:elif="{{_icon}}" is="icon" data="{{ ariaHidden: true, tClass: classPrefix + '__icon ' + classPrefix + '__icon--' + direction, ..._icon }}"/><slot name="icon"/><view aria-role="alert" class="{{classPrefix}}__text {{classPrefix}}__text--{{direction}}">{{message}}</view><slot name="message"/></view></view><t-overlay style="{{ overlayProps && overlayProps.style || ''}}" visible="{{visible && (showOverlay || preventScrollThrough)}}" z-index="{{overlayProps && overlayProps.zIndex || 11000}}" duration="{{overlayProps && overlayProps.duration || 300}}" usingCustomNavbar="{{overlayProps && overlayProps.usingCustomNavbar || usingCustomNavbar}}" backgroundColor="{{!showOverlay && preventScrollThrough ? 'transparent' : overlayProps && overlayProps.backgroundColor || ''}}" preventScrollThrough="{{preventScrollThrough || overlayProps && overlayProps.preventScrollThrough}}"/>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/toast/toast.wxss b/miniprogram_npm/tdesign-miniprogram/toast/toast.wxss
index ee78585..c6d2443 100644
--- a/miniprogram_npm/tdesign-miniprogram/toast/toast.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/toast/toast.wxss
@@ -1,7 +1,7 @@
-@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;}
+@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));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{align-items:center;font:var(--td-font-body-medium,28rpx / 44rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));}
 .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);}
diff --git a/miniprogram_npm/tdesign-miniprogram/upload/drag.wxs b/miniprogram_npm/tdesign-miniprogram/upload/drag.wxs
index a136b58..bc8b8d1 100644
--- a/miniprogram_npm/tdesign-miniprogram/upload/drag.wxs
+++ b/miniprogram_npm/tdesign-miniprogram/upload/drag.wxs
@@ -189,6 +189,7 @@
 
   if (!st.dragging) return;
   triggerCustomEvent(st.list, 'sortend', ownerInstance);
+  ins.removeClass(classPrefix + '__drag--cur');
   ins.addClass(classPrefix + '__drag--tran');
   ins.setStyle({
     transform: 'translate3d(' + st.list[st.cur].tranX + ',' + st.list[st.cur].tranY + ', 0)',
diff --git a/miniprogram_npm/tdesign-miniprogram/upload/upload.d.ts b/miniprogram_npm/tdesign-miniprogram/upload/upload.d.ts
index 8efaebf..eff6366 100644
--- a/miniprogram_npm/tdesign-miniprogram/upload/upload.d.ts
+++ b/miniprogram_npm/tdesign-miniprogram/upload/upload.d.ts
@@ -1,7 +1,8 @@
 /// <reference types="miniprogram-api-typings" />
 import { SuperComponent } from '../common/src/index';
-import { UploadFile } from './type';
+import { UploadFile, SizeLimitObj } from './type';
 export default class Upload extends SuperComponent {
+    behaviors: string[];
     externalClasses: string[];
     options: {
         multipleSlots: boolean;
@@ -39,6 +40,7 @@
     onFileClick(e: WechatMiniprogram.BaseEvent): void;
     getFileType(mediaType: string[], tempFilePath: string, fileType?: string): string;
     getRandFileName(filePath: any): string;
+    checkFileSize(size: number, sizeLimit: SizeLimitObj | number, fileType?: string): boolean;
     onDelete(e: any): void;
     deleteHandle(index: number): void;
     updateGrid(): void;
@@ -51,7 +53,7 @@
         onPreview(e: WechatMiniprogram.BaseEvent): void;
         onPreviewImage(e: WechatMiniprogram.BaseEvent): void;
         onPreviewMedia(e: WechatMiniprogram.BaseEvent): void;
-        uploadFiles(files: UploadFile[]): Promise<unknown>;
+        uploadFiles(files: UploadFile[]): Promise<any>;
         startUpload(files: UploadFile[]): any;
         onAddTap(): void;
         chooseMedia(mediaType: any): void;
diff --git a/miniprogram_npm/tdesign-miniprogram/upload/upload.js b/miniprogram_npm/tdesign-miniprogram/upload/upload.js
index 61bc135..6fbd03f 100644
--- a/miniprogram_npm/tdesign-miniprogram/upload/upload.js
+++ b/miniprogram_npm/tdesign-miniprogram/upload/upload.js
@@ -1 +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
+import{__decorate,__rest}from"tslib";import{SuperComponent,wxComponent}from"../common/src/index";import props from"./props";import config from"../common/config";import{isOverSize,isWxWork,isPC}from"../common/utils";import{isObject}from"../common/validator";import usingConfig from"../mixins/using-config";const{prefix:prefix}=config,componentName="upload";let Upload=class extends SuperComponent{constructor(){super(...arguments),this.behaviors=[usingConfig({componentName:"upload"})],this.externalClasses=[`${prefix}-class`],this.options={multipleSlots:!0},this.data={classPrefix:`${prefix}-upload`,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 Promise.resolve().then(()=>{const e=this.data.requestMethod(t);return e instanceof Promise?e:Promise.resolve({})})},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;isWxWork||isPC?wx.chooseImage(Object.assign(Object.assign({count:Math.min(20,e)},i),{success:t=>{const e=[];t.tempFiles.forEach(t=>{const{path:i,size:r}=t;if(this.checkFileSize(r,s,"image"))return;const a=this.getRandFileName(i);e.push({name:a,type:"image",url:i,size:r,percent:0})}),this.afterSelect(e)},fail:t=>{this.triggerFailEvent(t)},complete:t=>{this.triggerEvent("complete",t)}})):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,g=__rest(e,["size","fileType","tempFilePath","width","height","duration","thumbTempFilePath"]);if(this.checkFileSize(r,s,a))return;const d=this.getRandFileName(o);i.push(Object.assign({name:d,type:this.getFileType(t,o,a),url:o,size:r,width:n,height:l,duration:c,thumb:h,percent:0},g))}),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(this.checkFileSize(r,s,a))return;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}checkFileSize(t,e,i){if(isOverSize(t,e)){let t=("video"===i?"瑙嗛":"鍥剧墖")+"澶у皬瓒呰繃闄愬埗";if(isObject(e)){const{size:i,message:s}=e;t=null==s?void 0:s.replace("{sizeLimit}",String(i))}return wx.showToast({icon:"none",title:t}),!0}return!1}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_npm/tdesign-miniprogram/upload/upload.wxml b/miniprogram_npm/tdesign-miniprogram/upload/upload.wxml
index 74e4db3..8c82284 100644
--- a/miniprogram_npm/tdesign-miniprogram/upload/upload.wxml
+++ b/miniprogram_npm/tdesign-miniprogram/upload/upload.wxml
@@ -1 +1 @@
-<wxs src="../common/utils.wxs" module="_"/><wxs src="./upload.wxs" module="_this"/><wxs src="./drag.wxs" module="handler"/><view style="{{_._style([style, customStyle])}}" class="{{classPrefix}} class {{prefix}}-class"><t-grid gutter="{{gutter}}" border="{{false}}" align="center" column="{{column}}" style="{{draggable? 'overflow: visible' : ''}}"><block wx:if="{{!dragLayout}}"><t-grid-item wx:for="{{customFiles}}" wx:key="url" wx:for-item="file" t-class="{{classPrefix}}__grid {{classPrefix}}__grid-file" t-class-content="{{classPrefix}}__grid-content" aria-role="presentation"><view class="{{classPrefix}}__wrapper {{disabled? classPrefix + '__wrapper--disabled' : '' }}" style="{{gridItemStyle}}" aria-role="{{ariaRole || _this.getWrapperAriaRole(file)}}" aria-label="{{ariaLabel || _this.getWrapperAriaLabel(file)}}"><t-image wx:if="{{file.type !== 'video'}}" data-file="{{file}}" data-index="{{index}}" t-class="{{classPrefix}}__thumbnail" style="{{imageProps && imageProps.style || ''}}" src="{{ file.thumb || file.url }}" mode="{{imageProps && imageProps.mode || 'aspectFill'}}" error="{{imageProps && imageProps.error || 'default'}}" lazy="{{imageProps && imageProps.lazy || false}}" loading="{{imageProps && imageProps.loading || 'default'}}" shape="{{imageProps && imageProps.shape || 'round'}}" webp="{{imageProps && imageProps.webp || false}}" showMenuByLongpress="{{imageProps && imageProps.showMenuByLongpress || false}}" bind:tap="onPreview"/><video wx:if="{{file.type === 'video'}}" class="{{classPrefix}}__thumbnail" src="{{file.url}}" poster="{{ file.thumb }}" controls autoplay="{{false}}" objectFit="contain" data-file="{{file}}" data-index="{{index}}" bind:tap="onPreview"/><view wx:if="{{file.status && file.status != 'done'}}" class="{{classPrefix}}__progress-mask" data-index="{{index}}" data-file="{{file}}" bind:tap="onFileClick"><block wx:if="{{file.status == 'loading'}}"><t-icon t-class="{{classPrefix}}__progress-loading" name="loading" size="48rpx" aria-hidden/><view class="{{classPrefix}}__progress-text">{{file.percent ? file.percent + '%' : '涓婁紶涓�...'}}</view></block><t-icon wx:else name="{{file.status == 'reload' ? 'refresh' : 'close-circle'}}" size="48rpx" aria-hidden/><view wx:if="{{file.status == 'reload' || file.status == 'failed'}}" class="{{classPrefix}}__progress-text">{{file.status == 'reload' ? '閲嶆柊涓婁紶' : '涓婁紶澶辫触'}}</view></view><view wx:if="{{ _.isBoolean(file.removeBtn) ? file.removeBtn : removeBtn}}" class="{{classPrefix}}__close-btn hotspot-expanded" data-index="{{index}}" aria-role="button" aria-label="鍒犻櫎" bindtap="onDelete"><t-icon name="close" size="32rpx" color="#fff"/></view></view></t-grid-item><t-grid-item wx:if="{{ addBtn && customLimit > 0}}" t-class="{{classPrefix}}__grid" t-class-content="{{classPrefix}}__grid-content" aria-label="涓婁紶" bindclick="onAddTap"><view class="{{classPrefix}}__wrapper" style="{{gridItemStyle}}"><slot name="add-content"/><block wx:if="{{addContent}}">{{addContent}}</block><view wx:else class="{{classPrefix}}__add-icon {{disabled? classPrefix + '__add-icon--disabled' : '' }}"><t-icon name="add"/></view></view></t-grid-item></block><block wx:else><view class="{{classPrefix}}__drag" list="{{dragList}}" style="{{dragWrapStyle}};" dragBaseData="{{dragBaseData}}" change:list="{{handler.listObserver}}" change:dragBaseData="{{handler.baseDataObserver}}"><view class="{{classPrefix}}__drag-item" style="width: {{100 / column}}%; --td-upload-drag-transition-duration: {{transition.duration}}ms; --td-upload-drag-transition-timing-function: {{transition.timingFunction}}" wx:for="{{customFiles}}" wx:key="url" wx:for-item="file" data-index="{{index}}" bind:longpress="{{handler.longPress}}" catch:touchmove="{{dragging ? handler.touchMove : ''}}" catch:touchend="{{dragging ? handler.touchEnd : ''}}"><t-grid-item t-class="{{classPrefix}}__grid {{classPrefix}}__grid-file" t-class-content="{{classPrefix}}__grid-content" aria-role="presentation" style="width: 100%"><view class="{{classPrefix}}__wrapper {{disabled? classPrefix + '__wrapper--disabled' : '' }}" style="{{gridItemStyle}};" aria-role="{{ariaRole || _this.getWrapperAriaRole(file)}}" aria-label="{{ariaLabel || _this.getWrapperAriaLabel(file)}}"><t-image wx:if="{{file.type !== 'video'}}" data-file="{{file}}" data-index="{{index}}" t-class="{{classPrefix}}__thumbnail" style="{{imageProps && imageProps.style || ''}}" src="{{ file.thumb || file.url }}" mode="{{imageProps && imageProps.mode || 'aspectFill'}}" error="{{imageProps && imageProps.error || 'default'}}" lazy="{{imageProps && imageProps.lazy || false}}" loading="{{imageProps && imageProps.loading || 'default'}}" shape="{{imageProps && imageProps.shape || 'round'}}" webp="{{imageProps && imageProps.webp || false}}" showMenuByLongpress="{{imageProps && imageProps.showMenuByLongpress || false}}" bind:tap="onPreview"/><video wx:if="{{file.type === 'video'}}" class="{{classPrefix}}__thumbnail" src="{{file.url}}" poster="{{ file.thumb }}" controls autoplay="{{false}}" objectFit="contain" data-file="{{file}}" data-index="{{index}}" bind:tap="onPreview"/><view wx:if="{{file.status && file.status != 'done'}}" class="{{classPrefix}}__progress-mask" data-index="{{index}}" data-file="{{file}}" bind:tap="onFileClick"><block wx:if="{{file.status == 'loading'}}"><t-icon t-class="{{classPrefix}}__progress-loading" name="loading" size="48rpx" aria-hidden/><view class="{{classPrefix}}__progress-text">{{file.percent ? file.percent + '%' : '涓婁紶涓�...'}}</view></block><t-icon wx:else name="{{file.status == 'reload' ? 'refresh' : 'close-circle'}}" size="48rpx" aria-hidden/><view wx:if="{{file.status == 'reload' || file.status == 'failed'}}" class="{{classPrefix}}__progress-text">{{file.status == 'reload' ? '閲嶆柊涓婁紶' : '涓婁紶澶辫触'}}</view></view><view wx:if="{{ _.isBoolean(file.removeBtn) ? file.removeBtn : removeBtn}}" class="{{classPrefix}}__close-btn hotspot-expanded" data-index="{{index}}" data-url="{{file.url}}" aria-role="button" aria-label="鍒犻櫎" bindtap="onDelete"><t-icon name="close" size="32rpx" color="#fff"/></view></view></t-grid-item></view><view wx:if="{{addBtn && customLimit > 0}}" class="{{classPrefix}}__drag-item" style="width: {{100 / column}}%"><t-grid-item t-class="{{classPrefix}}__grid" t-class-content="{{classPrefix}}__grid-content" aria-label="涓婁紶" style="width: 100%" bindclick="onAddTap"><view class="{{classPrefix}}__wrapper" style="{{gridItemStyle}}"><slot name="add-content"/><block wx:if="{{addContent}}">{{addContent}}</block><view wx:else class="{{classPrefix}}__add-icon {{disabled? classPrefix + '__add-icon--disabled' : '' }}"><t-icon name="add"/></view></view></t-grid-item></view></view></block></t-grid></view>
\ No newline at end of file
+<wxs src="../common/utils.wxs" module="_"/><wxs src="./upload.wxs" module="_this"/><wxs src="./drag.wxs" module="handler"/><view style="{{_._style([style, customStyle])}}" class="{{classPrefix}} class {{prefix}}-class"><t-grid gutter="{{gutter}}" border="{{false}}" align="center" column="{{column}}" style="{{draggable? 'overflow: visible' : ''}}"><block wx:if="{{!dragLayout}}"><t-grid-item wx:for="{{customFiles}}" wx:key="url" wx:for-item="file" t-class="{{classPrefix}}__grid {{classPrefix}}__grid-file" t-class-content="{{classPrefix}}__grid-content" aria-role="presentation"><view class="{{classPrefix}}__wrapper {{disabled? classPrefix + '__wrapper--disabled' : '' }}" style="{{gridItemStyle}}" aria-role="{{ariaRole || _this.getWrapperAriaRole(file)}}" aria-label="{{ariaLabel || _this.getWrapperAriaLabel(file)}}"><t-image wx:if="{{file.type !== 'video'}}" data-file="{{file}}" data-index="{{index}}" t-class="{{classPrefix}}__thumbnail" style="{{imageProps && imageProps.style || ''}}" src="{{ file.thumb || file.url }}" mode="{{imageProps && imageProps.mode || 'aspectFill'}}" error="{{imageProps && imageProps.error || 'default'}}" lazy="{{imageProps && imageProps.lazy || false}}" loading="{{imageProps && imageProps.loading || 'default'}}" shape="{{imageProps && imageProps.shape || 'round'}}" webp="{{imageProps && imageProps.webp || false}}" showMenuByLongpress="{{imageProps && imageProps.showMenuByLongpress || false}}" bind:tap="onPreview"/><video wx:if="{{file.type === 'video'}}" class="{{classPrefix}}__thumbnail" src="{{file.url}}" poster="{{ file.thumb }}" controls autoplay="{{false}}" objectFit="contain" data-file="{{file}}" data-index="{{index}}" bind:tap="onPreview"/><view wx:if="{{file.status && file.status != 'done'}}" class="{{classPrefix}}__progress-mask" data-index="{{index}}" data-file="{{file}}" bind:tap="onFileClick"><block wx:if="{{file.status == 'loading'}}"><t-icon t-class="{{classPrefix}}__progress-loading" name="loading" size="48rpx" aria-hidden/><view class="{{classPrefix}}__progress-text">{{file.percent ? file.percent + '%' : globalConfig.progress.uploadingText}}</view></block><t-icon wx:else name="{{file.status == 'reload' ? 'refresh' : 'close-circle'}}" size="48rpx" aria-hidden/><view wx:if="{{file.status == 'reload' || file.status == 'failed'}}" class="{{classPrefix}}__progress-text">{{file.status == 'reload' ? globalConfig.progress.reloadText : globalConfig.progress.failText}}</view></view><view wx:if="{{ _.isBoolean(file.removeBtn) ? file.removeBtn : removeBtn}}" class="{{classPrefix}}__close-btn hotspot-expanded" data-index="{{index}}" aria-role="button" aria-label="鍒犻櫎" bindtap="onDelete"><t-icon name="close" size="32rpx" color="#fff"/></view></view></t-grid-item><t-grid-item wx:if="{{ addBtn && customLimit > 0}}" t-class="{{classPrefix}}__grid" t-class-content="{{classPrefix}}__grid-content" aria-label="涓婁紶" bindclick="onAddTap"><view class="{{classPrefix}}__wrapper" style="{{gridItemStyle}}"><slot name="add-content"/><block wx:if="{{addContent}}">{{addContent}}</block><view wx:else class="{{classPrefix}}__add-icon {{disabled? classPrefix + '__add-icon--disabled' : '' }}"><t-icon name="add"/></view></view></t-grid-item></block><block wx:else><view class="{{classPrefix}}__drag" list="{{dragList}}" style="{{dragWrapStyle}};" dragBaseData="{{dragBaseData}}" change:list="{{handler.listObserver}}" change:dragBaseData="{{handler.baseDataObserver}}"><view class="{{classPrefix}}__drag-item" style="width: {{100 / column}}%; --td-upload-drag-transition-duration: {{transition.duration}}ms; --td-upload-drag-transition-timing-function: {{transition.timingFunction}}" wx:for="{{customFiles}}" wx:key="url" wx:for-item="file" data-index="{{index}}" bind:longpress="{{handler.longPress}}" catch:touchmove="{{dragging ? handler.touchMove : ''}}" catch:touchend="{{dragging ? handler.touchEnd : ''}}"><t-grid-item t-class="{{classPrefix}}__grid {{classPrefix}}__grid-file" t-class-content="{{classPrefix}}__grid-content" aria-role="presentation" style="width: 100%"><view class="{{classPrefix}}__wrapper {{disabled? classPrefix + '__wrapper--disabled' : '' }}" style="{{gridItemStyle}};" aria-role="{{ariaRole || _this.getWrapperAriaRole(file)}}" aria-label="{{ariaLabel || _this.getWrapperAriaLabel(file)}}"><t-image wx:if="{{file.type !== 'video'}}" data-file="{{file}}" data-index="{{index}}" t-class="{{classPrefix}}__thumbnail" style="{{imageProps && imageProps.style || ''}}" src="{{ file.thumb || file.url }}" mode="{{imageProps && imageProps.mode || 'aspectFill'}}" error="{{imageProps && imageProps.error || 'default'}}" lazy="{{imageProps && imageProps.lazy || false}}" loading="{{imageProps && imageProps.loading || 'default'}}" shape="{{imageProps && imageProps.shape || 'round'}}" webp="{{imageProps && imageProps.webp || false}}" showMenuByLongpress="{{imageProps && imageProps.showMenuByLongpress || false}}" bind:tap="onPreview"/><video wx:if="{{file.type === 'video'}}" class="{{classPrefix}}__thumbnail" src="{{file.url}}" poster="{{ file.thumb }}" controls autoplay="{{false}}" objectFit="contain" data-file="{{file}}" data-index="{{index}}" bind:tap="onPreview"/><view wx:if="{{file.status && file.status != 'done'}}" class="{{classPrefix}}__progress-mask" data-index="{{index}}" data-file="{{file}}" bind:tap="onFileClick"><block wx:if="{{file.status == 'loading'}}"><t-icon t-class="{{classPrefix}}__progress-loading" name="loading" size="48rpx" aria-hidden/><view class="{{classPrefix}}__progress-text">{{file.percent ? file.percent + '%' : globalConfig.progress.uploadingText}}</view></block><t-icon wx:else name="{{file.status == 'reload' ? 'refresh' : 'close-circle'}}" size="48rpx" aria-hidden/><view wx:if="{{file.status == 'reload' || file.status == 'failed'}}" class="{{classPrefix}}__progress-text">{{file.status == 'reload' ? globalConfig.progress.reloadText : globalConfig.progress.failText}}</view></view><view wx:if="{{ _.isBoolean(file.removeBtn) ? file.removeBtn : removeBtn}}" class="{{classPrefix}}__close-btn hotspot-expanded" data-index="{{index}}" data-url="{{file.url}}" aria-role="button" aria-label="鍒犻櫎" bindtap="onDelete"><t-icon name="close" size="32rpx" color="#fff"/></view></view></t-grid-item></view><view wx:if="{{addBtn && customLimit > 0}}" class="{{classPrefix}}__drag-item" style="width: {{100 / column}}%"><t-grid-item t-class="{{classPrefix}}__grid" t-class-content="{{classPrefix}}__grid-content" aria-label="涓婁紶" style="width: 100%" bindclick="onAddTap"><view class="{{classPrefix}}__wrapper" style="{{gridItemStyle}}"><slot name="add-content"/><block wx:if="{{addContent}}">{{addContent}}</block><view wx:else class="{{classPrefix}}__add-icon {{disabled? classPrefix + '__add-icon--disabled' : '' }}"><t-icon name="add"/></view></view></t-grid-item></view></view></block></t-grid></view>
\ No newline at end of file
diff --git a/miniprogram_npm/tdesign-miniprogram/upload/upload.wxss b/miniprogram_npm/tdesign-miniprogram/upload/upload.wxss
index aa8e4db..41ba312 100644
--- a/miniprogram_npm/tdesign-miniprogram/upload/upload.wxss
+++ b/miniprogram_npm/tdesign-miniprogram/upload/upload.wxss
@@ -1,15 +1,15 @@
 @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{width:100%;height:100%;display:none;align-items:center;justify-content:center;font-size:var(--td-upload-add-icon-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__wrapper--disabled::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--td-upload-disabled-mask,rgba(0,0,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-text{font:var(--td-font-body-small,24rpx / 40rpx var(--td-font-family,PingFang SC,Microsoft YaHei,Arial Regular));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%;}
diff --git a/miniprogram_npm/tdesign-miniprogram/watermark/watermark.js b/miniprogram_npm/tdesign-miniprogram/watermark/watermark.js
index 96fb8bd..ccde5a7 100644
--- a/miniprogram_npm/tdesign-miniprogram/watermark/watermark.js
+++ b/miniprogram_npm/tdesign-miniprogram/watermark/watermark.js
@@ -1 +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
+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(){this.createSelectorQuery().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/package-lock.json b/package-lock.json
index cfbf501..393cc94 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,7 +10,7 @@
       "license": "ISC",
       "dependencies": {
         "dayjs": "^1.11.19",
-        "tdesign-miniprogram": "^1.11.2"
+        "tdesign-miniprogram": "^1.13.1"
       },
       "devDependencies": {
         "eslint": "^7.32.0",
@@ -2539,9 +2539,10 @@
       "license": "MIT"
     },
     "node_modules/tdesign-miniprogram": {
-      "version": "1.11.2",
-      "resolved": "https://registry.npmmirror.com/tdesign-miniprogram/-/tdesign-miniprogram-1.11.2.tgz",
-      "integrity": "sha512-lXcry3vRa9jHzjpOdIxuIAh7F85kImym82VwLbCqr/TkMhycOsOepx+r1S9fum7u2nsWiYRTV+HuvDHN3KlIuA=="
+      "version": "1.13.1",
+      "resolved": "https://registry.npmmirror.com/tdesign-miniprogram/-/tdesign-miniprogram-1.13.1.tgz",
+      "integrity": "sha512-j6gwyW81iJSL6/4gxR243IAoQO9YG45kiZZYgzKWRUYelLDu4p0yTjcUOX7iUinDyMeoVl18LoU+u+jMc3hO6w==",
+      "license": "MIT"
     },
     "node_modules/text-table": {
       "version": "0.2.0",
@@ -4545,9 +4546,9 @@
       }
     },
     "tdesign-miniprogram": {
-      "version": "1.11.2",
-      "resolved": "https://registry.npmmirror.com/tdesign-miniprogram/-/tdesign-miniprogram-1.11.2.tgz",
-      "integrity": "sha512-lXcry3vRa9jHzjpOdIxuIAh7F85kImym82VwLbCqr/TkMhycOsOepx+r1S9fum7u2nsWiYRTV+HuvDHN3KlIuA=="
+      "version": "1.13.1",
+      "resolved": "https://registry.npmmirror.com/tdesign-miniprogram/-/tdesign-miniprogram-1.13.1.tgz",
+      "integrity": "sha512-j6gwyW81iJSL6/4gxR243IAoQO9YG45kiZZYgzKWRUYelLDu4p0yTjcUOX7iUinDyMeoVl18LoU+u+jMc3hO6w=="
     },
     "text-table": {
       "version": "0.2.0",
diff --git a/package.json b/package.json
index e01656d..2df5317 100644
--- a/package.json
+++ b/package.json
@@ -13,7 +13,7 @@
   "license": "ISC",
   "dependencies": {
     "dayjs": "^1.11.19",
-    "tdesign-miniprogram": "^1.11.2"
+    "tdesign-miniprogram": "^1.13.1"
   },
   "devDependencies": {
     "eslint": "^7.32.0",
diff --git a/package_supervision/api/domainApi.js b/package_supervision/api/domainApi.js
new file mode 100644
index 0000000..9ce54b4
--- /dev/null
+++ b/package_supervision/api/domainApi.js
@@ -0,0 +1,26 @@
+/**
+ * 鐜板満宸℃煡浠诲姟鐩稿叧鏁版嵁鎺ュ彛
+ */
+import { get, post } from '../../services/baseRequset';
+import { inspectUrl, inspectPicUrl } from '../../config/index';
+import { transSceneType } from '../../model/sceneType';
+
+export default {
+  /**
+   * 鑾峰彇闂浣嶇疆閫夐」
+   * @param {*} sceneTypeId 
+   */
+  fetchLocation(sceneTypeId) {
+    return get(
+      {
+        url: `/domainitem/location`,
+        params: {
+          sceneType:sceneTypeId,
+        },
+      },
+      inspectUrl,
+    ).then(res => {
+      return res.data;
+    });
+  },
+};
\ No newline at end of file
diff --git a/package_supervision/api/problemApi.js b/package_supervision/api/problemApi.js
new file mode 100644
index 0000000..059b6c6
--- /dev/null
+++ b/package_supervision/api/problemApi.js
@@ -0,0 +1,39 @@
+/**
+ * 鐜板満宸℃煡浠诲姟鐩稿叧鏁版嵁鎺ュ彛
+ */
+import { get, post } from '../../services/baseRequset';
+import { inspectUrl, inspectPicUrl } from '../../config/index';
+import { transSceneType } from '../../model/sceneType';
+
+export default {
+  /**
+   * 鑾峰彇闂绫诲瀷閫夐」
+   */
+  fetchProblemType({ cityCode, districtCode, sceneTypeId }) {
+    return get(
+      {
+        url: `/problemtype/search`,
+        params: {
+          taskTypeId: 1,
+          cityCode,
+          districtCode,
+          sceneTypeId,
+        },
+      },
+      inspectUrl,
+    ).then(res => {
+      return res.data;
+    });
+  },
+  // 鑾峰彇闂寤鸿
+  getSuggestion() {
+    return get(
+      {
+        url: `/changeadvice`,
+      },
+      inspectUrl,
+    ).then(res => {
+      return res.data;
+    });
+  },
+};
diff --git a/package_supervision/pages/inspection/index.js b/package_supervision/pages/inspection/index.js
index 7664b8a..1714ce8 100644
--- a/package_supervision/pages/inspection/index.js
+++ b/package_supervision/pages/inspection/index.js
@@ -40,6 +40,7 @@
     subtask: {},
     // 鍦烘櫙淇℃伅
     scene: {},
+    // 宸℃煡淇℃伅
     inspeciton: {},
     //
     mapMarkers: [],
@@ -54,7 +55,7 @@
         name: '闂鍙栬瘉',
         icon: `${inspectPicUrl}icons/icon_patrol_new_question.png`,
         disabled: true,
-        url: '/package_supervision/pages/menu_evidence/index'
+        url: '/package_supervision/pages/menu_evidence/index',
       },
       {
         name: '闂娓呭崟',
@@ -155,6 +156,7 @@
           },
         });
         this.fetchInspectionData();
+        this.refreshMenuStatus(data.subtask.status);
       }
     });
   },
@@ -267,7 +269,7 @@
         if (res.success) {
           this.setData({ taskStatus });
           this.getOpenerEventChannel().emit('changeStatusEvent', { subtask: res.data });
-          this.refreshMenuStatus(taskStatus.status)
+          this.refreshMenuStatus(taskStatus.status);
         } else {
           Message.error({
             context: this,
diff --git a/package_supervision/pages/menu_evidence/index.js b/package_supervision/pages/menu_evidence/index.js
index d566c57..d12f41a 100644
--- a/package_supervision/pages/menu_evidence/index.js
+++ b/package_supervision/pages/menu_evidence/index.js
@@ -1,66 +1,68 @@
-// package_supervision/pages/menu_evidence/index.js
-Page({
+import domainApi from '../../api/domainApi';
+import problemApi from '../../api/problemApi';
 
+Page({
   /**
    * 椤甸潰鐨勫垵濮嬫暟鎹�
    */
   data: {
+    disabled: false,
+    // 宸℃煡瀛愪换鍔�
+    subtask: {},
+    // 鍦烘櫙淇℃伅
+    scene: {},
+    // 宸℃煡淇℃伅
+    inspeciton: {},
+    formData: {
+      locationId:'',
+      _proType:'',
+      description:'',
+      proRemark:'',
+      advice:'',
+      _adviseEdit:'',
+      photo:[],
+      longitude:0,
+      latitude:0
+    },
+    optionLocations:[],
+    optionProblemTypes:[],
+    optionDescription:[],
+    optionProblemAdvices:[],
+    gridConfig: {
+      column: 3,
+    },
+    rules: {},
 
+    param: {
+      insGuid:'',
+      ptGuid:'',
+      proName:'',
+      locationId:'',
+      location:'',
+      advice:'',
+      longitude:0,
+      latitude:0
+    },
   },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
    */
-  onLoad(options) {
+  onLoad(options) {},
 
+  fetchOptions() {
+    const {scene} = this.data
+    domainApi.fetchLocation(scene.typeid)
   },
 
-  /**
-   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
-   */
-  onReady() {
+  onLocationChange(e) {
+    e.detail.value
+  },
+  onProblemTypeChange(e) {
 
   },
-
-  /**
-   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
-   */
-  onShow() {
-
-  },
-
-  /**
-   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌
-   */
-  onHide() {
-
-  },
-
-  /**
-   * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇
-   */
-  onUnload() {
-
-  },
-
-  /**
-   * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
-   */
-  onPullDownRefresh() {
-
-  },
-
-  /**
-   * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
-   */
-  onReachBottom() {
-
-  },
-
-  /**
-   * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
-   */
-  onShareAppMessage() {
-
-  }
-})
\ No newline at end of file
+  onDescriptionChange(e){},
+  onProRemarkChange(e){},
+  onProblemAdvicesChange(e){},
+  onProAdviseEditChange(e){}
+});
diff --git a/package_supervision/pages/menu_evidence/index.json b/package_supervision/pages/menu_evidence/index.json
index 8835af0..56912a5 100644
--- a/package_supervision/pages/menu_evidence/index.json
+++ b/package_supervision/pages/menu_evidence/index.json
@@ -1,3 +1,8 @@
 {
+  "navigationBarTitleText": "闂鍙栬瘉",
+  "onReachBottomDistance": 10,
+  "backgroundTextStyle": "light",
+  "navigationBarTextStyle": "white",
+  "navigationBarBackgroundColor": "#389AFF",
   "usingComponents": {}
 }
\ No newline at end of file
diff --git a/package_supervision/pages/menu_evidence/index.wxml b/package_supervision/pages/menu_evidence/index.wxml
index fc6e6cf..b8273a4 100644
--- a/package_supervision/pages/menu_evidence/index.wxml
+++ b/package_supervision/pages/menu_evidence/index.wxml
@@ -1,2 +1,106 @@
-<!--package_supervision/pages/menu_evidence/index.wxml-->
-<text>package_supervision/pages/menu_evidence/index.wxml</text>
\ No newline at end of file
+<view class="page">
+  <view class="page-header"> </view>
+  <view class="page-container">
+    <t-form
+      id="form"
+      class="form"
+      data="{{formData}}"
+      rules="{{rules}}"
+      reset-type="initial"
+      show-error-message
+      using-custom-navbar
+      scrollToFirstError="smooth"
+      label-align="left"
+      bind:reset="onReset"
+      bind:submit="onSubmit"
+    >
+      <t-form-item label="闂浣嶇疆" name="locationId">
+        <t-dropdown-menu>
+          <t-dropdown-item
+            options="{{optionLocations}}"
+            placement="right"
+            value="{{formData.locationId}}"
+            bindchange="onLocationChange"
+          />
+        </t-dropdown-menu>
+      </t-form-item>
+      <t-form-item label="闂绫诲瀷" name="_proType">
+        <t-dropdown-menu>
+          <t-dropdown-item
+            options="{{optionProblemTypes}}"
+            placement="right"
+            value="{{formData._proType}}"
+            bindchange="onProblemTypeChange"
+          />
+        </t-dropdown-menu>
+      </t-form-item>
+      <t-form-item label="闂鎻忚堪" name="description">
+        <t-dropdown-menu>
+          <t-dropdown-item
+            options="{{optionDescription}}"
+            placement="right"
+            value="{{formData.description}}"
+            bindchange="onDescriptionChange"
+          />
+        </t-dropdown-menu>
+      </t-form-item>
+      <t-form-item label="琛ュ厖璇存槑" name="proRemark">
+        <t-textarea
+          value="{{formData.proRemark}}"
+          disabled="{{disabled}}"
+          class="textarea"
+          indicator
+          maxlength="{{50}}"
+          placeholder="璇疯緭鍏ラ棶棰樿ˉ鍏呰鏄�"
+          bind:change="onProRemarkChange"
+        />
+      </t-form-item>
+      <t-form-item label="闂寤鸿" name="advice">
+        <t-dropdown-menu>
+          <t-dropdown-item
+            options="{{optionProblemAdvices}}"
+            placement="right"
+            value="{{formData.advice}}"
+            bindchange="onProblemAdvicesChange"
+          />
+        </t-dropdown-menu>
+      </t-form-item>
+      <t-form-item label="闂寤鸿淇" name="_adviseEdit">
+        <t-textarea
+          value="{{formData._adviseEdit}}"
+          disabled="{{disabled}}"
+          class="textarea"
+          indicator
+          maxlength="{{50}}"
+          placeholder="璇疯緭鍏ラ棶棰樺缓璁慨姝�"
+          bind:change="onProAdviseEditChange"
+        />
+      </t-form-item>
+
+      <t-form-item label="涓婁紶鐓х墖" name="photo">
+        <t-upload
+          class="upload"
+          files="{{formData.photo}}"
+          disabled="{{disabled}}"
+          multiple
+          max="{{6}}"
+          grid-config="{{gridConfig}}"
+          bind:fail="onFail"
+          bind:progress="onProgress"
+          bind:change="onChangeUpload"
+          bind:preview="onPreview"
+          bind:success="onSuccess"
+          bind:remove="onRemove"
+        />
+      </t-form-item>
+
+      <view class="button-group">
+        <t-button theme="primary" formType="submit" size="large" bind:tap="submit">鎻愪氦</t-button>
+        <t-button theme="default" variant="base" formType="reset" size="large" bind:tap="reset"
+          >閲嶇疆</t-button
+        >
+      </view>
+    </t-form>
+  </view>
+  <view class="page-footer"> </view>
+</view>
diff --git a/package_supervision/pages/subtask/subtaskitem.wxml b/package_supervision/pages/subtask/subtaskitem.wxml
index 0dced6e..3ea1105 100644
--- a/package_supervision/pages/subtask/subtaskitem.wxml
+++ b/package_supervision/pages/subtask/subtaskitem.wxml
@@ -29,7 +29,7 @@
             size="small"
             theme="{{item.statusType.type}}"
             variant="light-outline"
-            class="m-r-4 m-b-4"
+            class="m-r-4 m-b-4 tag-small"
           >
             <view style="display: flex; align-items: center; gap: 4px">
               <t-icon size="16" name="{{item.statusType.icon}}"></t-icon>
@@ -64,10 +64,10 @@
           class="m-t-4"
         >
           <view style="display: flex; gap: 8px; align-items: center">
-            <t-tag size="small" variant="light-outline" theme="primary"
+            <t-tag class="tag-small" size="small" variant="light-outline" theme="primary"
               >{{item.sceneTypeName}}</t-tag
             >
-            <t-tag size="small" variant="light-outline" theme="primary"
+            <t-tag class="tag-small" size="small" variant="light-outline" theme="primary"
               >{{item.type}}</t-tag
             >
           </view>
diff --git a/package_supervision/pages/subtask/subtaskitem.wxss b/package_supervision/pages/subtask/subtaskitem.wxss
index 44bf002..18b2ff0 100644
--- a/package_supervision/pages/subtask/subtaskitem.wxss
+++ b/package_supervision/pages/subtask/subtaskitem.wxss
@@ -1,3 +1,6 @@
+.tag-small {
+  font-size: var(--td-font-size-s) !important;
+}
 .sti-loading {
   width: 100%;
   text-align: center;
@@ -39,4 +42,4 @@
 .t-empty__image {
   width: 240rpx !important;
   height: 240rpx !important;
-}
\ No newline at end of file
+}
diff --git a/pages/home/index.wxss b/pages/home/index.wxss
index a76b4b8..e3df054 100644
--- a/pages/home/index.wxss
+++ b/pages/home/index.wxss
@@ -1,6 +1,6 @@
 @import './inspection.wxss';
 
-page {
+.page {
   --td-navbar-bg-color: var(--td-primary-color);
   --header-bottom-padding: 600rpx;
 }
diff --git a/style/theme.wxss b/style/theme.wxss
index b385726..2667e3d 100644
--- a/style/theme.wxss
+++ b/style/theme.wxss
@@ -1,15 +1,17 @@
+@import '/miniprogram_npm/tdesign-miniprogram/common/style/theme/_index.wxss';
+
 /* 涓婚瀹氬埗 */
 page {
-  --td-primary-color-1: #E5F2FF;
-  --td-primary-color-2: #D6EAFF;
-  --td-primary-color-3: #C8E3FF;
-  --td-primary-color-4: #A1CFFF;
-  --td-primary-color-5: #71B6FF;
-  --td-primary-color-6: #53A7FF;
-  --td-primary-color-7: #389AFF;
-  --td-primary-color-8: #2B93FF;
-  --td-primary-color-9: #127CEA;
-  --td-primary-color-10: #076FDB;
+  --td-primary-color-1: #E5F2FF !important;
+  --td-primary-color-2: #D6EAFF !important;
+  --td-primary-color-3: #C8E3FF !important;
+  --td-primary-color-4: #A1CFFF !important;
+  --td-primary-color-5: #71B6FF !important;
+  --td-primary-color-6: #53A7FF !important;
+  --td-primary-color-7: #389AFF !important;
+  --td-primary-color-8: #2B93FF !important;
+  --td-primary-color-9: #127CEA !important;
+  --td-primary-color-10: #076FDB !important;
 
   --td-warning-color-1: #FFEEDD;
   --td-warning-color-2: #FEE2C8;

--
Gitblit v1.9.3