├── examples ├── app.acss ├── pages │ ├── list │ │ ├── app.acss │ │ ├── index.json │ │ ├── app.json │ │ ├── index.acss │ │ └── app.axml │ ├── card │ │ ├── index.acss │ │ ├── index.json │ │ ├── index.js │ │ └── index.axml │ ├── filter │ │ ├── index.acss │ │ ├── alternative │ │ │ ├── index.acss │ │ │ ├── index.json │ │ │ ├── index.axml │ │ │ └── index.js │ │ ├── index.js │ │ ├── single │ │ │ ├── index.acss │ │ │ ├── index.json │ │ │ ├── index.axml │ │ │ └── index.js │ │ ├── index.json │ │ └── index.axml │ ├── footer │ │ ├── index.acss │ │ ├── index.json │ │ ├── index.js │ │ └── index.axml │ ├── grid │ │ ├── 2 │ │ │ ├── index.acss │ │ │ ├── index.json │ │ │ ├── index.axml │ │ │ └── index.js │ │ ├── 3 │ │ │ ├── index.acss │ │ │ ├── index.json │ │ │ └── index.axml │ │ ├── 4 │ │ │ ├── index.acss │ │ │ ├── index.json │ │ │ └── index.axml │ │ ├── 5 │ │ │ ├── index.acss │ │ │ ├── index.json │ │ │ ├── index.axml │ │ │ └── index.js │ │ ├── index.acss │ │ ├── index.js │ │ ├── index.json │ │ └── index.axml │ ├── message │ │ ├── index.acss │ │ ├── fail │ │ │ ├── index.acss │ │ │ ├── index.json │ │ │ ├── index.axml │ │ │ └── index.js │ │ ├── info │ │ │ ├── index.acss │ │ │ ├── index.json │ │ │ ├── index.axml │ │ │ └── index.js │ │ ├── warn │ │ │ ├── index.acss │ │ │ ├── index.json │ │ │ ├── index.axml │ │ │ └── index.js │ │ ├── success │ │ │ ├── index.acss │ │ │ ├── index.json │ │ │ ├── index.axml │ │ │ └── index.js │ │ ├── waiting │ │ │ ├── index.acss │ │ │ ├── index.json │ │ │ ├── index.axml │ │ │ └── index.js │ │ ├── index.js │ │ ├── index.json │ │ └── index.axml │ ├── modal │ │ ├── index.acss │ │ ├── index.json │ │ └── index.js │ ├── stepper │ │ ├── index.acss │ │ ├── index.json │ │ ├── index.js │ │ └── index.axml │ ├── tips │ │ ├── 1 │ │ │ ├── index.json │ │ │ ├── index.js │ │ │ ├── index.acss │ │ │ └── index.axml │ │ ├── 2 │ │ │ ├── index.acss │ │ │ ├── index.axml │ │ │ ├── index.json │ │ │ └── index.js │ │ ├── index.acss │ │ ├── index.js │ │ ├── index.json │ │ └── index.axml │ ├── vtabs │ │ ├── index.acss │ │ ├── index.json │ │ ├── index.axml │ │ └── index.js │ ├── amount-input │ │ ├── index.acss │ │ ├── index.json │ │ ├── index.axml │ │ └── index.js │ ├── calendar │ │ ├── index.acss │ │ ├── index.json │ │ ├── index.axml │ │ └── index.js │ ├── page-result │ │ ├── index.acss │ │ ├── busy │ │ │ ├── index.acss │ │ │ ├── index.js │ │ │ ├── index.axml │ │ │ └── index.json │ │ ├── empty │ │ │ ├── index.acss │ │ │ ├── index.js │ │ │ ├── index.axml │ │ │ └── index.json │ │ ├── error │ │ │ ├── index.acss │ │ │ ├── index.js │ │ │ ├── index.axml │ │ │ └── index.json │ │ ├── local-busy │ │ │ ├── index.acss │ │ │ ├── index.js │ │ │ ├── index.json │ │ │ └── index.axml │ │ ├── log-off │ │ │ ├── index.acss │ │ │ ├── index.js │ │ │ ├── index.axml │ │ │ └── index.json │ │ ├── local-empty │ │ │ ├── index.acss │ │ │ ├── index.js │ │ │ ├── index.json │ │ │ └── index.axml │ │ ├── local-error │ │ │ ├── index.acss │ │ │ ├── index.js │ │ │ ├── index.json │ │ │ └── index.axml │ │ ├── local-logoff │ │ │ ├── index.acss │ │ │ ├── index.js │ │ │ ├── index.json │ │ │ └── index.axml │ │ ├── local-network │ │ │ ├── index.acss │ │ │ ├── index.js │ │ │ ├── index.json │ │ │ └── index.axml │ │ ├── network │ │ │ ├── index.js │ │ │ ├── index.json │ │ │ ├── index.axml │ │ │ └── index.acss │ │ ├── index.json │ │ ├── index.axml │ │ └── index.js │ ├── search-bar │ │ ├── index.acss │ │ ├── index.json │ │ ├── index.axml │ │ └── index.js │ ├── swipe-action │ │ ├── index.acss │ │ ├── index.json │ │ └── index.axml │ ├── flex │ │ ├── index.js │ │ ├── index.json │ │ └── index.acss │ ├── collapse │ │ ├── index.js │ │ ├── index.json │ │ ├── index.acss │ │ └── index.axml │ ├── pagination │ │ ├── index.js │ │ ├── index.acss │ │ ├── index.json │ │ └── index.axml │ ├── badge │ │ ├── index.acss │ │ ├── index.json │ │ ├── index.axml │ │ └── index.js │ ├── am-checkbox │ │ ├── index.acss │ │ ├── index.json │ │ ├── index.js │ │ └── index.axml │ ├── face-detection │ │ ├── index.acss │ │ ├── index.json │ │ ├── index.axml │ │ └── index.js │ ├── picker-item │ │ ├── index.acss │ │ ├── index.json │ │ ├── index.js │ │ └── index.axml │ ├── am-icon │ │ ├── index.json │ │ ├── index.acss │ │ ├── index.axml │ │ └── index.js │ ├── steps │ │ ├── index.json │ │ ├── index.acss │ │ ├── index.axml │ │ └── index.js │ ├── popup │ │ ├── index.json │ │ ├── index.acss │ │ ├── index.js │ │ └── index.axml │ ├── notice │ │ ├── index.json │ │ ├── index.acss │ │ ├── index.js │ │ └── index.axml │ ├── tabs │ │ ├── index.json │ │ ├── index.acss │ │ ├── index.js │ │ └── index.axml │ ├── popover │ │ ├── index.json │ │ ├── index.acss │ │ ├── index.axml │ │ └── index.js │ └── input-item │ │ ├── index.json │ │ ├── index.acss │ │ ├── index.js │ │ └── index.axml ├── app.js └── app.json ├── .npmrc ├── components ├── badge │ ├── index.json │ ├── index.ts │ ├── index.axml │ └── index.less ├── flex │ ├── index.json │ ├── flex-item │ │ ├── index.ts │ │ ├── index.json │ │ ├── index.axml │ │ └── index.less │ ├── index.axml │ ├── index.ts │ ├── index.less │ └── index.sjs ├── popup │ ├── index.json │ ├── index.axml │ ├── index.ts │ ├── index.less │ └── index.md ├── vtabs │ ├── vtab-content │ │ ├── index.ts │ │ ├── index.json │ │ └── index.axml │ ├── index.json │ ├── index.less │ └── index.axml ├── am-icon │ ├── index.json │ ├── index.axml │ ├── index.ts │ └── index.md ├── card │ ├── index.json │ ├── index.ts │ ├── index.axml │ ├── index.md │ └── index.less ├── footer │ ├── index.json │ ├── index.ts │ ├── index.axml │ ├── index.less │ └── index.md ├── grid │ ├── index.json │ ├── index.ts │ └── index.axml ├── list │ ├── index.json │ ├── list-item │ │ ├── index.json │ │ ├── index.axml │ │ └── index.ts │ ├── index.axml │ ├── index.less │ └── index.ts ├── message │ ├── index.json │ ├── index.ts │ ├── index.axml │ ├── index.less │ └── index.md ├── modal │ ├── index.json │ ├── index.ts │ ├── index.axml │ └── index.md ├── notice │ ├── index.json │ └── index.axml ├── steps │ ├── index.json │ ├── index.ts │ └── index.md ├── am-checkbox │ ├── index.json │ ├── index.axml │ ├── index.ts │ └── index.less ├── amount-input │ ├── index.json │ ├── index.axml │ ├── index.ts │ └── index.md ├── calendar │ ├── index.json │ └── index.md ├── collapse │ ├── index.json │ ├── index.axml │ └── collapse-item │ │ ├── index.json │ │ ├── index.axml │ │ └── index.less ├── face-detection │ ├── index.json │ └── index.axml ├── filter │ ├── index.json │ ├── filter-item │ │ ├── index.json │ │ ├── index.axml │ │ ├── index.ts │ │ └── index.less │ ├── mixins │ │ └── lifecycle.ts │ ├── index.axml │ ├── index.ts │ ├── index.less │ └── index.md ├── input-item │ ├── index.json │ ├── index.axml │ ├── index.less │ └── index.ts ├── pagination │ ├── index.json │ ├── index.sjs │ ├── index.ts │ ├── index.axml │ ├── index.md │ └── index.less ├── picker-item │ ├── index.json │ ├── index.ts │ ├── index.axml │ ├── index.less │ └── index.md ├── popover │ ├── index.json │ ├── popover-item │ │ ├── index.json │ │ ├── index.axml │ │ ├── index.ts │ │ └── index.less │ ├── index.ts │ ├── index.axml │ └── index.md ├── search-bar │ ├── index.json │ ├── index.axml │ ├── index.md │ └── index.less ├── stepper │ ├── index.json │ └── index.axml ├── tips │ ├── tips-plain │ │ ├── index.json │ │ ├── index.axml │ │ ├── index.ts │ │ └── index.less │ └── tips-dialog │ │ ├── index.json │ │ ├── index.ts │ │ ├── index.axml │ │ └── index.less ├── page-result │ ├── index.json │ ├── index.ts │ ├── index.axml │ └── index.md ├── swipe-action │ ├── index.json │ └── index.less ├── tabs │ ├── tab-content │ │ ├── index.json │ │ ├── index.ts │ │ ├── index.less │ │ └── index.axml │ ├── index.json │ ├── util.sjs │ └── index.ts ├── _util │ └── fmtEvent.ts └── style │ ├── mixins │ └── hairline.less │ └── themes │ └── default.less ├── .eslintignore ├── tsconfig.json ├── babel.config.js ├── .gitignore ├── .eslintrc ├── scripts ├── pub.js └── compiler.js ├── .github ├── ISSUE_TEMPLATE.md └── PULL_REQUEST_TEMPLATE.md ├── .stylelintrc ├── LICENSE └── package.json /examples/app.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | package-lock=false -------------------------------------------------------------------------------- /examples/pages/list/app.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/card/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/filter/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/footer/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/grid/2/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/grid/3/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/grid/4/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/grid/5/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/grid/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/message/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/modal/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/stepper/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/tips/2/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/tips/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/vtabs/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/amount-input/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/calendar/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/message/fail/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/message/info/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/message/warn/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/page-result/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/search-bar/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/swipe-action/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/flex/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /examples/pages/grid/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /examples/pages/message/success/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/message/waiting/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/page-result/busy/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/page-result/empty/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/page-result/error/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/tips/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /examples/pages/collapse/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /examples/pages/filter/alternative/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/filter/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /examples/pages/message/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-busy/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/page-result/log-off/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/pagination/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-empty/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-error/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-logoff/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-network/index.acss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/badge/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/flex/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/popup/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/vtabs/vtab-content/index.ts: -------------------------------------------------------------------------------- 1 | Component({}); 2 | -------------------------------------------------------------------------------- /examples/pages/page-result/busy/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /examples/pages/page-result/empty/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /examples/pages/page-result/error/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /examples/pages/page-result/log-off/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /components/am-icon/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/card/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/flex/flex-item/index.ts: -------------------------------------------------------------------------------- 1 | Component({ 2 | 3 | }); 4 | -------------------------------------------------------------------------------- /components/footer/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/grid/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/list/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/message/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/modal/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/notice/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/steps/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-busy/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-empty/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-error/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-logoff/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-network/index.js: -------------------------------------------------------------------------------- 1 | Page({}); 2 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | types/**/*.ts 2 | es/**/*.js 3 | examples/es/**/*.js -------------------------------------------------------------------------------- /components/am-checkbox/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/amount-input/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/calendar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/collapse/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/face-detection/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/filter/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/flex/flex-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/input-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/pagination/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/picker-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/popover/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/search-bar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/stepper/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/tips/tips-plain/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /examples/pages/badge/index.acss: -------------------------------------------------------------------------------- 1 | /* required by usingComponents */ -------------------------------------------------------------------------------- /components/filter/filter-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/list/list-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/page-result/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/popover/popover-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/swipe-action/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/tips/tips-dialog/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/vtabs/vtab-content/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /examples/pages/am-checkbox/index.acss: -------------------------------------------------------------------------------- 1 | /* required by usingComponents */ -------------------------------------------------------------------------------- /examples/pages/face-detection/index.acss: -------------------------------------------------------------------------------- 1 | /* required by usingComponents */ -------------------------------------------------------------------------------- /examples/pages/filter/single/index.acss: -------------------------------------------------------------------------------- 1 | /* required by usingComponents */ -------------------------------------------------------------------------------- /examples/pages/picker-item/index.acss: -------------------------------------------------------------------------------- 1 | /* required by usingComponents */ -------------------------------------------------------------------------------- /components/tabs/tab-content/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } 4 | -------------------------------------------------------------------------------- /components/flex/flex-item/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /examples/app.js: -------------------------------------------------------------------------------- 1 | App({ 2 | onLaunch() {}, 3 | onShow() {}, 4 | onHide() {}, 5 | }); 6 | -------------------------------------------------------------------------------- /components/footer/index.ts: -------------------------------------------------------------------------------- 1 | Component({ 2 | props: { 3 | className: '', 4 | }, 5 | }); 6 | -------------------------------------------------------------------------------- /components/vtabs/vtab-content/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /examples/pages/tips/2/index.axml: -------------------------------------------------------------------------------- 1 | {{content}} 2 | -------------------------------------------------------------------------------- /examples/pages/footer/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "footer": "../../es/footer/index" 4 | } 5 | } -------------------------------------------------------------------------------- /examples/pages/pagination/index.acss: -------------------------------------------------------------------------------- 1 | .demo-title { 2 | color: #333; 3 | padding: 15px; 4 | font-size: 14px; 5 | } -------------------------------------------------------------------------------- /examples/pages/am-icon/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "am-icon": "../../es/am-icon/index" 4 | } 5 | } -------------------------------------------------------------------------------- /components/tabs/tab-content/index.ts: -------------------------------------------------------------------------------- 1 | Component({ 2 | props: { 3 | tabId: '', 4 | activeTab: '', 5 | }, 6 | }); 7 | -------------------------------------------------------------------------------- /components/vtabs/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "badge": "../badge/index" 5 | } 6 | } -------------------------------------------------------------------------------- /components/collapse/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /components/tabs/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "badge": "../badge/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/page-result/empty/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /components/popover/popover-item/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/pages/page-result/log-off/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /examples/pages/card/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "Card", 3 | "usingComponents":{ 4 | "card":"../../es/card/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /components/page-result/index.ts: -------------------------------------------------------------------------------- 1 | Component({ 2 | props: { 3 | className: '', 4 | type: 'network', 5 | local: false, 6 | } 7 | }); 8 | -------------------------------------------------------------------------------- /examples/pages/grid/2/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "2列宫格", 3 | "usingComponents":{ 4 | "grid":"../../../es/grid/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/grid/3/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "3列宫格", 3 | "usingComponents":{ 4 | "grid":"../../../es/grid/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/grid/4/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "4列宫格", 3 | "usingComponents":{ 4 | "grid":"../../../es/grid/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/grid/5/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "5列宫格", 3 | "usingComponents":{ 4 | "grid":"../../../es/grid/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/modal/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "Modal", 3 | "usingComponents":{ 4 | "modal": "../../es/modal/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /components/collapse/collapse-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "am-icon": "../../am-icon/index" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/pages/grid/5/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /examples/pages/steps/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "Steps", 3 | "usingComponents": { 4 | "steps": "../../es/steps/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/page-result/network/index.js: -------------------------------------------------------------------------------- 1 | Page({ 2 | backHome() { 3 | my.reLaunch({ 4 | url: '/list/demo/app', 5 | }); 6 | }, 7 | }); 8 | -------------------------------------------------------------------------------- /examples/pages/popup/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "popup 弹出菜单", 3 | "usingComponents": { 4 | "popup": "../../es/popup/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /components/badge/index.ts: -------------------------------------------------------------------------------- 1 | Component({ 2 | props: { 3 | className: '', 4 | overflowCount: 99, 5 | text: '', 6 | dot: false, 7 | }, 8 | }); 9 | -------------------------------------------------------------------------------- /examples/pages/calendar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "Calendar", 3 | "usingComponents":{ 4 | "calendar":"../../es/calendar/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/message/waiting/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "信息状态-等待", 3 | "usingComponents": { 4 | "message": "../../../es/message/index" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/pages/page-result/busy/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /examples/pages/search-bar/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "搜索框", 3 | "usingComponents":{ 4 | "search-bar":"../../es/search-bar/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/flex/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "flex": "../../es/flex/index", 4 | "flex-item": "../../es/flex/flex-item/index" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/pages/message/fail/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "信息状态-失败", 3 | "usingComponents": { 4 | "message": "../../../es/message/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/message/info/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "信息状态-提示", 3 | "usingComponents": { 4 | "message": "../../../es/message/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/message/success/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "信息状态-成功", 3 | "usingComponents": { 4 | "message": "../../../es/message/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/message/warn/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "信息状态-警告", 3 | "usingComponents": { 4 | "message": "../../../es/message/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/notice/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "Notice-公告", 3 | "usingComponents":{ 4 | "notice": "../../es/notice/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/page-result/error/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /examples/pages/face-detection/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "人脸检测", 3 | "usingComponents": { 4 | "face-detection": "../../es/face-detection/index" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/pages/page-result/busy/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "异常反馈", 3 | "usingComponents":{ 4 | "page-result": "../../../es/page-result/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/pagination/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "Pagination", 3 | "usingComponents": { 4 | "pagination": "../../es/pagination/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/tips/1/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "小程序AntUI组件库", 3 | "usingComponents": { 4 | "tips-dialog": "../../../es/tips/tips-dialog/index" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/pages/tips/2/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "小程序AntUI组件库", 3 | "usingComponents": { 4 | "tips-plain": "../../../es/tips/tips-plain/index" 5 | } 6 | } -------------------------------------------------------------------------------- /examples/pages/amount-input/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "amount-input", 3 | "usingComponents":{ 4 | "amount-input": "../../es/amount-input/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/page-result/empty/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "异常反馈", 3 | "usingComponents":{ 4 | "page-result": "../../../es/page-result/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/page-result/error/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "异常反馈", 3 | "usingComponents":{ 4 | "page-result": "../../../es/page-result/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/page-result/log-off/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "异常反馈", 3 | "usingComponents":{ 4 | "page-result": "../../../es/page-result/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/page-result/network/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "异常反馈", 3 | "usingComponents":{ 4 | "page-result": "../../../es/page-result/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-busy/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "异常反馈", 3 | "usingComponents":{ 4 | "page-result": "../../../es/page-result/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-empty/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "异常反馈", 3 | "usingComponents":{ 4 | "page-result": "../../../es/page-result/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-error/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "异常反馈", 3 | "usingComponents":{ 4 | "page-result": "../../../es/page-result/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-logoff/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "异常反馈", 3 | "usingComponents":{ 4 | "page-result": "../../../es/page-result/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-network/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "异常反馈", 3 | "usingComponents":{ 4 | "page-result": "../../../es/page-result/index" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /components/am-icon/index.axml: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /components/pagination/index.sjs: -------------------------------------------------------------------------------- 1 | const calcCurrent = (propsCurrent, current) => (typeof current === 'number' ? current : propsCurrent); 2 | 3 | export default { 4 | calcCurrent, 5 | }; 6 | -------------------------------------------------------------------------------- /components/am-icon/index.ts: -------------------------------------------------------------------------------- 1 | Component({ 2 | props: { 3 | type: '', 4 | size: 23, 5 | color: '#333', 6 | className: '', 7 | ariaHidden: undefined, 8 | }, 9 | }); 10 | -------------------------------------------------------------------------------- /examples/pages/filter/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "筛选", 3 | "usingComponents": { 4 | "list": "../../es/list/index", 5 | "list-item": "../../es/list/list-item/index" 6 | } 7 | } -------------------------------------------------------------------------------- /examples/pages/list/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "List", 3 | "usingComponents":{ 4 | "list": "../../es/list/index", 5 | "list-item": "../../es/list/list-item/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /examples/pages/list/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "小程序AntUI组件库", 3 | "usingComponents":{ 4 | "list": "../../es/list/index", 5 | "list-item": "../../es/list/list-item/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /examples/pages/message/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "信息状态", 3 | "usingComponents": { 4 | "list": "../../es/list/index", 5 | "list-item": "../../es/list/list-item/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /examples/pages/tips/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "小程序AntUI组件库", 3 | "usingComponents": { 4 | "list": "../../es/list/index", 5 | "list-item": "../../es/list/list-item/index" 6 | } 7 | } -------------------------------------------------------------------------------- /examples/pages/page-result/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "异常反馈", 3 | "usingComponents":{ 4 | "list": "../../es/list/index", 5 | "list-item": "../../es/list/list-item/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /examples/pages/tabs/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "小程序AntUI组件库", 3 | "usingComponents":{ 4 | "tabs":"../../es/tabs/index", 5 | "tab-content": "../../es/tabs/tab-content/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /examples/pages/tips/2/index.js: -------------------------------------------------------------------------------- 1 | Page({ 2 | data: { 3 | content: '我知道了', 4 | time: 2000, 5 | }, 6 | onClose() { 7 | my.alert({ 8 | title: '12321', 9 | }); 10 | }, 11 | }); 12 | -------------------------------------------------------------------------------- /components/flex/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /examples/pages/filter/single/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "单选", 3 | "usingComponents": { 4 | "filter": "../../../es/filter/index", 5 | "filter-item": "../../../es/filter/filter-item/index" 6 | } 7 | } -------------------------------------------------------------------------------- /components/filter/filter-item/index.axml: -------------------------------------------------------------------------------- 1 | 2 | {{value}} 3 | 4 | -------------------------------------------------------------------------------- /examples/pages/collapse/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "Collapse", 3 | "usingComponents": { 4 | "collapse": "../../es/collapse/index", 5 | "collapse-item": "../../es/collapse/collapse-item/index" 6 | } 7 | } -------------------------------------------------------------------------------- /examples/pages/filter/alternative/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "多选", 3 | "usingComponents": { 4 | "filter": "../../../es/filter/index", 5 | "filter-item": "../../../es/filter/filter-item/index" 6 | } 7 | } -------------------------------------------------------------------------------- /examples/pages/picker-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "list": "../../es/list/index", 4 | "input-item": "../../es/input-item/index", 5 | "picker-item": "../../es/picker-item/index" 6 | } 7 | } -------------------------------------------------------------------------------- /examples/pages/popover/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "Popover气泡", 3 | "usingComponents": { 4 | "popover": "../../es/popover/index", 5 | "popover-item": "../../es/popover/popover-item/index" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /components/flex/flex-item/index.less: -------------------------------------------------------------------------------- 1 | .am-flexbox-item { 2 | box-sizing: border-box; 3 | flex: 1; 4 | min-width: 10px; 5 | margin-left: 8px; 6 | 7 | &:first-child { 8 | margin-left: 0; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /components/steps/index.ts: -------------------------------------------------------------------------------- 1 | Component({ 2 | props: { 3 | className: '', 4 | activeIndex: 1, 5 | failIndex: 0, 6 | size: 0, 7 | direction: 'horizontal', 8 | items: [], 9 | }, 10 | }); 11 | 12 | -------------------------------------------------------------------------------- /examples/pages/am-checkbox/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": { 3 | "am-checkbox": "../../es/am-checkbox/index", 4 | "list": "../../es/list/index", 5 | "list-item": "../../es/list/list-item/index" 6 | } 7 | } -------------------------------------------------------------------------------- /examples/pages/tabs/index.acss: -------------------------------------------------------------------------------- 1 | .tab-content { 2 | display: flex; 3 | justify-content: center; 4 | align-items: center; 5 | padding: 40rpx; 6 | /* 如果 swipeable="{{true}}",需要增加 height */ 7 | /* height: 350px; */ 8 | } 9 | -------------------------------------------------------------------------------- /examples/pages/badge/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "徽标", 3 | "usingComponents": { 4 | "list": "../../es/list/index", 5 | "list-item": "../../es/list/list-item/index", 6 | "badge": "../../es/badge/index" 7 | } 8 | } -------------------------------------------------------------------------------- /examples/pages/grid/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "宫格", 3 | "usingComponents":{ 4 | "list": "../../es/list/index", 5 | "list-item": "../../es/list/list-item/index", 6 | "grid":"../../es/grid/index" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /components/flex/index.ts: -------------------------------------------------------------------------------- 1 | Component({ 2 | props: { 3 | className: '', 4 | direction: 'row', 5 | wrap: 'nowrap', 6 | justify: 'start', 7 | align: 'center', 8 | alignContent: 'stretch', 9 | }, 10 | }); 11 | -------------------------------------------------------------------------------- /examples/pages/vtabs/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "纵向选项卡", 3 | "usingComponents": { 4 | "vtabs": "../../es/vtabs/index", 5 | "vtab-content": "../../es/vtabs/vtab-content/index" 6 | }, 7 | "allowsBounceVertical": false 8 | } -------------------------------------------------------------------------------- /examples/pages/stepper/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "Stepper", 3 | "usingComponents":{ 4 | "stepper":"../../es/stepper/index", 5 | "list":"../../es/list/index", 6 | "list-item":"../../es/list/list-item/index" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /examples/pages/stepper/index.js: -------------------------------------------------------------------------------- 1 | Page({ 2 | data: { 3 | value: 8, 4 | }, 5 | callBackFn(value) { 6 | console.log(value); 7 | }, 8 | modifyValue() { 9 | this.setData({ 10 | value: 9, 11 | }); 12 | }, 13 | }); 14 | -------------------------------------------------------------------------------- /examples/pages/input-item/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "input-item", 3 | "usingComponents":{ 4 | "list": "../../es/list/index", 5 | "input-item": "../../es/input-item/index", 6 | "picker-item": "../../es/picker-item/index" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /examples/pages/message/warn/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/pages/message/waiting/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/pages/swipe-action/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultTitle": "Swipe-Action", 3 | "usingComponents":{ 4 | "list": "../../es/list/index", 5 | "list-item": "../../es/list/list-item/index", 6 | "swipe-action": "../../es/swipe-action/index" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /examples/pages/grid/4/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /examples/pages/notice/index.acss: -------------------------------------------------------------------------------- 1 | .demo-title { 2 | font-size: 15px; 3 | font-weight: 500; 4 | padding: 10px 5px; 5 | border-bottom: 1px solid #ccc; 6 | } 7 | .demo-item { 8 | margin-bottom: 10px; 9 | } 10 | 11 | .nomore-notice { 12 | color: #999; 13 | } -------------------------------------------------------------------------------- /examples/pages/message/info/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /components/card/index.ts: -------------------------------------------------------------------------------- 1 | Component({ 2 | props: { 3 | title: '', 4 | onClick: () => {}, 5 | info: '', 6 | }, 7 | methods:{ 8 | onCardClick() { 9 | const { info, onClick } = this.props; 10 | onClick({info}); 11 | }, 12 | }, 13 | }) 14 | -------------------------------------------------------------------------------- /examples/pages/filter/single/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /examples/pages/steps/index.acss: -------------------------------------------------------------------------------- 1 | .demo-steps-class { 2 | margin: 20px 0; 3 | border-bottom: 1px solid #e5e5e5; 4 | } 5 | .demo-btn-container { 6 | display: flex; 7 | justify-content: space-between; 8 | margin: 20px; 9 | } 10 | .demo-btn { 11 | width: 47%; 12 | } 13 | -------------------------------------------------------------------------------- /components/tips/tips-plain/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /examples/pages/message/fail/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "target": "es6", 5 | "noImplicitThis": true, 6 | "noImplicitUseStrict": true, 7 | "types": ["mini-types"] 8 | }, 9 | "include": [ 10 | "types/**/*", 11 | "components/**/*" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | [ 4 | '@babel/preset-env', 5 | { 6 | loose: true, 7 | modules: false, 8 | }, 9 | ], 10 | '@babel/preset-typescript', 11 | ], 12 | plugins: ['@babel/plugin-syntax-dynamic-import'], 13 | }; 14 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-busy/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-empty/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-logoff/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-network/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /components/tabs/tab-content/index.less: -------------------------------------------------------------------------------- 1 | .am-tabs-pane-wrap { 2 | width: 100vw; 3 | height: auto; 4 | flex-shrink: 0; 5 | } 6 | 7 | .fix .am-tabs-pane-wrap { 8 | position: static; 9 | } 10 | 11 | .am-tabs-pane-wrap-swiper-item { 12 | position: absolute; 13 | top: 0; 14 | left: 0; 15 | } 16 | -------------------------------------------------------------------------------- /examples/pages/filter/alternative/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /examples/pages/message/success/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/pages/page-result/local-error/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /components/popover/popover-item/index.ts: -------------------------------------------------------------------------------- 1 | Component({ 2 | props: { 3 | className: '', 4 | }, 5 | methods: { 6 | onItemClick() { 7 | if (this.props.onItemClick && typeof this.props.onItemClick === 'function') { 8 | this.props.onItemClick(); 9 | } 10 | }, 11 | }, 12 | }); 13 | -------------------------------------------------------------------------------- /examples/pages/calendar/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | -------------------------------------------------------------------------------- /components/am-checkbox/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | -------------------------------------------------------------------------------- /examples/pages/page-result/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{item.nameZN}} 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /examples/pages/page-result/network/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 回到首页 9 | 示例按钮 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /components/tips/tips-dialog/index.ts: -------------------------------------------------------------------------------- 1 | Component({ 2 | props: { 3 | show: true, 4 | className: '', 5 | type: 'dialog', 6 | }, 7 | methods: { 8 | onCloseTap() { 9 | const { onCloseTap } = this.props; 10 | 11 | if (onCloseTap) { 12 | onCloseTap(); 13 | } 14 | }, 15 | }, 16 | }); 17 | -------------------------------------------------------------------------------- /examples/pages/message/warn/index.js: -------------------------------------------------------------------------------- 1 | Page({ 2 | data: { 3 | title: '警告', 4 | messageButton: { 5 | mainButton: { 6 | buttonText: '返回首页', 7 | }, 8 | subButton: { 9 | buttonText: 'DO NOTHING', 10 | }, 11 | }, 12 | }, 13 | goBack() { 14 | my.navigateBack(); 15 | }, 16 | }); 17 | -------------------------------------------------------------------------------- /examples/pages/face-detection/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /examples/pages/message/info/index.js: -------------------------------------------------------------------------------- 1 | Page({ 2 | data: { 3 | title: '提示信息', 4 | messageButton: { 5 | mainButton: { 6 | buttonText: '返回首页', 7 | }, 8 | subButton: { 9 | buttonText: 'DO NOTHING', 10 | }, 11 | }, 12 | }, 13 | goBack() { 14 | my.navigateBack(); 15 | }, 16 | }); 17 | -------------------------------------------------------------------------------- /examples/pages/message/waiting/index.js: -------------------------------------------------------------------------------- 1 | Page({ 2 | data: { 3 | title: '等待中', 4 | messageButton: { 5 | mainButton: { 6 | buttonText: '返回首页', 7 | }, 8 | subButton: { 9 | buttonText: 'DO NOTHING', 10 | }, 11 | }, 12 | }, 13 | goBack() { 14 | my.navigateBack(); 15 | }, 16 | }); 17 | -------------------------------------------------------------------------------- /components/filter/mixins/lifecycle.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | data: { 3 | results: [], 4 | items: [], 5 | commonProps: { 6 | max: 10000, 7 | } 8 | }, 9 | 10 | didUnmount() { 11 | let { items, results } = this.data; 12 | results.splice(0, results.length); 13 | items.splice(0, items.length); 14 | }, 15 | }; -------------------------------------------------------------------------------- /examples/pages/card/index.js: -------------------------------------------------------------------------------- 1 | Page({ 2 | data: { 3 | thumb: 'https://gw.alipayobjects.com/zos/rmsportal/VBqNBOiGYkCjqocXjdUj.png', 4 | footerImg: 'https://gw.alipayobjects.com/zos/rmsportal/VBqNBOiGYkCjqocXjdUj.png', 5 | }, 6 | onCardClick(ev) { 7 | my.showToast({ 8 | content: ev.info, 9 | }); 10 | }, 11 | }); 12 | -------------------------------------------------------------------------------- /examples/pages/input-item/index.acss: -------------------------------------------------------------------------------- 1 | .extra { 2 | background-image: url('https://gw.alipayobjects.com/zos/rmsportal/dOfSJfWQvYdvsZiJStvg.svg'); 3 | background-size: contain; 4 | background-repeat: no-repeat; 5 | background-position: right center; 6 | opacity: 0.2; 7 | height: 20px; 8 | width: 20px; 9 | padding-left: 10px; 10 | } -------------------------------------------------------------------------------- /components/message/index.ts: -------------------------------------------------------------------------------- 1 | Component({ 2 | props: { 3 | className: "", 4 | type: "success", 5 | title: "", 6 | onTapMain: () => {}, 7 | onTapSub: () => {} 8 | }, 9 | methods: { 10 | tapMain() { 11 | this.props.onTapMain(); 12 | }, 13 | tapSub() { 14 | this.props.onTapSub(); 15 | } 16 | } 17 | }); -------------------------------------------------------------------------------- /components/page-result/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{title}} 4 | {{brief}} 5 | 6 | 7 | -------------------------------------------------------------------------------- /examples/pages/list/index.acss: -------------------------------------------------------------------------------- 1 | .dyt-list { 2 | margin-top: 0; 3 | } 4 | .dyt-list .am-list-item-thumb { 5 | border-radius: 5px; 6 | } 7 | .dyt-list .am-list-brief { 8 | color: #909090; 9 | } 10 | 11 | .dyt-list .am-list-extra { 12 | color: #000; 13 | } 14 | 15 | .am-list-sticky { 16 | position: sticky; 17 | top: 0; 18 | z-index: 2; 19 | } -------------------------------------------------------------------------------- /examples/pages/tips/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 提示1 5 | 6 | 7 | 提示2 8 | 9 | 10 | -------------------------------------------------------------------------------- /components/footer/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{item.text}} 5 | 6 | 7 | {{copyright}} 8 | -------------------------------------------------------------------------------- /components/popup/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /examples/pages/footer/index.js: -------------------------------------------------------------------------------- 1 | Page({ 2 | data: { 3 | copyright: '© 2004-2017 Alipay.com. All rights reserved.', 4 | links: [ 5 | { text: '底部链接', url: '../../list/demo/index' }, 6 | { text: '底部链接', url: '../../card/demo/index' }, 7 | ], 8 | singleLink: [ 9 | { text: '底部链接', url: '../../list/demo/index' }, 10 | ], 11 | }, 12 | }); 13 | -------------------------------------------------------------------------------- /examples/pages/message/success/index.js: -------------------------------------------------------------------------------- 1 | Page({ 2 | data: { 3 | title: '操作成功', 4 | subTitle: '内容详情可折行,建议不超过两行', 5 | messageButton: { 6 | mainButton: { 7 | buttonText: '主要操作', 8 | }, 9 | subButton: { 10 | buttonText: '辅助操作', 11 | }, 12 | }, 13 | }, 14 | goBack() { 15 | my.navigateBack(); 16 | }, 17 | }); 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | *.log 3 | .idea 4 | .entry 5 | .ipr 6 | .iws 7 | *~ 8 | ~* 9 | *.diff 10 | *.patch 11 | *.bak 12 | .DS_Store 13 | package-lock.json 14 | Thumbs.db 15 | .project 16 | .*proj 17 | .svn 18 | *.swp 19 | *.swo 20 | *.pyc 21 | *.pyo 22 | node_modules 23 | .cache 24 | .vscode 25 | *.xcworkspace 26 | .tea 27 | .entry 28 | /build/ 29 | /lib/ 30 | /es/ 31 | /examples/es/ 32 | -------------------------------------------------------------------------------- /components/popover/index.ts: -------------------------------------------------------------------------------- 1 | Component({ 2 | props: { 3 | show: false, 4 | className: '', 5 | showMask: true, 6 | position: 'bottomRight', 7 | }, 8 | methods: { 9 | onMaskClick() { 10 | if (this.props.onMaskClick && typeof this.props.onMaskClick === 'function') { 11 | this.props.onMaskClick(); 12 | } 13 | }, 14 | }, 15 | }); 16 | 17 | -------------------------------------------------------------------------------- /components/tabs/tab-content/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /examples/pages/filter/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 单选 5 | 6 | 7 | 多选 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/pages/grid/3/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /components/_util/fmtEvent.ts: -------------------------------------------------------------------------------- 1 | export default function fmtEvent(props, e) { 2 | const dataset = {}; 3 | for (const key in props) { 4 | if ((/data-/gi).test(key)) { 5 | dataset[key.replace(/data-/gi, '')] = props[key]; 6 | } 7 | } 8 | return Object.assign({}, e, { 9 | currentTarget: { dataset }, 10 | target: { dataset, targetDataset: dataset }, 11 | }); 12 | } 13 | -------------------------------------------------------------------------------- /components/am-checkbox/index.ts: -------------------------------------------------------------------------------- 1 | import fmtEvent from '../_util/fmtEvent'; 2 | 3 | Component({ 4 | props: { 5 | value: '', 6 | checked: false, 7 | disabled: false, 8 | onChange: () => {}, 9 | id: '', 10 | }, 11 | methods: { 12 | onChange(e) { 13 | const event = fmtEvent(this.props, e); 14 | this.props.onChange(event); 15 | }, 16 | }, 17 | }); 18 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "eslint-config-ali", 3 | "globals": { 4 | "my": true, 5 | "App": true, 6 | "Component": true, 7 | "Page": true 8 | }, 9 | "parser": "typescript-eslint-parser", 10 | "plugins": [ 11 | "typescript" 12 | ], 13 | "rules": { 14 | "typescript/class-name-casing": "error", 15 | "typescript/type-annotation-spacing": "error" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /examples/pages/list/app.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{item.name}} 6 | {{item.nameZN}} 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /examples/pages/picker-item/index.js: -------------------------------------------------------------------------------- 1 | const banks = ['网商银行', '建设银行', '工商银行', '浦发银行']; 2 | 3 | Page({ 4 | data: { 5 | bank: '', 6 | }, 7 | onPickerTap() { 8 | my.showActionSheet({ 9 | title: '选择发卡银行', 10 | items: banks, 11 | success: (res) => { 12 | this.setData({ 13 | bank: banks[res.index], 14 | }); 15 | }, 16 | }); 17 | }, 18 | }); 19 | -------------------------------------------------------------------------------- /scripts/pub.js: -------------------------------------------------------------------------------- 1 | const { execSync, spawn } = require('child_process'); 2 | 3 | const packageJson = require(`${process.cwd()}/package.json`); 4 | const { version } = packageJson; 5 | const runner = spawn('npm', ['publish']); 6 | 7 | runner.on('close', () => { 8 | execSync(`git tag ${version}`); 9 | execSync(`git push origin ${version}:${version}`); 10 | execSync('git push origin master:master'); 11 | }); 12 | 13 | -------------------------------------------------------------------------------- /components/popover/popover-item/index.less: -------------------------------------------------------------------------------- 1 | .am-popover-item { 2 | min-width: 80px; 3 | max-width: 170px; 4 | height: 39px; 5 | margin: 0 10px; 6 | line-height: 39px; 7 | font-size: 14px; 8 | white-space: nowrap; 9 | overflow: hidden; 10 | text-overflow: ellipsis; 11 | color: #333; 12 | text-align: center; 13 | } 14 | .am-popover-item:not(:last-child) { 15 | border-bottom: 1px solid #eee; 16 | } 17 | -------------------------------------------------------------------------------- /examples/pages/picker-item/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 密码 9 | 10 | 16 | 发卡银行 17 | 18 | 19 | -------------------------------------------------------------------------------- /components/picker-item/index.ts: -------------------------------------------------------------------------------- 1 | import fmtEvent from '../_util/fmtEvent'; 2 | 3 | Component({ 4 | props: { 5 | className: '', 6 | value: '', 7 | placeholder: '', 8 | onSelect: () => {}, 9 | labelCls: '', 10 | pickerCls: '', 11 | }, 12 | methods: { 13 | onPickerTap(e) { 14 | const event = fmtEvent(this.props, e); 15 | this.props.onPickerTap(event); 16 | }, 17 | }, 18 | }); 19 | -------------------------------------------------------------------------------- /examples/pages/tips/1/index.js: -------------------------------------------------------------------------------- 1 | Page({ 2 | data: { 3 | showRectangle: true, 4 | showDialog: true, 5 | }, 6 | onCloseTap() { 7 | this.setData({ 8 | showRectangle: false, 9 | }); 10 | }, 11 | onRectangleTap() { 12 | my.alert({ 13 | content: 'do something', 14 | }); 15 | }, 16 | onDialogTap() { 17 | this.setData({ 18 | showDialog: false, 19 | }); 20 | }, 21 | }); 22 | -------------------------------------------------------------------------------- /examples/pages/message/fail/index.js: -------------------------------------------------------------------------------- 1 | Page({ 2 | data: { 3 | title: '无法完成操作', 4 | messageButton: { 5 | mainButton: { 6 | buttonText: '返回首页', 7 | }, 8 | subButton: { 9 | buttonText: 'DO NOTHING', 10 | }, 11 | }, 12 | }, 13 | goBack() { 14 | my.navigateBack(); 15 | }, 16 | doNothing() { 17 | my.alert({ 18 | title: 'do nothing', 19 | }); 20 | }, 21 | }); 22 | -------------------------------------------------------------------------------- /examples/pages/search-bar/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 15 | 16 | -------------------------------------------------------------------------------- /examples/pages/collapse/index.acss: -------------------------------------------------------------------------------- 1 | .item-content { 2 | padding: 14px 16px; 3 | font-size: 17px; 4 | color: #333; 5 | line-height: 24px; 6 | } 7 | 8 | .content1 { 9 | height: 200px; 10 | } 11 | 12 | .content2 { 13 | height: 50px; 14 | } 15 | 16 | .content3 { 17 | height: 100px; 18 | } 19 | 20 | .demo-title { 21 | padding: 14px 16px; 22 | color: #999; 23 | } 24 | 25 | .demo-collapse { 26 | border-bottom: 1px solid #eee; 27 | } -------------------------------------------------------------------------------- /examples/pages/page-result/network/index.acss: -------------------------------------------------------------------------------- 1 | .am-page-result { 2 | display: flex; 3 | flex-direction: column; 4 | } 5 | .am-page-result-btns { 6 | flex: 1; 7 | display: flex; 8 | flex-direction: column; 9 | justify-content: flex-end; 10 | align-content: center; 11 | padding-bottom: 100rpx; 12 | } 13 | .am-page-result-btns > view { 14 | color: #108EE9; 15 | font-size: 40rpx; 16 | margin-top: 52rpx; 17 | text-align: center; 18 | } -------------------------------------------------------------------------------- /examples/pages/footer/index.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 |