commit d281aab5b335e0223bd3ad6d188c07a58a7a51b4 Author: yj <1336058017@qq.com> Date: Mon Nov 11 14:16:29 2024 +0800 Initial Commit diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..115cc02 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,31 @@ +/* + * Eslint config file + * Documentation: https://eslint.org/docs/user-guide/configuring/ + * Install the Eslint extension before using this feature. + */ +module.exports = { + env: { + es6: true, + browser: true, + node: true, + }, + ecmaFeatures: { + modules: true, + }, + parserOptions: { + ecmaVersion: 2018, + sourceType: 'module', + }, + globals: { + wx: true, + App: true, + Page: true, + getCurrentPages: true, + getApp: true, + Component: true, + requirePlugin: true, + requireMiniProgram: true, + }, + // extends: 'eslint:recommended', + rules: {}, +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..14ea590 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +# Windows +[Dd]esktop.ini +Thumbs.db +$RECYCLE.BIN/ + +# macOS +.DS_Store +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes + +# Node.js +node_modules/ diff --git a/app.d.ts b/app.d.ts new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/app.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/app.js b/app.js new file mode 100644 index 0000000..2c70df4 --- /dev/null +++ b/app.js @@ -0,0 +1,10 @@ +import gulpError from './utils/gulpError'; +App({ + onShow() { + if (gulpError !== 'gulpErrorPlaceHolder') { + wx.redirectTo({ + url: `/pages/gulp-error/index?gulpError=${gulpError}`, + }); + } + }, +}); diff --git a/app.json b/app.json new file mode 100644 index 0000000..05c393c --- /dev/null +++ b/app.json @@ -0,0 +1,113 @@ +{ + "pages": [ + "pages/home/home", + "pages/button/button", + "pages/tabs/tabs", + "pages/icon/icon", + "pages/loading/loading", + "pages/progress/progress", + "pages/cascader/cascader", + "pages/cell/cell", + "pages/cell-group/cell-group", + "pages/collapse/collapse", + "pages/input/input", + "pages/badge/badge", + "pages/textarea/textarea", + "pages/message/message", + "pages/toast/toast", + "pages/stepper/stepper", + "pages/slider/slider", + "pages/radio/radio", + "pages/switch/switch", + "pages/sticky/sticky", + "pages/tag/tag", + "pages/checkbox/checkbox", + "pages/gulp-error/index", + "pages/fab/fab", + "pages/tab-bar/tab-bar", + "pages/transition/transition", + "pages/popup/popup", + "pages/steps/steps", + "pages/dropdown-menu/dropdown-menu", + "pages/drawer/drawer", + "pages/pull-down-refresh/pull-down-refresh", + "pages/skeleton/skeleton", + "pages/footer/footer", + "pages/divider/divider", + "pages/empty/empty", + "pages/back-top/back-top", + "pages/grid/grid", + "pages/upload/upload", + "pages/count-down/count-down", + "pages/overlay/overlay", + "pages/image/image", + "pages/search/search", + "pages/home/navigateFail/navigateFail", + "pages/navbar/navbar", + "pages/date-time-picker/date-time-picker", + "pages/notice-bar/notice-bar", + "pages/image-viewer/image-viewer", + "pages/result/result", + "pages/result/result-page", + "pages/link/link" + ], + "subpackages": [ + { + "root": "pages/side-bar/", + "pages": ["side-bar", "base/index", "switch/index", "custom/index", "with-icon/index"] + }, + { + "root": "pages/action-sheet/", + "pages": ["action-sheet"] + }, + { + "root": "pages/avatar/", + "pages": ["avatar"] + }, + { + "root": "pages/calendar/", + "pages": ["calendar"] + }, + { + "root": "pages/dialog/", + "pages": ["dialog"] + }, + { + "root": "pages/picker/", + "pages": ["picker"] + }, + { + "root": "pages/rate/", + "pages": ["rate"] + }, + { + "root": "pages/swiper/", + "pages": ["swiper"] + }, + { + "root": "pages/swipe-cell/", + "pages": ["swipe-cell"] + }, + { + "root": "pages/tree-select/", + "pages": ["tree-select"] + }, + { + "root": "pages/indexes/", + "pages": ["indexes", "base/index", "custom/index"] + } + ], + "usingComponents": { + "t-demo": "./components/demo-block/index", + "t-button": "tdesign-miniprogram/button/button", + "t-icon": "tdesign-miniprogram/icon/icon" + }, + "window": { + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#f6f6f6", + "backgroundColor": "#f6f6f6", + "navigationBarTitleText": "TDesign", + "navigationBarTextStyle": "black" + }, + "sitemapLocation": "sitemap.json" +} diff --git a/app.wxss b/app.wxss new file mode 100644 index 0000000..c397851 --- /dev/null +++ b/app.wxss @@ -0,0 +1,19 @@ +page { + background: #f6f6f6; +} +.demo { + padding-bottom: 56rpx; +} +.demo-title { + font-size: 48rpx; + font-weight: 700; + line-height: 64rpx; + margin: 48rpx 32rpx 0; + color: var(--td-font-gray-1, rgba(0, 0, 0, 0.9)); +} +.demo-desc { + font-size: 28rpx; + color: var(--td-font-gray-2, rgba(0, 0, 0, 0.6)); + margin: 16rpx 32rpx 0; + line-height: 44rpx; +} diff --git a/assets/TDesignLogo@2x.png b/assets/TDesignLogo@2x.png new file mode 100644 index 0000000..ab44a89 Binary files /dev/null and b/assets/TDesignLogo@2x.png differ diff --git a/components/demo-block/index.d.ts b/components/demo-block/index.d.ts new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/components/demo-block/index.d.ts @@ -0,0 +1 @@ + diff --git a/components/demo-block/index.js b/components/demo-block/index.js new file mode 100644 index 0000000..007225f --- /dev/null +++ b/components/demo-block/index.js @@ -0,0 +1,27 @@ +Component({ + options: { + multipleSlots: true, + addGlobalClass: true, + }, + properties: { + title: { + type: String, + default: '', + }, + desc: { + type: String, + default: '', + }, + operList: Array, + padding: { + type: Boolean, + default: false, + }, + }, + methods: { + clickHandle(e) { + const { type } = e.currentTarget.dataset; + this.triggerEvent('clickoper', type); + }, + }, +}); diff --git a/components/demo-block/index.json b/components/demo-block/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/components/demo-block/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/components/demo-block/index.wxml b/components/demo-block/index.wxml new file mode 100644 index 0000000..ff89daa --- /dev/null +++ b/components/demo-block/index.wxml @@ -0,0 +1,18 @@ + + + {{ title }} + {{ desc }} + + + + {{ operItem.title }} + + + {{ btnItem.text }} + + + + + + + diff --git a/components/demo-block/index.wxss b/components/demo-block/index.wxss new file mode 100644 index 0000000..6553930 --- /dev/null +++ b/components/demo-block/index.wxss @@ -0,0 +1,43 @@ +.demo-block { + margin: var(--td-spacer-4, 64rpx) 0 0; +} +.demo-block__header { + color: #000; + margin: 0 var(--td-spacer-2, 32rpx); +} +.demo-block__header-title { + font-weight: 700; + font-size: 36rpx; + line-height: 52rpx; +} +.demo-block__header-desc { + margin-top: var(--td-spacer, 16rpx); + font-size: var(--td-font-size-base, 28rpx); + white-space: pre-line; + color: var(--td-font-gray-2, rgba(0, 0, 0, 0.6)); + line-height: 22px; +} +.demo-block__oper { + margin-top: var(--td-spacer, 16rpx); +} +.demo-block__oper-subtitle { + font-size: var(--td-font-size-s, 24rpx); + margin-bottom: var(--td-spacer-2, 32rpx); + opacity: 0.4; +} +.demo-block__oper-btn { + margin: 0 0 var(--td-spacer-2, 32rpx) 0; + height: 96rpx; +} +.demo-block__slot { + margin-top: var(--td-spacer-2, 32rpx); +} +.demo-block__slot.with-padding { + margin: var(--td-spacer-2, 32rpx) var(--td-spacer-2, 32rpx) 0; +} +.demo-block_notitle { + margin-top: 0px; +} +.demo-block_notitle .demo-block_subtitle { + margin-top: var(--td-spacer-3, 48rpx); +} diff --git a/components/pull-down-list/index.d.ts b/components/pull-down-list/index.d.ts new file mode 100644 index 0000000..8639a8d --- /dev/null +++ b/components/pull-down-list/index.d.ts @@ -0,0 +1 @@ +declare const itemHeight: number; diff --git a/components/pull-down-list/index.js b/components/pull-down-list/index.js new file mode 100644 index 0000000..ef76163 --- /dev/null +++ b/components/pull-down-list/index.js @@ -0,0 +1,41 @@ +const itemHeight = 56 * 2; +Component({ + data: { + childBoxHeight: 0, + }, + externalClasses: ['t-class'], + properties: { + defaultOpen: { + type: Boolean, + value: false, + }, + name: { + type: String, + value: '', + }, + icon: { + type: String, + value: '', + }, + childArr: { + type: Array, + value: [], + observer(childArr) { + this.setData({ + childBoxHeight: this.data.defaultOpen ? itemHeight * childArr.length : 0, + }); + }, + }, + }, + methods: { + switchHandle() { + const { childArr, childBoxHeight } = this.data; + this.setData({ + childBoxHeight: childBoxHeight > 0 ? 0 : childArr.length * itemHeight, + }); + }, + tapChild(e) { + this.triggerEvent('click', e.target.dataset); + }, + }, +}); diff --git a/components/pull-down-list/index.json b/components/pull-down-list/index.json new file mode 100644 index 0000000..32640e0 --- /dev/null +++ b/components/pull-down-list/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} \ No newline at end of file diff --git a/components/pull-down-list/index.wxml b/components/pull-down-list/index.wxml new file mode 100644 index 0000000..cf58f3b --- /dev/null +++ b/components/pull-down-list/index.wxml @@ -0,0 +1,12 @@ + + + {{ name }} + + + + + {{ item.name }} {{ item.label }} + + + + diff --git a/components/pull-down-list/index.wxss b/components/pull-down-list/index.wxss new file mode 100644 index 0000000..ce6c2f1 --- /dev/null +++ b/components/pull-down-list/index.wxss @@ -0,0 +1,49 @@ +.pullDownList { + width: 100%; + box-sizing: border-box; + background-color: #fff; + border-radius: 8rpx; + margin-bottom: 24rpx; + overflow: hidden; +} +.pullDownList .switchBox { + height: 120rpx; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 32rpx; + font-size: 32rpx; + line-height: 48rpx; + color: #333; +} +.pullDownList .name, +.pullDownList .icon { + transition: opacity 0.3s; +} +.pullDownList .name { + opacity: 0.9; +} +.pullDownList.actived .name { + opacity: 0.4; +} +.pullDownList.actived .icon { + opacity: 0.4; +} +.pullDownList .childBox { + transition: height 0.3s; +} +.pullDownList .childBox .child { + box-sizing: border-box; + border-bottom: 1rpx solid #e5e5e5; + height: 112rpx; + display: flex; + justify-content: space-between; + align-items: center; + margin-left: 32rpx; + margin-right: 32rpx; + font-size: 32rpx; + opacity: 0.9; +} +.pullDownList .childBox .child:last-of-type { + border-bottom-color: transparent; +} diff --git a/demos/radio/basic/basic.d.ts b/demos/radio/basic/basic.d.ts new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/demos/radio/basic/basic.d.ts @@ -0,0 +1 @@ + diff --git a/demos/radio/basic/basic.js b/demos/radio/basic/basic.js new file mode 100644 index 0000000..b79c512 --- /dev/null +++ b/demos/radio/basic/basic.js @@ -0,0 +1 @@ +Component({}); diff --git a/demos/radio/basic/basic.json b/demos/radio/basic/basic.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/demos/radio/basic/basic.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/demos/radio/basic/basic.wxml b/demos/radio/basic/basic.wxml new file mode 100644 index 0000000..c1c2a69 --- /dev/null +++ b/demos/radio/basic/basic.wxml @@ -0,0 +1,4 @@ + + + + diff --git a/demos/radio/basic/basic.wxss b/demos/radio/basic/basic.wxss new file mode 100644 index 0000000..e69de29 diff --git a/demos/radio/group/group.d.ts b/demos/radio/group/group.d.ts new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/demos/radio/group/group.d.ts @@ -0,0 +1 @@ + diff --git a/demos/radio/group/group.js b/demos/radio/group/group.js new file mode 100644 index 0000000..074920b --- /dev/null +++ b/demos/radio/group/group.js @@ -0,0 +1,22 @@ +Component({ + properties: { + items: { + type: Array, + value: [], + }, + value: { + type: String, + value: '', + }, + }, + data: { + currentValue: '', + }, + methods: { + onChange(event) { + this.setData({ + currentValue: event.detail.name, + }); + }, + }, +}); diff --git a/demos/radio/group/group.json b/demos/radio/group/group.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/demos/radio/group/group.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/demos/radio/group/group.wxml b/demos/radio/group/group.wxml new file mode 100644 index 0000000..8ff56d4 --- /dev/null +++ b/demos/radio/group/group.wxml @@ -0,0 +1,12 @@ + + + diff --git a/demos/radio/group/group.wxss b/demos/radio/group/group.wxss new file mode 100644 index 0000000..e69de29 diff --git a/miniprogram_npm/tdesign-miniprogram/action-sheet/README.en-US.md b/miniprogram_npm/tdesign-miniprogram/action-sheet/README.en-US.md new file mode 100644 index 0000000..0c84067 --- /dev/null +++ b/miniprogram_npm/tdesign-miniprogram/action-sheet/README.en-US.md @@ -0,0 +1,24 @@ +:: BASE_DOC :: + +## API +### ActionSheet Props + +name | type | default | description | required +-- | -- | -- | -- | -- +align | String | center | `0.29.0`。options:center/left | N +cancel-text | String | - | \- | N +count | Number | 8 | \- | N +description | String | - | `0.29.0` | N +items | Array | - | required。Typescript:`Array` `interface ActionSheetItem {label: string; color?: string; disabled?: boolean }`。[see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/action-sheet/type.ts) | Y +show-cancel | Boolean | true | \- | N +theme | String | list | options:list/grid | N +visible | Boolean | false | required | Y +default-visible | Boolean | undefined | required。uncontrolled property | Y + +### ActionSheet Events + +name | params | description +-- | -- | -- +cancel | \- | \- +close | `(trigger: TriggerSource)` | [see more ts definition](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/action-sheet/type.ts)。
`type TriggerSource = 'overlay' \| 'command' \| 'select' `
+selected | `(selected: ActionSheetItem \| string, index: number)` | \- diff --git a/miniprogram_npm/tdesign-miniprogram/action-sheet/README.md b/miniprogram_npm/tdesign-miniprogram/action-sheet/README.md new file mode 100644 index 0000000..1ba2bab --- /dev/null +++ b/miniprogram_npm/tdesign-miniprogram/action-sheet/README.md @@ -0,0 +1,107 @@ +--- +title: ActionSheet 动作面板 +description: 由用户操作后触发的一种特定的模态弹出框 ,呈现一组与当前情境相关的两个或多个选项。 +spline: data +isComponent: true +--- + + + +
+ + + + 该组件于 0.9.0 版本上线,请留意版本。 +
+ +## 引入 + +全局引入,在 miniprogram 根目录下的`app.json`中配置,局部引入,在需要引入的页面或组件的`index.json`中配置。 + +```json +"usingComponents": { + "t-action-sheet": "tdesign-miniprogram/action-sheet/action-sheet", +} +``` + +## 代码演示 + +### 组件类型 + +列表型动作面板 + +{{ list }} + +宫格型动作面板 + +{{ grid }} + +### 组件状态 + +宫格型动作面板 + +{{ status }} + +### 组件样式 + +列表型对齐方式 + +{{ align }} + +### 支持指令调用 + +```javascript +import ActionSheet, { ActionSheetTheme } from 'tdesign-miniprogram/action-sheet/index'; + +// 指令调用不同于组件引用不需要传入visible +const basicListOption: ActionSheetShowOption = { + theme: ActionSheetTheme.List, + selector: '#t-action-sheet', + items: [ + { + label: '默认选项', + }, + { + label: '失效选项', + disabled: true, + }, + { + label: '警告选项', + color: '#e34d59', + }, + ], +}; + +const handler = ActionSheet.show(basicListOption); +``` + +指令调用的关闭如下 + +```javascript +handler.close(); +``` + + +## API +### ActionSheet Props + +名称 | 类型 | 默认值 | 说明 | 必传 +-- | -- | -- | -- | -- +align | String | center | `0.29.0`。水平对齐方式。可选项:center/left | N +cancel-text | String | - | 设置取消按钮的文本 | N +count | Number | 8 | 设置每页展示菜单的数量,仅当 type=grid 时有效 | N +description | String | - | `0.29.0`。动作面板描述文字 | N +items | Array | - | 必需。菜单项。TS 类型:`Array` `interface ActionSheetItem {label: string; color?: string; disabled?: boolean }`。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/action-sheet/type.ts) | Y +show-cancel | Boolean | true | 是否显示取消按钮 | N +theme | String | list | 展示类型,列表和表格形式展示。可选项:list/grid | N +visible | Boolean | false | 必需。显示与隐藏 | Y +default-visible | Boolean | undefined | 必需。显示与隐藏。非受控属性 | Y +external-classes | Array | - | 组件类名,用于设置组件外层元素类名。`['t-class', 't-class-content', 't-class-cancel']` | N + +### ActionSheet Events + +名称 | 参数 | 描述 +-- | -- | -- +cancel | \- | 点击取消按钮时触发 +close | `(trigger: TriggerSource)` | 关闭时触发。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/action-sheet/type.ts)。
`type TriggerSource = 'overlay' \| 'command' \| 'select' `
+selected | `(selected: ActionSheetItem \| string, index: number)` | 选择菜单项时触发 diff --git a/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.d.ts b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.d.ts new file mode 100644 index 0000000..dd4d4bf --- /dev/null +++ b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.d.ts @@ -0,0 +1,66 @@ +import { SuperComponent } from '../common/src/index'; +export default class ActionSheet extends SuperComponent { + static show: (options: import("./show").ActionSheetShowOption) => WechatMiniprogram.Component.TrivialInstance; + externalClasses: string[]; + properties: { + align?: { + type: StringConstructor; + value?: "center" | "left"; + }; + cancelText?: { + type: StringConstructor; + value?: string; + }; + count?: { + type: NumberConstructor; + value?: number; + }; + description?: { + type: StringConstructor; + value?: string; + }; + items: { + type: ArrayConstructor; + value?: (string | import("./type").ActionSheetItem)[]; + }; + showCancel?: { + type: BooleanConstructor; + value?: boolean; + }; + theme?: { + type: StringConstructor; + value?: "list" | "grid"; + }; + visible: { + type: BooleanConstructor; + value?: boolean; + }; + defaultVisible: { + type: BooleanConstructor; + value?: boolean; + }; + }; + data: { + prefix: string; + classPrefix: string; + gridThemeItems: any[]; + currentSwiperIndex: number; + }; + controlledProps: { + key: string; + event: string; + }[]; + ready(): void; + methods: { + onSwiperChange(e: WechatMiniprogram.TouchEvent): void; + splitGridThemeActions(): void; + show(options: any): void; + memoInitialData(): void; + close(): void; + onPopupVisibleChange({ detail }: { + detail: any; + }): void; + onSelect(event: WechatMiniprogram.TouchEvent): void; + onCancel(): void; + }; +} diff --git a/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.js b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.js new file mode 100644 index 0000000..aa8ba4d --- /dev/null +++ b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.js @@ -0,0 +1,94 @@ +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +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'; +const { prefix } = config; +const name = `${prefix}-action-sheet`; +let ActionSheet = class ActionSheet extends SuperComponent { + constructor() { + super(...arguments); + this.externalClasses = [`${prefix}-class`, `${prefix}-class-content`, `${prefix}-class-cancel`]; + this.properties = Object.assign({}, props); + this.data = { + prefix, + classPrefix: name, + gridThemeItems: [], + currentSwiperIndex: 0, + }; + this.controlledProps = [ + { + key: 'visible', + event: 'visible-change', + }, + ]; + this.methods = { + onSwiperChange(e) { + const { detail: { current }, } = e; + this.setData({ + currentSwiperIndex: current, + }); + }, + splitGridThemeActions() { + if (this.data.theme !== ActionSheetTheme.Grid) + return; + this.setData({ + gridThemeItems: chunk(this.data.items, this.data.count), + }); + }, + show(options) { + this.setData(Object.assign(Object.assign(Object.assign({}, this.initialData), options), { visible: true })); + this.splitGridThemeActions(); + this.autoClose = true; + this._trigger('visible-change', { visible: true }); + }, + memoInitialData() { + this.initialData = Object.assign(Object.assign({}, this.properties), this.data); + }, + close() { + this.triggerEvent('close', { trigger: 'command' }); + this._trigger('visible-change', { visible: false }); + }, + onPopupVisibleChange({ detail }) { + if (!detail.visible) { + this.triggerEvent('close', { trigger: 'overlay' }); + this._trigger('visible-change', { visible: false }); + } + if (this.autoClose) { + this.setData({ visible: false }); + this.autoClose = false; + } + }, + onSelect(event) { + const { currentSwiperIndex, items, gridThemeItems, count, theme } = this.data; + const { index } = event.currentTarget.dataset; + const isSwiperMode = theme === ActionSheetTheme.Grid; + const item = isSwiperMode ? gridThemeItems[currentSwiperIndex][index] : items[index]; + const realIndex = isSwiperMode ? index + currentSwiperIndex * count : index; + if (item) { + this.triggerEvent('selected', { selected: item, index: realIndex }); + this.trigger('close', { trigger: 'select' }); + this._trigger('visible-change', { visible: false }); + } + }, + onCancel() { + this.triggerEvent('cancel'); + }, + }; + } + ready() { + this.memoInitialData(); + this.splitGridThemeActions(); + } +}; +ActionSheet.show = show; +ActionSheet = __decorate([ + wxComponent() +], ActionSheet); +export default ActionSheet; diff --git a/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.json b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.json new file mode 100644 index 0000000..c1eb33e --- /dev/null +++ b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.json @@ -0,0 +1,10 @@ +{ + "component": true, + "usingComponents": { + "t-icon": "../icon/icon", + "t-popup": "../popup/popup", + "t-grid": "../grid/grid", + "t-grid-item": "../grid-item/grid-item", + "t-swiper-nav": "../swiper-nav/swiper-nav" + } +} diff --git a/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxml b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxml new file mode 100644 index 0000000..bf8d757 --- /dev/null +++ b/miniprogram_npm/tdesign-miniprogram/action-sheet/action-sheet.wxml @@ -0,0 +1,41 @@ + + + + + + + + + {{description}} + +